On Apr 15, 2014 9:50 AM, "Thomas Gazagnaire" <thomas@gazagnaire.org> wrote:
>
> > type node = {value: string; children: node list option}
> > module type Context = begin
> >   type t
> >   val apply: t -> node -> t
> >   val get: t -> string -> string option
> >   val set: t -> string -> string -> t
> >   val fitness -> int
> >   val empty -> t
> > end
>
> What's the link between nodes and elements of your store ?

The only link between the two is the existence of the parametric "apply" function.

For all intent and purposes, you can think of the nodes as functions operating on elements of type "register".*

--
Arthur

* in reality it's a little more complicated as the apply function can return a register with a different apply function, but for our purpose it's irrelevant

>
> --
> Thomas