Dear all,
I'm trying to construct a tree (for the Aho-Corasick exact match algorithm) but I can't quite figure out how to do this.
1) Is it possible to declare a recursive type that would allow for a tree having an arbitrarily large number of children per node?
I couldn't figure that one out, so I was thinking I could use a Map collection to represent edges.
2) How do you wrap a Map in an object or record? In my case the edges represent single characters, so I started with
#module CharMap = Map.Make(Char);;
but then the top level was not happy with
#type node = { a: int; b: CharMap.t };;
3) If there are preexisting graphical libraries for ocaml, maybe I should just use those, but after searching a bit I was unable to find any. Does someone know where I could find one?
Thanks,
Justin