guile-devel
[Top][All Lists]
Advanced

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

guile support for multiple languages [was: [PATCH] add language/wisp to


From: Matt Wette
Subject: guile support for multiple languages [was: [PATCH] add language/wisp to Guile?]
Date: Mon, 2 Oct 2023 14:46:11 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1



On 10/2/23 7:59 AM, Christine Lemmer-Webber wrote:
"Philip McGrath" <philip@philipmcgrath.com> writes:

I've sort of alluded above to my pipe dream of a grand unified future
for Racket-and-Guile-on-Chez, Guile-and-Racket-on-the-Guile-VM, and
endless other possibilities. I wrote about it in more detail on the
guix-devel list at [10]. (These thoughts were inspired by
conversations with Christine Lemmer-Webber, though she bears no
responsibility for my zany imaginings.)
It's a long email so I'm only quoting the part that mentions me.  ;)

In general I think the hash-lang idea in Racket is a neat one.  File
extensions are also possible I suppose, but ultimately, when the program
boots, there has to be some sort of way of finding the "current
configuration" of languages.

Note that #langs have an ambient authority problem, if we had a more
ocap'y system, but... we're far from that, any module can do a mess of
things, so I suppose if we're relying on the module system with ambient
authority already, the same situation may apply.

One thing that's worth noting is that languages do *two things* (or
three): they provide a reader, and they provide an execution model
(including an initial set of bindings).  It would be nice if we could
separate those two things as much as possible, when it is possible.
I think readers are the least interesting part of language design
usually.  But obviously I support Wisp here, so... ;)

  - Christine

Maybe I missed something, but I believe guile does separate these.
Languages are supported with the "spec.scm" files in which are
specified #:reader, #:evaluator and #:make-default-environment.

Matt



reply via email to

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