language-haskell
Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Extensions.Verifier

Description

Tracking which extensions are used by the AST

Synopsis

Documentation

data Accounting l pos s Source #

Transformation for tracking the uses of language extensions.

Constructors

Accounting 

Instances

Instances details
Transformation (Accounting l pos s) Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

Associated Types

type Domain (Accounting l pos s) 
Instance details

Defined in Language.Haskell.Extensions.Verifier

type Domain (Accounting l pos s)
type Codomain (Accounting l pos s) 
Instance details

Defined in Language.Haskell.Extensions.Verifier

type Codomain (Accounting l pos s)
(Foldable (g (Wrap l pos s)), Foldable (Accounting l pos s) g, At (Accounting l pos s) (g (Wrap l pos s) (Wrap l pos s))) => Foldable (Accounting l pos s) g Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

Methods

foldMap :: (Codomain (Accounting l pos s) ~ (Const m :: Type -> Type), Monoid m) => Accounting l pos s -> Domain (Accounting l pos s) (g (Domain (Accounting l pos s)) (Domain (Accounting l pos s))) -> m #

At (Accounting l pos s) (CallSafety l) Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

Methods

($) :: Accounting l pos s -> Domain (Accounting l pos s) (CallSafety l) -> Codomain (Accounting l pos s) (CallSafety l) #

At (Accounting l pos s) (CallingConvention l) Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

Methods

($) :: Accounting l pos s -> Domain (Accounting l pos s) (CallingConvention l) -> Codomain (Accounting l pos s) (CallingConvention l) #

type Codomain (Accounting l pos s) Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

type Codomain (Accounting l pos s)
type Domain (Accounting l pos s) Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

type Domain (Accounting l pos s)

data Verification l pos s Source #

Transformation for reporting errors about language extension use

Constructors

Verification 

Instances

Instances details
Transformation (Verification l pos s) Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

Associated Types

type Domain (Verification l pos s) 
Instance details

Defined in Language.Haskell.Extensions.Verifier

type Domain (Verification l pos s)
type Codomain (Verification l pos s) 
Instance details

Defined in Language.Haskell.Extensions.Verifier

type Codomain (Verification l pos s)
(Foldable (g (Wrap l pos s)), Foldable (Verification l pos s) g, At (Verification l pos s) (g (Wrap l pos s) (Wrap l pos s))) => Foldable (Verification l pos s) g Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

Methods

foldMap :: (Codomain (Verification l pos s) ~ (Const m :: Type -> Type), Monoid m) => Verification l pos s -> Domain (Verification l pos s) (g (Domain (Verification l pos s)) (Domain (Verification l pos s))) -> m #

type Codomain (Verification l pos s) Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

type Codomain (Verification l pos s)
type Domain (Verification l pos s) Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

type Domain (Verification l pos s)

data Error pos Source #

Extension misuse or disuse errors

Instances

Instances details
Show pos => Show (Error pos) Source # 
Instance details

Defined in Language.Haskell.Extensions.Verifier

Methods

showsPrec :: Int -> Error pos -> ShowS #

show :: Error pos -> String #

showList :: [Error pos] -> ShowS #

verify :: (w ~ Wrap l pos s, Foldable (Verification l pos s) g) => Map Extension Bool -> w (g w w) -> [Error pos] Source #

Given the list of declared extensions, report errors on the use of undeclared extensions and non-use of declared ones.