scsh-users
[Top] [All Lists]

Re: scsh on scheme48 (or others)

To: sjenkins@iastate.edu
Subject: Re: scsh on scheme48 (or others)
From: Brent Benson <bwb@concentra.com>
Date: Mon, 18 Mar 1996 14:40:59 -0500
Cc: scsh@martigny.ai.mit.edu
# Date: 18 Mar 1996 15:39:06 GMT
# From: sjenkins@iastate.edu (Steven L Jenkins)
# 
# I'm seriously contemplating porting scsh to mzscheme (the Scheme 
implementation
# from the PLT group at Rice)...I've talked a bit with Shriram about this and
# have done some preliminary poking.  While I'm not exactly thrilled over the
# idea of reimplementing scsh, it seems my only option if I want to get decent
# performance (as well as a system that will run on an Alpha).  Does anyone
# (including Olin & Brian) have any tips for this?  Would it be more
# realistic to build my own implementation of PreScheme that is portable than
# it would be to add scsh to mzscheme?  

As daunting as porting scsh to another Scheme system sounds, I think
it pales in comparison to hacking PreScheme.

If *I* were to start porting scsh to another Scheme system, I would
take the approach of using the manual as a functional specification
and delving below the surface into the source code only when it seems
like it will save a bunch of coding.  For example, it may may make
sense to implement a compatible macro system in order to re-use the
hairy process-oriented macros---on the other hand, it might make more
sense to implement the macros as needed using the native macro
system. 

This top-down approach would allow me to implement the pieces I needed
more quickly, and would allow me to see immediate progress, rather
than spending a few months porting low level things that have little
relation to scsh itself.

The alternate approach of creating an infastructure which allows the
scsh sources to compile/run without modification on another Scheme
system is, in my opinion, a really tough job that would result in a
pile of hard-to-maintain comptability code.  On the other hand, you
probably wouldn't have to maintain the scsh code itself---you would be
sharing it with the Scheme 48 version---so it might not be so bad
after all.

Brent

<Prev in Thread] Current Thread [Next in Thread>