[gambit-list] slime (swank) and gambit

Mikael mikael.rcv at gmail.com
Wed Dec 7 06:10:16 EST 2011


Hi Attila,

2011/12/7 Attila Lendvai <attila.lendvai at gmail.com>


> so, my first question: what's the situation with r6rs? my impression
> is that the scheme crowd is not too keen on jumping the bandwagon...


Indeed.

Go with R5RS and check out R7RS more as it progresses. You have the R7RS
core spec out there already, ought be all you need.

R5RS and R7RS core code are compliant with each other, save for some easy
to implement yourself procedures and forms introduced by the latter.

The procedures R7RS core adds to R5RS, is things most R5RS impls have
already; now they're just taken into the standard.


> is the situation something like this: having a portable swank-scheme

*based* on r6rs is a good thing to pursue on the long term (with
> backend specific extensions ala official slime on various CL's), but I
> should expect bugs and headaches along the way due to r6rs
> immaturities of various scheme VM's?
>

R7RS is the long term thing as it stands, and you already have a mature
draft of the core spec out for it. Afaik the great majority of Scheme
implementations today are R5RS.

For an implementation-portable app you'd need to sit down and look at
exactly what language and runtime functionality you need, and then keep
your code to use exactly that only. I'd advise you to do this originating
from the R5RS spec.

Availability of unicode/char encoding, binary data handling and theading,
numeric tower, and how to do networking and run external OS processes would
be examples of differences in the runtime, availability of namespaces,
DSSSL and what macro facilities there are would be examples of things that
differ language-wise.

In case you really want to squeeze your code into just about any
environment out there, you might want to make your own code preprocessor
(that processes away macro-specific things i.e. macro expansion and any
kind of cond-expands or alike you have to produce different code for
different impls, and code handling specific things i.e. includes) that
produces code runnable for respective Scheme impls.


> if the above holds, then i'd go that way and hunt down and/or
> workaround the bugs i meet along the way.
>
> --
>  attila
>

Mikael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20111207/99a2597d/attachment.htm>


More information about the Gambit-list mailing list