raw-feldspar-0.3: Resource-Aware Feldspar

Safe HaskellNone
LanguageHaskell2010

Feldspar

Contents

Synopsis

Documentation

guard :: Alternative f => Bool -> f () #

Conditional failure of Alternative computations. Defined by

guard True  = pure ()
guard False = empty

Examples

Expand

Common uses of guard include conditionally signaling an error in an error monad and conditionally rejecting the current choice in an Alternative-based parser.

As an example of signaling an error in the error monad Maybe, consider a safe division function safeDiv x y that returns Nothing when the denominator y is zero and Just (x `div` y) otherwise. For example:

>>> safeDiv 4 0
Nothing
>>> safeDiv 4 2
Just 2

A definition of safeDiv using guards, but not guard:

safeDiv :: Int -> Int -> Maybe Int
safeDiv x y | y /= 0    = Just (x `div` y)
            | otherwise = Nothing

A definition of safeDiv using guard and Monad do-notation:

safeDiv :: Int -> Int -> Maybe Int
safeDiv x y = do
  guard (y /= 0)
  return (x `div` y)

join :: Monad m => m (m a) -> m a #

The join function is the conventional monad join operator. It is used to remove one level of monadic structure, projecting its bound argument into the outer level.

Examples

Expand

A common use of join is to run an IO computation returned from an STM transaction, since STM transactions can't perform IO directly. Recall that

atomically :: STM a -> IO a

is used to run STM transactions atomically. So, by specializing the types of atomically and join to

atomically :: STM (IO b) -> IO (IO b)
join       :: IO (IO b)  -> IO b

we can compose them as

join . atomically :: STM (IO b) -> IO b

to run an STM transaction and the IO action it returns.

class Applicative m => Monad (m :: Type -> Type) where #

The Monad class defines the basic operations over a monad, a concept from a branch of mathematics known as category theory. From the perspective of a Haskell programmer, however, it is best to think of a monad as an abstract datatype of actions. Haskell's do expressions provide a convenient syntax for writing monadic expressions.

Instances of Monad should satisfy the following laws:

Furthermore, the Monad and Applicative operations should relate as follows:

The above laws imply:

and that pure and (<*>) satisfy the applicative functor laws.

The instances of Monad for lists, Maybe and IO defined in the Prelude satisfy these laws.

Minimal complete definition

(>>=)

Methods

(>>=) :: m a -> (a -> m b) -> m b infixl 1 #

Sequentially compose two actions, passing any value produced by the first as an argument to the second.

(>>) :: m a -> m b -> m b infixl 1 #

Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in imperative languages.

return :: a -> m a #

Inject a value into the monadic type.

fail :: String -> m a #

Fail with a message. This operation is not part of the mathematical definition of a monad, but is invoked on pattern-match failure in a do expression.

As part of the MonadFail proposal (MFP), this function is moved to its own class MonadFail (see Control.Monad.Fail for more details). The definition here will be removed in a future release.

Instances
Monad []

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

(>>=) :: [a] -> (a -> [b]) -> [b] #

(>>) :: [a] -> [b] -> [b] #

return :: a -> [a] #

fail :: String -> [a] #

Monad Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

(>>=) :: Maybe a -> (a -> Maybe b) -> Maybe b #

(>>) :: Maybe a -> Maybe b -> Maybe b #

return :: a -> Maybe a #

fail :: String -> Maybe a #

Monad IO

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

(>>=) :: IO a -> (a -> IO b) -> IO b #

(>>) :: IO a -> IO b -> IO b #

return :: a -> IO a #

fail :: String -> IO a #

Monad Par1

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(>>=) :: Par1 a -> (a -> Par1 b) -> Par1 b #

(>>) :: Par1 a -> Par1 b -> Par1 b #

return :: a -> Par1 a #

fail :: String -> Par1 a #

Monad Q 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

(>>=) :: Q a -> (a -> Q b) -> Q b #

(>>) :: Q a -> Q b -> Q b #

return :: a -> Q a #

fail :: String -> Q a #

Monad Complex

Since: base-4.9.0.0

Instance details

Defined in Data.Complex

Methods

(>>=) :: Complex a -> (a -> Complex b) -> Complex b #

(>>) :: Complex a -> Complex b -> Complex b #

return :: a -> Complex a #

fail :: String -> Complex a #

Monad Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(>>=) :: Min a -> (a -> Min b) -> Min b #

(>>) :: Min a -> Min b -> Min b #

return :: a -> Min a #

fail :: String -> Min a #

Monad Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(>>=) :: Max a -> (a -> Max b) -> Max b #

(>>) :: Max a -> Max b -> Max b #

return :: a -> Max a #

fail :: String -> Max a #

Monad First

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(>>=) :: First a -> (a -> First b) -> First b #

(>>) :: First a -> First b -> First b #

return :: a -> First a #

fail :: String -> First a #

Monad Last

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(>>=) :: Last a -> (a -> Last b) -> Last b #

(>>) :: Last a -> Last b -> Last b #

return :: a -> Last a #

fail :: String -> Last a #

Monad Option

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(>>=) :: Option a -> (a -> Option b) -> Option b #

(>>) :: Option a -> Option b -> Option b #

return :: a -> Option a #

fail :: String -> Option a #

Monad Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Methods

(>>=) :: Identity a -> (a -> Identity b) -> Identity b #

(>>) :: Identity a -> Identity b -> Identity b #

return :: a -> Identity a #

fail :: String -> Identity a #

Monad First

Since: base-4.8.0.0

Instance details

Defined in Data.Monoid

Methods

(>>=) :: First a -> (a -> First b) -> First b #

(>>) :: First a -> First b -> First b #

return :: a -> First a #

fail :: String -> First a #

Monad Last

Since: base-4.8.0.0

Instance details

Defined in Data.Monoid

Methods

(>>=) :: Last a -> (a -> Last b) -> Last b #

(>>) :: Last a -> Last b -> Last b #

return :: a -> Last a #

fail :: String -> Last a #

Monad Dual

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(>>=) :: Dual a -> (a -> Dual b) -> Dual b #

(>>) :: Dual a -> Dual b -> Dual b #

return :: a -> Dual a #

fail :: String -> Dual a #

Monad Sum

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(>>=) :: Sum a -> (a -> Sum b) -> Sum b #

(>>) :: Sum a -> Sum b -> Sum b #

return :: a -> Sum a #

fail :: String -> Sum a #

Monad Product

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(>>=) :: Product a -> (a -> Product b) -> Product b #

(>>) :: Product a -> Product b -> Product b #

return :: a -> Product a #

fail :: String -> Product a #

Monad ReadP

Since: base-2.1

Instance details

Defined in Text.ParserCombinators.ReadP

Methods

(>>=) :: ReadP a -> (a -> ReadP b) -> ReadP b #

(>>) :: ReadP a -> ReadP b -> ReadP b #

return :: a -> ReadP a #

fail :: String -> ReadP a #

Monad NonEmpty

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(>>=) :: NonEmpty a -> (a -> NonEmpty b) -> NonEmpty b #

(>>) :: NonEmpty a -> NonEmpty b -> NonEmpty b #

return :: a -> NonEmpty a #

fail :: String -> NonEmpty a #

Monad Tree 
Instance details

Defined in Data.Tree

Methods

(>>=) :: Tree a -> (a -> Tree b) -> Tree b #

(>>) :: Tree a -> Tree b -> Tree b #

return :: a -> Tree a #

fail :: String -> Tree a #

Monad Seq 
Instance details

Defined in Data.Sequence.Internal

Methods

(>>=) :: Seq a -> (a -> Seq b) -> Seq b #

(>>) :: Seq a -> Seq b -> Seq b #

return :: a -> Seq a #

fail :: String -> Seq a #

Monad SmallArray 
Instance details

Defined in Data.Primitive.SmallArray

Methods

(>>=) :: SmallArray a -> (a -> SmallArray b) -> SmallArray b #

(>>) :: SmallArray a -> SmallArray b -> SmallArray b #

return :: a -> SmallArray a #

fail :: String -> SmallArray a #

Monad Array 
Instance details

Defined in Data.Primitive.Array

Methods

(>>=) :: Array a -> (a -> Array b) -> Array b #

(>>) :: Array a -> Array b -> Array b #

return :: a -> Array a #

fail :: String -> Array a #

Monad Vector 
Instance details

Defined in Data.Vector

Methods

(>>=) :: Vector a -> (a -> Vector b) -> Vector b #

(>>) :: Vector a -> Vector b -> Vector b #

return :: a -> Vector a #

fail :: String -> Vector a #

Monad Id 
Instance details

Defined in Data.Vector.Fusion.Util

Methods

(>>=) :: Id a -> (a -> Id b) -> Id b #

(>>) :: Id a -> Id b -> Id b #

return :: a -> Id a #

fail :: String -> Id a #

Monad Box 
Instance details

Defined in Data.Vector.Fusion.Util

Methods

(>>=) :: Box a -> (a -> Box b) -> Box b #

(>>) :: Box a -> Box b -> Box b #

return :: a -> Box a #

fail :: String -> Box a #

Monad P

Since: base-2.1

Instance details

Defined in Text.ParserCombinators.ReadP

Methods

(>>=) :: P a -> (a -> P b) -> P b #

(>>) :: P a -> P b -> P b #

return :: a -> P a #

fail :: String -> P a #

Monad Comp Source # 
Instance details

Defined in Feldspar.Representation

Methods

(>>=) :: Comp a -> (a -> Comp b) -> Comp b #

(>>) :: Comp a -> Comp b -> Comp b #

return :: a -> Comp a #

fail :: String -> Comp a #

Monad Run Source # 
Instance details

Defined in Feldspar.Run.Representation

Methods

(>>=) :: Run a -> (a -> Run b) -> Run b #

(>>) :: Run a -> Run b -> Run b #

return :: a -> Run a #

fail :: String -> Run a #

Monad Parser Source # 
Instance details

Defined in Feldspar.Run.Marshal

Methods

(>>=) :: Parser a -> (a -> Parser b) -> Parser b #

(>>) :: Parser a -> Parser b -> Parser b #

return :: a -> Parser a #

fail :: String -> Parser a #

Monad Validated Source # 
Instance details

Defined in Feldspar.Data.Validated

Methods

(>>=) :: Validated a -> (a -> Validated b) -> Validated b #

(>>) :: Validated a -> Validated b -> Validated b #

return :: a -> Validated a #

fail :: String -> Validated a #

() :=> (Monad ((->) a :: Type -> Type)) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Monad ((->) a) #

() :=> (Monad []) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Monad [] #

() :=> (Monad IO) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Monad IO #

() :=> (Monad (Either a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Monad (Either a) #

() :=> (Monad Identity) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Monad Identity #

Monad (Either e)

Since: base-4.4.0.0

Instance details

Defined in Data.Either

Methods

(>>=) :: Either e a -> (a -> Either e b) -> Either e b #

(>>) :: Either e a -> Either e b -> Either e b #

return :: a -> Either e a #

fail :: String -> Either e a #

Monad (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(>>=) :: U1 a -> (a -> U1 b) -> U1 b #

(>>) :: U1 a -> U1 b -> U1 b #

return :: a -> U1 a #

fail :: String -> U1 a #

Monoid a => Monad ((,) a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(>>=) :: (a, a0) -> (a0 -> (a, b)) -> (a, b) #

(>>) :: (a, a0) -> (a, b) -> (a, b) #

return :: a0 -> (a, a0) #

fail :: String -> (a, a0) #

Monad m => Monad (WrappedMonad m)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

Methods

(>>=) :: WrappedMonad m a -> (a -> WrappedMonad m b) -> WrappedMonad m b #

(>>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b #

return :: a -> WrappedMonad m a #

fail :: String -> WrappedMonad m a #

ArrowApply a => Monad (ArrowMonad a)

Since: base-2.1

Instance details

Defined in Control.Arrow

Methods

(>>=) :: ArrowMonad a a0 -> (a0 -> ArrowMonad a b) -> ArrowMonad a b #

(>>) :: ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a b #

return :: a0 -> ArrowMonad a a0 #

fail :: String -> ArrowMonad a a0 #

Monad (Proxy :: Type -> Type)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

(>>=) :: Proxy a -> (a -> Proxy b) -> Proxy b #

(>>) :: Proxy a -> Proxy b -> Proxy b #

return :: a -> Proxy a #

fail :: String -> Proxy a #

Monad m => Monad (ExceptionT m) 
Instance details

Defined in Control.Monad.Exception

Methods

(>>=) :: ExceptionT m a -> (a -> ExceptionT m b) -> ExceptionT m b #

(>>) :: ExceptionT m a -> ExceptionT m b -> ExceptionT m b #

return :: a -> ExceptionT m a #

fail :: String -> ExceptionT m a #

Monad t => Monad (CGenT t) 
Instance details

Defined in Language.C.Monad

Methods

(>>=) :: CGenT t a -> (a -> CGenT t b) -> CGenT t b #

(>>) :: CGenT t a -> CGenT t b -> CGenT t b #

return :: a -> CGenT t a #

fail :: String -> CGenT t a #

Monad m => Monad (ListT m) 
Instance details

Defined in Control.Monad.Trans.List

Methods

(>>=) :: ListT m a -> (a -> ListT m b) -> ListT m b #

(>>) :: ListT m a -> ListT m b -> ListT m b #

return :: a -> ListT m a #

fail :: String -> ListT m a #

Monad m => Monad (MaybeT m) 
Instance details

Defined in Control.Monad.Trans.Maybe

Methods

(>>=) :: MaybeT m a -> (a -> MaybeT m b) -> MaybeT m b #

(>>) :: MaybeT m a -> MaybeT m b -> MaybeT m b #

return :: a -> MaybeT m a #

fail :: String -> MaybeT m a #

Monad m => Monad (OptionT m) Source # 
Instance details

Defined in Feldspar.Data.Option

Methods

(>>=) :: OptionT m a -> (a -> OptionT m b) -> OptionT m b #

(>>) :: OptionT m a -> OptionT m b -> OptionT m b #

return :: a -> OptionT m a #

fail :: String -> OptionT m a #

Class (Applicative f) (Monad f) 
Instance details

Defined in Data.Constraint

Methods

cls :: Monad f :- Applicative f #

(Monad m) :=> (Functor (WrappedMonad m)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Monad m :- Functor (WrappedMonad m) #

(Monad m) :=> (Applicative (WrappedMonad m)) 
Instance details

Defined in Data.Constraint

Monad f => Monad (Rec1 f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(>>=) :: Rec1 f a -> (a -> Rec1 f b) -> Rec1 f b #

(>>) :: Rec1 f a -> Rec1 f b -> Rec1 f b #

return :: a -> Rec1 f a #

fail :: String -> Rec1 f a #

Monad f => Monad (Ap f)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Methods

(>>=) :: Ap f a -> (a -> Ap f b) -> Ap f b #

(>>) :: Ap f a -> Ap f b -> Ap f b #

return :: a -> Ap f a #

fail :: String -> Ap f a #

Monad f => Monad (Alt f)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(>>=) :: Alt f a -> (a -> Alt f b) -> Alt f b #

(>>) :: Alt f a -> Alt f b -> Alt f b #

return :: a -> Alt f a #

fail :: String -> Alt f a #

(Applicative f, Monad f) => Monad (WhenMissing f x)

Equivalent to ReaderT k (ReaderT x (MaybeT f)).

Since: containers-0.5.9

Instance details

Defined in Data.IntMap.Internal

Methods

(>>=) :: WhenMissing f x a -> (a -> WhenMissing f x b) -> WhenMissing f x b #

(>>) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x b #

return :: a -> WhenMissing f x a #

fail :: String -> WhenMissing f x a #

Monad m => Monad (StateT s m) 
Instance details

Defined in Control.Monad.Trans.State.Lazy

Methods

(>>=) :: StateT s m a -> (a -> StateT s m b) -> StateT s m b #

(>>) :: StateT s m a -> StateT s m b -> StateT s m b #

return :: a -> StateT s m a #

fail :: String -> StateT s m a #

Monad m => Monad (IdentityT m) 
Instance details

Defined in Control.Monad.Trans.Identity

Methods

(>>=) :: IdentityT m a -> (a -> IdentityT m b) -> IdentityT m b #

(>>) :: IdentityT m a -> IdentityT m b -> IdentityT m b #

return :: a -> IdentityT m a #

fail :: String -> IdentityT m a #

(Monad m, Error e) => Monad (ErrorT e m) 
Instance details

Defined in Control.Monad.Trans.Error

Methods

(>>=) :: ErrorT e m a -> (a -> ErrorT e m b) -> ErrorT e m b #

(>>) :: ErrorT e m a -> ErrorT e m b -> ErrorT e m b #

return :: a -> ErrorT e m a #

fail :: String -> ErrorT e m a #

Monad m => Monad (ExceptT e m) 
Instance details

Defined in Control.Monad.Trans.Except

Methods

(>>=) :: ExceptT e m a -> (a -> ExceptT e m b) -> ExceptT e m b #

(>>) :: ExceptT e m a -> ExceptT e m b -> ExceptT e m b #

return :: a -> ExceptT e m a #

fail :: String -> ExceptT e m a #

Monad m => Monad (StateT s m) 
Instance details

Defined in Control.Monad.Trans.State.Strict

Methods

(>>=) :: StateT s m a -> (a -> StateT s m b) -> StateT s m b #

(>>) :: StateT s m a -> StateT s m b -> StateT s m b #

return :: a -> StateT s m a #

fail :: String -> StateT s m a #

(Monoid w, Monad m) => Monad (WriterT w m) 
Instance details

Defined in Control.Monad.Trans.Writer.Lazy

Methods

(>>=) :: WriterT w m a -> (a -> WriterT w m b) -> WriterT w m b #

(>>) :: WriterT w m a -> WriterT w m b -> WriterT w m b #

return :: a -> WriterT w m a #

fail :: String -> WriterT w m a #

(Monoid w, Monad m) => Monad (WriterT w m) 
Instance details

Defined in Control.Monad.Trans.Writer.Strict

Methods

(>>=) :: WriterT w m a -> (a -> WriterT w m b) -> WriterT w m b #

(>>) :: WriterT w m a -> WriterT w m b -> WriterT w m b #

return :: a -> WriterT w m a #

fail :: String -> WriterT w m a #

Monad (Remon dom m) 
Instance details

Defined in Language.Syntactic.Functional

Methods

(>>=) :: Remon dom m a -> (a -> Remon dom m b) -> Remon dom m b #

(>>) :: Remon dom m a -> Remon dom m b -> Remon dom m b #

return :: a -> Remon dom m a #

fail :: String -> Remon dom m a #

Class (Monad f, Alternative f) (MonadPlus f) 
Instance details

Defined in Data.Constraint

Methods

cls :: MonadPlus f :- (Monad f, Alternative f) #

Monad ((->) r :: Type -> Type)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

(>>=) :: (r -> a) -> (a -> r -> b) -> r -> b #

(>>) :: (r -> a) -> (r -> b) -> r -> b #

return :: a -> r -> a #

fail :: String -> r -> a #

(Monad f, Monad g) => Monad (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(>>=) :: (f :*: g) a -> (a -> (f :*: g) b) -> (f :*: g) b #

(>>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b #

return :: a -> (f :*: g) a #

fail :: String -> (f :*: g) a #

(Monad f, Monad g) => Monad (Product f g)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

Methods

(>>=) :: Product f g a -> (a -> Product f g b) -> Product f g b #

(>>) :: Product f g a -> Product f g b -> Product f g b #

return :: a -> Product f g a #

fail :: String -> Product f g a #

(Monad f, Applicative f) => Monad (WhenMatched f x y)

Equivalent to ReaderT Key (ReaderT x (ReaderT y (MaybeT f)))

Since: containers-0.5.9

Instance details

Defined in Data.IntMap.Internal

Methods

(>>=) :: WhenMatched f x y a -> (a -> WhenMatched f x y b) -> WhenMatched f x y b #

(>>) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y b #

return :: a -> WhenMatched f x y a #

fail :: String -> WhenMatched f x y a #

(Applicative f, Monad f) => Monad (WhenMissing f k x)

Equivalent to ReaderT k (ReaderT x (MaybeT f)) .

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

(>>=) :: WhenMissing f k x a -> (a -> WhenMissing f k x b) -> WhenMissing f k x b #

(>>) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x b #

return :: a -> WhenMissing f k x a #

fail :: String -> WhenMissing f k x a #

Monad m => Monad (ReaderT r m) 
Instance details

Defined in Control.Monad.Trans.Reader

Methods

(>>=) :: ReaderT r m a -> (a -> ReaderT r m b) -> ReaderT r m b #

(>>) :: ReaderT r m a -> ReaderT r m b -> ReaderT r m b #

return :: a -> ReaderT r m a #

fail :: String -> ReaderT r m a #

Monad (ContT r m) 
Instance details

Defined in Control.Monad.Trans.Cont

Methods

(>>=) :: ContT r m a -> (a -> ContT r m b) -> ContT r m b #

(>>) :: ContT r m a -> ContT r m b -> ContT r m b #

return :: a -> ContT r m a #

fail :: String -> ContT r m a #

Monad f => Monad (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(>>=) :: M1 i c f a -> (a -> M1 i c f b) -> M1 i c f b #

(>>) :: M1 i c f a -> M1 i c f b -> M1 i c f b #

return :: a -> M1 i c f a #

fail :: String -> M1 i c f a #

(Monad f, Applicative f) => Monad (WhenMatched f k x y)

Equivalent to ReaderT k (ReaderT x (ReaderT y (MaybeT f)))

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

(>>=) :: WhenMatched f k x y a -> (a -> WhenMatched f k x y b) -> WhenMatched f k x y b #

(>>) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y b #

return :: a -> WhenMatched f k x y a #

fail :: String -> WhenMatched f k x y a #

Monad m => Monad (ProgramT instr fs m) 
Instance details

Defined in Control.Monad.Operational.Higher

Methods

(>>=) :: ProgramT instr fs m a -> (a -> ProgramT instr fs m b) -> ProgramT instr fs m b #

(>>) :: ProgramT instr fs m a -> ProgramT instr fs m b -> ProgramT instr fs m b #

return :: a -> ProgramT instr fs m a #

fail :: String -> ProgramT instr fs m a #

(Monoid w, Monad m) => Monad (RWST r w s m) 
Instance details

Defined in Control.Monad.Trans.RWS.Lazy

Methods

(>>=) :: RWST r w s m a -> (a -> RWST r w s m b) -> RWST r w s m b #

(>>) :: RWST r w s m a -> RWST r w s m b -> RWST r w s m b #

return :: a -> RWST r w s m a #

fail :: String -> RWST r w s m a #

(Monoid w, Monad m) => Monad (RWST r w s m) 
Instance details

Defined in Control.Monad.Trans.RWS.Strict

Methods

(>>=) :: RWST r w s m a -> (a -> RWST r w s m b) -> RWST r w s m b #

(>>) :: RWST r w s m a -> RWST r w s m b -> RWST r w s m b #

return :: a -> RWST r w s m a #

fail :: String -> RWST r w s m a #

class Functor (f :: Type -> Type) where #

The Functor class is used for types that can be mapped over. Instances of Functor should satisfy the following laws:

fmap id  ==  id
fmap (f . g)  ==  fmap f . fmap g

The instances of Functor for lists, Maybe and IO satisfy these laws.

Methods

fmap :: (a -> b) -> f a -> f b #

Instances
Functor []

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a -> b) -> [a] -> [b] #

(<$) :: a -> [b] -> [a] #

Functor Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a -> b) -> Maybe a -> Maybe b #

(<$) :: a -> Maybe b -> Maybe a #

Functor IO

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a -> b) -> IO a -> IO b #

(<$) :: a -> IO b -> IO a #

Functor Par1

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> Par1 a -> Par1 b #

(<$) :: a -> Par1 b -> Par1 a #

Functor Q 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

fmap :: (a -> b) -> Q a -> Q b #

(<$) :: a -> Q b -> Q a #

Functor Complex

Since: base-4.9.0.0

Instance details

Defined in Data.Complex

Methods

fmap :: (a -> b) -> Complex a -> Complex b #

(<$) :: a -> Complex b -> Complex a #

Functor Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a -> b) -> Min a -> Min b #

(<$) :: a -> Min b -> Min a #

Functor Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a -> b) -> Max a -> Max b #

(<$) :: a -> Max b -> Max a #

Functor First

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a -> b) -> First a -> First b #

(<$) :: a -> First b -> First a #

Functor Last

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a -> b) -> Last a -> Last b #

(<$) :: a -> Last b -> Last a #

Functor Option

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a -> b) -> Option a -> Option b #

(<$) :: a -> Option b -> Option a #

Functor ZipList

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

fmap :: (a -> b) -> ZipList a -> ZipList b #

(<$) :: a -> ZipList b -> ZipList a #

Functor Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Methods

fmap :: (a -> b) -> Identity a -> Identity b #

(<$) :: a -> Identity b -> Identity a #

Functor First

Since: base-4.8.0.0

Instance details

Defined in Data.Monoid

Methods

fmap :: (a -> b) -> First a -> First b #

(<$) :: a -> First b -> First a #

Functor Last

Since: base-4.8.0.0

Instance details

Defined in Data.Monoid

Methods

fmap :: (a -> b) -> Last a -> Last b #

(<$) :: a -> Last b -> Last a #

Functor Dual

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

fmap :: (a -> b) -> Dual a -> Dual b #

(<$) :: a -> Dual b -> Dual a #

Functor Sum

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

fmap :: (a -> b) -> Sum a -> Sum b #

(<$) :: a -> Sum b -> Sum a #

Functor Product

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

fmap :: (a -> b) -> Product a -> Product b #

(<$) :: a -> Product b -> Product a #

Functor ReadP

Since: base-2.1

Instance details

Defined in Text.ParserCombinators.ReadP

Methods

fmap :: (a -> b) -> ReadP a -> ReadP b #

(<$) :: a -> ReadP b -> ReadP a #

Functor NonEmpty

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

fmap :: (a -> b) -> NonEmpty a -> NonEmpty b #

(<$) :: a -> NonEmpty b -> NonEmpty a #

Functor IntMap 
Instance details

Defined in Data.IntMap.Internal

Methods

fmap :: (a -> b) -> IntMap a -> IntMap b #

(<$) :: a -> IntMap b -> IntMap a #

Functor Tree 
Instance details

Defined in Data.Tree

Methods

fmap :: (a -> b) -> Tree a -> Tree b #

(<$) :: a -> Tree b -> Tree a #

Functor Seq 
Instance details

Defined in Data.Sequence.Internal

Methods

fmap :: (a -> b) -> Seq a -> Seq b #

(<$) :: a -> Seq b -> Seq a #

Functor FingerTree 
Instance details

Defined in Data.Sequence.Internal

Methods

fmap :: (a -> b) -> FingerTree a -> FingerTree b #

(<$) :: a -> FingerTree b -> FingerTree a #

Functor Digit 
Instance details

Defined in Data.Sequence.Internal

Methods

fmap :: (a -> b) -> Digit a -> Digit b #

(<$) :: a -> Digit b -> Digit a #

Functor Node 
Instance details

Defined in Data.Sequence.Internal

Methods

fmap :: (a -> b) -> Node a -> Node b #

(<$) :: a -> Node b -> Node a #

Functor Elem 
Instance details

Defined in Data.Sequence.Internal

Methods

fmap :: (a -> b) -> Elem a -> Elem b #

(<$) :: a -> Elem b -> Elem a #

Functor ViewL 
Instance details

Defined in Data.Sequence.Internal

Methods

fmap :: (a -> b) -> ViewL a -> ViewL b #

(<$) :: a -> ViewL b -> ViewL a #

Functor ViewR 
Instance details

Defined in Data.Sequence.Internal

Methods

fmap :: (a -> b) -> ViewR a -> ViewR b #

(<$) :: a -> ViewR b -> ViewR a #

Functor NonGreedy 
Instance details

Defined in Language.Haskell.Exts.Parser

Methods

fmap :: (a -> b) -> NonGreedy a -> NonGreedy b #

(<$) :: a -> NonGreedy b -> NonGreedy a #

Functor ListOf 
Instance details

Defined in Language.Haskell.Exts.Parser

Methods

fmap :: (a -> b) -> ListOf a -> ListOf b #

(<$) :: a -> ListOf b -> ListOf a #

Functor ModuleName 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ModuleName a -> ModuleName b #

(<$) :: a -> ModuleName b -> ModuleName a #

Functor SpecialCon 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> SpecialCon a -> SpecialCon b #

(<$) :: a -> SpecialCon b -> SpecialCon a #

Functor QName 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> QName a -> QName b #

(<$) :: a -> QName b -> QName a #

Functor Name 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Name a -> Name b #

(<$) :: a -> Name b -> Name a #

Functor IPName 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> IPName a -> IPName b #

(<$) :: a -> IPName b -> IPName a #

Functor QOp 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> QOp a -> QOp b #

(<$) :: a -> QOp b -> QOp a #

Functor Op 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Op a -> Op b #

(<$) :: a -> Op b -> Op a #

Functor CName 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> CName a -> CName b #

(<$) :: a -> CName b -> CName a #

Functor Module 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Module a -> Module b #

(<$) :: a -> Module b -> Module a #

Functor ModuleHead 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ModuleHead a -> ModuleHead b #

(<$) :: a -> ModuleHead b -> ModuleHead a #

Functor ExportSpecList 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ExportSpecList a -> ExportSpecList b #

(<$) :: a -> ExportSpecList b -> ExportSpecList a #

Functor ExportSpec 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ExportSpec a -> ExportSpec b #

(<$) :: a -> ExportSpec b -> ExportSpec a #

Functor EWildcard 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> EWildcard a -> EWildcard b #

(<$) :: a -> EWildcard b -> EWildcard a #

Functor Namespace 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Namespace a -> Namespace b #

(<$) :: a -> Namespace b -> Namespace a #

Functor ImportDecl 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ImportDecl a -> ImportDecl b #

(<$) :: a -> ImportDecl b -> ImportDecl a #

Functor ImportSpecList 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ImportSpecList a -> ImportSpecList b #

(<$) :: a -> ImportSpecList b -> ImportSpecList a #

Functor ImportSpec 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ImportSpec a -> ImportSpec b #

(<$) :: a -> ImportSpec b -> ImportSpec a #

Functor Assoc 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Assoc a -> Assoc b #

(<$) :: a -> Assoc b -> Assoc a #

Functor Decl 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Decl a -> Decl b #

(<$) :: a -> Decl b -> Decl a #

Functor PatternSynDirection 
Instance details

Defined in Language.Haskell.Exts.Syntax

Functor TypeEqn 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> TypeEqn a -> TypeEqn b #

(<$) :: a -> TypeEqn b -> TypeEqn a #

Functor Annotation 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Annotation a -> Annotation b #

(<$) :: a -> Annotation b -> Annotation a #

Functor BooleanFormula 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> BooleanFormula a -> BooleanFormula b #

(<$) :: a -> BooleanFormula b -> BooleanFormula a #

Functor Role 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Role a -> Role b #

(<$) :: a -> Role b -> Role a #

Functor DataOrNew 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> DataOrNew a -> DataOrNew b #

(<$) :: a -> DataOrNew b -> DataOrNew a #

Functor InjectivityInfo 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> InjectivityInfo a -> InjectivityInfo b #

(<$) :: a -> InjectivityInfo b -> InjectivityInfo a #

Functor ResultSig 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ResultSig a -> ResultSig b #

(<$) :: a -> ResultSig b -> ResultSig a #

Functor DeclHead 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> DeclHead a -> DeclHead b #

(<$) :: a -> DeclHead b -> DeclHead a #

Functor InstRule 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> InstRule a -> InstRule b #

(<$) :: a -> InstRule b -> InstRule a #

Functor InstHead 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> InstHead a -> InstHead b #

(<$) :: a -> InstHead b -> InstHead a #

Functor Deriving 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Deriving a -> Deriving b #

(<$) :: a -> Deriving b -> Deriving a #

Functor DerivStrategy 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> DerivStrategy a -> DerivStrategy b #

(<$) :: a -> DerivStrategy b -> DerivStrategy a #

Functor Binds 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Binds a -> Binds b #

(<$) :: a -> Binds b -> Binds a #

Functor IPBind 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> IPBind a -> IPBind b #

(<$) :: a -> IPBind b -> IPBind a #

Functor Match 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Match a -> Match b #

(<$) :: a -> Match b -> Match a #

Functor QualConDecl 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> QualConDecl a -> QualConDecl b #

(<$) :: a -> QualConDecl b -> QualConDecl a #

Functor ConDecl 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ConDecl a -> ConDecl b #

(<$) :: a -> ConDecl b -> ConDecl a #

Functor FieldDecl 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> FieldDecl a -> FieldDecl b #

(<$) :: a -> FieldDecl b -> FieldDecl a #

Functor GadtDecl 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> GadtDecl a -> GadtDecl b #

(<$) :: a -> GadtDecl b -> GadtDecl a #

Functor ClassDecl 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ClassDecl a -> ClassDecl b #

(<$) :: a -> ClassDecl b -> ClassDecl a #

Functor InstDecl 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> InstDecl a -> InstDecl b #

(<$) :: a -> InstDecl b -> InstDecl a #

Functor BangType 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> BangType a -> BangType b #

(<$) :: a -> BangType b -> BangType a #

Functor Unpackedness 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Unpackedness a -> Unpackedness b #

(<$) :: a -> Unpackedness b -> Unpackedness a #

Functor Rhs 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Rhs a -> Rhs b #

(<$) :: a -> Rhs b -> Rhs a #

Functor GuardedRhs 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> GuardedRhs a -> GuardedRhs b #

(<$) :: a -> GuardedRhs b -> GuardedRhs a #

Functor Type 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Type a -> Type b #

(<$) :: a -> Type b -> Type a #

Functor MaybePromotedName 
Instance details

Defined in Language.Haskell.Exts.Syntax

Functor Promoted 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Promoted a -> Promoted b #

(<$) :: a -> Promoted b -> Promoted a #

Functor TyVarBind 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> TyVarBind a -> TyVarBind b #

(<$) :: a -> TyVarBind b -> TyVarBind a #

Functor FunDep 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> FunDep a -> FunDep b #

(<$) :: a -> FunDep b -> FunDep a #

Functor Context 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Context a -> Context b #

(<$) :: a -> Context b -> Context a #

Functor Asst 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Asst a -> Asst b #

(<$) :: a -> Asst b -> Asst a #

Functor Literal 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Literal a -> Literal b #

(<$) :: a -> Literal b -> Literal a #

Functor Sign 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Sign a -> Sign b #

(<$) :: a -> Sign b -> Sign a #

Functor Exp 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Exp a -> Exp b #

(<$) :: a -> Exp b -> Exp a #

Functor XName 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> XName a -> XName b #

(<$) :: a -> XName b -> XName a #

Functor XAttr 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> XAttr a -> XAttr b #

(<$) :: a -> XAttr b -> XAttr a #

Functor Bracket 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Bracket a -> Bracket b #

(<$) :: a -> Bracket b -> Bracket a #

Functor Splice 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Splice a -> Splice b #

(<$) :: a -> Splice b -> Splice a #

Functor Safety 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Safety a -> Safety b #

(<$) :: a -> Safety b -> Safety a #

Functor CallConv 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> CallConv a -> CallConv b #

(<$) :: a -> CallConv b -> CallConv a #

Functor ModulePragma 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> ModulePragma a -> ModulePragma b #

(<$) :: a -> ModulePragma b -> ModulePragma a #

Functor Overlap 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Overlap a -> Overlap b #

(<$) :: a -> Overlap b -> Overlap a #

Functor Activation 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Activation a -> Activation b #

(<$) :: a -> Activation b -> Activation a #

Functor Rule 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Rule a -> Rule b #

(<$) :: a -> Rule b -> Rule a #

Functor RuleVar 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> RuleVar a -> RuleVar b #

(<$) :: a -> RuleVar b -> RuleVar a #

Functor WarningText 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> WarningText a -> WarningText b #

(<$) :: a -> WarningText b -> WarningText a #

Functor Pat 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Pat a -> Pat b #

(<$) :: a -> Pat b -> Pat a #

Functor PXAttr 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> PXAttr a -> PXAttr b #

(<$) :: a -> PXAttr b -> PXAttr a #

Functor RPatOp 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> RPatOp a -> RPatOp b #

(<$) :: a -> RPatOp b -> RPatOp a #

Functor RPat 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> RPat a -> RPat b #

(<$) :: a -> RPat b -> RPat a #

Functor PatField 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> PatField a -> PatField b #

(<$) :: a -> PatField b -> PatField a #

Functor Stmt 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Stmt a -> Stmt b #

(<$) :: a -> Stmt b -> Stmt a #

Functor QualStmt 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> QualStmt a -> QualStmt b #

(<$) :: a -> QualStmt b -> QualStmt a #

Functor FieldUpdate 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> FieldUpdate a -> FieldUpdate b #

(<$) :: a -> FieldUpdate b -> FieldUpdate a #

Functor Alt 
Instance details

Defined in Language.Haskell.Exts.Syntax

Methods

fmap :: (a -> b) -> Alt a -> Alt b #

(<$) :: a -> Alt b -> Alt a #

Functor Border 
Instance details

Defined in Language.Embedded.Imperative.CMD

Methods

fmap :: (a -> b) -> Border a -> Border b #

(<$) :: a -> Border b -> Border a #

Functor Doc 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

fmap :: (a -> b) -> Doc a -> Doc b #

(<$) :: a -> Doc b -> Doc a #

Functor AnnotDetails 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

fmap :: (a -> b) -> AnnotDetails a -> AnnotDetails b #

(<$) :: a -> AnnotDetails b -> AnnotDetails a #

Functor Span 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

fmap :: (a -> b) -> Span a -> Span b #

(<$) :: a -> Span b -> Span a #

Functor SmallArray 
Instance details

Defined in Data.Primitive.SmallArray

Methods

fmap :: (a -> b) -> SmallArray a -> SmallArray b #

(<$) :: a -> SmallArray b -> SmallArray a #

Functor Array 
Instance details

Defined in Data.Primitive.Array

Methods

fmap :: (a -> b) -> Array a -> Array b #

(<$) :: a -> Array b -> Array a #

Functor L 
Instance details

Defined in Data.Loc

Methods

fmap :: (a -> b) -> L a -> L b #

(<$) :: a -> L b -> L a #

Functor Full 
Instance details

Defined in Language.Syntactic.Syntax

Methods

fmap :: (a -> b) -> Full a -> Full b #

(<$) :: a -> Full b -> Full a #

Functor Vector 
Instance details

Defined in Data.Vector

Methods

fmap :: (a -> b) -> Vector a -> Vector b #

(<$) :: a -> Vector b -> Vector a #

Functor Id 
Instance details

Defined in Data.Vector.Fusion.Util

Methods

fmap :: (a -> b) -> Id a -> Id b #

(<$) :: a -> Id b -> Id a #

Functor Box 
Instance details

Defined in Data.Vector.Fusion.Util

Methods

fmap :: (a -> b) -> Box a -> Box b #

(<$) :: a -> Box b -> Box a #

Functor P

Since: base-4.8.0.0

Instance details

Defined in Text.ParserCombinators.ReadP

Methods

fmap :: (a -> b) -> P a -> P b #

(<$) :: a -> P b -> P a #

Functor Comp Source # 
Instance details

Defined in Feldspar.Representation

Methods

fmap :: (a -> b) -> Comp a -> Comp b #

(<$) :: a -> Comp b -> Comp a #

Functor Run Source # 
Instance details

Defined in Feldspar.Run.Representation

Methods

fmap :: (a -> b) -> Run a -> Run b #

(<$) :: a -> Run b -> Run a #

Functor Parser Source # 
Instance details

Defined in Feldspar.Run.Marshal

Methods

fmap :: (a -> b) -> Parser a -> Parser b #

(<$) :: a -> Parser b -> Parser a #

Functor Nest Source # 
Instance details

Defined in Feldspar.Data.Array

Methods

fmap :: (a -> b) -> Nest a -> Nest b #

(<$) :: a -> Nest b -> Nest a #

Functor Pull2 Source # 
Instance details

Defined in Feldspar.Data.Vector

Methods

fmap :: (a -> b) -> Pull2 a -> Pull2 b #

(<$) :: a -> Pull2 b -> Pull2 a #

Functor Pull Source # 
Instance details

Defined in Feldspar.Data.Vector

Methods

fmap :: (a -> b) -> Pull a -> Pull b #

(<$) :: a -> Pull b -> Pull a #

Functor Validated Source # 
Instance details

Defined in Feldspar.Data.Validated

Methods

fmap :: (a -> b) -> Validated a -> Validated b #

(<$) :: a -> Validated b -> Validated a #

Class () (Functor f) 
Instance details

Defined in Data.Constraint

Methods

cls :: Functor f :- () #

() :=> (Functor ((->) a :: Type -> Type)) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Functor ((->) a) #

() :=> (Functor []) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Functor [] #

() :=> (Functor Maybe) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Functor Maybe #

() :=> (Functor IO) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Functor IO #

() :=> (Functor (Either a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Functor (Either a) #

() :=> (Functor ((,) a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Functor ((,) a) #

() :=> (Functor Identity) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Functor Identity #

() :=> (Functor (Const a :: Type -> Type)) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Functor (Const a) #

Functor (Either a)

Since: base-3.0

Instance details

Defined in Data.Either

Methods

fmap :: (a0 -> b) -> Either a a0 -> Either a b #

(<$) :: a0 -> Either a b -> Either a a0 #

Functor (V1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> V1 a -> V1 b #

(<$) :: a -> V1 b -> V1 a #

Functor (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> U1 a -> U1 b #

(<$) :: a -> U1 b -> U1 a #

Functor ((,) a)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a0 -> b) -> (a, a0) -> (a, b) #

(<$) :: a0 -> (a, b) -> (a, a0) #

Functor (Array i)

Since: base-2.1

Instance details

Defined in GHC.Arr

Methods

fmap :: (a -> b) -> Array i a -> Array i b #

(<$) :: a -> Array i b -> Array i a #

Functor (Arg a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a0 -> b) -> Arg a a0 -> Arg a b #

(<$) :: a0 -> Arg a b -> Arg a a0 #

Monad m => Functor (WrappedMonad m)

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

fmap :: (a -> b) -> WrappedMonad m a -> WrappedMonad m b #

(<$) :: a -> WrappedMonad m b -> WrappedMonad m a #

Arrow a => Functor (ArrowMonad a)

Since: base-4.6.0.0

Instance details

Defined in Control.Arrow

Methods

fmap :: (a0 -> b) -> ArrowMonad a a0 -> ArrowMonad a b #

(<$) :: a0 -> ArrowMonad a b -> ArrowMonad a a0 #

Functor (Proxy :: Type -> Type)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

fmap :: (a -> b) -> Proxy a -> Proxy b #

(<$) :: a -> Proxy b -> Proxy a #

Functor (Map k) 
Instance details

Defined in Data.Map.Internal

Methods

fmap :: (a -> b) -> Map k a -> Map k b #

(<$) :: a -> Map k b -> Map k a #

Functor m => Functor (ExceptionT m) 
Instance details

Defined in Control.Monad.Exception

Methods

fmap :: (a -> b) -> ExceptionT m a -> ExceptionT m b #

(<$) :: a -> ExceptionT m b -> ExceptionT m a #

Functor t => Functor (CGenT t) 
Instance details

Defined in Language.C.Monad

Methods

fmap :: (a -> b) -> CGenT t a -> CGenT t b #

(<$) :: a -> CGenT t b -> CGenT t a #

Functor m => Functor (ListT m) 
Instance details

Defined in Control.Monad.Trans.List

Methods

fmap :: (a -> b) -> ListT m a -> ListT m b #

(<$) :: a -> ListT m b -> ListT m a #

Functor m => Functor (MaybeT m) 
Instance details

Defined in Control.Monad.Trans.Maybe

Methods

fmap :: (a -> b) -> MaybeT m a -> MaybeT m b #

(<$) :: a -> MaybeT m b -> MaybeT m a #

Functor sym => Functor (AST sym) 
Instance details

Defined in Language.Syntactic.Syntax

Methods

fmap :: (a -> b) -> AST sym a -> AST sym b #

(<$) :: a -> AST sym b -> AST sym a #

Functor ((:->) a) 
Instance details

Defined in Language.Syntactic.Syntax

Methods

fmap :: (a0 -> b) -> (a :-> a0) -> a :-> b #

(<$) :: a0 -> (a :-> b) -> a :-> a0 #

Monad m => Functor (Seq m) Source # 
Instance details

Defined in Feldspar.Data.Vector

Methods

fmap :: (a -> b) -> Seq m a -> Seq m b #

(<$) :: a -> Seq m b -> Seq m a #

Functor (Push2 m) Source # 
Instance details

Defined in Feldspar.Data.Vector

Methods

fmap :: (a -> b) -> Push2 m a -> Push2 m b #

(<$) :: a -> Push2 m b -> Push2 m a #

Functor (Push m) Source # 
Instance details

Defined in Feldspar.Data.Vector

Methods

fmap :: (a -> b) -> Push m a -> Push m b #

(<$) :: a -> Push m b -> Push m a #

Monad m => Functor (OptionT m) Source # 
Instance details

Defined in Feldspar.Data.Option

Methods

fmap :: (a -> b) -> OptionT m a -> OptionT m b #

(<$) :: a -> OptionT m b -> OptionT m a #

Class (Functor f) (Applicative f) 
Instance details

Defined in Data.Constraint

Methods

cls :: Applicative f :- Functor f #

(Monad m) :=> (Functor (WrappedMonad m)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Monad m :- Functor (WrappedMonad m) #

Functor f => Functor (Rec1 f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> Rec1 f a -> Rec1 f b #

(<$) :: a -> Rec1 f b -> Rec1 f a #

Functor (URec Char :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec Char a -> URec Char b #

(<$) :: a -> URec Char b -> URec Char a #

Functor (URec Double :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec Double a -> URec Double b #

(<$) :: a -> URec Double b -> URec Double a #

Functor (URec Float :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec Float a -> URec Float b #

(<$) :: a -> URec Float b -> URec Float a #

Functor (URec Int :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec Int a -> URec Int b #

(<$) :: a -> URec Int b -> URec Int a #

Functor (URec Word :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec Word a -> URec Word b #

(<$) :: a -> URec Word b -> URec Word a #

Functor (URec (Ptr ()) :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec (Ptr ()) a -> URec (Ptr ()) b #

(<$) :: a -> URec (Ptr ()) b -> URec (Ptr ()) a #

Arrow a => Functor (WrappedArrow a b)

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

fmap :: (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 #

(<$) :: a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 #

Functor (Const m :: Type -> Type)

Since: base-2.1

Instance details

Defined in Data.Functor.Const

Methods

fmap :: (a -> b) -> Const m a -> Const m b #

(<$) :: a -> Const m b -> Const m a #

Functor f => Functor (Ap f)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Methods

fmap :: (a -> b) -> Ap f a -> Ap f b #

(<$) :: a -> Ap f b -> Ap f a #

Functor f => Functor (Alt f)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

fmap :: (a -> b) -> Alt f a -> Alt f b #

(<$) :: a -> Alt f b -> Alt f a #

(Applicative f, Monad f) => Functor (WhenMissing f x)

Since: containers-0.5.9

Instance details

Defined in Data.IntMap.Internal

Methods

fmap :: (a -> b) -> WhenMissing f x a -> WhenMissing f x b #

(<$) :: a -> WhenMissing f x b -> WhenMissing f x a #

Functor m => Functor (StateT s m) 
Instance details

Defined in Control.Monad.Trans.State.Lazy

Methods

fmap :: (a -> b) -> StateT s m a -> StateT s m b #

(<$) :: a -> StateT s m b -> StateT s m a #

Monad m => Functor (Focusing m s) 
Instance details

Defined in Lens.Micro.Mtl.Internal

Methods

fmap :: (a -> b) -> Focusing m s a -> Focusing m s b #

(<$) :: a -> Focusing m s b -> Focusing m s a #

Functor (k (May s)) => Functor (FocusingMay k s) 
Instance details

Defined in Lens.Micro.Mtl.Internal

Methods

fmap :: (a -> b) -> FocusingMay k s a -> FocusingMay k s b #

(<$) :: a -> FocusingMay k s b -> FocusingMay k s a #

Functor (Effect m r) 
Instance details

Defined in Lens.Micro.Mtl.Internal

Methods

fmap :: (a -> b) -> Effect m r a -> Effect m r b #

(<$) :: a -> Effect m r b -> Effect m r a #

Functor m => Functor (IdentityT m) 
Instance details

Defined in Control.Monad.Trans.Identity

Methods

fmap :: (a -> b) -> IdentityT m a -> IdentityT m b #

(<$) :: a -> IdentityT m b -> IdentityT m a #

Functor m => Functor (ErrorT e m) 
Instance details

Defined in Control.Monad.Trans.Error

Methods

fmap :: (a -> b) -> ErrorT e m a -> ErrorT e m b #

(<$) :: a -> ErrorT e m b -> ErrorT e m a #

Functor m => Functor (ExceptT e m) 
Instance details

Defined in Control.Monad.Trans.Except

Methods

fmap :: (a -> b) -> ExceptT e m a -> ExceptT e m b #

(<$) :: a -> ExceptT e m b -> ExceptT e m a #

Functor m => Functor (StateT s m) 
Instance details

Defined in Control.Monad.Trans.State.Strict

Methods

fmap :: (a -> b) -> StateT s m a -> StateT s m b #

(<$) :: a -> StateT s m b -> StateT s m a #

Functor m => Functor (WriterT w m) 
Instance details

Defined in Control.Monad.Trans.Writer.Lazy

Methods

fmap :: (a -> b) -> WriterT w m a -> WriterT w m b #

(<$) :: a -> WriterT w m b -> WriterT w m a #

Functor m => Functor (WriterT w m) 
Instance details

Defined in Control.Monad.Trans.Writer.Strict

Methods

fmap :: (a -> b) -> WriterT w m a -> WriterT w m b #

(<$) :: a -> WriterT w m b -> WriterT w m a #

Functor (Remon sym m) 
Instance details

Defined in Language.Syntactic.Functional

Methods

fmap :: (a -> b) -> Remon sym m a -> Remon sym m b #

(<$) :: a -> Remon sym m b -> Remon sym m a #

(Functor sym1, Functor sym2) => Functor (sym1 :+: sym2) 
Instance details

Defined in Language.Syntactic.Syntax

Methods

fmap :: (a -> b) -> (sym1 :+: sym2) a -> (sym1 :+: sym2) b #

(<$) :: a -> (sym1 :+: sym2) b -> (sym1 :+: sym2) a #

Monad m => Functor (Bundle m v) 
Instance details

Defined in Data.Vector.Fusion.Bundle.Monadic

Methods

fmap :: (a -> b) -> Bundle m v a -> Bundle m v b #

(<$) :: a -> Bundle m v b -> Bundle m v a #

Functor ((->) r :: Type -> Type)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a -> b) -> (r -> a) -> r -> b #

(<$) :: a -> (r -> b) -> r -> a #

Functor (K1 i c :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> K1 i c a -> K1 i c b #

(<$) :: a -> K1 i c b -> K1 i c a #

(Functor f, Functor g) => Functor (f :+: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> (f :+: g) a -> (f :+: g) b #

(<$) :: a -> (f :+: g) b -> (f :+: g) a #

(Functor f, Functor g) => Functor (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> (f :*: g) a -> (f :*: g) b #

(<$) :: a -> (f :*: g) b -> (f :*: g) a #

(Functor f, Functor g) => Functor (Product f g)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

Methods

fmap :: (a -> b) -> Product f g a -> Product f g b #

(<$) :: a -> Product f g b -> Product f g a #

(Functor f, Functor g) => Functor (Sum f g)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Sum

Methods

fmap :: (a -> b) -> Sum f g a -> Sum f g b #

(<$) :: a -> Sum f g b -> Sum f g a #

Functor f => Functor (WhenMatched f x y)

Since: containers-0.5.9

Instance details

Defined in Data.IntMap.Internal

Methods

fmap :: (a -> b) -> WhenMatched f x y a -> WhenMatched f x y b #

(<$) :: a -> WhenMatched f x y b -> WhenMatched f x y a #

(Applicative f, Monad f) => Functor (WhenMissing f k x)

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

fmap :: (a -> b) -> WhenMissing f k x a -> WhenMissing f k x b #

(<$) :: a -> WhenMissing f k x b -> WhenMissing f k x a #

Functor m => Functor (ReaderT r m) 
Instance details

Defined in Control.Monad.Trans.Reader

Methods

fmap :: (a -> b) -> ReaderT r m a -> ReaderT r m b #

(<$) :: a -> ReaderT r m b -> ReaderT r m a #

Monad m => Functor (FocusingWith w m s) 
Instance details

Defined in Lens.Micro.Mtl.Internal

Methods

fmap :: (a -> b) -> FocusingWith w m s a -> FocusingWith w m s b #

(<$) :: a -> FocusingWith w m s b -> FocusingWith w m s a #

Functor (k (s, w)) => Functor (FocusingPlus w k s) 
Instance details

Defined in Lens.Micro.Mtl.Internal

Methods

fmap :: (a -> b) -> FocusingPlus w k s a -> FocusingPlus w k s b #

(<$) :: a -> FocusingPlus w k s b -> FocusingPlus w k s a #

Functor (k (f s)) => Functor (FocusingOn f k s) 
Instance details

Defined in Lens.Micro.Mtl.Internal

Methods

fmap :: (a -> b) -> FocusingOn f k s a -> FocusingOn f k s b #

(<$) :: a -> FocusingOn f k s b -> FocusingOn f k s a #

Functor (k (Err e s)) => Functor (FocusingErr e k s) 
Instance details

Defined in Lens.Micro.Mtl.Internal

Methods

fmap :: (a -> b) -> FocusingErr e k s a -> FocusingErr e k s b #

(<$) :: a -> FocusingErr e k s b -> FocusingErr e k s a #

Functor (ContT r m) 
Instance details

Defined in Control.Monad.Trans.Cont

Methods

fmap :: (a -> b) -> ContT r m a -> ContT r m b #

(<$) :: a -> ContT r m b -> ContT r m a #

Functor f => Functor (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> M1 i c f a -> M1 i c f b #

(<$) :: a -> M1 i c f b -> M1 i c f a #

(Functor f, Functor g) => Functor (f :.: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> (f :.: g) a -> (f :.: g) b #

(<$) :: a -> (f :.: g) b -> (f :.: g) a #

(Functor f, Functor g) => Functor (Compose f g)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Compose

Methods

fmap :: (a -> b) -> Compose f g a -> Compose f g b #

(<$) :: a -> Compose f g b -> Compose f g a #

Functor f => Functor (WhenMatched f k x y)

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

fmap :: (a -> b) -> WhenMatched f k x y a -> WhenMatched f k x y b #

(<$) :: a -> WhenMatched f k x y b -> WhenMatched f k x y a #

Monad m => Functor (ProgramT instr fs m) 
Instance details

Defined in Control.Monad.Operational.Higher

Methods

fmap :: (a -> b) -> ProgramT instr fs m a -> ProgramT instr fs m b #

(<$) :: a -> ProgramT instr fs m b -> ProgramT instr fs m a #

Functor m => Functor (RWST r w s m) 
Instance details

Defined in Control.Monad.Trans.RWS.Lazy

Methods

fmap :: (a -> b) -> RWST r w s m a -> RWST r w s m b #

(<$) :: a -> RWST r w s m b -> RWST r w s m a #

Functor (EffectRWS w st m s) 
Instance details

Defined in Lens.Micro.Mtl.Internal

Methods

fmap :: (a -> b) -> EffectRWS w st m s a -> EffectRWS w st m s b #

(<$) :: a -> EffectRWS w st m s b -> EffectRWS w st m s a #

Functor m => Functor (RWST r w s m) 
Instance details

Defined in Control.Monad.Trans.RWS.Strict

Methods

fmap :: (a -> b) -> RWST r w s m a -> RWST r w s m b #

(<$) :: a -> RWST r w s m b -> RWST r w s m a #

(Functor (h1 fs), Functor (h2 fs)) => Functor ((h1 :+: h2) fs) 
Instance details

Defined in Data.ALaCarte

Methods

fmap :: (a -> b) -> (h1 :+: h2) fs a -> (h1 :+: h2) fs b #

(<$) :: a -> (h1 :+: h2) fs b -> (h1 :+: h2) fs a #

mapM :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) #

Map each element of a structure to a monadic action, evaluate these actions from left to right, and collect the results. For a version that ignores the results see mapM_.

sequence :: (Traversable t, Monad m) => t (m a) -> m (t a) #

Evaluate each monadic action in the structure from left to right, and collect the results. For a version that ignores the results see sequence_.

mfilter :: MonadPlus m => (a -> Bool) -> m a -> m a #

Direct MonadPlus equivalent of filter.

Examples

Expand

The filter function is just mfilter specialized to the list monad:

filter = ( mfilter :: (a -> Bool) -> [a] -> [a] )

An example using mfilter with the Maybe monad:

>>> mfilter odd (Just 1)
Just 1
>>> mfilter odd (Just 2)
Nothing

(<$!>) :: Monad m => (a -> b) -> m a -> m b infixl 4 #

Strict version of <$>.

Since: base-4.8.0.0

unless :: Applicative f => Bool -> f () -> f () #

The reverse of when.

replicateM_ :: Applicative m => Int -> m a -> m () #

Like replicateM, but discards the result.

replicateM :: Applicative m => Int -> m a -> m [a] #

replicateM n act performs the action n times, gathering the results.

foldM_ :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m () #

Like foldM, but discards the result.

zipWithM_ :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m () #

zipWithM_ is the extension of zipWithM which ignores the final result.

zipWithM :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m [c] #

The zipWithM function generalizes zipWith to arbitrary applicative functors.

mapAndUnzipM :: Applicative m => (a -> m (b, c)) -> [a] -> m ([b], [c]) #

The mapAndUnzipM function maps its first argument over a list, returning the result as a pair of lists. This function is mainly used with complicated data structures or a state-transforming monad.

forever :: Applicative f => f a -> f b #

Repeat an action indefinitely.

Examples

Expand

A common use of forever is to process input from network sockets, Handles, and channels (e.g. MVar and Chan).

For example, here is how we might implement an echo server, using forever both to listen for client connections on a network socket and to echo client input on client connection handles:

echoServer :: Socket -> IO ()
echoServer socket = forever $ do
  client <- accept socket
  forkFinally (echo client) (\_ -> hClose client)
  where
    echo :: Handle -> IO ()
    echo client = forever $
      hGetLine client >>= hPutStrLn client

(<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c infixr 1 #

Right-to-left composition of Kleisli arrows. (>=>), with the arguments flipped.

Note how this operator resembles function composition (.):

(.)   ::            (b ->   c) -> (a ->   b) -> a ->   c
(<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c

(>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c infixr 1 #

Left-to-right composition of Kleisli arrows.

filterM :: Applicative m => (a -> m Bool) -> [a] -> m [a] #

This generalizes the list-based filter function.

forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b) #

forM is mapM with its arguments flipped. For a version that ignores the results see forM_.

msum :: (Foldable t, MonadPlus m) => t (m a) -> m a #

The sum of a collection of actions, generalizing concat. As of base 4.8.0.0, msum is just asum, specialized to MonadPlus.

sequence_ :: (Foldable t, Monad m) => t (m a) -> m () #

Evaluate each monadic action in the structure from left to right, and ignore the results. For a version that doesn't ignore the results see sequence.

As of base 4.8.0.0, sequence_ is just sequenceA_, specialized to Monad.

forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m () #

forM_ is mapM_ with its arguments flipped. For a version that doesn't ignore the results see forM.

As of base 4.8.0.0, forM_ is just for_, specialized to Monad.

mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m () #

Map each element of a structure to a monadic action, evaluate these actions from left to right, and ignore the results. For a version that doesn't ignore the results see mapM.

As of base 4.8.0.0, mapM_ is just traverse_, specialized to Monad.

void :: Functor f => f a -> f () #

void value discards or ignores the result of evaluation, such as the return value of an IO action.

Examples

Expand

Replace the contents of a Maybe Int with unit:

>>> void Nothing
Nothing
>>> void (Just 3)
Just ()

Replace the contents of an Either Int Int with unit, resulting in an Either Int '()':

>>> void (Left 8675309)
Left 8675309
>>> void (Right 8675309)
Right ()

Replace every element of a list with unit:

>>> void [1,2,3]
[(),(),()]

Replace the second element of a pair with unit:

>>> void (1,2)
(1,())

Discard the result of an IO action:

>>> mapM print [1,2]
1
2
[(),()]
>>> void $ mapM print [1,2]
1
2

ap :: Monad m => m (a -> b) -> m a -> m b #

In many situations, the liftM operations can be replaced by uses of ap, which promotes function application.

return f `ap` x1 `ap` ... `ap` xn

is equivalent to

liftMn f x1 x2 ... xn

liftM5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m a5 -> m r #

Promote a function to a monad, scanning the monadic arguments from left to right (cf. liftM2).

liftM4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m r #

Promote a function to a monad, scanning the monadic arguments from left to right (cf. liftM2).

liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r #

Promote a function to a monad, scanning the monadic arguments from left to right (cf. liftM2).

liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r #

Promote a function to a monad, scanning the monadic arguments from left to right. For example,

liftM2 (+) [0,1] [0,2] = [0,2,1,3]
liftM2 (+) (Just 1) Nothing = Nothing

liftM :: Monad m => (a1 -> r) -> m a1 -> m r #

Promote a function to a monad.

when :: Applicative f => Bool -> f () -> f () #

Conditional execution of Applicative expressions. For example,

when debug (putStrLn "Debugging")

will output the string Debugging if the Boolean value debug is True, and otherwise do nothing.

(=<<) :: Monad m => (a -> m b) -> m a -> m b infixr 1 #

Same as >>=, but with the arguments interchanged.

class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where #

Monads that also support choice and failure.

Minimal complete definition

Nothing

Methods

mzero :: m a #

The identity of mplus. It should also satisfy the equations

mzero >>= f  =  mzero
v >> mzero   =  mzero

The default definition is

mzero = empty

mplus :: m a -> m a -> m a #

An associative operation. The default definition is

mplus = (<|>)
Instances
MonadPlus []

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mzero :: [a] #

mplus :: [a] -> [a] -> [a] #

MonadPlus Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mzero :: Maybe a #

mplus :: Maybe a -> Maybe a -> Maybe a #

MonadPlus IO

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

mzero :: IO a #

mplus :: IO a -> IO a -> IO a #

MonadPlus Option

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

mzero :: Option a #

mplus :: Option a -> Option a -> Option a #

MonadPlus ReadP

Since: base-2.1

Instance details

Defined in Text.ParserCombinators.ReadP

Methods

mzero :: ReadP a #

mplus :: ReadP a -> ReadP a -> ReadP a #

MonadPlus Seq 
Instance details

Defined in Data.Sequence.Internal

Methods

mzero :: Seq a #

mplus :: Seq a -> Seq a -> Seq a #

MonadPlus SmallArray 
Instance details

Defined in Data.Primitive.SmallArray

MonadPlus Array 
Instance details

Defined in Data.Primitive.Array

Methods

mzero :: Array a #

mplus :: Array a -> Array a -> Array a #

MonadPlus Vector 
Instance details

Defined in Data.Vector

Methods

mzero :: Vector a #

mplus :: Vector a -> Vector a -> Vector a #

MonadPlus P

Since: base-2.1

Instance details

Defined in Text.ParserCombinators.ReadP

Methods

mzero :: P a #

mplus :: P a -> P a -> P a #

() :=> (MonadPlus []) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- MonadPlus [] #

() :=> (MonadPlus Maybe) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- MonadPlus Maybe #

MonadPlus (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

mzero :: U1 a #

mplus :: U1 a -> U1 a -> U1 a #

(ArrowApply a, ArrowPlus a) => MonadPlus (ArrowMonad a)

Since: base-4.6.0.0

Instance details

Defined in Control.Arrow

Methods

mzero :: ArrowMonad a a0 #

mplus :: ArrowMonad a a0 -> ArrowMonad a a0 -> ArrowMonad a a0 #

MonadPlus (Proxy :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Proxy

Methods

mzero :: Proxy a #

mplus :: Proxy a -> Proxy a -> Proxy a #

Monad m => MonadPlus (ExceptionT m) 
Instance details

Defined in Control.Monad.Exception

Methods

mzero :: ExceptionT m a #

mplus :: ExceptionT m a -> ExceptionT m a -> ExceptionT m a #

Monad m => MonadPlus (ListT m) 
Instance details

Defined in Control.Monad.Trans.List

Methods

mzero :: ListT m a #

mplus :: ListT m a -> ListT m a -> ListT m a #

Monad m => MonadPlus (MaybeT m) 
Instance details

Defined in Control.Monad.Trans.Maybe

Methods

mzero :: MaybeT m a #

mplus :: MaybeT m a -> MaybeT m a -> MaybeT m a #

(MonadPlus m) :=> (Alternative (WrappedMonad m)) 
Instance details

Defined in Data.Constraint

MonadPlus f => MonadPlus (Rec1 f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

mzero :: Rec1 f a #

mplus :: Rec1 f a -> Rec1 f a -> Rec1 f a #

MonadPlus f => MonadPlus (Ap f)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Methods

mzero :: Ap f a #

mplus :: Ap f a -> Ap f a -> Ap f a #

MonadPlus f => MonadPlus (Alt f)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

mzero :: Alt f a #

mplus :: Alt f a -> Alt f a -> Alt f a #

MonadPlus m => MonadPlus (StateT s m) 
Instance details

Defined in Control.Monad.Trans.State.Lazy

Methods

mzero :: StateT s m a #

mplus :: StateT s m a -> StateT s m a -> StateT s m a #

MonadPlus m => MonadPlus (IdentityT m) 
Instance details

Defined in Control.Monad.Trans.Identity

Methods

mzero :: IdentityT m a #

mplus :: IdentityT m a -> IdentityT m a -> IdentityT m a #

(Monad m, Error e) => MonadPlus (ErrorT e m) 
Instance details

Defined in Control.Monad.Trans.Error

Methods

mzero :: ErrorT e m a #

mplus :: ErrorT e m a -> ErrorT e m a -> ErrorT e m a #

(Monad m, Monoid e) => MonadPlus (ExceptT e m) 
Instance details

Defined in Control.Monad.Trans.Except

Methods

mzero :: ExceptT e m a #

mplus :: ExceptT e m a -> ExceptT e m a -> ExceptT e m a #

MonadPlus m => MonadPlus (StateT s m) 
Instance details

Defined in Control.Monad.Trans.State.Strict

Methods

mzero :: StateT s m a #

mplus :: StateT s m a -> StateT s m a -> StateT s m a #

(Monoid w, MonadPlus m) => MonadPlus (WriterT w m) 
Instance details

Defined in Control.Monad.Trans.Writer.Lazy

Methods

mzero :: WriterT w m a #

mplus :: WriterT w m a -> WriterT w m a -> WriterT w m a #

(Monoid w, MonadPlus m) => MonadPlus (WriterT w m) 
Instance details

Defined in Control.Monad.Trans.Writer.Strict

Methods

mzero :: WriterT w m a #

mplus :: WriterT w m a -> WriterT w m a -> WriterT w m a #

Class (Monad f, Alternative f) (MonadPlus f) 
Instance details

Defined in Data.Constraint

Methods

cls :: MonadPlus f :- (Monad f, Alternative f) #

(MonadPlus f, MonadPlus g) => MonadPlus (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

mzero :: (f :*: g) a #

mplus :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a #

(MonadPlus f, MonadPlus g) => MonadPlus (Product f g)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

Methods

mzero :: Product f g a #

mplus :: Product f g a -> Product f g a -> Product f g a #

MonadPlus m => MonadPlus (ReaderT r m) 
Instance details

Defined in Control.Monad.Trans.Reader

Methods

mzero :: ReaderT r m a #

mplus :: ReaderT r m a -> ReaderT r m a -> ReaderT r m a #

MonadPlus f => MonadPlus (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

mzero :: M1 i c f a #

mplus :: M1 i c f a -> M1 i c f a -> M1 i c f a #

(Monoid w, MonadPlus m) => MonadPlus (RWST r w s m) 
Instance details

Defined in Control.Monad.Trans.RWS.Lazy

Methods

mzero :: RWST r w s m a #

mplus :: RWST r w s m a -> RWST r w s m a -> RWST r w s m a #

(Monoid w, MonadPlus m) => MonadPlus (RWST r w s m) 
Instance details

Defined in Control.Monad.Trans.RWS.Strict

Methods

mzero :: RWST r w s m a #

mplus :: RWST r w s m a -> RWST r w s m a -> RWST r w s m a #

Types

Syntax

data Data a Source #

Instances
FreeExp Data Source # 
Instance details

Defined in Feldspar.Representation

Associated Types

type FreePred Data :: Type -> Constraint #

Methods

constExp :: FreePred Data a => a -> Data a #

varExp :: FreePred Data a => VarId -> Data a #

EvalExp Data Source # 
Instance details

Defined in Feldspar.Representation

Methods

evalExp :: Data a -> a #

(Bounded a, Type a) => Bounded (Data a) Source # 
Instance details

Defined in Feldspar.Frontend

Methods

minBound :: Data a #

maxBound :: Data a #

(Floating a, PrimType a) => Floating (Data a) Source # 
Instance details

Defined in Feldspar.Frontend

Methods

pi :: Data a #

exp :: Data a -> Data a #

log :: Data a -> Data a #

sqrt :: Data a -> Data a #

(**) :: Data a -> Data a -> Data a #

logBase :: Data a -> Data a -> Data a #

sin :: Data a -> Data a #

cos :: Data a -> Data a #

tan :: Data a -> Data a #

asin :: Data a -> Data a #

acos :: Data a -> Data a #

atan :: Data a -> Data a #

sinh :: Data a -> Data a #

cosh :: Data a -> Data a #

tanh :: Data a -> Data a #

asinh :: Data a -> Data a #

acosh :: Data a -> Data a #

atanh :: Data a -> Data a #

log1p :: Data a -> Data a #

expm1 :: Data a -> Data a #

log1pexp :: Data a -> Data a #

log1mexp :: Data a -> Data a #

(Fractional a, PrimType a) => Fractional (Data a) Source # 
Instance details

Defined in Feldspar.Frontend

Methods

(/) :: Data a -> Data a -> Data a #

recip :: Data a -> Data a #

fromRational :: Rational -> Data a #

(Num a, PrimType a) => Num (Data a) Source # 
Instance details

Defined in Feldspar.Frontend

Methods

(+) :: Data a -> Data a -> Data a #

(-) :: Data a -> Data a -> Data a #

(*) :: Data a -> Data a -> Data a #

negate :: Data a -> Data a #

abs :: Data a -> Data a #

signum :: Data a -> Data a #

fromInteger :: Integer -> Data a #

Syntactic (Data a) Source #

Declaring Data as syntactic sugar

Instance details

Defined in Feldspar.Representation

Associated Types

type Domain (Data a) :: Type -> Type #

type Internal (Data a) :: Type #

Methods

desugar :: Data a -> ASTF (Domain (Data a)) (Internal (Data a)) #

sugar :: ASTF (Domain (Data a)) (Internal (Data a)) -> Data a #

MarshalFeld (Data Double) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data Double) :: Type Source #

MarshalFeld (Data Float) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data Float) :: Type Source #

MarshalFeld (Data Int8) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data Int8) :: Type Source #

MarshalFeld (Data Int16) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data Int16) :: Type Source #

MarshalFeld (Data Int32) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data Int32) :: Type Source #

MarshalFeld (Data Int64) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data Int64) :: Type Source #

MarshalFeld (Data Word8) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data Word8) :: Type Source #

MarshalFeld (Data Word16) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data Word16) :: Type Source #

MarshalFeld (Data Word32) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data Word32) :: Type Source #

MarshalFeld (Data Word64) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data Word64) :: Type Source #

MarshalFeld (Data (Complex Double)) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data (Complex Double)) :: Type Source #

MarshalFeld (Data (Complex Float)) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data (Complex Float)) :: Type Source #

PrimType' a => BulkTransferable (Data a) Source # 
Instance details

Defined in Feldspar.Run.Concurrent

Associated Types

type ContainerType (Data a) :: Type Source #

PrimType' a => Transferable (Data a) Source # 
Instance details

Defined in Feldspar.Run.Concurrent

Associated Types

type SizeSpec (Data a) :: Type Source #

Type a => Storable (Data a) Source # 
Instance details

Defined in Feldspar.Data.Storable

Associated Types

type StoreRep (Data a) :: Type Source #

type StoreSize (Data a) :: Type Source #

Methods

newStoreRep :: MonadComp m => proxy (Data a) -> StoreSize (Data a) -> m (StoreRep (Data a)) Source #

initStoreRep :: MonadComp m => Data a -> m (StoreRep (Data a)) Source #

readStoreRep :: MonadComp m => StoreRep (Data a) -> m (Data a) Source #

unsafeFreezeStoreRep :: MonadComp m => StoreRep (Data a) -> m (Data a) Source #

writeStoreRep :: MonadComp m => StoreRep (Data a) -> Data a -> m () Source #

Type a => Forcible (Data a) Source # 
Instance details

Defined in Feldspar.Data.Storable

Associated Types

type ValueRep (Data a) :: Type Source #

Methods

toValue :: MonadComp m => Data a -> m (ValueRep (Data a)) Source #

fromValue :: ValueRep (Data a) -> Data a Source #

(Formattable a, PrimType a, PrintfType r) => PrintfType (Data a -> r) Source # 
Instance details

Defined in Feldspar.Run.Frontend

Methods

fprf :: Handle -> String -> [PrintfArg Data] -> Data a -> r Source #

Syntactic (Struct PrimType' Data a) Source # 
Instance details

Defined in Feldspar.Representation

Associated Types

type Domain (Struct PrimType' Data a) :: Type -> Type #

type Internal (Struct PrimType' Data a) :: Type #

type FreePred Data Source # 
Instance details

Defined in Feldspar.Representation

type Internal (Data a) Source # 
Instance details

Defined in Feldspar.Representation

type Internal (Data a) = a
type Domain (Data a) Source # 
Instance details

Defined in Feldspar.Representation

type HaskellRep (Data Double) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data Float) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data Int8) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data Int16) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data Int32) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data Int64) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data Word8) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data Word16) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data Word32) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data Word64) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data (Complex Double)) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data (Complex Float)) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type ContainerType (Data a) Source # 
Instance details

Defined in Feldspar.Run.Concurrent

type ContainerType (Data a) = DArr a
type SizeSpec (Data a) Source # 
Instance details

Defined in Feldspar.Run.Concurrent

type StoreRep (Data a) Source # 
Instance details

Defined in Feldspar.Data.Storable

type StoreRep (Data a) = DRef a
type StoreSize (Data a) Source # 
Instance details

Defined in Feldspar.Data.Storable

type StoreSize (Data a) = ()
type ValueRep (Data a) Source # 
Instance details

Defined in Feldspar.Data.Storable

type ValueRep (Data a) = Data a
type Internal (Struct PrimType' Data a) Source # 
Instance details

Defined in Feldspar.Representation

type Domain (Struct PrimType' Data a) Source # 
Instance details

Defined in Feldspar.Representation

class (Syntactic a, Domain a ~ FeldDomain, Type (Internal a)) => Syntax a Source #

Specialization of the Syntactic class for the Feldspar domain

Instances
(Syntactic a, Domain a ~ FeldDomain, Type (Internal a)) => Syntax a Source # 
Instance details

Defined in Feldspar.Representation

data Comp a Source #

Monad for computational effects: mutable data structures and control flow

Instances
Monad Comp Source # 
Instance details

Defined in Feldspar.Representation

Methods

(>>=) :: Comp a -> (a -> Comp b) -> Comp b #

(>>) :: Comp a -> Comp b -> Comp b #

return :: a -> Comp a #

fail :: String -> Comp a #

Functor Comp Source # 
Instance details

Defined in Feldspar.Representation

Methods

fmap :: (a -> b) -> Comp a -> Comp b #

(<$) :: a -> Comp b -> Comp a #

Applicative Comp Source # 
Instance details

Defined in Feldspar.Representation

Methods

pure :: a -> Comp a #

(<*>) :: Comp (a -> b) -> Comp a -> Comp b #

liftA2 :: (a -> b -> c) -> Comp a -> Comp b -> Comp c #

(*>) :: Comp a -> Comp b -> Comp b #

(<*) :: Comp a -> Comp b -> Comp a #

MonadComp Comp Source # 
Instance details

Defined in Feldspar.Frontend

Methods

liftComp :: Comp a -> Comp a Source #

iff :: Data Bool -> Comp () -> Comp () -> Comp () Source #

for :: (Integral n, PrimType n) => IxRange (Data n) -> (Data n -> Comp ()) -> Comp () Source #

while :: Comp (Data Bool) -> Comp () -> Comp () Source #

MonadRun Comp Source # 
Instance details

Defined in Feldspar.Run.Representation

Methods

liftRun :: Comp a -> Run a Source #

Syntax a => Storable (Push Comp a) Source # 
Instance details

Defined in Feldspar.Data.Storable

Associated Types

type StoreRep (Push Comp a) :: Type Source #

type StoreSize (Push Comp a) :: Type Source #

type StoreRep (Push Comp a) Source # 
Instance details

Defined in Feldspar.Data.Storable

type StoreRep (Push Comp a) = (DRef Length, Arr a)
type StoreSize (Push Comp a) Source # 
Instance details

Defined in Feldspar.Data.Storable

Object-language types

module Data.Int

module Data.Word

data Complex a #

Complex numbers are an algebraic type.

For a complex number z, abs z is a number with the magnitude of z, but oriented in the positive real direction, whereas signum z has the phase of z, but unit magnitude.

The Foldable and Traversable instances traverse the real part first.

Note that Complex's instances inherit the deficiencies from the type parameter's. For example, Complex Float's Ord instance has similar problems to Float's.

Constructors

!a :+ !a infix 6

forms a complex number from its real and imaginary rectangular components.

Instances
Monad Complex

Since: base-4.9.0.0

Instance details

Defined in Data.Complex

Methods

(>>=) :: Complex a -> (a -> Complex b) -> Complex b #

(>>) :: Complex a -> Complex b -> Complex b #

return :: a -> Complex a #

fail :: String -> Complex a #

Functor Complex

Since: base-4.9.0.0

Instance details

Defined in Data.Complex

Methods

fmap :: (a -> b) -> Complex a -> Complex b #

(<$) :: a -> Complex b -> Complex a #

Applicative Complex

Since: base-4.9.0.0

Instance details

Defined in Data.Complex

Methods

pure :: a -> Complex a #

(<*>) :: Complex (a -> b) -> Complex a -> Complex b #

liftA2 :: (a -> b -> c) -> Complex a -> Complex b -> Complex c #

(*>) :: Complex a -> Complex b -> Complex b #

(<*) :: Complex a -> Complex b -> Complex a #

Foldable Complex

Since: base-4.9.0.0

Instance details

Defined in Data.Complex

Methods

fold :: Monoid m => Complex m -> m #

foldMap :: Monoid m => (a -> m) -> Complex a -> m #

foldr :: (a -> b -> b) -> b -> Complex a -> b #

foldr' :: (a -> b -> b) -> b -> Complex a -> b #

foldl :: (b -> a -> b) -> b -> Complex a -> b #

foldl' :: (b -> a -> b) -> b -> Complex a -> b #

foldr1 :: (a -> a -> a) -> Complex a -> a #

foldl1 :: (a -> a -> a) -> Complex a -> a #

toList :: Complex a -> [a] #

null :: Complex a -> Bool #

length :: Complex a -> Int #

elem :: Eq a => a -> Complex a -> Bool #

maximum :: Ord a => Complex a -> a #

minimum :: Ord a => Complex a -> a #

sum :: Num a => Complex a -> a #

product :: Num a => Complex a -> a #

Traversable Complex

Since: base-4.9.0.0

Instance details

Defined in Data.Complex

Methods

traverse :: Applicative f => (a -> f b) -> Complex a -> f (Complex b) #

sequenceA :: Applicative f => Complex (f a) -> f (Complex a) #

mapM :: Monad m => (a -> m b) -> Complex a -> m (Complex b) #

sequence :: Monad m => Complex (m a) -> m (Complex a) #

Unbox a => Vector Vector (Complex a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Unbox a => MVector MVector (Complex a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Eq a => Eq (Complex a)

Since: base-2.1

Instance details

Defined in Data.Complex

Methods

(==) :: Complex a -> Complex a -> Bool #

(/=) :: Complex a -> Complex a -> Bool #

RealFloat a => Floating (Complex a)

Since: base-2.1

Instance details

Defined in Data.Complex

Methods

pi :: Complex a #

exp :: Complex a -> Complex a #

log :: Complex a -> Complex a #

sqrt :: Complex a -> Complex a #

(**) :: Complex a -> Complex a -> Complex a #

logBase :: Complex a -> Complex a -> Complex a #

sin :: Complex a -> Complex a #

cos :: Complex a -> Complex a #

tan :: Complex a -> Complex a #

asin :: Complex a -> Complex a #

acos :: Complex a -> Complex a #

atan :: Complex a -> Complex a #

sinh :: Complex a -> Complex a #

cosh :: Complex a -> Complex a #

tanh :: Complex a -> Complex a #

asinh :: Complex a -> Complex a #

acosh :: Complex a -> Complex a #

atanh :: Complex a -> Complex a #

log1p :: Complex a -> Complex a #

expm1 :: Complex a -> Complex a #

log1pexp :: Complex a -> Complex a #

log1mexp :: Complex a -> Complex a #

RealFloat a => Fractional (Complex a)

Since: base-2.1

Instance details

Defined in Data.Complex

Methods

(/) :: Complex a -> Complex a -> Complex a #

recip :: Complex a -> Complex a #

fromRational :: Rational -> Complex a #

Data a => Data (Complex a)

Since: base-2.1

Instance details

Defined in Data.Complex

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Complex a -> c (Complex a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Complex a) #

toConstr :: Complex a -> Constr #

dataTypeOf :: Complex a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Complex a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Complex a)) #

gmapT :: (forall b. Data b => b -> b) -> Complex a -> Complex a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Complex a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Complex a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Complex a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Complex a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Complex a -> m (Complex a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Complex a -> m (Complex a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Complex a -> m (Complex a) #

RealFloat a => Num (Complex a)

Since: base-2.1

Instance details

Defined in Data.Complex

Methods

(+) :: Complex a -> Complex a -> Complex a #

(-) :: Complex a -> Complex a -> Complex a #

(*) :: Complex a -> Complex a -> Complex a #

negate :: Complex a -> Complex a #

abs :: Complex a -> Complex a #

signum :: Complex a -> Complex a #

fromInteger :: Integer -> Complex a #

Read a => Read (Complex a)

Since: base-2.1

Instance details

Defined in Data.Complex

Show a => Show (Complex a)

Since: base-2.1

Instance details

Defined in Data.Complex

Methods

showsPrec :: Int -> Complex a -> ShowS #

show :: Complex a -> String #

showList :: [Complex a] -> ShowS #

Generic (Complex a) 
Instance details

Defined in Data.Complex

Associated Types

type Rep (Complex a) :: Type -> Type #

Methods

from :: Complex a -> Rep (Complex a) x #

to :: Rep (Complex a) x -> Complex a #

Storable a => Storable (Complex a)

Since: base-4.8.0.0

Instance details

Defined in Data.Complex

Methods

sizeOf :: Complex a -> Int #

alignment :: Complex a -> Int #

peekElemOff :: Ptr (Complex a) -> Int -> IO (Complex a) #

pokeElemOff :: Ptr (Complex a) -> Int -> Complex a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (Complex a) #

pokeByteOff :: Ptr b -> Int -> Complex a -> IO () #

peek :: Ptr (Complex a) -> IO (Complex a) #

poke :: Ptr (Complex a) -> Complex a -> IO () #

(Default a, RealFloat a) => Default (Complex a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Complex a #

Unbox a => Unbox (Complex a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Inhabited (Complex Double) Source # 
Instance details

Defined in Data.Inhabited

Inhabited (Complex Float) Source # 
Instance details

Defined in Data.Inhabited

PrimType' (Complex Double) Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' (Complex Float) Source # 
Instance details

Defined in Feldspar.Primitive.Representation

Type (Complex Double) Source # 
Instance details

Defined in Feldspar.Representation

Type (Complex Float) Source # 
Instance details

Defined in Feldspar.Representation

MarshalFeld (Data (Complex Double)) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data (Complex Double)) :: Type Source #

MarshalFeld (Data (Complex Float)) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Data (Complex Float)) :: Type Source #

MarshalHaskell (Complex Double) Source # 
Instance details

Defined in Feldspar.Run.Marshal

MarshalHaskell (Complex Float) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Generic1 Complex 
Instance details

Defined in Data.Complex

Associated Types

type Rep1 Complex :: k -> Type #

Methods

from1 :: Complex a -> Rep1 Complex a #

to1 :: Rep1 Complex a -> Complex a #

(Eq a) :=> (Eq (Complex a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Eq a :- Eq (Complex a) #

(Read a) :=> (Read (Complex a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Read a :- Read (Complex a) #

(RealFloat a) :=> (Num (Complex a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: RealFloat a :- Num (Complex a) #

(RealFloat a) :=> (Fractional (Complex a)) 
Instance details

Defined in Data.Constraint

(RealFloat a) :=> (Floating (Complex a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: RealFloat a :- Floating (Complex a) #

(Show a) :=> (Show (Complex a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Show a :- Show (Complex a) #

Each (Complex a) (Complex b) a b 
Instance details

Defined in Lens.Micro.Internal

Methods

each :: Traversal (Complex a) (Complex b) a b #

newtype MVector s (Complex a) 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Complex a) = MV_Complex (MVector s (a, a))
type Rep (Complex a)

Since: base-4.9.0.0

Instance details

Defined in Data.Complex

newtype Vector (Complex a) 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Complex a) = V_Complex (Vector (a, a))
type HaskellRep (Data (Complex Double)) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Data (Complex Float)) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type Rep1 Complex

Since: base-4.9.0.0

Instance details

Defined in Data.Complex

class (Eq a, Show a, Typeable a) => PrimType' a Source #

Primitive supported types

Minimal complete definition

primTypeRep

Instances
CompTypeClass PrimType' Source # 
Instance details

Defined in Feldspar.Primitive.Backend.C

Methods

compType :: (PrimType' a, MonadC m) => proxy1 PrimType' -> proxy2 a -> m Type #

compLit :: (PrimType' a, MonadC m) => proxy PrimType' -> a -> m Exp #

PrimType' Bool Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' Double Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' Float Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' Int8 Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' Int16 Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' Int32 Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' Int64 Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' Word8 Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' Word16 Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' Word32 Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' Word64 Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' (Complex Double) Source # 
Instance details

Defined in Feldspar.Primitive.Representation

PrimType' (Complex Float) Source # 
Instance details

Defined in Feldspar.Primitive.Representation

InterpBi (AssertCMD :: (Type -> Type, (Type -> Type, (Type -> Constraint, Type))) -> Type -> Type) IO (Param1 PrimType') Source # 
Instance details

Defined in Feldspar.Representation

Methods

interpBi :: AssertCMD (IO, (IO, Param1 PrimType')) a -> IO a #

Syntactic (Struct PrimType' Data a) Source # 
Instance details

Defined in Feldspar.Representation

Associated Types

type Domain (Struct PrimType' Data a) :: Type -> Type #

type Internal (Struct PrimType' Data a) :: Type #

type Internal (Struct PrimType' Data a) Source # 
Instance details

Defined in Feldspar.Representation

type Domain (Struct PrimType' Data a) Source # 
Instance details

Defined in Feldspar.Representation

class (PrimType' a, Type a) => PrimType a Source #

Alias for the conjunction of PrimType' and Type

Instances
CompTypeClass PrimType Source # 
Instance details

Defined in Feldspar.Representation

Methods

compType :: (PrimType a, MonadC m) => proxy1 PrimType -> proxy2 a -> m Type #

compLit :: (PrimType a, MonadC m) => proxy PrimType -> a -> m Exp #

(PrimType' a, Type a) => PrimType a Source # 
Instance details

Defined in Feldspar.Representation

class (Eq a, Show a, Typeable a, Inhabited a) => Type a Source #

Supported types

Minimal complete definition

typeRep

Instances
Type Bool Source # 
Instance details

Defined in Feldspar.Representation

Type Double Source # 
Instance details

Defined in Feldspar.Representation

Type Float Source # 
Instance details

Defined in Feldspar.Representation

Type Int8 Source # 
Instance details

Defined in Feldspar.Representation

Type Int16 Source # 
Instance details

Defined in Feldspar.Representation

Type Int32 Source # 
Instance details

Defined in Feldspar.Representation

Type Int64 Source # 
Instance details

Defined in Feldspar.Representation

Type Word8 Source # 
Instance details

Defined in Feldspar.Representation

Type Word16 Source # 
Instance details

Defined in Feldspar.Representation

Type Word32 Source # 
Instance details

Defined in Feldspar.Representation

Type Word64 Source # 
Instance details

Defined in Feldspar.Representation

Type (Complex Double) Source # 
Instance details

Defined in Feldspar.Representation

Type (Complex Float) Source # 
Instance details

Defined in Feldspar.Representation

(Type a, Type b) => Type (a, b) Source # 
Instance details

Defined in Feldspar.Representation

Methods

typeRep :: TypeRep (a, b) Source #

data Ref a Source #

Mutable variable

Instances
Eq (Ref a) Source # 
Instance details

Defined in Feldspar.Representation

Methods

(==) :: Ref a -> Ref a -> Bool #

(/=) :: Ref a -> Ref a -> Bool #

type DRef a = Ref (Data a) Source #

Reference specialized to Data elements

data Arr a Source #

Mutable array

Instances
Eq (Arr a) Source #

== checks if two Arr use the same physical array. The length and offset are ignored.

Instance details

Defined in Feldspar.Representation

Methods

(==) :: Arr a -> Arr a -> Bool #

(/=) :: Arr a -> Arr a -> Bool #

Slicable (Arr a) Source # 
Instance details

Defined in Feldspar.Frontend

Methods

slice :: Data Index -> Data Length -> Arr a -> Arr a Source #

Finite (Arr a) Source # 
Instance details

Defined in Feldspar.Frontend

Methods

length :: Arr a -> Data Length Source #

(MarshalHaskell (Internal a), MarshalFeld a, Syntax a) => MarshalFeld (Arr a) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (Arr a) :: Type Source #

Methods

fwrite :: Handle -> Arr a -> Run () Source #

fread :: Handle -> Run (Arr a) Source #

(Syntax a, BulkTransferable a, ContainerType a ~ Arr a) => Transferable (Arr a) Source # 
Instance details

Defined in Feldspar.Data.Vector

Associated Types

type SizeSpec (Arr a) :: Type Source #

type HaskellRep (Arr a) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (Arr a) = [Internal a]
type SizeSpec (Arr a) Source # 
Instance details

Defined in Feldspar.Data.Vector

type DArr a = Arr (Data a) Source #

Array specialized to Data elements

data IArr a Source #

Immutable array

Instances
MonadComp m => Manifestable2 m (Manifest2 a) a Source #

manifest2 and manifestFresh2 are no-ops. manifestStore2 does a proper arrCopy.

Instance details

Defined in Feldspar.Data.Vector

MonadComp m => Manifestable m (Manifest a) a Source #

manifest and manifestFresh are no-ops. manifestStore does a proper arrCopy.

Instance details

Defined in Feldspar.Data.Vector

Methods

manifest :: Arr a -> Manifest a -> m (Manifest a) Source #

manifestFresh :: Manifest a -> m (Manifest a) Source #

manifestStore :: Arr a -> Manifest a -> m () Source #

(Syntax a, MonadComp m) => Seqy m (Manifest a) a Source # 
Instance details

Defined in Feldspar.Data.Vector

Methods

toSeq :: Manifest a -> Seq m a Source #

(Syntax a, MonadComp m) => Pushy2 m (Manifest2 a) a Source # 
Instance details

Defined in Feldspar.Data.Vector

Methods

toPush2 :: Manifest2 a -> Push2 m a Source #

(Syntax a, MonadComp m) => Pushy2 m (Manifest a) a Source #

Convert to a Push2 with a single row

Instance details

Defined in Feldspar.Data.Vector

Methods

toPush2 :: Manifest a -> Push2 m a Source #

(Syntax a, MonadComp m) => Pushy m (Manifest a) a Source # 
Instance details

Defined in Feldspar.Data.Vector

Methods

toPush :: Manifest a -> Push m a Source #

Slicable (IArr a) Source # 
Instance details

Defined in Feldspar.Frontend

Methods

slice :: Data Index -> Data Length -> IArr a -> IArr a Source #

Finite (IArr a) Source # 
Instance details

Defined in Feldspar.Frontend

Methods

length :: IArr a -> Data Length Source #

Syntax a => Indexed (IArr a) Source # 
Instance details

Defined in Feldspar.Frontend

Associated Types

type IndexedElem (IArr a) :: Type Source #

Methods

(!) :: IArr a -> Data Index -> IndexedElem (IArr a) Source #

(MarshalHaskell (Internal a), MarshalFeld a, Syntax a) => MarshalFeld (IArr a) Source # 
Instance details

Defined in Feldspar.Run.Marshal

Associated Types

type HaskellRep (IArr a) :: Type Source #

Methods

fwrite :: Handle -> IArr a -> Run () Source #

fread :: Handle -> Run (IArr a) Source #

(Syntax a, BulkTransferable a, ContainerType a ~ Arr a) => Transferable (IArr a) Source # 
Instance details

Defined in Feldspar.Data.Vector

Associated Types

type SizeSpec (IArr a) :: Type Source #

Finite2 (Manifest a) Source #

Treated as a row vector

Instance details

Defined in Feldspar.Data.Vector

Syntax a => Storable (Manifest2 a) Source # 
Instance details

Defined in Feldspar.Data.Storable

Associated Types

type StoreRep (Manifest2 a) :: Type Source #

type StoreSize (Manifest2 a) :: Type Source #

Syntax a => Storable (Manifest a) Source # 
Instance details

Defined in Feldspar.Data.Storable

Associated Types

type StoreRep (Manifest a) :: Type Source #

type StoreSize (Manifest a) :: Type Source #

ViewManifest2 (Manifest2 a) a Source # 
Instance details

Defined in Feldspar.Data.Vector

ViewManifest (Manifest a) a Source # 
Instance details

Defined in Feldspar.Data.Vector

Syntax a => Pully2 (Manifest a) a Source #

Convert to a Pull2 with a single row

Instance details

Defined in Feldspar.Data.Vector

Methods

toPull2 :: Manifest a -> Pull2 a Source #

type IndexedElem (IArr a) Source # 
Instance details

Defined in Feldspar.Frontend

type IndexedElem (IArr a) = a
type HaskellRep (IArr a) Source # 
Instance details

Defined in Feldspar.Run.Marshal

type HaskellRep (IArr a) = [Internal a]
type SizeSpec (IArr a) Source # 
Instance details

Defined in Feldspar.Data.Vector

type StoreRep (Manifest2 a) Source # 
Instance details

Defined in Feldspar.Data.Storable

type StoreRep (Manifest a) Source # 
Instance details

Defined in Feldspar.Data.Storable

type StoreRep (Manifest a) = (DRef Length, Arr a)
type StoreSize (Manifest2 a) Source # 
Instance details

Defined in Feldspar.Data.Storable

type StoreSize (Manifest a) Source # 
Instance details

Defined in Feldspar.Data.Storable

type DIArr a = IArr (Data a) Source #

Immutable array specialized to Data elements

class Inhabited a Source #

Inhabited types

Minimal complete definition

example

Instances
Inhabited Bool Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: Bool Source #

Inhabited Double Source # 
Instance details

Defined in Data.Inhabited

Inhabited Float Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: Float Source #

Inhabited Int8 Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: Int8 Source #

Inhabited Int16 Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: Int16 Source #

Inhabited Int32 Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: Int32 Source #

Inhabited Int64 Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: Int64 Source #

Inhabited Word8 Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: Word8 Source #

Inhabited Word16 Source # 
Instance details

Defined in Data.Inhabited

Inhabited Word32 Source # 
Instance details

Defined in Data.Inhabited

Inhabited Word64 Source # 
Instance details

Defined in Data.Inhabited

Inhabited (Complex Double) Source # 
Instance details

Defined in Data.Inhabited

Inhabited (Complex Float) Source # 
Instance details

Defined in Data.Inhabited

(Inhabited a, Inhabited b) => Inhabited (a, b) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b) Source #

(Inhabited a, Inhabited b, Inhabited c) => Inhabited (a, b, c) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d) => Inhabited (a, b, c, d) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e) => Inhabited (a, b, c, d, e) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e, Inhabited f) => Inhabited (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e, f) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e, Inhabited f, Inhabited g) => Inhabited (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e, f, g) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e, Inhabited f, Inhabited g, Inhabited h) => Inhabited (a, b, c, d, e, f, g, h) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e, f, g, h) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e, Inhabited f, Inhabited g, Inhabited h, Inhabited i) => Inhabited (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e, f, g, h, i) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e, Inhabited f, Inhabited g, Inhabited h, Inhabited i, Inhabited j) => Inhabited (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e, f, g, h, i, j) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e, Inhabited f, Inhabited g, Inhabited h, Inhabited i, Inhabited j, Inhabited k) => Inhabited (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e, f, g, h, i, j, k) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e, Inhabited f, Inhabited g, Inhabited h, Inhabited i, Inhabited j, Inhabited k, Inhabited l) => Inhabited (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e, f, g, h, i, j, k, l) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e, Inhabited f, Inhabited g, Inhabited h, Inhabited i, Inhabited j, Inhabited k, Inhabited l, Inhabited m) => Inhabited (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e, Inhabited f, Inhabited g, Inhabited h, Inhabited i, Inhabited j, Inhabited k, Inhabited l, Inhabited m, Inhabited n) => Inhabited (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

(Inhabited a, Inhabited b, Inhabited c, Inhabited d, Inhabited e, Inhabited f, Inhabited g, Inhabited h, Inhabited i, Inhabited j, Inhabited k, Inhabited l, Inhabited m, Inhabited n, Inhabited o) => Inhabited (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Defined in Data.Inhabited

Methods

example :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #

class Syntactic a #

It is usually assumed that (desugar (sugar a)) has the same meaning as a.

Minimal complete definition

desugar, sugar

Instances
Syntactic () Source # 
Instance details

Defined in Feldspar.Frontend

Associated Types

type Domain () :: Type -> Type #

type Internal () :: Type #

Methods

desugar :: () -> ASTF (Domain ()) (Internal ()) #

sugar :: ASTF (Domain ()) (Internal ()) -> () #

Syntactic (Prim a) Source # 
Instance details

Defined in Feldspar.Primitive.Representation

Associated Types

type Domain (Prim a) :: Type -> Type #

type Internal (Prim a) :: Type #

Methods

desugar :: Prim a -> ASTF (Domain (Prim a)) (Internal (Prim a)) #

sugar :: ASTF (Domain (Prim a)) (Internal (Prim a)) -> Prim a #

Syntactic (Data a) Source #

Declaring Data as syntactic sugar

Instance details

Defined in Feldspar.Representation

Associated Types

type Domain (Data a) :: Type -> Type #

type Internal (Data a) :: Type #

Methods

desugar :: Data a -> ASTF (Domain (Data a)) (Internal (Data a)) #

sugar :: ASTF (Domain (Data a)) (Internal (Data a)) -> Data a #

Syntax a => Syntactic (Validated a) Source # 
Instance details

Defined in Feldspar.Data.Validated

Associated Types

type Domain (Validated a) :: Type -> Type #

type Internal (Validated a) :: Type #

Syntax a => Syntactic (Option a) Source # 
Instance details

Defined in Feldspar.Data.Option

Associated Types

type Domain (Option a) :: Type -> Type #

type Internal (Option a) :: Type #

Methods

desugar :: Option a -> ASTF (Domain (Option a)) (Internal (Option a)) #

sugar :: ASTF (Domain (Option a)) (Internal (Option a)) -> Option a #

(Syntax a, Syntactic b, Domain b ~ FeldDomain) => Syntactic (a -> b) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a -> b) :: Type -> Type #

type Internal (a -> b) :: Type #

Methods

desugar :: (a -> b) -> ASTF (Domain (a -> b)) (Internal (a -> b)) #

sugar :: ASTF (Domain (a -> b)) (Internal (a -> b)) -> a -> b #

(Syntax a, Syntax b) => Syntactic (a, b) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b) :: Type -> Type #

type Internal (a, b) :: Type #

Methods

desugar :: (a, b) -> ASTF (Domain (a, b)) (Internal (a, b)) #

sugar :: ASTF (Domain (a, b)) (Internal (a, b)) -> (a, b) #

Syntactic (ASTF sym a) 
Instance details

Defined in Language.Syntactic.Sugar

Associated Types

type Domain (ASTF sym a) :: Type -> Type #

type Internal (ASTF sym a) :: Type #

Methods

desugar :: ASTF sym a -> ASTF (Domain (ASTF sym a)) (Internal (ASTF sym a)) #

sugar :: ASTF (Domain (ASTF sym a)) (Internal (ASTF sym a)) -> ASTF sym a #

Syntactic (ASTFull sym a) 
Instance details

Defined in Language.Syntactic.Sugar

Associated Types

type Domain (ASTFull sym a) :: Type -> Type #

type Internal (ASTFull sym a) :: Type #

Methods

desugar :: ASTFull sym a -> ASTF (Domain (ASTFull sym a)) (Internal (ASTFull sym a)) #

sugar :: ASTF (Domain (ASTFull sym a)) (Internal (ASTFull sym a)) -> ASTFull sym a #

(Syntactic a, Syntactic b, Syntactic c, Type (Internal a), Type (Internal b), Type (Internal c), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, sym ~ FeldConstructs) => Syntactic (a, b, c) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c) :: Type -> Type #

type Internal (a, b, c) :: Type #

Methods

desugar :: (a, b, c) -> ASTF (Domain (a, b, c)) (Internal (a, b, c)) #

sugar :: ASTF (Domain (a, b, c)) (Internal (a, b, c)) -> (a, b, c) #

Syntactic (Struct PrimType' Data a) Source # 
Instance details

Defined in Feldspar.Representation

Associated Types

type Domain (Struct PrimType' Data a) :: Type -> Type #

type Internal (Struct PrimType' Data a) :: Type #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, sym ~ FeldConstructs) => Syntactic (a, b, c, d) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d) :: Type -> Type #

type Internal (a, b, c, d) :: Type #

Methods

desugar :: (a, b, c, d) -> ASTF (Domain (a, b, c, d)) (Internal (a, b, c, d)) #

sugar :: ASTF (Domain (a, b, c, d)) (Internal (a, b, c, d)) -> (a, b, c, d) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e) :: Type -> Type #

type Internal (a, b, c, d, e) :: Type #

Methods

desugar :: (a, b, c, d, e) -> ASTF (Domain (a, b, c, d, e)) (Internal (a, b, c, d, e)) #

sugar :: ASTF (Domain (a, b, c, d, e)) (Internal (a, b, c, d, e)) -> (a, b, c, d, e) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e, f) :: Type -> Type #

type Internal (a, b, c, d, e, f) :: Type #

Methods

desugar :: (a, b, c, d, e, f) -> ASTF (Domain (a, b, c, d, e, f)) (Internal (a, b, c, d, e, f)) #

sugar :: ASTF (Domain (a, b, c, d, e, f)) (Internal (a, b, c, d, e, f)) -> (a, b, c, d, e, f) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e, f, g) :: Type -> Type #

type Internal (a, b, c, d, e, f, g) :: Type #

Methods

desugar :: (a, b, c, d, e, f, g) -> ASTF (Domain (a, b, c, d, e, f, g)) (Internal (a, b, c, d, e, f, g)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g)) (Internal (a, b, c, d, e, f, g)) -> (a, b, c, d, e, f, g) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e, f, g, h) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h) :: Type #

Methods

desugar :: (a, b, c, d, e, f, g, h) -> ASTF (Domain (a, b, c, d, e, f, g, h)) (Internal (a, b, c, d, e, f, g, h)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h)) (Internal (a, b, c, d, e, f, g, h)) -> (a, b, c, d, e, f, g, h) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e, f, g, h, i) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i) :: Type #

Methods

desugar :: (a, b, c, d, e, f, g, h, i) -> ASTF (Domain (a, b, c, d, e, f, g, h, i)) (Internal (a, b, c, d, e, f, g, h, i)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i)) (Internal (a, b, c, d, e, f, g, h, i)) -> (a, b, c, d, e, f, g, h, i) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j) :: Type #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j)) (Internal (a, b, c, d, e, f, g, h, i, j)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j)) (Internal (a, b, c, d, e, f, g, h, i, j)) -> (a, b, c, d, e, f, g, h, i, j) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Type (Internal k), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j, k) :: Type #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k)) (Internal (a, b, c, d, e, f, g, h, i, j, k)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k)) (Internal (a, b, c, d, e, f, g, h, i, j, k)) -> (a, b, c, d, e, f, g, h, i, j, k) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Type (Internal k), Type (Internal l), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l) :: Type #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l)) -> (a, b, c, d, e, f, g, h, i, j, k, l) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Syntactic m, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Type (Internal k), Type (Internal l), Type (Internal m), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, Domain a ~ Domain m, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l, m) :: Type #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m)) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Syntactic m, Syntactic n, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Type (Internal k), Type (Internal l), Type (Internal m), Type (Internal n), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, Domain a ~ Domain m, Domain a ~ Domain n, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n) :: Type #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Syntactic m, Syntactic n, Syntactic o, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Type (Internal k), Type (Internal l), Type (Internal m), Type (Internal n), Type (Internal o), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, Domain a ~ Domain m, Domain a ~ Domain n, Domain a ~ Domain o, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Defined in Feldspar.Sugar

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) :: Type #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #

type family Domain a :: Type -> Type #

Instances
type Domain () Source # 
Instance details

Defined in Feldspar.Frontend

type Domain () = FeldDomain
type Domain (Prim a) Source # 
Instance details

Defined in Feldspar.Primitive.Representation

type Domain (Data a) Source # 
Instance details

Defined in Feldspar.Representation

type Domain (Validated a) Source # 
Instance details

Defined in Feldspar.Data.Validated

type Domain (Option a) Source # 
Instance details

Defined in Feldspar.Data.Option

type Domain (a -> b) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a -> b) = FeldDomain
type Domain (a, b) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b) = FeldDomain
type Domain (ASTF sym a) 
Instance details

Defined in Language.Syntactic.Sugar

type Domain (ASTF sym a) = sym
type Domain (ASTFull sym a) 
Instance details

Defined in Language.Syntactic.Sugar

type Domain (ASTFull sym a) = sym
type Domain (a, b, c) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c) = Domain a
type Domain (Struct PrimType' Data a) Source # 
Instance details

Defined in Feldspar.Representation

type Domain (a, b, c, d) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d) = Domain a
type Domain (a, b, c, d, e) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e) = Domain a
type Domain (a, b, c, d, e, f) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e, f) = Domain a
type Domain (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e, f, g) = Domain a
type Domain (a, b, c, d, e, f, g, h) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e, f, g, h) = Domain a
type Domain (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e, f, g, h, i) = Domain a
type Domain (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e, f, g, h, i, j) = Domain a
type Domain (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e, f, g, h, i, j, k) = Domain a
type Domain (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e, f, g, h, i, j, k, l) = Domain a
type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m) = Domain a
type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n) = Domain a
type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Defined in Feldspar.Sugar

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) = Domain a

type family Internal a :: Type #

Instances