home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!gatech!usenet.ins.cwru.edu!agate!anarres.CS.Berkeley.EDU!bh
- From: bh@anarres.CS.Berkeley.EDU (Brian Harvey)
- Newsgroups: comp.lang.scheme
- Subject: Re: standards
- Date: 21 Dec 1992 23:57:31 GMT
- Organization: University of California, Berkeley
- Lines: 57
- Message-ID: <1h5llbINNk8p@agate.berkeley.edu>
- References: <FOX.92Dec17102432@graphics.nyu.edu> <FOX.92Dec19121159@graphics.nyu.edu> <1992Dec21.185227.19304@netcom.com>
- NNTP-Posting-Host: anarres.cs.berkeley.edu
-
-
- Since people are starting to talk about R5RS, I thought I'd throw in
- my wish list. Mostly these things are motivated by trying to write a
- textbook using Scheme and finding gaps in the language.
-
- The thing is, the gaps mostly aren't in the "core" language. They're in
- the I/O, mainly, which up to now has been considered outside the bounds
- of RnRS. But I feel that we need something analogous to C's stdio library
- if we want to share our work with our friends. Here's what I want:
-
- * positioned text. (SETCURSOR x y) in character coordinates.
-
- * graphics. Simple. (DRAW-LINE x1 y1 x2 y2) is almost enough for me.
- Oh, and clearing the screen or the window.
-
- [Yes, I'm handwaving about this window business. As long as there is some
- default place for text and graphics to go, I'm happy. I would like not to
- have to do explicit window hackery unless I want more than one of them.
- I don't care if there is a standard window control package.]
-
- * random access in files.
-
- * The standard should say whether or not (read) reads the newline after
- the expression. In other words, if you do (read) followed by (read-char),
- does the latter see the newline? I don't care what the answer is, as long
- as there is one.
-
- * Expunge "the return value is unspecified" from the standard. All of them
- should be replaced by "the return value is the non-printing object." This
- sounds trivial but it's really a pain in the neck for beginners.
-
- * As I said recently, clarify into which environment LOAD loads if called
- within a procedure. I vote for toplevel, to make my cheap autoload work.
-
- * Add RANDOM to the standard. Takes a positive integer and returns a
- nonnegative integer less than that. The standard should say that you don't
- get the same sequence every time, but there should be a way to set the seed
- in case you want that.
-
- * Clarify what happens when you open-output-file a name that already exists.
- I vote for replacing the old one, but again, any consistent thing is tolerable.
-
- * Delete-file.
-
- * ERROR. (I think every Scheme has this, but not necessarily with the same
- rules about arguments.)
-
- * CATCH ERROR.
-
-
- Well, I could go on, but you get the idea. Is there any hope of seeing
- this sort of thing addressed in R5RS? Or R6RS? These boring issues are
- the ones that actually get in my way, much more than the glamorous ones
- like macros, or even eval (although that would be nice and I vote for
- first-class environments).
-
- Thank you.
-