[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