Hi!

Kevin J. Fletcher <d...@kjfletch.co.uk> skribis:

>   THREAD1            THREAD2
>  ---------           -------
> | GTK     |   pty   | guile |
> |     VTE |<------->| shell |
> |  -----  |          -------
> | guile   |
> |  scripts|
>  ---------
>
> 0) Is there anything wrong with this architecture?

Sounds good at first sight.  In fact, you could look at (system repl
server), which implements something like that.  That’s what the
‘--listen’ command-line option uses.

> 1) scm_shell allows the `,q' command (and probably some other exit
> routes) which kills the whole application. Is there a way to present a
> shell (or similar subset) without the ability to exit?

Actually, ‘,q’ does ‘exit’, which just throws an exception, so it’s
harmless (you can check it with ‘--listen’: typing ,q in the REPL over
telnet doesn’t terminate the process, it just terminates the REPL
server.)

But then of course, if the user calls ‘primitive-exit’ or similar, the
whole process terminates.  You could rebind ‘primitive-exit’ to
something harmless, but I’m not convince that protecting users against
themselves makes sense.

> 2) Thinking of portability, is guile running on Windows (without
> cygwin), to justify the claim of 'ubiquitous'?

It’s supposed to build and run with MinGW, though it’s definitely not
widely tested.

Thanks,
Ludo’.


Reply via email to