[plt-dev] renaming programs in the distribution

From: Carl Eastlund (cce at ccs.neu.edu)
Date: Tue Apr 20 14:07:02 EDT 2010

On Tue, Apr 20, 2010 at 1:54 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Tue, 20 Apr 2010 13:25:39 -0400, Carl Eastlund wrote:
>> Version 3 is troublesome.  It gives a short name to encourage people
>> to run "racket <file>" so they don't have to do long stuff... but then
>> punishes them if they use that to build a script and ever have a file
>> with a similar name to a command.
>
> That doesn't sound quite right. With option 3, `racket' would decide on
> file versus command syntactically, without consulting the set of
> available commands or files. So, changes in available files or commands
> do not change the interpretation of a command line.

Okay, let's say I write "racket my-favorite-string".  What syntactic
decision does "racket" use to pin "my-favorite-string" down as a
potential command versus a potential file name?  It still seems to me
that any potential command may still be something a user might want to
use as a potential file name.

> I believe that a script implementor would be punished only if the
> script was called from its own directory without using a path prefix
> and when "." is in PATH.

This sounds like an issue when using racket in #! lines.  That's not
the kind of script I meant.  I mean a #!/bin/bash script that calls
something like "racket $*" in it to invoke one or more files.  There
is trouble if the files coincide with command names, or the syntactic
shape of commands, or whatever racket uses to decide something is not
a file name.

--Carl


Posted on the dev mailing list.