OCanren

Implementation of miniKanren relational (logic) EDSL
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library OCanren
Module OCanren . Std
module Pair : sig ... end
module Option : sig ... end
module Bool : sig ... end
module Nat : sig ... end
module List : sig ... end
val eqo : 'a OCanren__Logic.ilogic -> 'a OCanren__Logic.ilogic -> Bool.ground OCanren__Logic.ilogic -> goal
val neqo : 'a OCanren__Logic.ilogic -> 'a OCanren__Logic.ilogic -> Bool.ground OCanren__Logic.ilogic -> goal
val nat : int -> Nat.groundi
val (%) : 'a -> 'a List.groundi -> 'a List.groundi
val (%<) : 'a -> 'a -> 'a List.groundi
val (!<) : 'a -> 'a List.groundi
val nil : unit -> 'a List.groundi
val list : ( 'a -> 'b ) -> 'c list -> 'd List.groundi
val nat_list : int list -> Nat.groundi List.groundi
val some : 'a -> 'a Option.groundi
val none : unit -> 'a Option.groundi
val pair : 'a OCanren__Logic.ilogic -> 'b OCanren__Logic.ilogic -> ( 'a OCanren__Logic.ilogic, 'b OCanren__Logic.ilogic ) Pair.groundi
val structural : 'a -> ( 'a -> 'b ) Env.Monad.t -> ( 'b -> bool ) -> OCanren__Core.State.t Stream.t OCanren__Core.goal'
val debug_var : 'a OCanren__Logic.ilogic -> ( 'a OCanren__Logic.ilogic -> Env.t -> 'b ) -> ( 'b list -> OCanren__Core.State.t Stream.t OCanren__Core.goal' ) -> OCanren__Core.State.t Stream.t OCanren__Core.goal'
val only_head : OCanren__Core.State.t Stream.t OCanren__Core.goal' -> OCanren__Core.State.t Stream.t OCanren__Core.goal'