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

Eli Barzilay eli at barzilay.org
Tue Nov 14 15:03:52 EST 2006


On Nov 14, Arthur A. Gleckler wrote:
> 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?

Let me clarify: I dislike *requiring* it, but I do like making some
convention when it *is* used.


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

Because you cannot implement a library that will change the way a
Scheme implementation reads the first characters of your program.

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



More information about the r6rs-discuss mailing list