home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / lang / lisp / 2903 < prev    next >
Encoding:
Internet Message Format  |  1992-11-17  |  1.5 KB

  1. Xref: sparky comp.lang.lisp:2903 comp.lang.scheme:2607
  2. Path: sparky!uunet!think.com!barmar
  3. From: barmar@think.com (Barry Margolin)
  4. Newsgroups: comp.lang.lisp,comp.lang.scheme
  5. Subject: Re: Quote syntax
  6. Date: 18 Nov 1992 09:04:51 GMT
  7. Organization: Thinking Machines Corporation, Cambridge MA, USA
  8. Lines: 23
  9. Message-ID: <1ed0vjINNeq5@early-bird.think.com>
  10. References: <Bxvq8r.E38@beach.csulb.edu>
  11. NNTP-Posting-Host: gandalf.think.com
  12.  
  13. Brian Harvey gave a good explanation of the justification for the Lisp
  14. quoting style.  I just thought I'd mention that MDL, a derivative of Lisp,
  15. did do something like what Michael Werts suggested.  In MDL there was a
  16. separate data type called "form", used for invoking functions, macros, and
  17. special forms.  Its syntax was <operator args>.  List notation, on the
  18. other hand, was (elements), and were literals.  The list accessor functions
  19. also accepted forms, and there were conversion functions for converting
  20. lists to forms and vice versa.
  21.  
  22. Symbols were also self evaluating (to answer the question at the end of
  23. Brian's posting).  There were special forms to access the local and global
  24. value of a symbol, and reader macros ("." and ",", respectively) to
  25. simplify the use of them.
  26.  
  27. Thus, the Lisp form (list a *a* 'b '(1 2 3)) would be <list .a ,*a* b (1 2
  28. 3)> in MDL.
  29.  
  30. This is all from ancient memory, so I may have some of the details wrong.
  31. -- 
  32. Barry Margolin
  33. System Manager, Thinking Machines Corp.
  34.  
  35. barmar@think.com          {uunet,harvard}!think!barmar
  36.