[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
UnaryFns & Tables
- To: <tribble>
- Subject: UnaryFns & Tables
- From: Mark S. Miller <mark>
- Date: Sun, 29 Oct 89 17:09:48 PST
- Cc: <heh>, <xanatech>
- In-reply-to: <Eric>,30 PDT <8910290159.AA22406@xanadu>
Date: Sat, 28 Oct 89 18:59:30 PDT
From: tribble (Eric Dean Tribble)
Good point about the snapshot. Is there a corresponding operation for
Orlgs?
No. The one that immediately came to mind is:
"a->combine (b->notKnownSharedWith (a))" but that confuses domains
with ranges. Now that it is resolved that Orgls are never
multi-valued mappings, I think we should define such an operation.
Perhaps it should replace "combine". You can see why it was avoided
back in the multi-valued mapping days of Orgls. As the Ent
implementor, what do you think of replacing "combine" with this new
operation?
Is there a compelling need for dynamically tracking subTables?
If not, a snapshot semantics is MUCH clearer, and is certainly more
useful to me. It's also easier to code. I vote we use a snapshot
semantics.
The non-snapshot semantics was inspired by the programming language
notion of lexical naming environments as nesting contours. When the
value of a variable in an outer contour changes, this is seen in inner
lexical environments unless hidden by a further-in variable of the
same name. This is far from a compelling reason. (But if you can't
write a Scheme interpreter with it, what good is it (-:? )
Given "asImmutable()" it is easy to express a snapshoting construct
using the non-snapshotting one. But not vice versa. We have here a
more orthogonal separation of concerns: composition vs snapshotting.
The non-snapshotting one is also perfectly easy to code (as
demostrated by the fact that it is already coded very simply).
These are just counter-arguments that come to mind. I actually have
no significant preference. If no one else does, then we have one vote
for snapshotting.
Despite allegations, this is actually our only "academic" argument, as
no one has any use yet for composite tables. Once there's a use, I
suspect it'll be easier to resolve.
The above proposed new Orgl operation doesn't resolve the issue, as
Orgls are side effect free so the question of snapshotting is
irrelevent.