package facile

  1. Overview
  2. Docs
type ('a, 'b) t
type setable
type unsetable
type 'a setable_t = ('a, setable) t
type 'a unsetable_t = ('a, unsetable) t
val create : ?name:string -> 'a -> 'a setable_t
val constant : ?name:string -> 'a -> 'a unsetable_t
val set : 'a setable_t -> 'a -> unit
val get : ('a, 'b) t -> 'a
val id : ('a, 'b) t -> int
val name : ('a, 'b) t -> string
val fprint : out_channel -> ?printer:(out_channel -> 'a -> unit) -> ('a, 'b) t -> unit
val unary : ?name:string -> ('a -> 'b) -> ('a, 'c) t -> 'b unsetable_t
val binary : ?name:string -> ('a -> 'b -> 'c) -> ('a, 'd) t -> ('b, 'e) t -> 'c unsetable_t
val ternary : ?name:string -> ('a -> 'b -> 'c -> 'd) -> ('a, 'e) t -> ('b, 'f) t -> ('c, 'g) t -> 'd unsetable_t
val sum : (int, 'a) t array -> int unsetable_t
val prod : (int, 'a) t array -> int unsetable_t
module Array : sig ... end
module type FD = sig ... end
module Fd : FD with type fd = Var.Fd.t and type elt = Var.Fd.elt
module SetFd : FD with type fd = Var.SetFd.t and type elt = Var.SetFd.elt