Vat
From Erights
(Difference between revisions)
m (→Example: How to create a new Vat) |
(revert vandalism) |
||
| (4 intermediate revisions not shown) | |||
| Line 4: | Line 4: | ||
==Example: How to create a new Vat== | ==Example: How to create a new Vat== | ||
<pre> | <pre> | ||
| - | introducer.onTheAir() | + | ? introducer.onTheAir() |
# value: ["3DES_SDH_M2", "3DES_SDH_M"] | # value: ["3DES_SDH_M2", "3DES_SDH_M"] | ||
| - | ? def | + | ? def seedVat := <elang:interp.seedVatAuthor>(<unsafe>).virtualize(introducer) |
# value: <virtualSeedVat> | # value: <virtualSeedVat> | ||
| - | ? def | + | ? def source := "def run(thing) {println(`Thing: $thing`)}" |
# value: "def run(thing) {println(`Thing: $thing`)}" | # value: "def run(thing) {println(`Thing: $thing`)}" | ||
| - | ? def [ | + | ? def [farObj, vat] := seedVat(source) |
# value: [<Promise>, <Vat newVirtualSeedVat in <runs in newVirtualSeedVat>>] | # value: [<Promise>, <Vat newVirtualSeedVat in <runs in newVirtualSeedVat>>] | ||
| - | ? | + | ? farObj <- ("Hello Vat") |
| - | # value: < | + | # value: <Promise> |
? Thing: Hello Vat | ? Thing: Hello Vat | ||
| Line 26: | Line 26: | ||
</pre> | </pre> | ||
| + | |||
| + | [[Category:ELib specification]] | ||
Latest revision as of 18:58, 20 April 2011
See [1].
Example: How to create a new Vat
? introducer.onTheAir()
# value: ["3DES_SDH_M2", "3DES_SDH_M"]
? def seedVat := <elang:interp.seedVatAuthor>(<unsafe>).virtualize(introducer)
# value: <virtualSeedVat>
? def source := "def run(thing) {println(`Thing: $thing`)}"
# value: "def run(thing) {println(`Thing: $thing`)}"
? def [farObj, vat] := seedVat(source)
# value: [<Promise>, <Vat newVirtualSeedVat in <runs in newVirtualSeedVat>>]
? farObj <- ("Hello Vat")
# value: <Promise>
? Thing: Hello Vat
# shutting down the vat
? def ack := vat <- orderlyShutdown("because I said so")
# value: <Promise>

