[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
CoordinateSpace
- To: <heh>
- Subject: CoordinateSpace
- From: Mark S. Miller <mark>
- Date: Mon, 23 Oct 89 12:36:48 PDT
- Cc: <eric>, <markm>, <xtech>
- In-reply-to: <Hugh>,11 PDT <8910221844.AA20486@xanadu>
Date: Sun, 22 Oct 89 11:44:11 PDT
From: heh (Hugh Hoover)
Since tables have a coordinate space, shouldn't coordinate spaces be moved
from febe to xpp?
Unfortunately, yes. Oh well. I suppose this means that MetaVariable
will end up moving to xpp too.
Also, I'm building the initial tables with only 2 kinds of cs, integer
and heaperAsPosition.
I would think that the descendant of MTable (MapTable?) could be
parameterized with a coordinate space, as it's internal implementation
is just a generic hash table. In any case, the above two should be
good enough to start with.
implication of coordinate space in tables: a composite table can have only
one coordinate space - which is enforced during construction. Seems
reasonable, I don't know what I'd do with a mixed one...
Correct. It should cause a BLAST to try to compose two incompatable
tables, where incompatable means that they have incompatable
coordinate spaces.
A thought.. If you had a table with a set-ordered cs, wouldn't that
replace sets (or setbangs, depending on table)? Main difference is
a streamlined protocol for sets. Of course, the sematics are a bit different
for iterator(), count()... since they work on the contents of a position
rather than the positions. So, having sets as a subclass of seftable isn't
quite useful.
Interesting. I now think it makes more sense for Sets and SetBangs to
be their own types, so they can have a Set oriented protocol, but have
a SetBang implementation that wraps a MuTable, a SetView
implementation that wraps a ScruTable, and a Set that wraps an
ImmuTable. The type hierarchy for these kinds of sets should probably
parallel the hierarchy you've come up with for tables (which I really
like). How about MuSet, ImmuSet, and ScruSet? (Yes, I'm serious)