[racket] user's guide feedback/questions as I prepare for my PL course

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Fri Aug 26 18:57:49 EDT 2011

On Aug 26, 2011, at 11:09 AM, Dan Grossman wrote:

> 2. "Whatever you don't like you can fix by making your own language
> for the course:" This is indeed a fantastic feature of Racket, but one
> I plan not to use. .. showing them a modern, well-documented language,
> without me tweaking it.


Nah, you should show **them** how easy it is to build a language. 
You are showing them simple macros. Now show them how to complete
the macro into a language: 

 http://www.ccs.neu.edu/home/matthias/Thoughts/Racket_is____.html

(I should also point you to "Danny Yoo brainfuck" but I don't have
the URI handy.) 


> 3. "You should really show them some typed racket."

Shriram explained, but also look for Findle-Tobin-Hochstadt at STOP 2009.


> 5. "Use boxes instead of mcons, they're more like SML references
> anyway": Or I might use mutable structs instead of mcons. 

Please do. 

> 6. In reading the User's Guide, I was pretty surprised that first
> (unlike car) raises an error on a non-list.  I eventually looked over
> at the Reference Guide where I learned that list? is O(1) and I was
> able to connect the dots -- "aha, now /this/ is a pretty cool reason
> to make cons cells immutable beyond the basic 'set-cdr! is nasty' ".
> I recommend the User's Guide include a comment or footnote that first
> is an O(1) operation -- you can just point to the Reference Guide for
> any details.

Where do you think it's best to say so? Lists are a bit scattered 
over the Guide, and I didn't find the place where (first '())
signals an error. [Not that this is necessarily the best place.]

-- Matthias




Posted on the users mailing list.