[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: Fri, 27 Oct 89 19:45:24 PDT
- Cc: <heh>, <xanatech>
- In-reply-to: <Eric>,12 PDT <8910260617.AA20728@xanadu>
Date: Wed, 25 Oct 89 23:17:12 PDT
From: tribble (Eric Dean Tribble)
'Occlude' makes me itch. Here's some alternatives: combine, atop,
withAll, addAll, join, joinAll, compose, storeAll. My favorite is to
use the name of the operation for replacing or copying with one extra
key-value pair and adding 'All' to it. That would be 'storeAll',
'introduceAll', or 'replaceAll' for MuTables, and 'withAll' or some
such for ScruTables.
I have no attachment to "occlude", I was just arguing against
"combine". "storeAll" and its ilk implies to me that the argument
Table is being snapshot at the time of the operation, which isn't the
case. Instead, the composite table's state tracks changes to the
state of its component tables. Perhaps this is also a poor choice of
semantics for compositeTables. However, if we keep the current
semantics, then I favor "atop".
Here's a couple: 'Do I care about the count of the domain?' If so,
then a table is appropriate. 'Is it a map from Positions to Objects or
from Objects to Objects?' Remember that Tables only map from
Positions in a given CoordinateSpace (this is where CST come up
below).
Here's a major difference that probably cannot be formalized: Tables
map from particular positions (a particular set of keys) into some
fixed set of objects. UnaryFns map from an infinite set of objects
that have some property into an infinite range of objects related to
the domain objects.
Finally, it's easy to describe the relation between UnaryFns and
BinaryFns. What's the relation between BinaryFns and Tables?
I'm convinced. We should keep UnaryFns and Tables separate, but have
some kind of conversion ability between the two (at least a UnaryFn
that wraps a Table, probably not the reverse). Heh, what do you
think?