lilypond-user
[Top][All Lists]
Advanced

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

Re: Guile REPL Server


From: Jonas Hahnfeld
Subject: Re: Guile REPL Server
Date: Thu, 19 May 2022 09:36:34 +0200
User-agent: Evolution 3.44.1

On Tue, 2022-05-17 at 23:28 +0200, David Kastrup wrote:
> Jonas Hahnfeld via LilyPond user discussion <lilypond-user@gnu.org>
> writes:
> 
> > On Tue, 2022-05-17 at 09:57 +0200, Jean Abou Samra wrote:
> > > Le 17/05/2022 à 00:29, Hendursaga a écrit :
> > > > I'm trying to start a REPL server[1] inside LilyPond's Guile
> > > interpreter, but I can't get it to even load readline support.
> > > 
> > > Readline support is an optional feature in Guile. It looks like
> > > out new infrastructure for building binaries compiles Guile without
> > > it. We may or may not want to do it (Readline is an extra dependency);
> > > CCing Jonas on this matter.
> > 
> > Right, this is intentional. I don't find it convincing that the
> > official binaries should be bigger for everybody to enable an optional
> > feature (readline support) in a dependency (Guile) that only a very
> > tiny fraction might ever try to use...
> 
> Personally, I'd rather have it.  The tiny fraction that will want
> readline support will want it for running scheme-sandbox or other forms
> of REPL.  It greatly increases the friendliness of playing around with
> Scheme stuff in the manner the manual suggests, and the people playing
> around with Scheme stuff are the most likely candidates for becoming
> future contributors.

As I just replied in my other message, the REPL itself works fine.

> We don't make the "Extending LilyPond" guide optional for a reason, and
> it starts off right away with
> 
>     1.1.1 Scheme sandbox
>     --------------------
> 
>     The LilyPond installation includes the Guile implementation of Scheme.
>     On most systems you can experiment in a Scheme sandbox by opening a
>     terminal window and typing ‘guile’.  On some systems, notably Windows,
>     you may need to set the environment variable ‘GUILE_LOAD_PATH’ to the
>     directory ‘../usr/share/guile/1.8’ in the LilyPond installation.  For
>     the full path to this directory see *note (lilypond-learning)Other
>     sources of information::.  Alternatively, Windows users may simply
>     choose ‘Run’ from the Start menu and enter ‘guile’.

This paragraph is outdated and I'm working towards not shipping the
separate guile executable with the official binaries. I'll update the
documentation afterwards to mention that it can be installed on many
Linux systems, but is / will not be included in the binaries.


>        However, a hands-on Scheme sandbox with all of LilyPond loaded is
>     available with this command line:
>          lilypond scheme-sandbox
> 
>     Once the sandbox is running, you will receive a guile prompt:
> 
>          guile>
> 
>        You can enter Scheme expressions at this prompt to experiment with
>     Scheme.

Up to here, this works fine (even if the prompt looks a bit different
now).

>     If you want to be able to use the GNU readline library for
>     nicer editing of the Scheme command line, check the file
>     ‘ly/scheme-sandbox.ly’ for more information.  If you already have
>     enabled the readline library for your interactive Guile sessions outside
>     of LilyPond, this should work in the sandbox as well.

What does "nicer editing" mean here? If that is an optional feature to
an already optional REPL, I'm even more inclined to not include it.

Jonas

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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