[racket] Getting started with R6RS
Elliott Cable wrote at 05/14/2011 09:26 AM:
> As for the argument that I should be learning Racket instead of R6RS … well, there’s dozens of languages I should be learning right now. Unfortunately, Scheme, *standard* Scheme, not the “Racket” language, is what I’ve decided to learn next.
Just so you know, the Scheme universe is a bit different from that other
languages, and I'd say that R6RS does not mean the same thing as a
standard in some popular languages. R6RS doesn't represent the essence
of the language, best practices, nor consensus. R6RS diverged from the
tradition of earlier RnRS -- which were indeed very minimal de facto
standards -- and had a very mixed reception. Scheme dialect
implementors will still try to support R6RS as a checklist item, or to
get some library support they don't want to implement themselves, but
R6RS is not revered doctrine like language standards tend to be.
In Scheme, the real activity of production use and R&D is around
implementations that start with R*5*RS and add their own very necessary
stuff atop that. Of those clusters of activity, I believe that Racket,
which could be considered a Scheme dialect, is the biggest. In addition
to Racket's popularity among users, I believe that Racket is the most
influential Scheme dialect in ongoing evolution of the language -- just
look at programming language research conference proceedings of the last
decade or so.
Also, if you're trying to get experience with various interesting
languages as an intellectual endeavor, be aware that one of the greatest
strengths of Scheme is its support for metalanguage programming via
syntax extension, and that the best current tools and research on Scheme
syntax extension are in Racket, by Racket developers/users.
Perhaps I should put it this way: if you're looking for interesting
stuff in programming language technology, I think you should be looking
at "Racket" instead of "Scheme" anyway. "Scheme" is old, and not where
the interesting evolution that descended from Scheme is happening.
Also, don't be afraid to give DrRacket a try, especially once you start
working with syntax extension. I distribute the most popular Emacs
package for Scheme, am ambidextrous with "vi", and use tools like "make"
very heavily in Racket production use, but I still fire up DrRacket
sometimes -- for things like the Macro Stepper, for some kinds of
identifier renaming, or when I have a few communicating processes going
on in development and I want to have each one sorta contained in its own
editor&runner window.
Cheers.
--
http://www.neilvandyke.org/