{-# OPTIONS_HADDOCK not-home #-} module Control.Effect.Type.Alt where import Data.Kind (Type) -- | An effect corresponding to the -- 'Control.Applicative.Alternative' type class. -- -- 'Control.Effect.Effly''s 'Control.Applicative.Alternative' instance -- is based on this effect; by having access to 'Alt', you're able to use -- 'Control.Applicative.<|>' and 'Control.Applicative.empty' inside of effect -- handlers. -- -- Each 'Alt' interpreter's associated carrier -- has an 'Control.Applicative.Alternative' instance based on -- how it interprets 'Alt'. This means you can use -- an 'Alt' interpreter to locally gain access to an 'Control.Applicative.Alternative' -- instance inside of application code. data Alt (m :: Type -> Type) a where Empty :: Alt m a Alt :: m a -> m a -> Alt m a