gnu-arch-users
[Top][All Lists]
Advanced

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

Re: [Gnu-arch-users] Re: arch roadmap 1 (and "what's tom up to")


From: Jeremy Shaw
Subject: Re: [Gnu-arch-users] Re: arch roadmap 1 (and "what's tom up to")
Date: Tue, 06 Jul 2004 14:27:02 -0700
User-agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.6 (Maruoka) FLIM/1.14.4 (Kashiharajingū-mae) APEL/10.6 Emacs/21.3 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI)

At Tue, 06 Jul 2004 21:13:08 +0100,
Daniel James wrote:
> 
> Colin Walters wrote:
> 
> >>It seems that some scripting is required, so what you're suggesting will 
> >>lead to other languages becoming a defacto part of the protocol.
> > 
> > 
> > No, not at all.  The project-specific hooks will add optional
> > *convenience* functions.  Like "tla submit".  If you don't want to use
> > the provided hook (e.g. echo blah | mail address@hidden), then
> > you do it manually or write your own version for that project.
> 
> Okay. It seems to me that scripting should be more intrinsic that that, 
> but I'll leave that point to people more involved enough in arch. I just 
> wanted to discuss why, for me, an embedded language would be better than 
> exec.

Well, as it stands now, if you want to get information back from tla
other than the return code, (e.g. the output of 'tla logs -sfD'), you
must parse stdout/stderr. This is not a very good long-term
strategy. Think about what will happen when tla becomes
internationalized...

For large extensions (e.g. writing a GUI version of arch, you likely
want a 'libarch' that has bindings to your favorite language. Tom
mentioned that the VM development will likely drive the "librifying"
of libarch -- so even if you don't use the VM, you will still benefit
if you want your favorite language to have a good libarch binding.

Also, a built in extension language, might make for a conveniant way
to add safe, project-specific scripts.

Note, this next section is pure conjecture, and has not actually been
proposed by Tom, it is just an example of something that *could* be
done.

==> crazy example <==

Maybe when people check out my project, I want to print out a little
banner explaining how to get started, where to report bugs, etc

So, how do I do this? Clearly, you don't want to check out my project
and have it try to invoke haskell to run some script automatically:

(1) You probably don't have a haskell interpreter installed
(2) You probably don't trust me to run abitrary code on your system

But, if tla has a built-in VM, with a reasonable security module, both
problems are solved:

(1) I can distribute the script as a pre-compiled byte-code, so even
    if you don't have a haskell->furth compiler, you can still run the
    script.

(2) You can rest assured that my script isn't doing anything malicious
    (by only allowing by untrusted scripts to execute safe commands in
    a sandbox).

Jeremy Shaw.




reply via email to

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