ddc-core-0.4.3.1: Disciplined Disciple Compiler core language and type checker.

Safe HaskellSafe
LanguageHaskell98

DDC.Core.Collect.Support

Synopsis

Documentation

data Support n Source #

Constructors

Support 

Fields

Instances

Show n => Show (Support n) Source # 

Methods

showsPrec :: Int -> Support n -> ShowS #

show :: Support n -> String #

showList :: [Support n] -> ShowS #

Ord n => Monoid (Support n) Source # 

Methods

mempty :: Support n #

mappend :: Support n -> Support n -> Support n #

mconcat :: [Support n] -> Support n #

class SupportX c where Source #

Minimal complete definition

support

Methods

support :: Ord n => KindEnv n -> TypeEnv n -> c n -> Support n Source #

Instances

SupportX Type Source # 

Methods

support :: Ord n => KindEnv n -> TypeEnv n -> Type n -> Support n Source #

SupportX Bind Source # 

Methods

support :: Ord n => KindEnv n -> TypeEnv n -> Bind n -> Support n Source #

SupportX (Witness a) Source # 

Methods

support :: Ord n => KindEnv n -> TypeEnv n -> Witness a n -> Support n Source #

SupportX (Cast a) Source # 

Methods

support :: Ord n => KindEnv n -> TypeEnv n -> Cast a n -> Support n Source #

SupportX (Alt a) Source # 

Methods

support :: Ord n => KindEnv n -> TypeEnv n -> Alt a n -> Support n Source #

SupportX (Lets a) Source # 

Methods

support :: Ord n => KindEnv n -> TypeEnv n -> Lets a n -> Support n Source #

SupportX (Exp a) Source # 

Methods

support :: Ord n => KindEnv n -> TypeEnv n -> Exp a n -> Support n Source #

SupportX (Module a) Source # 

Methods

support :: Ord n => KindEnv n -> TypeEnv n -> Module a n -> Support n Source #

supportEnvFlags :: Ord n => Support n -> Set (Bool, Bound n) Source #

Get a description of the type and value environment from a Support. Type (level-1) variables are tagged with True, while value and witness (level-0) variables are tagged with False.