package OCanren

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val succ : (unit -> (('a -> 'b) -> 'c) * ('d -> 'e -> 'f)) -> unit -> (((('g, 'h) OCanren__.Logic.injected * 'a) -> 'b) -> ('g, 'h) OCanren__.Logic.injected -> 'c) * (('i -> 'd) -> ('i * 'e) -> 'f)
val one : unit -> ((('a, 'b) OCanren__.Logic.injected -> 'c) -> ('a, 'b) OCanren__.Logic.injected -> 'c) * (('d -> 'e) -> 'd -> 'e)
val two : unit -> (((('a, 'b) OCanren__.Logic.injected * ('c, 'd) OCanren__.Logic.injected) -> 'e) -> ('a, 'b) OCanren__.Logic.injected -> ('c, 'd) OCanren__.Logic.injected -> 'e) * (('f -> 'g -> 'h) -> ('f * 'g) -> 'h)
val three : unit -> (((('a, 'b) OCanren__.Logic.injected * (('c, 'd) OCanren__.Logic.injected * ('e, 'f) OCanren__.Logic.injected)) -> 'g) -> ('a, 'b) OCanren__.Logic.injected -> ('c, 'd) OCanren__.Logic.injected -> ('e, 'f) OCanren__.Logic.injected -> 'g) * (('h -> 'i -> 'j -> 'k) -> ('h * ('i * 'j)) -> 'k)
val four : unit -> (((('a, 'b) OCanren__.Logic.injected * (('c, 'd) OCanren__.Logic.injected * (('e, 'f) OCanren__.Logic.injected * ('g, 'h) OCanren__.Logic.injected))) -> 'i) -> ('a, 'b) OCanren__.Logic.injected -> ('c, 'd) OCanren__.Logic.injected -> ('e, 'f) OCanren__.Logic.injected -> ('g, 'h) OCanren__.Logic.injected -> 'i) * (('j -> 'k -> 'l -> 'm -> 'n) -> ('j * ('k * ('l * 'm))) -> 'n)
val five : unit -> (((('a, 'b) OCanren__.Logic.injected * (('c, 'd) OCanren__.Logic.injected * (('e, 'f) OCanren__.Logic.injected * (('g, 'h) OCanren__.Logic.injected * ('i, 'j) OCanren__.Logic.injected)))) -> 'k) -> ('a, 'b) OCanren__.Logic.injected -> ('c, 'd) OCanren__.Logic.injected -> ('e, 'f) OCanren__.Logic.injected -> ('g, 'h) OCanren__.Logic.injected -> ('i, 'j) OCanren__.Logic.injected -> 'k) * (('l -> 'm -> 'n -> 'o -> 'p -> 'q) -> ('l * ('m * ('n * ('o * 'p)))) -> 'q)
val tabled : (unit -> (('a -> OCanren__.Core.State.t Stream.t OCanren__.Core.goal') -> 'b) * ('c -> 'a -> OCanren__.Core.State.t Stream.t OCanren__.Core.goal')) -> 'c -> 'b
val tabledrec : (unit -> (('a -> OCanren__.Core.State.t Stream.t OCanren__.Core.goal') -> 'b -> 'c) * ('d -> 'a -> OCanren__.Core.State.t Stream.t OCanren__.Core.goal')) -> (('b -> 'c) -> 'd) -> 'b -> 'c