Decidable.Viamodule Core : Preface_specs.Decidable.COREmodule Operation : Preface_specs.Decidable.OPERATION with type 'a t = 'a Core.tmodule Infix : Preface_specs.Decidable.INFIX with type 'a t = 'a Operation.ttype 'a t = 'a Infix.tType
The type held by the Decidable.
include Preface_specs.Decidable.WITH_LOSE_AND_CHOOSE with type 'a t := 'a tval lose : ('a -> Preface_core.Void.t) -> 'a tSince Void.t is identity for Either.t, lose act as an identity for Decidable.
val choose :
('a -> ('b, 'c) Preface_core.Shims.Either.t) ->
'b t ->
'c t ->
'a tchoose f x y says that if f can handle either x or y it can handle the result of the function.
include Preface_specs.Divisible.WITH_CONTRAMAP_AND_DIVIDE_AND_CONQUER
with type 'a t := 'a tinclude Preface_specs.Contravariant.WITH_CONTRAMAP with type 'a t := 'a tval lost : Preface_core.Void.t tlose acting on identity.
val chosen : 'a t -> 'b t -> ('a, 'b) Preface_core.Shims.Either.t tchoose acting on identity.
module Infix : Preface_specs.Decidable.INFIX with type 'a t = 'a tval (>|<) : 'a t -> 'b t -> ('a, 'b) Preface_core.Shims.Either.t tInfix version of chosen.
val (^|^) : 'a t -> 'b t -> ('a, 'b) Preface_core.Shims.Either.t tRight-associative version of >|<.
include Preface_specs.Divisible.INFIX with type 'a t := 'a tinclude Preface_specs.Contravariant.INFIX with type 'a t := 'a t