unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Volkan YAZICI <yazicivo@ttnet.net.tr>
Cc: guile-user@gnu.org
Subject: Re: Guile Interpreter as a Standalone Server
Date: Sat, 14 Oct 2006 23:27:35 +0300	[thread overview]
Message-ID: <20061014202735.GA1317@alamut> (raw)
In-Reply-To: <87zmc0760m.fsf@laas.fr>

Hi,

On Oct 13 02:30, Ludovic Courtès wrote:
> Looks like nobody answered you, so here we go.

Thanks so much for your detailed post. I solved (a small part of) my
problem by invoking scm_init_guile() just at the start of the backend
process. (But caching parse plans is still a PITA for now.) OTOH, in
this design I've some other problems about restoring global values after
execution code supplied by the user. (I'll talk about this later in
another thread.)

> Neil's new debugging framework (`guile-debugging', available in CVS HEAD
> or on gna.org [0]) has support to send code for execution to a remote
> Guile process so that might be useful to you.
> 
> However, as far as improving efficiency is concerned, I do not think
> that running a single process is the right approach.  Profiling and then
> improving Guile's startup may be a smarter approach.  ;-)
> 
> As for sharing information among processes: One could argue that the
> notion of a process (and address space) is only vital for
> non-memory-safe languages (such as C), and that memory-safe languages
> (such as Scheme and Java) do not need such a mechanism because they
> already provide other mechanisms to achieve memory safety (closures,
> module systems, etc. --- see [1] on that topic).
> 
> Thus, providing mechanisms to share information among "processes" (or
> "modules", or "programs") would more likely be the job of a "shell",
> i.e., some sort of an enhanced REPL that has all the authority of the
> user behind the keyboard (i.e., it can access all the data, programs and
> resources the user has access to).  GUSH (``GNU User's Shell'') was more
> or less an attempt to provide such a shell based on Guile, and indeed,
> it would have been able to execute any Guile program _within_ the GUSH
> process.  SCSH [2] is similar to that, and there's also a Guile port [3]
> (not sure whether this is the last version).
> 
> Hope this helps,
> Ludovic.
> 
> [0] https://gna.org/projects/guile-debugging
> [1] Jonathan Rees, "A Security Kernel Based on the Lambda-Calculus",
>     http://mumble.net/~jar/pubs/secureos/ --- a enlightening paper.
> [2] http://scsh.net/
> [3] http://arglist.com/guile/


Thanks again,
Regards.


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


  reply	other threads:[~2006-10-14 20:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-05 18:00 Guile Interpreter as a Standalone Server Volkan YAZICI
2006-10-13 12:30 ` Ludovic Courtès
2006-10-14 20:27   ` Volkan YAZICI [this message]
2006-10-20 20:45 ` Neil Jerram
2006-10-20 21:26   ` Volkan YAZICI

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061014202735.GA1317@alamut \
    --to=yazicivo@ttnet.net.tr \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).