ermine-0.6: Ermine

Safe HaskellNone
LanguageHaskell2010

Ermine.Core.Lint

Contents

Synopsis

LintEnv

data LintEnv a Source

Constructors

LintEnv 

Instances

Contravariant LintEnv 
MonadReader (LintEnv a) (Lint a) 
Typeable (* -> *) LintEnv 

variables :: forall a a. Lens (LintEnv a) (LintEnv a) (a -> Either String Convention) (a -> Either String Convention) Source

foreignCxt :: forall a. Lens' (LintEnv a) (Map Foreign Form) Source

globalCxt :: forall a. Lens' (LintEnv a) (Map Id Form) Source

The Lint Monad

newtype Lint a b Source

Constructors

Lint 

Fields

runLint :: LintEnv a -> Either String b
 

Instances

Bifunctor Lint 
Alternative (Lint a) 
Monad (Lint a) 
Functor (Lint a) 
MonadPlus (Lint a) 
Applicative (Lint a) 
MonadReader (LintEnv a) (Lint a) 

Checking and inference

with :: Lint b c -> (LintEnv a -> LintEnv b) -> Lint a c infix 0 Source