lazy-async-1.0.0.0: src/LazyAsync/Orphans.hs
{-# language Safe #-}
{-# options_ghc -Wno-orphans #-}
module LazyAsync.Orphans where
import LazyAsync.Actions
import LazyAsync.Prelude
import LazyAsync.Types
-- | π '<*>' is equivalent to 'LazyAsync.apply'
instance Applicative LazyAsync where
pure = pureLazyAsync
(<*>) = apply
-- | π '<|>' is equivalent to 'LazyAsync.choose'
instance Alternative LazyAsync where
empty = emptyLazyAsync
(<|>) = choose
-- | π '<*>' is equivalent to 'applyStatus'
instance Applicative Status where
pure = pureStatus
(<*>) = applyStatus
-- | π '<|>' is equivalent to 'chooseStatus'
instance Alternative Status where
empty = emptyStatus
(<|>) = chooseStatus
-- | π '<*>' is equivalent to 'applyOutcome'
instance Applicative Outcome where
pure = pureOutcome
(<*>) = applyOutcome
-- | π '<|>' is equivalent to 'chooseOutcome'
instance Alternative Outcome where
empty = emptyOutcome
(<|>) = chooseOutcome