|
From: | Maxime Devos |
Subject: | Re: [PATCH] add language/wisp to Guile? |
Date: | Thu, 23 Feb 2023 19:04:11 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.0 |
On 23-02-2023 09:51, Dr. Arne Babenhauserheide wrote:
Thinking a bit more about it, it should be possible to special-case Guile's interpretation of "#!" such that "#!r6rs" doesn't require a closing "!#". (Technically backwards-incompatible, but I don't think people are writing #!r6rs ...!# in the wild.)Do you need the closing !# if you restrict yourself to the first line?
I thought so at first, but doing a little experiment, it appears you don't need to:
$ guile scheme@(guile-user)> #!r6rs (display "hi") (newline) (output: hi) Apparently Guile already has required behaviour.
Still doesn't really address the problem though, as Scheme scripts (or scripts in another language) may need to start with a shebang and "#!lang" or "#lang" is not a valid comment in all languages. (E.g., I don't think it's valid Pascal, though I only have read some Pascal code, I haven't looked at the specification.)I think itmust be ignored in all languages that work as scripts in POSIX. So I would expect that support for ignoring #!... in the first line is very widespread.
The problem is that not all languages were made with POSIX-style scripts in mind, e.g. Pascal, BASIC and Java (*).
Greetings, Maxime.(*) Java actually allows "#!", but only in 'Shebang' files (see: https://openjdk.org/jeps/330#Shebang_files). It remains invalid to put a '#!java' line in files with a class definition that is supposed to be found by Java's class loaders and compiler (in Guile terms, the source code of a module).
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |