[racket-dev] Revision to the Language Dialog

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Tue Nov 6 03:29:35 EST 2012

Matthias Felleisen wrote at 11/05/2012 10:14 PM:
> 	* racket/base (for scripting)
> 	* racket (for programming)

After thinking about it, I think I see what you mean with the 
distinction between ``for scripting''  and ``for programming''.  But I 
think this might be confusing.

(Explanation... I have been thinking of it the other way around: "#lang 
racket" is what you use when you want to just start typing and have 
everything available and type less text, in a scripting-language kind of 
way, and "#lang racket/base" is what one uses when putting a little more 
care into engineering, and doesn't mind the extra thinking and text.  
For example, when making a reusable PLaneT package, I think it's good 
practice to go to the extra effort to use "#lang racket/base" instead of 
"#lang racket"; otherwise, you doom all users of your package to pull in 
all of "#lang racket", which they might have engineering reasons not to 
do.  But I guess you were speaking only of process load times -- that 
people would use "racket/base" so that standalone ``scripting'' programs 
would load quicker from the command line -- not about a quick-scripting 
nature of the programming activity?)

Neil V.

Posted on the dev mailing list.