-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
data structures.txt
25 lines (16 loc) · 978 Bytes
/
data structures.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
= Implementation notes on the kell calculus
== Data structures
In a kell, we need to quickly get
1) the list of patterns containing a particular message name
2) the list of messages
Therefore, each kell should have a hash-table of message-names, with possibly multiple
values for each key (and it should be a weak hash-table, maybe – or do we explicitly
remove values?)
There should also be a hash-table with all patterns indexed by each message name they
contain, and perhaps also split by message type – local, up, down, and kell.
I don't think there's any way to have multi-vauled hash-tables (IE, hash-tables with a
list as the value) be weak. We'll have to manually manage the entries.
== distribution
There needs to be a subclass of KELL called NETWORK-KELL or something. An instance of
this is the parent kell of the *TOP-KELL*. The NETWORK-KELL knows how do deal with the
distributed processing of things – matching patterns across multiple machines, etc.