From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Lemmer Webber Subject: Re: Configuring Guix with JavaScript? Date: Thu, 23 Apr 2020 13:50:31 -0400 Message-ID: <87a732drbs.fsf@dustycloud.org> References: <20200422010422.GA7603@singpolyma-beefy> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:53370) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jRfzf-0001Lb-5e for help-guix@gnu.org; Thu, 23 Apr 2020 13:50:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jRfze-0000Si-GA for help-guix@gnu.org; Thu, 23 Apr 2020 13:50:34 -0400 Received: from dustycloud.org ([50.116.34.160]:38998) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jRfzd-0000RW-UX for help-guix@gnu.org; Thu, 23 Apr 2020 13:50:34 -0400 In-reply-to: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane-mx.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org 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 > 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