package lazy-trie
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=c1dd53dffc0b9df94061493635e1943f9b32e26505ca331b0d0405efe5555c37
md5=480a4a13701392bd93bbd649afd7b9bb
doc/lazy-trie/Lazy_trie/index.html
Module Lazy_trie
Source
Lazy tries based on lists
Type of tries mapping from 'a list
to 'b
include Sexplib0.Sexpable.S2 with type ('a, 'b) t := ('a, 'b) t
val t_of_sexp :
(Sexplib0.Sexp.t -> 'a) ->
(Sexplib0.Sexp.t -> 'b) ->
Sexplib0.Sexp.t ->
('a, 'b) t
val sexp_of_t :
('a -> Sexplib0.Sexp.t) ->
('b -> Sexplib0.Sexp.t) ->
('a, 'b) t ->
Sexplib0.Sexp.t
Create a new trie with the given components
Returns true if there is a value associated with the given path
Associates a value with the given path, or replaces if there was already one
The same but taking a lazy value
Removes an association from the trie. Warning: doesn't cleanup branches that don't point to anything anymore
map_subtree tree path f
applies f
on value and children of the node found at path
in tree
, and bind the returned node back at that position in the tree
iters over all the bindings in the trie, top-down
folds over all bindings of the trie, bottom-up
Maps and filters over all values in the trie, removing the value if None
is returned
sub t p
returns the sub-trie associated with the path p
in the trie t
. If p
is not a valid path of t
, it returns an empty trie.
filter f t
returns t with all subtrees for which f key = false
pruned
graft tree path node
grafts node
in tree
at path