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