module Variance: sig end
Basic operations on variances are provided by the module Variance
.
val leq : Dalton_aux.variance -> Dalton_aux.variance -> bool
leq v1 v2
tests whether the variance v1
is less than or equal to
the variance v2
in the usual order on variance (which is the smallest
order such that Covariant
and Contravariant
are less than Invariant
.
val combine : Dalton_aux.variance -> Dalton_aux.variance -> Dalton_aux.variance
combine v1 v2
calculates the combination of two variances.
val to_string : Dalton_aux.variance -> string
to_string v
gives a string representation of the variance v
.
val fprint : Format.formatter -> Dalton_aux.variance -> unit
fprint ppf v
prints the variance v
on the formatter ppf
,
using one of the three symbols "+", "-" and "=".
val fprint_name : Format.formatter -> Dalton_aux.variance -> unit
fprint_name ppf v
prints the variance v
on the formatter ppf
,
using its litteral name (i.e. "covariant", "contravariant"
or "invariant").