[e-lang] How to fix the Data-E unserialization order problem
Kevin Reid
kpreid at mac.com
Thu Apr 19 16:18:59 CDT 2007
On Apr 19, 2007, at 2:15, Kevin Reid wrote:
> I'll post a definition of the assembler tomorrow.
Here it is. I haven't tested it out thoroughly, but it works for the
simple out-of-order cases I've tried.
Examples:
? def a := makeAssembler(setDependencyBuilder)
# value: <assembler>
? def [y, s, l, x] := [a(1).next(),
> a(l).asSet(),
> a(__makeList).run(x, y),
> a(0).next()]
> a.finish()
> [y,s,l,x]
# value: [2, [1, 2].asSet(), [1, 2], 1]
? def l := a(["hello world", a(l).readOnly()]).diverge()
> a.finish()
> l
# value: ["hello world", <***CYCLE***>.readOnly()].diverge()
The argument to makeAssembler is asked to determine additional
dependencies based on the [recipient, verb, args] triple; if the
recipient is part of the graph being assembled, the recipient will be
resolved before then, so that decisions can be made based on the
recipient's protocol.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: makeAssembler.emaker
Type: application/octet-stream
Size: 5224 bytes
Desc: not available
Url : http://www.eros-os.org/pipermail/e-lang/attachments/20070419/0113b93e/attachment.obj
-------------- next part --------------
--
Kevin Reid <http://homepage.mac.com/kpreid/>
More information about the e-lang
mailing list