Gist.Func
Operating on functions.
type 'a gist := 'a t
type ('a, 'b) t = ('a, 'b) func
The type for representing functions from type 'a to 'b.
'a
'b
val make : ?meta:('a -> 'b) Meta.t -> 'a gist -> 'b gist -> ('a, 'b) func
make d r is a function with domain represented by d and range represented by r.
make d r
d
r
val meta : ('a, 'b) func -> ('a -> 'b) Meta.t
meta f is the metadata of f.
meta f
f
val domain : ('a, 'b) func -> 'a gist
domain f is representation of the domain of f.
domain f
val range : ('a, 'b) func -> 'b gist
range f is representation of the range of f.
range f
val with_meta : ('a -> 'b) Meta.t -> ('a, 'b) func -> ('a, 'b) func
with_meta meta f is f with meta meta.
with_meta meta f
meta