home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / scheme / 2130 < prev    next >
Encoding:
Text File  |  1992-09-01  |  3.7 KB  |  86 lines

  1. Newsgroups: comp.lang.scheme
  2. Path: sparky!uunet!gatech!bloom-beacon!INTERNET!dont-send-mail-to-path-lines
  3. From: jeff@aiai.edinburgh.ac.UK (Jeff Dalton)
  4. Subject: Re: wots going on here!?
  5. Message-ID: <5326.9209011218@subnode.aiai.ed.ac.uk>
  6. Sender: daemon@athena.mit.edu (Mr Background)
  7. Organization: The Internet
  8. Date: Tue, 1 Sep 1992 12:18:08 GMT
  9. Lines: 75
  10.  
  11. First, I'd agree that a number of Lisp systems do something that is
  12. too complex and confusing when an error occurs -- especially for
  13. people learning the language, but often even for experienced
  14. programmers.  I'd also agree that error messages are sometimes
  15. absurdly obscure.
  16.  
  17. But this just isn't true for all Lisps.
  18.  
  19. I don't know which Lisps Brian Harvey has used, but they don't sound
  20. like the ones I've been using.
  21.  
  22. > Date: 31 Aug 1992 16:51:43 GMT
  23. > From: Brian Harvey <bh@anarres.cs.berkeley.edu>
  24. > jeff@aiai.edinburgh.ac.UK (Jeff Dalton) writes:
  25. > >However, I think it's important for the break look (debugger) to be
  26. > >as much like the top level as possible.  In particular, it should
  27. > >work to type expressions in the usual way.  Popping back one level
  28. > >should be easy, such as typing a single character.
  29. > I think the last two sentences of that paragraph contradict each other.
  30. > Either the debugging language is Scheme, or it's something else.  If
  31. > it's Scheme, there aren't any "hot key" characters.  If it isn't Scheme,
  32. > then it's another language you have to learn, at the same time that you're
  33. > having enough trouble learning Scheme.
  34.  
  35. Brian, I don't know whather you've never seen the kind of Lisp I'm
  36. talking about or whether you think details like whether ^d does
  37. something are ultra-important.
  38.  
  39. If you don't want to use the debugger, it doesn't matter what the
  40. debugging language is.  What matters is that you don't end up in
  41. some mystery mode after an error.  In many Lisps, what you end up
  42. in is a loop that's just like the top level except that some 
  43. (additional) commands have useful effects.  The user doesn't 
  44. have to know about these commands or what their syntax is or
  45. anything.  The only _extra_ thing the user has to know is how
  46. to get back to the real top-level.  And in some cases, you don't
  47. even need to know that.  For instance, in KCL the normal behavior
  48. is to enter a break loop only if you're not already in one.
  49. Beginning users can stay in the first break loop forever if
  50. they want.
  51.  
  52. In every Lisp I've used, there are always some "hot keys".  For
  53. instance, you can type the interrupt character (usually ^c) and
  54. eof (usually ^d or ^z).  There is no need for any additional
  55. hot keys, because <eof> can be used to exit a break loop.
  56.  
  57. > My experience as a teacher is that it's really hard to enable students
  58. > to think about Scheme intellectual issues for the first week or two,
  59. > because they have to learn *so many* languages:
  60. >         - Scheme
  61. >         - EMACS
  62. >         - shell
  63. >         - Annex terminal concentrator
  64. > Perhaps with all that baggage to deal with it's foolish for me to draw
  65. > the line at adding "Scheme debugger" to the list.  But I still think
  66. > that one's worse than the others because it's part of the same context.
  67. > I mean, you have to ASK to get from the shell to Scheme, and vice versa.
  68. > But finding yourself in the debugger is something that happens to you.
  69.  
  70. I've used lots of different Common Lisps w/o knowing anything about
  71. their debuggers.  I don't even have to know how they want me to exit a
  72. break loop because, thought the wonders of Emacs and ilisp, it can be
  73. the same in all of them.  In most cases, it doesn't even look like
  74. I'm "in a debugger" after an error.  It looks like I'm in a loop
  75. just like the top level.
  76.  
  77. Of course, you may think that even this sort of loop is too much for
  78. beginning students, but I hope you don't think it's completely
  79. unreasonable of me to disagree.
  80.  
  81. -- jd
  82.