* Configuring Guix with JavaScript? @ 2020-04-22 1:04 Stephen Paul Weber 2020-04-23 17:42 ` zimoun 0 siblings, 1 reply; 3+ messages in thread From: Stephen Paul Weber @ 2020-04-22 1:04 UTC (permalink / raw) To: help-guix [-- Attachment #1: Type: text/plain, Size: 680 bytes --] Hello all! I have what may be a bit of an oddball question. Guix is configured using Guile. Guile's default language is Scheme. The Guix website actually says it is configured with "Guile Scheme" and all documentation is in Scheme. So far so good. However, Guile can also understand other syntaxes, notably advertising ECMAscript (JavaScript) and EMACS Lisp syntax. So my question is: can I configure Guix using JavaScript instead of Scheme? If not, is it a fundamental limitation or something worth me poking at? If so, has anyone tried it? Does anyone have a suggestion where I should start in trying this out? Thanks to anyone who humours me. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Configuring Guix with JavaScript? 2020-04-22 1:04 Configuring Guix with JavaScript? Stephen Paul Weber @ 2020-04-23 17:42 ` zimoun 2020-04-23 17:50 ` Christopher Lemmer Webber 0 siblings, 1 reply; 3+ messages in thread From: zimoun @ 2020-04-23 17:42 UTC (permalink / raw) To: Stephen Paul Weber; +Cc: help-guix Dear, On Wed, 22 Apr 2020 at 03:09, Stephen Paul Weber <singpolyma@singpolyma.net> wrote: > However, Guile can also understand other syntaxes, notably advertising > ECMAscript (JavaScript) and EMACS Lisp syntax. So my question is: can I > configure Guix using JavaScript instead of Scheme? If not, is it a > fundamental limitation or something worth me poking at? If so, has anyone > tried it? Does anyone have a suggestion where I should start in trying this > out? Interesting idea. :-) AFAIK, it is currently not possible. Recently, experimental JSON support has been added [1]. Well, I am not sure that Guile can combine several languages. Other said, Guile can compile and run Scheme scripts and it can too compile and run say ECMAscript but I do not know if one could write/define a module using Scheme and call this very module from ECMAscript; as for example Python and Hy [2] (lisp) do using the Python AST module. And combining is not easy because some "concepts" in one language does not necessary apply to another language. It is not because the compiler has several front-ends (for different languages) and use the same internals [3] that it can mix them; e.g., GCC: Fortran, C, Ada, etc. and it is not straightforward to combing them. Otherwise, life would be too simple. ;-) But I should miss a point... [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40629 [2] https://docs.hylang.org/en/stable/ [3] https://www.gnu.org/software/guile/manual/html_node/Compiling-to-the-Virtual-Machine.html As a starting point, I would ask to Guile's mailing list how to write a module in say Scheme and use it from say ECMAscript --- or least where start from to do so. All the best, simon ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Configuring Guix with JavaScript? 2020-04-23 17:42 ` zimoun @ 2020-04-23 17:50 ` Christopher Lemmer Webber 0 siblings, 0 replies; 3+ messages in thread From: Christopher Lemmer Webber @ 2020-04-23 17:50 UTC (permalink / raw) To: help-guix; +Cc: Stephen Paul Weber The main challenge in configuring-Guix-with-Javascript probably surrounds usage of macros that are not available in Javascript... I'm not sure how many there are that are a sufficient barrier to use. That and that the Javascript implementation is still a little bit shaky (but could use help). But this is all said without having tried it. I would think that defining packages would not be possible with Javascript, but defining a system definition probably would be. I am not sure. It could be worth exploring, and at minimum would be an interesting result. zimoun writes: > Dear, > > On Wed, 22 Apr 2020 at 03:09, Stephen Paul Weber > <singpolyma@singpolyma.net> wrote: > >> However, Guile can also understand other syntaxes, notably advertising >> ECMAscript (JavaScript) and EMACS Lisp syntax. So my question is: can I >> configure Guix using JavaScript instead of Scheme? If not, is it a >> fundamental limitation or something worth me poking at? If so, has anyone >> tried it? Does anyone have a suggestion where I should start in trying this >> out? > > Interesting idea. :-) > > AFAIK, it is currently not possible. > Recently, experimental JSON support has been added [1]. > > Well, I am not sure that Guile can combine several languages. Other > said, Guile can compile and run Scheme scripts and it can too compile > and run say ECMAscript but I do not know if one could write/define a > module using Scheme and call this very module from ECMAscript; as for > example Python and Hy [2] (lisp) do using the Python AST module. > > And combining is not easy because some "concepts" in one language does > not necessary apply to another language. > It is not because the compiler has several front-ends (for different > languages) and use the same internals [3] that it can mix them; e.g., > GCC: Fortran, C, Ada, etc. and it is not straightforward to combing > them. > Otherwise, life would be too simple. ;-) > > > But I should miss a point... > > > [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40629 > [2] https://docs.hylang.org/en/stable/ > [3] https://www.gnu.org/software/guile/manual/html_node/Compiling-to-the-Virtual-Machine.html > > > > As a starting point, I would ask to Guile's mailing list how to write > a module in say Scheme and use it from say ECMAscript --- or least > where start from to do so. > > > All the best, > simon ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-04-23 17:50 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-04-22 1:04 Configuring Guix with JavaScript? Stephen Paul Weber 2020-04-23 17:42 ` zimoun 2020-04-23 17:50 ` Christopher Lemmer Webber
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).