>>>>> "Olin" == Olin Shivers <email@example.com> writes:
In article <firstname.lastname@example.org> email@example.com (Olin
Funny, that was my reaction when I started seriously
playing with scsh mostly as a way to talk to a simple
relational database we have around here for dealing
with information involving routers and the like, simply
because the staff programmers around here aren't able
to provide me with what I need at the present time, and
its creator and principal developer left Sprint this summer.
I loathe C (I blame it for making me a reluctant programmer)
and wanted to use something more comfortable to me to do
various ad hoc things. Scheme is a language I've liked
alot for a long time but which has never had a reasonable
interface into tools in the UNIX system, and worse still,
lacked comparable tools of its own. Scsh is a good first step.
Many years ago when I worked for him at UUNET Canada (when
he was also still at the University of Toronto), Rayan
Zachariassen converted me to the idea of implementing all
of UNIX in some dialect of Lisp. His hybrid Lisp+bourne
shell syntax in ZMailer was an interesting stab at it, but
the realities of working at two and a half jobs, running a
business, and completing a thesis (in no specific order)
took him away from doing heavy work on it. [*]
Strangely enough I haven't wondered until now whether
you and he have ever run into each other, or even if
he knows about scsh.
Anyway, for me, there's lots that has been of enormous use
in scsh already, particularly for building a smart send-expect
engine around the amazingly simple
(fork-pty-session (lambda ()
for which I am eternally thankful. (Although
I'd really like to see bdc's telnet/ftp/etc. code,
and the telnet stuff in particular, as dragging
*lots* of information thorugh a pty really sucks).
That and the dbm stuff and your high-level socket
interfaces have already been used to do interesting
consistency checks against our production database,
to build a prototype database of routing information,
and to work with a colleague at cisco on debugging
some of their code and getting some rather deep
information about what kind of things are flowing
across the Internet with a view to building a mockup
for their Internet Service Provider testbed.
As I told you earlier, I wish my stuff were of more
general utility rather than seriously ad hoc, but then I
have a more general chat-with-a-router-and-make-it-do-
useful-things package in progress that may in fact be
useful to many of our partners, customers and comeptitors,
and which I will share with them when done.
Everyone in this business is desperate for useful
tools of any sort, no matter what it's written in.
It's far too early to have anything but a fantasy of
any of them going out and grabbing scsh and doing
quick and dirty or long and well-thought-out things
in it, but who knows? I mean, I know people who
use EMACS exclusively to do excruciatingly slow and
painful data crunching because a professional colleague
of mine wrote a sometimes very useful tool in elisp. :-)
Olin> The problem here is that I didn't design cig to
Olin> generate foreign-function calls that return no
Olin> value at all. I should fix this.
[*] and also we had among our friends Geoff Collyer, Mark
Moraes, and a number of other hybrid radical minimalists
and general haters of anything MIT-ish, and they
converted me to many things too.