unconditional-jump-1.0.0: Unconditional jumps
Safe HaskellSafe-Inferred
LanguageGHC2021

UnconditionalJump

Synopsis

Labels

data Label a Source #

Instances

Instances details
Contravariant Label Source # 
Instance details

Defined in UnconditionalJump

Methods

contramap :: (a' -> a) -> Label a -> Label a' #

(>$) :: b -> Label b -> Label a #

label :: (Label a -> IO a) -> IO a Source #

Create a label.

goto :: Label a -> a -> IO notreached Source #

Go to a label.

Derived label variants

labelWith :: (a -> c) -> (b -> c) -> (Label a -> IO b) -> IO c Source #

labelWith f g h = label (fmap g . h . contramap f)

labelE :: (Label a -> IO b) -> IO (Either a b) Source #

labelE = labelWith Left Right