liquidhaskell-boot-0.9.2.5.0: Liquid Types for Haskell
Safe HaskellSafe-Inferred
LanguageHaskell98

Language.Haskell.Liquid.Constraint.Template

Synopsis

Documentation

data Template a Source #

Constructors

Asserted a 
Assumed a 
Internal a 
Unknown 

Instances

Instances details
Foldable Template Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Template

Methods

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

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

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

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

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

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

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

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

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

toList :: Template a -> [a] #

null :: Template a -> Bool #

length :: Template a -> Int #

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

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

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

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

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

Traversable Template Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Template

Methods

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

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

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

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

Functor Template Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Template

Methods

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

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

Show a => Show (Template a) Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Template

Methods

showsPrec :: Int -> Template a -> ShowS #

show :: Template a -> String #

showList :: [Template a] -> ShowS #

PPrint a => PPrint (Template a) Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Template

Methods

pprintTidy :: Tidy -> Template a -> Doc #

pprintPrec :: Int -> Tidy -> Template a -> Doc #

varTemplate :: CGEnv -> (Var, Maybe CoreExpr) -> CG (Template SpecType) Source #

varTemplate is only called with a `Just e` argument when the e corresponds to the body of a Rec binder.

topSpecType :: Var -> SpecType -> CG SpecType Source #

topSpecType strips out the top-level refinement of "derived var"