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
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.