Re: srfi-0 and srfi-7

Michael Sperber <sperber-jNDFPZUTrfQQDnmTUQnR1uqEdJ8o/[email protected]>
Newsgroups gmane.lisp.scheme.plt.schematics
Message-ID <[email protected]>
>>>>> "Neil" == Neil W Van Dyke <[email protected]> writes:

Neil> Thanks for the response.

Neil> 3. Are SRFI-0/7 feature names for MzScheme-specific extensions defined?
Neil>    I don't see any in "features.ss".
>> 
>> No, and for good reason.

Neil> I can only guess at the guiding philosophy; could you elaborate?

SRFI 7 is for writing portable programs based on specifications shared
by multiple implementations.  Adding "MzScheme-specific" extensions
defeats that goal, and SRFI 7 just isn't good at handling this case.

Neil> Also, there are cases like Scsh and Scheme48 declining to provide an
Neil> R5RS-compliant "integer->char".  So I need a way of talking about
Neil> how to get "ascii->char" behavior.

Ah ... what?  R5RS doesn't specify ASCII, and thus Scheme 48 and scsh
actually invite you not to write unportable programs by relying on
this  If you want something like ASCII->CHAR, it seems the way to go
about it is to provide a specification (in form of a SRFI, of course
:-) ) which you can then use.

Neil> And sometimes I just want to know which implementation I'm running on,
Neil> since I have a priori information about particular ways to do things on
Neil> that implementation for big wins or to work at all.  In fact, this is
Neil> probably what I need most often: "If we're using Foo Scheme, then do
Neil> THIS.  If Bar Scheme, then THAT.  If neither of those, but the
Neil> implementation supports a Baz API, then do THOSE THINGS.  If all else
Neil> fails, use THESE criminally inefficient R5RS-based procedures."

That of, course, is not only unportable now, it's also likely to make
a program written and working now fail in the future.

I know this situation is frustrating---but the methods are (IMHO) not
likely to improve it.

Your best bet for writing programs portable between PLT Scheme and
Scheme 48 / scsh is to use their respective module systems, and factor
out APIs that will work across both.  (This is actually a pretty
effective approach, and Matthew and I are slowly working on making it
easier still.)

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla


-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.