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