home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / lang / scheme / 2161 < prev    next >
Encoding:
Internet Message Format  |  1992-09-08  |  1.8 KB

  1. Path: sparky!uunet!stanford.edu!agate!anarres.CS.Berkeley.EDU!bh
  2. From: bh@anarres.CS.Berkeley.EDU (Brian Harvey)
  3. Newsgroups: comp.lang.scheme
  4. Subject: Re: wots going on here!?
  5. Date: 6 Sep 1992 14:53:07 GMT
  6. Organization: University of California at Berkeley
  7. Lines: 23
  8. Message-ID: <18d60jINNoee@agate.berkeley.edu>
  9. References: <1187.9208311520@subnode.aiai.ed.ac.uk> <17timvINN7b8@agate.berkeley.edu> <1992Sep5.075445.26848@greco-prog.fr>
  10. NNTP-Posting-Host: anarres.cs.berkeley.edu
  11.  
  12. goudal@labri.greco-prog.fr (Frederic GOUDAL) writes:
  13. >The problem in Scheme, as I use it, is that it is not a very interesting
  14. >information as I use a lot of continuation passing style and what I
  15. >call "next function passing style" (as expanders in EPS) so I have a
  16. >lot of anonymous functions, and a lot closure coming from the same
  17. >lambda expression.
  18.  
  19. Yes, it's true that Scheme functions don't always have names.  But CPS
  20. is not something that beginners do in their first 24 hours of Scheme
  21. programming.  My point is that the debugging facilities in a language
  22. ought to be designed with those first 24 hours as the most important
  23. consideration.  Experienced programmers will find a way to debug;
  24. why, when I was a child we read octal core dumps!  :-)  Beginners get
  25. confused and frightened and drop the course.
  26.  
  27. It's especially good if, as in some Schemes, each function has its own
  28. idea of its own name within itself (e.g., the (define (foo baz) body)
  29. syntax expands to some kind of named-lambda) so that the error message
  30. can give a name that's meaningful to the user even if that name isn't
  31. part of the current environment at the time of the error.  With a little
  32. effort we could probably even invent internal names such as
  33. unnamed-lambda-within-function-FOO that could usefully appear in
  34. error messages.
  35.