5851
|
1 |
consts update :: ('a,'v)trie => 'a list => 'v => ('a,'v)trie
|
|
2 |
|
|
3 |
primrec
|
|
4 |
"update t [] v = Trie (Some v) (alist t)"
|
|
5 |
"update t (a#as) v = (let tt = (case assoc (alist t) a of
|
|
6 |
None => Trie None [] | Some at => at)
|
|
7 |
in Trie (value t) ((a,update tt as v)#alist t))"
|