[racket] Learning Scheme and Racket

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Wed Oct 5 06:54:08 EDT 2011

On Oct 4, 2011, at 9:28 PM, Harry Spier wrote:

> Dear list members,
> I'm teaching myself Scheme (as an old imperative language programmer) by going through SCIP, the little Schemer, the Seasoned Schemer etc.

As Dan used to say as we rewrote the book, "the books are not about Scheme". That's why you find CL compatibility notes. It's about 'recursive thinking' and that can happen in many languages. Neither Scheme nor Racket nor CL live up to the exact laws of the book, so if you interpret them strictly, you may encounter discrepancies. 

If you'd like these books generalized to 'design thinking' and in standard text form, I recommend HtDP (htdp.org) and HtDP/2e ( http://www.ccs.neu.edu/home/matthias/Presentations/11GS/gs.pdf ). Again, they use neither Scheme nor Racket per se but teaching languages suitable for the design stages considered in the respective parts of the book. When you are thru with the book, you will know enough to adapt to full Racket quickly. 

> and #lang Racket by going through the Racket guide and documentation.  What I would find useful is a list of the major differences between a standard form of Scheme (such as r5rs for example) and #lang Racket.  Can any of the members point me to such a list or table?

If I had your goal, I would not worry about any language standards. Nobody programs in language standards (Scheme, SML, Ecmascript aka Javascript, or you name any standard). 

In a nutshell, Racket is our reaction to the experience of building a large multi-lingual system in Scheme over 12 years. When we launched the TeachScheme! effort -- now known as Program by Design -- we wanted to prove to the world that building large systems in Scheme was feasible. The first idea that went out the door was R^nRS. It isn't feasible to create large systems in these languages in a sane manner when you have 20-30 people involved. R6RS -- heavily influenced by our experience -- comes closest but in the end we realized that our language had grown apart from the Scheme report effort. 

I have summarized what Racket is from my personal perspective and Asumu has provided the link. It's longer and a bit more concrete. 

Hope this helps -- Matthias

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20111005/de0e33ee/attachment.html>

Posted on the users mailing list.