home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / lang / scheme / 2806 < prev    next >
Encoding:
Internet Message Format  |  1992-12-22  |  2.9 KB

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