home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / lang / lisp / 3379 < prev    next >
Encoding:
Internet Message Format  |  1993-01-27  |  3.5 KB

  1. Xref: sparky comp.lang.lisp:3379 comp.lang.scheme:2979
  2. Newsgroups: comp.lang.lisp,comp.lang.scheme
  3. Path: sparky!uunet!gumby!yale!mintaka.lcs.mit.edu!zurich.ai.mit.edu!jaffer
  4. From: jaffer@zurich.ai.mit.edu (Aubrey Jaffer)
  5. Subject: Re: Why Isn't Lisp a Mainstream Language?
  6. In-Reply-To: kardank@ERE.UMontreal.CA's message of Wed, 27 Jan 1993 17:59:35 GMT
  7. Message-ID: <JAFFER.93Jan27143229@camelot.ai.mit.edu>
  8. Sender: news@mintaka.lcs.mit.edu
  9. Organization: M.I.T. Artificial Intelligence Lab.
  10. References: <1993Jan27.070106.28425@ads.com> <1993Jan27.175935.24272@cc.umontreal.ca>
  11. Date: Wed, 27 Jan 1993 19:32:29 GMT
  12. Lines: 64
  13.  
  14. In article <1993Jan27.175935.24272@cc.umontreal.ca> kardank@ERE.UMontreal.CA (Kardan Kaveh) writes:
  15.  
  16.    In article <1993Jan27.070106.28425@ads.com> bvrotney@ADS.COM (Bill Vrotney) writes:
  17.  
  18.    ...
  19.    Every once in a while this thread pops up, with people lamenting over the
  20.    size of Common Lisp.  Usually, someone (me, in this instance) will point out
  21.    that there is a small, standardized (IEEE) lisp around: Scheme.
  22.  
  23.    I am crossposting this to comp.lang.scheme because I feel the point made above
  24.    applies to some extent to scheme as well.
  25.  
  26.    Although the technical side of scheme has been very well handled, I find the
  27.    lack of scheme in the marketplace quite disturbing.  According to the FAQ,
  28.    there is only _one_ commercial implementation of scheme running on UNIX
  29.    workstations (Chez Scheme).
  30.  
  31. I sell SCM, which runs on UNIX workstations, on MSDOS floppy disks.
  32. This is as portable a medium as you are likely to find for UNIX
  33. workstations.  However, I am willing to put it on another format.  The
  34. FAQ probably does not mention me as a commercial vendor because SCM is
  35. also availble via FTP.
  36.  
  37.    There are several free implementations around, but all are either toy
  38.    implementations or are concerned with being an "extestion language" for
  39.    applications written in C.
  40.  
  41. SCM was written to be the base of a symbolic algebra program written
  42. in R4RS Scheme.
  43.  
  44.    As a result they have no compilers and no development environments.
  45.  
  46. If you are working on Unix workstations then there is no problem.
  47. Emacs + psd1.0 provides source code single stepping and breakpointing,
  48. code formatting and send-defun.  SCM (through SLIB) provides trace and
  49. untrace.  I find this a potent combination.
  50.  
  51. The Hobbit Compiler (by Tanel Tammet) for SCM is in alpha test
  52. and should be ready soon.  However, as SCM runs only 15 times slower
  53. than hand crafted C code (on most machines) and loads very quickly,
  54. the lack of the compiler has not hampered my development efforts.
  55.  
  56.    No foreign-function interface, for one.
  57.  
  58. There are directions for adding foreign-functions to SCM in code.doc
  59. in the distribution.  Many people have done so.  So I think it is not
  60. too difficult.
  61.  
  62.    It can be argued that academia has done its job in presenting us with
  63.    extremely elegant standards (R4RS and IEEE), but the commercial sector has
  64.    dropped the ball.
  65.  
  66. Perhaps if I charged more, I would be taken more seriously.  But
  67. consider this:  for the price of a "commercial" implementation
  68. (n x $1000) you could hire me or someone else to add a substantial
  69. amount of stuff to SCM.
  70.  
  71. Some things which could be added to SCM are:
  72.   Profiling (how much time spent in each routine)
  73.   Dynamic Linking (There is a GNU package which does this on Unix
  74.     systems and Carrette has also suggested a fairly portable method)
  75.   Editor (buffers + GNU search + curses)
  76.   String Ports (someone has sent me code for this but I haven't had
  77.     time to integrate it)
  78.