| Value | Description |
val fAny : ('a,'a) family |
The universal family for a type
|
val fMap : ('a -> 'b) * ('b -> 'a) -> ('a,'c) family -> ('b,'c) family |
Add an additional projection to an existing family
|
val fMem : ('a,'b) family -> 'b -> bool |
Test for membership of the family
|
val fOneOrMoreLLinear : ('a,'b) familyLLinear -> ('a list,'b) familyLLinear |
A family corresponding to one or more repetitions of the given
linear family.
|
val fOneOrMoreRLinear : ('a,'b) familyRLinear -> ('a list,'b) familyRLinear |
A family corresponding to one or more repetitions of the given
linear family.
|
val fOrElse : ('a,'b) family -> ('a,'b) family -> ('a,'b) family |
Take the union of two families. Construction will attempt to construct a value in the first
family - if an exception is raised then the second family is used.
|
val fRefine : ('a,'c) family -> ('b,'a) family -> ('b,'c) family |
Refine a family by another family. A query will query the first family, and if that
succeeds, query the second family. A construction will first make an element
using the second family, and then use the result to make an element of the first family.
|
val fRefineLeft :
('a2,'a1) family -> (('a1 * 'b),'c) family -> (('a2 * 'b),'c) family |
Refine the left of a binary expression family
|
val fRefineRight :
(('a * 'b1),'c) family -> ('b2,'b1) family -> (('a * 'b2),'c) family |
Refine the right of a binary family
|
val fSingleton : ('a,'b) family -> ('a -> 'a -> bool) -> 'a -> (unit,'b) family |
Convert a family into a family corresponding to a singleton element according to
the given equality function.
|
val fSubset : ('a,'b) family -> ('a -> bool) -> ('a,'b) family |
Take a subset of an existing family according to the given filter.
|
val fZeroOrMoreLLinear : ('a,'b) familyLLinear -> ('a list,'b) familyLLinear |
A family corresponding to repetitions of the given
linear family.
|
val fZeroOrMoreRLinear : ('a,'b) familyRLinear -> ('a list,'b) familyRLinear |
A family corresponding to repetitions of the given
linear family.
|