Alex Kost <alez...@gmail.com> skribis:

> Ludovic Courtès (2016-07-23 14:07 +0300) wrote:
>
>> Alex Kost <alez...@gmail.com> skribis:
>>
>>> * gnu/packages/guile.scm (guile-daemon): New variable.
>>
>> OK!
>>
>>> +    (home-page "https://github.com/alezost/guile-daemon";)
>>> +    (synopsis "Evaluate code in a running Guile process")
>>> +    (description
>>> +     "Guile-Daemon is a small Guile program that loads your initial
>>> +configuration file, and then reads and evaluates Guile expressions that
>>> +you send to a FIFO file.")
>>
>> This looks a lot like ‘guile --listen’, except without the REPL prompt
>> and stuff, right?
>
> Sorry, I don't understand what «without the REPL prompt and stuff» means :-)

‘guile --listen’ gives you a REPL prompt, which is nice for interactive
stuff, but less nice for scripting.

> I wrote Guile-Daemon because I needed a general-purpose guile process
> running all the time to which I can send expressions for evaluating.
>
> So I run 'guile-daemon', and then I can do something like this:
>
>   echo '(something #:useful? #t)' > /path/to/daemon-fifo-file
>
> Actually there is 'gdpipe' shell script that does this redirection:
>
>   gdpipe '(something #:useful? #t)'
>
> As for 'guile --listen', yes, Guile-Daemon also starts a socket to which
> you can connect with "M-x geiser-connect-local" or alike.

Understood, it does sound useful.

> If anyone is interested, I use it as an OSD daemon, particularly to set
> sound volume/muteness and to display it using Guile-XOSD.  Here is a
> small demo:
>
> https://raw.github.com/alezost/guile-daemon-config/master/sound-volume-demo.gif

Pretty neat!

Thanks,
Ludo’.

Reply via email to