From: Donovan Kolbly <firstname.lastname@example.org>
Date: Sun, 5 Nov 1995 14:50:13 -0600
Organization: Real/Time Communications - Bob Gustwick and Associates
> - There's a nice system being developed by Paul Wilson and another
> guy down in Texas, I forget the name, That has potential.
That would be me, and the system would be RScheme. Wow, nice to know
Olin even knows I exist, even if he doesn't know my name!
Of course I do; RScheme looks very exciting.
Actually, I am impressed enough with scsh that I want my OS interface
to be more like its than what RScheme has now: a bunch of little hacks
to permit me to do the occassional real piece of work I need to do.
I briefly looked at porting scsh to RScheme, but scsh seemed to be
sufficiently tied to S48's multilayer architecture to make a quick
port impossible. RScheme still has a fairly crude scheme/C interface
-- nothing as sophisticated as S48!
A port would have the following hurdles:
- low-level C interfaces not R4RS
- low-level macro hacks not R4RS
- Record structures and exceptions
What you have going for you is two things:
- higher-level code already carefully written.
This is actually a fair amount of code.
- design work already done.
Scsh represents a ton of design work, wandering around the
Unix definition, finding out what is portable, how to represent
it in a Scheme-like way, how to tie everything together, the
consistent naming schemes. It took me several *years* to do this --
and I've been hacking Unix for sixteen years and Scheme for fourteen.
I thought I knew Unix pretty well when I started; I was wrong.
As another example, I would say the design of the awk macro and
the field-reader parser library represents about two full-time weeks
of my life.
I'd be happy
to support an effort to put the scsh interface in RScheme 0.7 (devoting
my copious spare time to the task :-))
I would be very happy to see such a thing happen.
I would also love to tackle the following problem: Sit down, learn the Win32
API. Throw out scsh, and replay the same design game for Win32. Now you have
a nice scripting language and programming environment for the world's dominant
OS. Then study Unix scsh and the new system, and design a set of Scheme
libraries that abstract these two interfaces. Now if you program within these
abstractions, your code will be totally portable across Windows and Unix.
Some guys at DEC SRC did this with Modula-3, actually. I saw their design;
it was pretty nice.
It's a shame Modula-3 never successfully transited out into the real
world. I'm hoping most of its good ideas will survive in Java form.