[plt-dev] `rico' and ".rkt"

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Mon Feb 15 12:13:46 EST 2010

* I agree that it's good to have the "#!" executable be called "racket".

* I'm ambivalent about having a monolithic "racket" or "rico" command.  
A small downside is that monolitic does feel more like a closed 
platform.  A small upside is that it looks (deceptively) friendly in demos.

* I suspect that "rico" will make Googling harder, in multiple ways.  
I'd suggest avoiding racketeering puns, and incorporating "Racket" or 
some abbreviation of same into every executable command name.  Examples: 
"racket-setup" "racket setup" "rkt-setup" "rkt setup".  This also makes 
it easier to find for people who find commands for software they know 
the name of by doing filename completion (a few Scheme implementations 
have this small usability failing).

* The suggested automagical games like transparently translating 
filename extensions.  A variation on this would be to *stop* having 
filename extensions in things like require specs.  Instead, to turn what 
essentially is a file reference into a filename, an ".rkt" would be 
appended.  As a backward-compatibility measure, ".ss" would be permitted 
in the spec, and either (I'm not sure which) would prevent ".rkt" being 
added, or would try one extension first and fallback to the other.

* Short alternatives to ".rkt":  Python has ".py", Perl has ".pl", and 
Ruby has ".rb", so Racket could have ".rk", ".ra", or ".rt".  I kinda 
prefer ".rkt".  Or ".rs" (Racket source).

* ".racket" is pleasing in some sense, and in keeping with Scheme 
verbosity, but it's going to alienate people who think that ".java" is 
already too long or pushing the limits.  (Whether any of those people 
would be receptive to Scheme anyway, I don't know.)  I do know that I'd 
prefer to type ".rkt", rather than to be typing out ".racket" all the 
time or hitting the Tab key at strategic points to try to do filename 
completion.

-- 
http://www.neilvandyke.org/



Posted on the dev mailing list.