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

From: Eli Barzilay (eli at barzilay.org)
Date: Tue Feb 16 11:16:16 EST 2010

File suffixes:

* Clearly there is a whole range going from an obnoxious
  "foo.racket.at-exp.typed.scheme-source" name all the way down to
  "foo", so there is no single point that is right.  I think that
  "rkt" makes sense because it's indicative enough (nearly unique),
  and because it's short.

* As for the length -- I think it matters a lot.  Filename completion
  is not always available: when you create a new file, when you type a
  url to a file, when you're on Windows and you don't know the secret
  magic words to make completion happen, when you're writing shell
  scripts, etc etc.  The bottom line is that I type the suffix
  frequently enough to be annoyed at ".scrbl" as too long of a

* One slight problem I have with ".rkt" is the forced left-right
  keyboard travels.  I won't mind much switching to ".rs" for that.
  (I know that there's no need to keep the "source" word, but the
  convenience is tempting.)  Or ".rk" or ".ra".  (".rt" reads to me
  like "runtime".)

* I don't like ".rckt" not only because it's longer, but because I
  need to think about which letters are in -- having a three-letter
  suffix means that it's much easier to add it to my finger's short
  term memory.  In this sense, a three-letter suffix is similar to an
  80-character limit on line length -- we're not using 70s green
  terminals anymore, but reading code is much easier.

* For compiled files, I don't think that there's any point in changing
  ".zo".  It sounds binary-ish enough, there's even an "o" that has
  the right associations, and I don't see any other uses for it.

* And re the point of having no suffix -- that's just impractical.  It
  means that we won't be able to register a Windows extension (IIUC,
  some OSX mess will happen too), it means that web servers need to be
  configured to inspect the file and look for a non-trivial magic (a
  feature that the plt web server doesn't even have), and there's many
  more places that depend on an identifiable name (for example, all
  identifiable (by suffix) source files in the plt tree are getting

* As for allowing variants (like ".racket" or ".rkt" or ".r") -- that
  sounds good to me (in that people who want the long names and are
  willing to suffer for it can), but it complicates a bunch of other
  stuff, so I think that having a single blessed suffix is better.
  (No practical way to avoid ".ss" for compatibility, but that should
  be deprecated and eventually removed.)

Executable name:

* I think that it works very well with non-americans (if I take myself
  as an example) simply because it sounds good.  For example, if I
  tell you to run "rkt" (use it in a *spoken* dialog), I'll need to
  spell it.  But with "rico" the only question might be if it's "rico"
  or "ricco".  Having a memorable name is a big advantage imo.  In
  other words, "rico" is something that is very easy for me to
  remember, independent of the pun.  (I take the use of Rico in a
  children's tv series as supporting this.)

* Another problem with "rkt" is that it's confusing in that it's
  similar to "racket" (so my first guess would be that it's just a
  shorter name).  So if "rico" is not going to be the name, I'd vote
  for something that is still different from "racket".  I'd
  specifically avoid names that contain "racket"...  (Also, names
  based on "plt" are going to make even less sense.)

* As for Shriram's point about resolving the ambiguity -- I don't
  think that it does, if other puns are used elsewhere.  The best
  example I have so far is that "Racket Ball" is an obvious name for
  .plt files...  I also think that DrScheme would be better with some
  pun instead of "DrRacket", but that seems to have been ignored with
  a thundering silence.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.