Re: PLT-specificness (Was: Welcome to UNAM)
"Neil W. Van Dyke" <[email protected]>
| Newsgroups | gmane.lisp.scheme.plt.schematics |
|---|---|
| Message-ID | <[email protected]> |
Anton van Straaten <[email protected]> writes at 08:37 10-May-2004 -0400: > I agree. BTW, when we announce on the PLT list, I think we should > consider announcing on c.l.s. also, particularly if we still want to > support other Schemes at all (although I don't know how well that'll > work out in practice). Personally, I suspect a PLT-specific cookbook would be more viable than an implementation-independent or multiple-implementation one. A few suggestions for a PLT-specific cookbook, in which our primary goal is to teach the reader how to use PLT (but we also want the reader to be aware of what is PLT-specific, so that they can converse in the broader Scheme community and avoid unnecessary nonportability in their code; and I think we have a secondary goal of helping the reader to use other Schemes, since one of the benefits of Scheme is that you *can* retarget to any of a wealth of good implementations if you need to): 1. Avoid *totally* gratuitous PLT-isms. For example, I wouldn't use "match" simply to get the first element of the list in an example (unless the example were intended to illustrate "match", or there were symmetry with other uses of "match" in the example). However, use PLTisms with impunity wherever they help. 2. When introducing a non-R5RS-ism in a discussion, a subtle reference to PLT-ismness (e.g., "The PLT 'match' syntax can be used...") would be helpful. Likewise, we could say "The Scheme 'do' syntax..." or "The R5RS 'do' syntax..." when introducing a Scheme concept that isn't PLT-specific. 3. Some convention similar in intent to a sidebar or a box could be used to say whether and how you can do the same thing in particular other popular Scheme implementations. For example, "This works in R5RS implementations with SRFI-6," "R5RS 'syntax-rules' is similar but does not use PLT syntax objects, so...," "Other Scheme implementations have different module systems. Bigloo's module system is documented in...," and "An equivalent but more verbose R5RS function that doesn't use 'match' is..." Just one hyperactive comp.lang.schemer might blitz the cookbook, making all these changes for you... :) I suppose this is only a small step from a multiple-implementation cookbook. But, as a reader interested mainly in PLT, I'd hate to wade through piles of examples employing non-PLT object systems and such. (At least that would be a problem in print, though fancy hypertext could ellide irrelevant implementations in a convenient way, if someone wanted to volunteer Anton to invent that. :) -- http://www.neilvandyke.org/ ------------------------------------------------------- This SF.Net email is sponsored by Sleepycat Software Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver higher performing products faster, at low TCO. http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3