equal
deleted
inserted
replaced
8 signature ITEM_NET = |
8 signature ITEM_NET = |
9 sig |
9 sig |
10 type 'a T |
10 type 'a T |
11 val init: ('a * 'a -> bool) -> ('a -> term list) -> 'a T |
11 val init: ('a * 'a -> bool) -> ('a -> term list) -> 'a T |
12 val content: 'a T -> 'a list |
12 val content: 'a T -> 'a list |
|
13 val length: 'a T -> int |
13 val retrieve: 'a T -> term -> 'a list |
14 val retrieve: 'a T -> term -> 'a list |
14 val member: 'a T -> 'a -> bool |
15 val member: 'a T -> 'a -> bool |
15 val merge: 'a T * 'a T -> 'a T |
16 val merge: 'a T * 'a T -> 'a T |
16 val remove: 'a -> 'a T -> 'a T |
17 val remove: 'a -> 'a T -> 'a T |
17 val update: 'a -> 'a T -> 'a T |
18 val update: 'a -> 'a T -> 'a T |
34 Items {eq = eq, index = index, content = content, next = next, net = net}; |
35 Items {eq = eq, index = index, content = content, next = next, net = net}; |
35 |
36 |
36 fun init eq index = mk_items eq index [] ~1 Net.empty; |
37 fun init eq index = mk_items eq index [] ~1 Net.empty; |
37 |
38 |
38 fun content (Items {content, ...}) = content; |
39 fun content (Items {content, ...}) = content; |
|
40 fun length items = List.length (content items); |
39 fun retrieve (Items {net, ...}) = order_list o Net.unify_term net; |
41 fun retrieve (Items {net, ...}) = order_list o Net.unify_term net; |
40 |
42 |
41 |
43 |
42 (* standard operations *) |
44 (* standard operations *) |
43 |
45 |