home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / lang / scheme / 2824 < prev    next >
Encoding:
Text File  |  1992-12-23  |  2.3 KB  |  47 lines

  1. Newsgroups: comp.lang.scheme
  2. Path: sparky!uunet!spool.mu.edu!uwm.edu!psuvax1!schwartz
  3. From: schwartz@roke.cs.psu.edu (Scott Schwartz)
  4. Subject: scheme niches (Was: Are interpreters now as fast as compiled code used to be?)
  5. In-Reply-To: mj@cs.brown.edu's message of Wed, 23 Dec 1992 23:37:27 GMT
  6. Message-ID: <Bzqynv.16B@cs.psu.edu>
  7. Sender: news@cs.psu.edu (Usenet)
  8. Nntp-Posting-Host: roke.cs.psu.edu
  9. References: <1992Dec17.191058.28471@prodigy.bc.ca>
  10.     <JAFFER.92Dec23012204@camelot.ai.mit.edu>
  11.     <JAFFER.92Dec23115358@camelot.ai.mit.edu>
  12.     <1992Dec23.233727.24184@cs.brown.edu>
  13. Date: Thu, 24 Dec 1992 04:46:56 GMT
  14. Lines: 31
  15.  
  16. mj@cs.brown.edu (Mark Johnson) writes:
  17.    [Niches for scheme.] Any comments?
  18.  
  19. Here's another, somewhat hypothetical one: Shell scripts and
  20. lightweight systems programming.  
  21.  
  22. Currently people wind up writing large programs in languages that are
  23. basically not up to the task.  You've all seen those multi-thousand
  24. line csh scripts, awk scripts, perl scripts, rexx scripts, tcl
  25. scripts, etc, that run too slowly, can't represent the data structures
  26. they really need, and have unknown semantics.  With a few hooks to
  27. libc and a regexp library scheme can probably do much better.
  28.  
  29. There are a few ways in which scheme will have problems, though.  In
  30. the application domain I'm thinking of, you really need a decent IO
  31. library, a package system for namespace control, and some way to deal
  32. with "separate compilation."  (Autoloading seems like the way to do the
  33. latter in the world of interpreters, so it would be nice if load did
  34. the right thing with respect to environments.)
  35.  
  36. The local systems type people I've mentioned this idea to have been
  37. mostly in favor, but quality of implementation is more than an
  38. academic issue for them.  An example of the kind of engineering that
  39. is required came up in a discussion with Aubrey Jaffer about
  40. augmenting scm.  I had provided hooks for Unix system calls: read,
  41. write, open, close, etc.  He wanted me to augment ports with whatever
  42. functionality I wanted instead.  But the functionality I wanted was to
  43. not have to deal with ports at all.  Ports have lots of semantics
  44. associated with them, and I wanted unadulterated access to the
  45. operating system.  Even in C, standard io gets in the way sometimes,
  46. and ports in scheme are not even as capable as stdio is.
  47.