[r6rs-discuss] [Formal] "#! /usr/bin/env" is not "portable." It's Unix-specific.

Arthur A. Gleckler arthur at zurich.csail.mit.edu
Tue Nov 14 14:51:23 EST 2006


On Nov 14, 2006, at 11:36 AM, Eli Barzilay wrote:

>> Nevertheless, this doesn't belong in the language specification, and
>> the spec. certainly shouldn't use the word "portable" to describe
>> this feature.  (It does now.)
>
> There is certainly a portability issue.

Perhaps, but the spec. refers to the "#! /usr/bin/env scheme-script"  
line as the "default portable form."  But it's portable only to Unix  
systems.

Why should a program running on another operating system be required  
to have Unix-specific details as its first line?  What happens when  
some other operating system has a convention that requires different  
text on the first line?

Perhaps the right thing is to specify a separate file that contains  
operating-specific details of the program, and to have that file  
refer to the file containing the script.  Then the script can be  
neutral and actually portable.

>> An SRFI is the appropriate place for documenting such a convention.
>
> SRFIs wouldn't help at this level.

You should say why.



More information about the r6rs-discuss mailing list