guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] add language/wisp to Guile?


From: Maxime Devos
Subject: Re: [PATCH] add language/wisp to Guile?
Date: Sat, 18 Feb 2023 00:06:18 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.0



On 16-02-2023 22:38, Dr. Arne Babenhauserheide wrote:

Matt Wette <matt.wette@gmail.com> writes:

You may be interested in the load-lang patch I generated a few years ago
to allow file-extension based loading, in addition to '#lang elisp"
type hooks.

https://github.com/mwette/guile-contrib/blob/main/patch/3.0.8/load-lang.patch

@Maxime: Is this something you’d be interested in championing?

For the '#lang whatever stuff', no:

The '#lang whatever' stuff makes Scheme (*) files unportable between implementations, as '#lang scheme' is not a valid comment -- there exist Schemes beyond Guile and Racket. If it were changed to recognising '-*- mode: scheme -*-' or '-*- language: scheme -*-' or such, it would be better IMO, but insufficient, because (^).

(*) Same argument applies for some, but not all, other non-Scheme languages too.

I'm assuming you don't meant the '%file-extension-map' stuff, because of your previous ‘[...] and also to avoid stumbling over files that just take that extension’ response to the proposal for such a thing. Even if you meant that, (^) also applies.

(^) it doesn't integrate with the module system -- more concretely, (use-modules (foo)) wouldn't try loading foo.js -- adding '-x' arguments would solve that, but we agree that that would be unreasonable in many situations. (Alternatively one could place ECMAScript code in a file with extension '.scm' with a '#lang' / '-*- mode: ecmascript -*-', but ... no.)

Aside from the '#lang ...' -> '-*- language: scheme -*-' stuff, I think the idea behind the patch is good (**) -- it solves the problem it aims to solve, AFAICT. However, this problem is not the module system problem that Wisp currently has.

As such, I suppose you could say that I would 'champion' the patch on its own, but not champion it in relation to '[PATCH] add language/wisp to Guile'.

(**) It needs some documentation though.

Greetings,
Maxime.

Attachment: OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]