Data.Unamb

Purely functional unambiguous choice

unamb

unamb'

Some useful special applications of unamb

unambs

assuming

asAgree

parCommute

parCommuteShortCircuit

parAnnihilator

parIdentity

parAnnihilatorIdentity

por

pand

pmin

pmax

pmult

Some related imperative tools

amb

amb'

race

Exception thrown if neither value evaluates

data BothBottom