Make.Databasetype pattern = constant option listA pattern on tuples.
type t = Atom.predicate_symbol -> pattern -> Tuple.t Lwt_stream.tType of database.
The database is a function that returns a stream of tuples for a given predicate symbol predicate and pattern pattern.
For elements of pattern that are Some v the corresponding element (at same position) of all tuples must be equal to v.
Tuples must all have the same arity as pattern.
val empty : tempty is a database that does not contain any tuples. This may be useful when evaluating a Datalog program without any external database.
select pattern tuples returns a stream of tuples from tuples that match with pattern.
This is useful if the database you are using does not provide an internal mechanism for selecting tuples. Note that for performance reasons you should always prefer using the database internal mechanism for selecting tuples when available.