[e-lang] Some questions

Kevin Reid kpreid at attglobal.net
Mon Dec 18 09:54:08 CST 2006


Mark Miller <erights at gmail.com> wrote:

> All examples shown here are known to be valid only for E-on-Java.
> Kevin, please comment on any differences from E-on-CommonLisp. Thanks.

First difference: Common Lisp does not have FunkyCapitalization.

 :-)

> On 12/18/06, Martin Scheffler <wooyay at web.de> wrote:
> > 1. Is there example code on how to spawn a new vat? (There seems to be
> > some example code under com.skyhunter.e.lang, but it appears to be
> > stale)
> 
>     ? def makeVat := <unsafe:org.erights.e.elib.vat.makeVat>
>     # value: <makeVat>
...

E-on-CL does not implement multiple vats yet, though it does have
EProxyResolver so you can theoretically build your own comm system.

> The fact that the above calls show the results already resolved is due
> to a (mostly harmless) race condition bug in the boot-comm system.

This bug breaks determinism.

> > 2. Can I later kill that vat from outside?
> 
> 
>     ? def ack := vat <- orderlyShutdown("because I said so")
>     # value: <Promise>
...

When E-on-CL has multiple vats, it will have the same or a similar
interface for shutdowns. If I go with a multiple-process implementation,
it will also support disorderly shutdowns.

> > 3. What is "DeepFrozen" ?
> 
> A guard and auditor for ensuring that a value is transitively
> immutable. As a guard, it works in both E-on-Java and E-on-CommonLisp.
> As an auditor, it is currently only working in E-on-CommonLisp.

The requirements for passing E-on-CL's DeepFrozen will probably change
in the future as we settle on a good auditing interface.

> > 4. Is there a description of the caplet interface?
...
> > 5. Where can I find the "CapLauncher" as described in
> > http://www.eros-os.org/pipermail/e-lang/2006-August/011467.html?

E-on-CL as yet has no GUI interfaces, so caplets won't run in it.

-- 
Kevin Reid                            <http://homepage.mac.com/kpreid/>


More information about the e-lang mailing list