elm-syntax-0.3.1.0: Elm syntax and pretty-printing
Safe HaskellNone
LanguageHaskell2010

Language.Elm.Type

Documentation

data Type v Source #

Constructors

Var v 
Global Qualified 
App (Type v) (Type v) 
Fun (Type v) (Type v) 
Record [(Field, Type v)] 

Instances

Instances details
Monad Type Source # 
Instance details

Defined in Language.Elm.Type

Methods

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

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

return :: a -> Type a #

Functor Type Source # 
Instance details

Defined in Language.Elm.Type

Methods

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

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

Applicative Type Source # 
Instance details

Defined in Language.Elm.Type

Methods

pure :: a -> Type a #

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

liftA2 :: (a -> b -> c) -> Type a -> Type b -> Type c #

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

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

Foldable Type Source # 
Instance details

Defined in Language.Elm.Type

Methods

fold :: Monoid m => Type m -> m #

foldMap :: Monoid m => (a -> m) -> Type a -> m #

foldMap' :: Monoid m => (a -> m) -> Type a -> m #

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

foldr' :: (a -> b -> b) -> b -> Type a -> b #

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

foldl' :: (b -> a -> b) -> b -> Type a -> b #

foldr1 :: (a -> a -> a) -> Type a -> a #

foldl1 :: (a -> a -> a) -> Type a -> a #

toList :: Type a -> [a] #

null :: Type a -> Bool #

length :: Type a -> Int #

elem :: Eq a => a -> Type a -> Bool #

maximum :: Ord a => Type a -> a #

minimum :: Ord a => Type a -> a #

sum :: Num a => Type a -> a #

product :: Num a => Type a -> a #

Traversable Type Source # 
Instance details

Defined in Language.Elm.Type

Methods

traverse :: Applicative f => (a -> f b) -> Type a -> f (Type b) #

sequenceA :: Applicative f => Type (f a) -> f (Type a) #

mapM :: Monad m => (a -> m b) -> Type a -> m (Type b) #

sequence :: Monad m => Type (m a) -> m (Type a) #

Eq1 Type Source # 
Instance details

Defined in Language.Elm.Type

Methods

liftEq :: (a -> b -> Bool) -> Type a -> Type b -> Bool #

Ord1 Type Source # 
Instance details

Defined in Language.Elm.Type

Methods

liftCompare :: (a -> b -> Ordering) -> Type a -> Type b -> Ordering #

Show1 Type Source # 
Instance details

Defined in Language.Elm.Type

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Type a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Type a] -> ShowS #

Eq v => Eq (Type v) Source # 
Instance details

Defined in Language.Elm.Type

Methods

(==) :: Type v -> Type v -> Bool #

(/=) :: Type v -> Type v -> Bool #

Ord v => Ord (Type v) Source # 
Instance details

Defined in Language.Elm.Type

Methods

compare :: Type v -> Type v -> Ordering #

(<) :: Type v -> Type v -> Bool #

(<=) :: Type v -> Type v -> Bool #

(>) :: Type v -> Type v -> Bool #

(>=) :: Type v -> Type v -> Bool #

max :: Type v -> Type v -> Type v #

min :: Type v -> Type v -> Type v #

Show v => Show (Type v) Source # 
Instance details

Defined in Language.Elm.Type

Methods

showsPrec :: Int -> Type v -> ShowS #

show :: Type v -> String #

showList :: [Type v] -> ShowS #

IsString (Type v) Source # 
Instance details

Defined in Language.Elm.Type

Methods

fromString :: String -> Type v #

bind :: (Qualified -> Type v') -> (v -> Type v') -> Type v -> Type v' Source #

apps :: Type v -> [Type v] -> Type v Source #

appsView :: Type v -> (Type v, [Type v]) Source #

funs :: [Type v] -> Type v -> Type v Source #

tuple :: Type v -> Type v -> Type v Source #

foldMapGlobals :: Monoid m => (Qualified -> m) -> Type v -> m Source #