David Van Horn wrote:
> Per Bothner wrote:
>> Arthur A. Gleckler wrote:
>>> On Nov 16, 2006, at 8:38 AM, Per Bothner wrote:
>>>
>>>> I think it is useful that it be possible to write a conforming R6RS
>>>> program that is at the same time a valid Unix/Posix script. That
>>>> requires some minimal standardization in R6RS. Non-Unix
>>>> implementations
>>>> need to not get confused by a Unix script header.
>>>
>>> It doesn't require standardization in R6RS.
>>
>> As long as R6RS prohibits reader extensions, then yes it does.
>
> I think this misses the point van Tonder and Gleckler have been making.
> If a Scheme program is allowed to be part of a file, then the Unix
> header is not part of the Scheme program. It has nothing to do with
> reader extensions; you're not reading Scheme.
I got the point, but I don't see how this solves the practical issue:
I'd like to take a Scheme application/program/script, and run it
on different environments without having to modify it between
environments. I'd like to be able to just click on it in my file
manager and have it execute. (This assumes a portable gui library
for it to be useful.) I'd also like to be able to invoke the
application from the command line by just typing its name, without
having to also type the name of my Scheme interpreter. Yes, I
can solve this problem with a two-line shell wrapper, but that
means I now have to use two files. That's not desirable for
a simple one-file program - it adds clutter and I have to remember
to also copy the shell script over with the Scheme program, make
sure things are named correctly, and deal with the problems of
pathname resolution. (The Scheme interpreter needs to be able to
find the Scheme program but we don't want to hardcode the program's
path in the shell wrapper.)
These are not essential "must-have" features, but they're nice
to have, I think, and easy to accommodate in R6RS.
--
--Per Bothner
per_at_bothner.com http://per.bothner.com/
Received on Thu Nov 16 2006 - 13:38:20 UTC