language-haskell
Safe HaskellNone
LanguageHaskell2010

Language.Haskell.AST

Description

The types of nodes forming the Abstract Syntax Tree of the standard Haskell 2010 language without extensions

Synopsis

Documentation

data Language Source #

The Haskell 2010 language node parameter type

Constructors

Language 

Instances

Instances details
Eq Language Source # 
Instance details

Defined in Language.Haskell.AST

Data Language Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Language -> c Language #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Language #

toConstr :: Language -> Constr #

dataTypeOf :: Language -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Language) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Language) #

gmapT :: (forall b. Data b => b -> b) -> Language -> Language #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Language -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Language -> r #

gmapQ :: (forall d. Data d => d -> u) -> Language -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Language -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Language -> m Language #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Language -> m Language #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Language -> m Language #

Show Language Source # 
Instance details

Defined in Language.Haskell.AST

Haskell Language Source # 
Instance details

Defined in Language.Haskell.AST

Associated Types

type Module Language 
Instance details

Defined in Language.Haskell.AST

type Declaration Language 
Instance details

Defined in Language.Haskell.AST

type Expression Language 
Instance details

Defined in Language.Haskell.AST

type Type Language 
Instance details

Defined in Language.Haskell.AST

type EquationLHS Language 
Instance details

Defined in Language.Haskell.AST

type EquationRHS Language 
Instance details

Defined in Language.Haskell.AST

type GuardedExpression Language 
Instance details

Defined in Language.Haskell.AST

type Pattern Language 
Instance details

Defined in Language.Haskell.AST

type Statement Language 
Instance details

Defined in Language.Haskell.AST

type ClassInstanceLHS Language 
Instance details

Defined in Language.Haskell.AST

type TypeLHS Language 
Instance details

Defined in Language.Haskell.AST

type Import Language 
Instance details

Defined in Language.Haskell.AST

type ImportSpecification Language 
Instance details

Defined in Language.Haskell.AST

type ImportItem Language 
Instance details

Defined in Language.Haskell.AST

type Export Language 
Instance details

Defined in Language.Haskell.AST

type Context Language 
Instance details

Defined in Language.Haskell.AST

type DataConstructor Language 
Instance details

Defined in Language.Haskell.AST

type DerivingClause Language 
Instance details

Defined in Language.Haskell.AST

type FieldDeclaration Language 
Instance details

Defined in Language.Haskell.AST

type FieldBinding Language 
Instance details

Defined in Language.Haskell.AST

type FieldPattern Language 
Instance details

Defined in Language.Haskell.AST

type CaseAlternative Language 
Instance details

Defined in Language.Haskell.AST

type Constructor Language 
Instance details

Defined in Language.Haskell.AST

type Value Language 
Instance details

Defined in Language.Haskell.AST

type CallingConvention Language 
Instance details

Defined in Language.Haskell.AST

type CallSafety Language 
Instance details

Defined in Language.Haskell.AST

type Associativity Language 
Instance details

Defined in Language.Haskell.AST

type Members Language 
Instance details

Defined in Language.Haskell.AST

type Name Language 
Instance details

Defined in Language.Haskell.AST

type ModuleName Language 
Instance details

Defined in Language.Haskell.AST

type QualifiedName Language 
Instance details

Defined in Language.Haskell.AST

Methods

anonymousModule :: forall s l (d :: NodeWrap). [s (Import l l d d)] -> [s (Declaration l l d d)] -> Module Language l d s Source #

namedModule :: forall s l (d :: NodeWrap). ModuleName Language -> Maybe [s (Export l l d d)] -> [s (Import l l d d)] -> [s (Declaration l l d d)] -> Module Language l d s Source #

withLanguagePragma :: forall s l (d :: NodeWrap). [ExtensionSwitch] -> s (Module l l d d) -> Module Language l d s Source #

exportClassOrType :: forall l (d :: NodeWrap) (s :: NodeWrap). QualifiedName Language -> Maybe (Members Language) -> Export Language l d s Source #

exportVar :: forall l (d :: NodeWrap) (s :: NodeWrap). QualifiedName Language -> Export Language l d s Source #

reExportModule :: forall l (d :: NodeWrap) (s :: NodeWrap). ModuleName Language -> Export Language l d s Source #

importDeclaration :: forall s l (d :: NodeWrap). Bool -> ModuleName Language -> Maybe (ModuleName Language) -> Maybe (s (ImportSpecification l l d d)) -> Import Language l d s Source #

excludedImports :: forall s l (d :: NodeWrap). [s (ImportItem l l d d)] -> ImportSpecification Language l d s Source #

includedImports :: forall s l (d :: NodeWrap). [s (ImportItem l l d d)] -> ImportSpecification Language l d s Source #

importClassOrType :: forall l (d :: NodeWrap) (s :: NodeWrap). Name Language -> Maybe (Members Language) -> ImportItem Language l d s Source #

importVar :: forall l (d :: NodeWrap) (s :: NodeWrap). Name Language -> ImportItem Language l d s Source #

allMembers :: Members Language Source #

memberList :: [Name Language] -> Members Language Source #

classDeclaration :: forall s l (d :: NodeWrap). s (Context l l d d) -> s (TypeLHS l l d d) -> [s (Declaration l l d d)] -> Declaration Language l d s Source #

dataDeclaration :: forall s l (d :: NodeWrap). s (Context l l d d) -> s (TypeLHS l l d d) -> [s (DataConstructor l l d d)] -> [s (DerivingClause l l d d)] -> Declaration Language l d s Source #

defaultDeclaration :: forall s l (d :: NodeWrap). [s (Type l l d d)] -> Declaration Language l d s Source #

equationDeclaration :: forall s l (d :: NodeWrap). s (EquationLHS l l d d) -> s (EquationRHS l l d d) -> [s (Declaration l l d d)] -> Declaration Language l d s Source #

fixityDeclaration :: forall l (d :: NodeWrap) (s :: NodeWrap). Associativity Language -> Maybe Int -> NonEmpty (Name Language) -> Declaration Language l d s Source #

foreignExport :: forall s l (d :: NodeWrap). CallingConvention Language -> Maybe Text -> Name Language -> s (Type l l d d) -> Declaration Language l d s Source #

foreignImport :: forall s l (d :: NodeWrap). CallingConvention Language -> Maybe (CallSafety Language) -> Maybe Text -> Name Language -> s (Type l l d d) -> Declaration Language l d s Source #

instanceDeclaration :: forall s l (d :: NodeWrap). s (Context l l d d) -> s (ClassInstanceLHS l l d d) -> [s (Declaration l l d d)] -> Declaration Language l d s Source #

newtypeDeclaration :: forall s l (d :: NodeWrap). s (Context l l d d) -> s (TypeLHS l l d d) -> s (DataConstructor l l d d) -> [s (DerivingClause l l d d)] -> Declaration Language l d s Source #

typeSynonymDeclaration :: forall s l (d :: NodeWrap). s (TypeLHS l l d d) -> s (Type l l d d) -> Declaration Language l d s Source #

typeSignature :: forall s l (d :: NodeWrap). NonEmpty (Name Language) -> s (Context l l d d) -> s (Type l l d d) -> Declaration Language l d s Source #

applyExpression :: forall s l (d :: NodeWrap). s (Expression l l d d) -> s (Expression l l d d) -> Expression Language l d s Source #

conditionalExpression :: forall s l (d :: NodeWrap). s (Expression l l d d) -> s (Expression l l d d) -> s (Expression l l d d) -> Expression Language l d s Source #

constructorExpression :: forall s l (d :: NodeWrap). s (Constructor l l d d) -> Expression Language l d s Source #

caseExpression :: forall s l (d :: NodeWrap). s (Expression l l d d) -> [s (CaseAlternative l l d d)] -> Expression Language l d s Source #

doExpression :: forall s l (d :: NodeWrap). s (GuardedExpression l l d d) -> Expression Language l d s Source #

infixExpression :: forall s l (d :: NodeWrap). s (Expression l l d d) -> s (Expression l l d d) -> s (Expression l l d d) -> Expression Language l d s Source #

leftSectionExpression :: forall s l (d :: NodeWrap). s (Expression l l d d) -> QualifiedName Language -> Expression Language l d s Source #

lambdaExpression :: forall s l (d :: NodeWrap). [s (Pattern l l d d)] -> s (Expression l l d d) -> Expression Language l d s Source #

letExpression :: forall s l (d :: NodeWrap). [s (Declaration l l d d)] -> s (Expression l l d d) -> Expression Language l d s Source #

listComprehension :: forall s l (d :: NodeWrap). s (Expression l l d d) -> NonEmpty (s (Statement l l d d)) -> Expression Language l d s Source #

listExpression :: forall s l (d :: NodeWrap). [s (Expression l l d d)] -> Expression Language l d s Source #

literalExpression :: forall s l (d :: NodeWrap). s (Value l l d d) -> Expression Language l d s Source #

negate :: forall l (d :: NodeWrap) (s :: NodeWrap). Expression Language l d s Source #

recordExpression :: forall s l (d :: NodeWrap). s (Expression l l d d) -> [s (FieldBinding l l d d)] -> Expression Language l d s Source #

referenceExpression :: forall l (d :: NodeWrap). QualifiedName Language -> Expression Language l d d Source #

rightSectionExpression :: forall s l (d :: NodeWrap). QualifiedName Language -> s (Expression l l d d) -> Expression Language l d s Source #

sequenceExpression :: forall s l (d :: NodeWrap). s (Expression l l d d) -> Maybe (s (Expression l l d d)) -> Maybe (s (Expression l l d d)) -> Expression Language l d s Source #

tupleExpression :: forall s l (d :: NodeWrap). NonEmpty (s (Expression l l d d)) -> Expression Language l d s Source #

typedExpression :: forall s l (d :: NodeWrap). s (Expression l l d d) -> s (Type l l d d) -> Expression Language l d s Source #

asPattern :: forall s l (d :: NodeWrap). Name Language -> s (Pattern l l d d) -> Pattern Language l d s Source #

constructorPattern :: forall s l (d :: NodeWrap). s (Constructor l l d d) -> [s (Pattern l l d d)] -> Pattern Language l d s Source #

infixPattern :: forall s l (d :: NodeWrap). s (Pattern l l d d) -> QualifiedName Language -> s (Pattern l l d d) -> Pattern Language l d s Source #

irrefutablePattern :: forall s l (d :: NodeWrap). s (Pattern l l d d) -> Pattern Language l d s Source #

listPattern :: forall s l (d :: NodeWrap). [s (Pattern l l d d)] -> Pattern Language l d s Source #

literalPattern :: forall s l (d :: NodeWrap). s (Value l l d d) -> Pattern Language l d s Source #

recordPattern :: forall s l (d :: NodeWrap). QualifiedName Language -> [s (FieldPattern l l d d)] -> Pattern Language l d s Source #

tuplePattern :: forall s l (d :: NodeWrap). NonEmpty (s (Pattern l l d d)) -> Pattern Language l d s Source #

variablePattern :: forall l (d :: NodeWrap) (s :: NodeWrap). Name Language -> Pattern Language l d s Source #

wildcardPattern :: forall l (d :: NodeWrap) (s :: NodeWrap). Pattern Language l d s Source #

constructorType :: forall s l (d :: NodeWrap). s (Constructor l l d d) -> Type Language l d s Source #

functionConstructorType :: forall l (d :: NodeWrap) (s :: NodeWrap). Type Language l d s Source #

functionType :: forall s l (d :: NodeWrap). s (Type l l d d) -> s (Type l l d d) -> Type Language l d s Source #

listType :: forall s l (d :: NodeWrap). s (Type l l d d) -> Type Language l d s Source #

strictType :: forall s l (d :: NodeWrap). s (Type l l d d) -> Type Language l d s Source #

tupleType :: forall s l (d :: NodeWrap). NonEmpty (s (Type l l d d)) -> Type Language l d s Source #

typeApplication :: forall s l (d :: NodeWrap). s (Type l l d d) -> s (Type l l d d) -> Type Language l d s Source #

typeVariable :: forall l (d :: NodeWrap) (s :: NodeWrap). Name Language -> Type Language l d s Source #

constructorReference :: forall l (d :: NodeWrap) (s :: NodeWrap). QualifiedName Language -> Constructor Language l d s Source #

emptyListConstructor :: forall l (d :: NodeWrap) (s :: NodeWrap). Constructor Language l d s Source #

tupleConstructor :: forall l (d :: NodeWrap) (s :: NodeWrap). Int -> Constructor Language l d s Source #

unitConstructor :: forall l (d :: NodeWrap) (s :: NodeWrap). Constructor Language l d s Source #

constructor :: forall s l (d :: NodeWrap). Name Language -> [s (Type l l d d)] -> DataConstructor Language l d s Source #

recordConstructor :: forall s l (d :: NodeWrap). Name Language -> [s (FieldDeclaration l l d d)] -> DataConstructor Language l d s Source #

constructorFields :: forall s l (d :: NodeWrap). NonEmpty (Name Language) -> s (Type l l d d) -> FieldDeclaration Language l d s Source #

fieldBinding :: forall s l (d :: NodeWrap). QualifiedName Language -> s (Expression l l d d) -> FieldBinding Language l d s Source #

fieldPattern :: forall s l (d :: NodeWrap). QualifiedName Language -> s (Pattern l l d d) -> FieldPattern Language l d s Source #

simpleDerive :: forall l (d :: NodeWrap) (s :: NodeWrap). QualifiedName Language -> DerivingClause Language l d s Source #

typeClassInstanceLHS :: forall s l (d :: NodeWrap). QualifiedName Language -> s (Type l l d d) -> ClassInstanceLHS Language l d s Source #

simpleTypeLHS :: forall l (d :: NodeWrap) (s :: NodeWrap). Name Language -> [Name Language] -> TypeLHS Language l d s Source #

prefixLHS :: forall s l (d :: NodeWrap). s (EquationLHS l l d d) -> NonEmpty (s (Pattern l l d d)) -> EquationLHS Language l d s Source #

infixLHS :: forall s l (d :: NodeWrap). s (Pattern l l d d) -> Name Language -> s (Pattern l l d d) -> EquationLHS Language l d s Source #

patternLHS :: forall s l (d :: NodeWrap). s (Pattern l l d d) -> EquationLHS Language l d s Source #

variableLHS :: forall l (d :: NodeWrap) (s :: NodeWrap). Name Language -> EquationLHS Language l d s Source #

caseAlternative :: forall s l (d :: NodeWrap). s (Pattern l l d d) -> s (EquationRHS l l d d) -> [s (Declaration l l d d)] -> CaseAlternative Language l d s Source #

guardedRHS :: forall s l (d :: NodeWrap). NonEmpty (s (GuardedExpression l l d d)) -> EquationRHS Language l d s Source #

normalRHS :: forall s l (d :: NodeWrap). s (Expression l l d d) -> EquationRHS Language l d s Source #

guardedExpression :: forall s l (d :: NodeWrap). [s (Statement l l d d)] -> s (Expression l l d d) -> GuardedExpression Language l d s Source #

classConstraint :: forall s l (d :: NodeWrap). QualifiedName Language -> s (Type l l d d) -> Context Language l d s Source #

constraints :: forall s l (d :: NodeWrap). [s (Context l l d d)] -> Context Language l d s Source #

noContext :: forall l (d :: NodeWrap) (s :: NodeWrap). Context Language l d s Source #

bindStatement :: forall s l (d :: NodeWrap). s (Pattern l l d d) -> s (Expression l l d d) -> Statement Language l d s Source #

expressionStatement :: forall s l (d :: NodeWrap). s (Expression l l d d) -> Statement Language l d s Source #

letStatement :: forall s l (d :: NodeWrap). [s (Declaration l l d d)] -> Statement Language l d s Source #

charLiteral :: forall l (d :: NodeWrap) (s :: NodeWrap). Char -> Value Language l d s Source #

floatingLiteral :: forall l (d :: NodeWrap) (s :: NodeWrap). Rational -> Value Language l d s Source #

integerLiteral :: forall l (d :: NodeWrap) (s :: NodeWrap). Integer -> Value Language l d s Source #

stringLiteral :: forall l (d :: NodeWrap) (s :: NodeWrap). Text -> Value Language l d s Source #

name :: Text -> Name Language Source #

moduleName :: NonEmpty (Name Language) -> ModuleName Language Source #

qualifiedName :: Maybe (ModuleName Language) -> Name Language -> QualifiedName Language Source #

nonAssociative :: Associativity Language Source #

leftAssociative :: Associativity Language Source #

rightAssociative :: Associativity Language Source #

cCall :: CallingConvention Language Source #

cppCall :: CallingConvention Language Source #

dotNetCall :: CallingConvention Language Source #

jvmCall :: CallingConvention Language Source #

stdCall :: CallingConvention Language Source #

safeCall :: CallSafety Language Source #

unsafeCall :: CallSafety Language Source #

type Associativity Language Source # 
Instance details

Defined in Language.Haskell.AST

type CallSafety Language Source # 
Instance details

Defined in Language.Haskell.AST

type CallingConvention Language Source # 
Instance details

Defined in Language.Haskell.AST

type CaseAlternative Language Source # 
Instance details

Defined in Language.Haskell.AST

type ClassInstanceLHS Language Source # 
Instance details

Defined in Language.Haskell.AST

type Constructor Language Source # 
Instance details

Defined in Language.Haskell.AST

type Context Language Source # 
Instance details

Defined in Language.Haskell.AST

type DataConstructor Language Source # 
Instance details

Defined in Language.Haskell.AST

type Declaration Language Source # 
Instance details

Defined in Language.Haskell.AST

type DerivingClause Language Source # 
Instance details

Defined in Language.Haskell.AST

type EquationLHS Language Source # 
Instance details

Defined in Language.Haskell.AST

type EquationRHS Language Source # 
Instance details

Defined in Language.Haskell.AST

type Export Language Source # 
Instance details

Defined in Language.Haskell.AST

type Expression Language Source # 
Instance details

Defined in Language.Haskell.AST

type FieldBinding Language Source # 
Instance details

Defined in Language.Haskell.AST

type FieldDeclaration Language Source # 
Instance details

Defined in Language.Haskell.AST

type FieldPattern Language Source # 
Instance details

Defined in Language.Haskell.AST

type GuardedExpression Language Source # 
Instance details

Defined in Language.Haskell.AST

type Import Language Source # 
Instance details

Defined in Language.Haskell.AST

type ImportItem Language Source # 
Instance details

Defined in Language.Haskell.AST

type ImportSpecification Language Source # 
Instance details

Defined in Language.Haskell.AST

type Members Language Source # 
Instance details

Defined in Language.Haskell.AST

type Module Language Source # 
Instance details

Defined in Language.Haskell.AST

type ModuleName Language Source # 
Instance details

Defined in Language.Haskell.AST

type Name Language Source # 
Instance details

Defined in Language.Haskell.AST

type Pattern Language Source # 
Instance details

Defined in Language.Haskell.AST

type QualifiedName Language Source # 
Instance details

Defined in Language.Haskell.AST

type Statement Language Source # 
Instance details

Defined in Language.Haskell.AST

type Type Language Source # 
Instance details

Defined in Language.Haskell.AST

type TypeLHS Language Source # 
Instance details

Defined in Language.Haskell.AST

type Value Language Source # 
Instance details

Defined in Language.Haskell.AST

data Module λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

NamedModule (ModuleName λ) (Maybe [s (Export l l d d)]) [s (Import l l d d)] [s (Declaration l l d d)] 
AnonymousModule [s (Import l l d d)] [s (Declaration l l d d)] 
ExtendedModule [ExtensionSwitch] (s (Module l l d d)) 

Instances

Instances details
(WrapTranslation t, WrappedTranslation t Module, FullyTranslatable t Export, FullyTranslatable t Import, FullyTranslatable t Declaration, Module (Origin t) ~ Module (Origin t), Module (Target t) ~ Module (Target t), Export (Origin t) ~ Export (Origin t), Export (Target t) ~ Export (Target t), Import (Origin t) ~ Import (Origin t), Import (Target t) ~ Import (Target t), Declaration (Origin t) ~ Declaration (Origin t), Declaration (Target t) ~ Declaration (Target t)) => DeeplyTranslatable t Module Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> Module l (Origin t) (Wrap t) (Wrap t) -> Module l (Target t) (Wrap t) (Wrap t) Source #

(NameTranslation t, WrapTranslation t, Functor (Wrap t)) => Translation t Module Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

translate :: t -> Module (Origin t) (Origin t) (Wrap t) (Wrap t) -> Module (Target t) (Origin t) (Wrap t) (Wrap t) Source #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Export l l), Foldable t (Import l l), Foldable t (Declaration l l), Foldable t (Import l l), Foldable t (Declaration l l), Foldable t (Module l l)) => Foldable t (Module λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Module λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Export l l), Functor t (Import l l), Functor t (Declaration l l), Functor t (Import l l), Functor t (Declaration l l), Functor t (Module l l)) => Functor t (Module λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Module λ l (Domain t) (Domain t) -> Module λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Export l l), Traversable t (Import l l), Traversable t (Declaration l l), Traversable t (Import l l), Traversable t (Declaration l l), Traversable t (Module l l)) => Traversable t (Module λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Module λ l (Domain t) (Domain t) -> m0 (Module λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Export l l d d), At t (Import l l d d), At t (Declaration l l d d), At t (Import l l d d), At t (Declaration l l d d), At t (Module l l d d)) => Foldable t (Module λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Module λ l d (Domain t) -> m0 #

(Transformation t, At t (Export l l d d), At t (Import l l d d), At t (Declaration l l d d), At t (Import l l d d), At t (Declaration l l d d), At t (Module l l d d)) => Functor t (Module λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Module λ l d (Domain t) -> Module λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Export l l d d), At t (Import l l d d), At t (Declaration l l d d), At t (Import l l d d), At t (Declaration l l d d), At t (Module l l d d)) => Traversable t (Module λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Module λ l d (Domain t) -> m0 (Module λ l d f0) #

Apply (Module λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Module λ l d (p ~> q) -> Module λ l d p -> Module λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Module λ l d p -> Module λ l d q -> Module λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Module λ l d p -> Module λ l d q -> Module λ l d r -> Module λ l d s #

Foldable (Module λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Module λ l d p -> m #

Functor (Module λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Module λ l d p -> Module λ l d q #

Traversable (Module λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Module λ l d p -> m (Module λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Module λ l d (Compose m p) -> m (Module λ l d p) #

(Eq (s (Module l l d d)), Eq (s (Declaration l l d d)), Eq (s (Export l l d d)), Eq (s (Import l l d d)), Eq (ModuleName λ)) => Eq (Module λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Module λ l d s -> Module λ l d s -> Bool #

(/=) :: Module λ l d s -> Module λ l d s -> Bool #

(Data (s (Module l l d d)), Data (s (Declaration l l d d)), Data (s (Export l l d d)), Data (s (Import l l d d)), Data (ModuleName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Module λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Module λ l d s -> c (Module λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Module λ l d s) #

toConstr :: Module λ l d s -> Constr #

dataTypeOf :: Module λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Module λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Module λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Module λ l d s -> Module λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Module λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Module λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Module λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Module λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Module λ l d s -> m (Module λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Module λ l d s -> m (Module λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Module λ l d s -> m (Module λ l d s) #

(Show (s (Module l l d d)), Show (s (Declaration l l d d)), Show (s (Export l l d d)), Show (s (Import l l d d)), Show (ModuleName λ)) => Show (Module λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Module λ l d s -> ShowS #

show :: Module λ l d s -> String #

showList :: [Module λ l d s] -> ShowS #

TemplateWrapper f => PrettyViaTH (Module Language Language f f) Source # 
Instance details

Defined in Language.Haskell.Template

(TextualMonoid s, DeeplyFoldable (Accounting l1 pos s) l1, QualifiedName l1 ~ QualifiedName l1, QualifiedName l2 ~ QualifiedName l2, ModuleName l1 ~ ModuleName l1, ModuleName l2 ~ ModuleName l2, Name l1 ~ Name l1, Name l2 ~ Name l2, Module l1 ~ Module l1, Module l2 ~ Module l2) => Translation (ReformulationOf e es l1 l2 pos s) Module Source # 
Instance details

Defined in Language.Haskell.Extensions.Reformulator

Methods

translate :: ReformulationOf e es l1 l2 pos s -> Module (Origin (ReformulationOf e es l1 l2 pos s)) (Origin (ReformulationOf e es l1 l2 pos s)) (Wrap (ReformulationOf e es l1 l2 pos s)) (Wrap (ReformulationOf e es l1 l2 pos s)) -> Module (Target (ReformulationOf e es l1 l2 pos s)) (Origin (ReformulationOf e es l1 l2 pos s)) (Wrap (ReformulationOf e es l1 l2 pos s)) (Wrap (ReformulationOf e es l1 l2 pos s)) Source #

data Declaration λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

ClassDeclaration (s (Context l l d d)) (s (TypeLHS l l d d)) [s (Declaration l l d d)] 
DataDeclaration (s (Context l l d d)) (s (TypeLHS l l d d)) [s (DataConstructor l l d d)] [s (DerivingClause l l d d)] 
DefaultDeclaration [s (Type l l d d)] 
EquationDeclaration (s (EquationLHS l l d d)) (s (EquationRHS l l d d)) [s (Declaration l l d d)] 
FixityDeclaration (Associativity λ) (Maybe Int) (NonEmpty (Name λ)) 
ForeignExport (CallingConvention λ) (Maybe Text) (Name λ) (s (Type l l d d)) 
ForeignImport (CallingConvention λ) (Maybe (CallSafety λ)) (Maybe Text) (Name λ) (s (Type l l d d)) 
InstanceDeclaration (s (Context l l d d)) (s (ClassInstanceLHS l l d d)) [s (Declaration l l d d)] 
NewtypeDeclaration (s (Context l l d d)) (s (TypeLHS l l d d)) (s (DataConstructor l l d d)) [s (DerivingClause l l d d)] 
TypeSynonymDeclaration (s (TypeLHS l l d d)) (s (Type l l d d)) 
TypeSignature (NonEmpty (Name λ)) (s (Context l l d d)) (s (Type l l d d)) 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Context l l), Foldable t (TypeLHS l l), Foldable t (Declaration l l), Foldable t (Context l l), Foldable t (TypeLHS l l), Foldable t (DataConstructor l l), Foldable t (DerivingClause l l), Foldable t (Type l l), Foldable t (EquationLHS l l), Foldable t (EquationRHS l l), Foldable t (Declaration l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Context l l), Foldable t (ClassInstanceLHS l l), Foldable t (Declaration l l), Foldable t (Context l l), Foldable t (TypeLHS l l), Foldable t (DataConstructor l l), Foldable t (DerivingClause l l), Foldable t (TypeLHS l l), Foldable t (Type l l), Foldable t (Context l l), Foldable t (Type l l)) => Foldable t (Declaration λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Declaration λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Context l l), Functor t (TypeLHS l l), Functor t (Declaration l l), Functor t (Context l l), Functor t (TypeLHS l l), Functor t (DataConstructor l l), Functor t (DerivingClause l l), Functor t (Type l l), Functor t (EquationLHS l l), Functor t (EquationRHS l l), Functor t (Declaration l l), Functor t (Type l l), Functor t (Type l l), Functor t (Context l l), Functor t (ClassInstanceLHS l l), Functor t (Declaration l l), Functor t (Context l l), Functor t (TypeLHS l l), Functor t (DataConstructor l l), Functor t (DerivingClause l l), Functor t (TypeLHS l l), Functor t (Type l l), Functor t (Context l l), Functor t (Type l l)) => Functor t (Declaration λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Declaration λ l (Domain t) (Domain t) -> Declaration λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Context l l), Traversable t (TypeLHS l l), Traversable t (Declaration l l), Traversable t (Context l l), Traversable t (TypeLHS l l), Traversable t (DataConstructor l l), Traversable t (DerivingClause l l), Traversable t (Type l l), Traversable t (EquationLHS l l), Traversable t (EquationRHS l l), Traversable t (Declaration l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Context l l), Traversable t (ClassInstanceLHS l l), Traversable t (Declaration l l), Traversable t (Context l l), Traversable t (TypeLHS l l), Traversable t (DataConstructor l l), Traversable t (DerivingClause l l), Traversable t (TypeLHS l l), Traversable t (Type l l), Traversable t (Context l l), Traversable t (Type l l)) => Traversable t (Declaration λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Declaration λ l (Domain t) (Domain t) -> m0 (Declaration λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Context l l d d), At t (TypeLHS l l d d), At t (Declaration l l d d), At t (Context l l d d), At t (TypeLHS l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), At t (Type l l d d), At t (EquationLHS l l d d), At t (EquationRHS l l d d), At t (Declaration l l d d), At t (Type l l d d), At t (Type l l d d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Declaration l l d d), At t (Context l l d d), At t (TypeLHS l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), At t (TypeLHS l l d d), At t (Type l l d d), At t (Context l l d d), At t (Type l l d d)) => Foldable t (Declaration λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Declaration λ l d (Domain t) -> m0 #

(Transformation t, At t (Context l l d d), At t (TypeLHS l l d d), At t (Declaration l l d d), At t (Context l l d d), At t (TypeLHS l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), At t (Type l l d d), At t (EquationLHS l l d d), At t (EquationRHS l l d d), At t (Declaration l l d d), At t (Type l l d d), At t (Type l l d d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Declaration l l d d), At t (Context l l d d), At t (TypeLHS l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), At t (TypeLHS l l d d), At t (Type l l d d), At t (Context l l d d), At t (Type l l d d)) => Functor t (Declaration λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Declaration λ l d (Domain t) -> Declaration λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Context l l d d), At t (TypeLHS l l d d), At t (Declaration l l d d), At t (Context l l d d), At t (TypeLHS l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), At t (Type l l d d), At t (EquationLHS l l d d), At t (EquationRHS l l d d), At t (Declaration l l d d), At t (Type l l d d), At t (Type l l d d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Declaration l l d d), At t (Context l l d d), At t (TypeLHS l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), At t (TypeLHS l l d d), At t (Type l l d d), At t (Context l l d d), At t (Type l l d d)) => Traversable t (Declaration λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Declaration λ l d (Domain t) -> m0 (Declaration λ l d f0) #

Apply (Declaration λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Declaration λ l d (p ~> q) -> Declaration λ l d p -> Declaration λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Declaration λ l d p -> Declaration λ l d q -> Declaration λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Declaration λ l d p -> Declaration λ l d q -> Declaration λ l d r -> Declaration λ l d s #

Foldable (Declaration λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Declaration λ l d p -> m #

Functor (Declaration λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Declaration λ l d p -> Declaration λ l d q #

Traversable (Declaration λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Declaration λ l d p -> m (Declaration λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Declaration λ l d (Compose m p) -> m (Declaration λ l d p) #

(Eq (s (Context l l d d)), Eq (s (DataConstructor l l d d)), Eq (s (Declaration l l d d)), Eq (s (DerivingClause l l d d)), Eq (s (EquationLHS l l d d)), Eq (s (EquationRHS l l d d)), Eq (s (Type l l d d)), Eq (s (TypeLHS l l d d)), Eq (s (ClassInstanceLHS l l d d)), Eq (Name λ)) => Eq (Declaration λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Declaration λ l d s -> Declaration λ l d s -> Bool #

(/=) :: Declaration λ l d s -> Declaration λ l d s -> Bool #

(Data (s (Context l l d d)), Data (s (DataConstructor l l d d)), Data (s (Declaration l l d d)), Data (s (DerivingClause l l d d)), Data (s (EquationLHS l l d d)), Data (s (EquationRHS l l d d)), Data (s (Type l l d d)), Data (s (TypeLHS l l d d)), Data (s (ClassInstanceLHS l l d d)), Data (Name λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Declaration λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Declaration λ l d s -> c (Declaration λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Declaration λ l d s) #

toConstr :: Declaration λ l d s -> Constr #

dataTypeOf :: Declaration λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Declaration λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Declaration λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Declaration λ l d s -> Declaration λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Declaration λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Declaration λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Declaration λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Declaration λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Declaration λ l d s -> m (Declaration λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Declaration λ l d s -> m (Declaration λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Declaration λ l d s -> m (Declaration λ l d s) #

(Show (s (Context l l d d)), Show (s (DataConstructor l l d d)), Show (s (Declaration l l d d)), Show (s (DerivingClause l l d d)), Show (s (EquationLHS l l d d)), Show (s (EquationRHS l l d d)), Show (s (Type l l d d)), Show (s (TypeLHS l l d d)), Show (s (ClassInstanceLHS l l d d)), Show (Name λ)) => Show (Declaration λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Declaration λ l d s -> ShowS #

show :: Declaration λ l d s -> String #

showList :: [Declaration λ l d s] -> ShowS #

data Expression λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

ApplyExpression (s (Expression l l d d)) (s (Expression l l d d)) 
ConditionalExpression (s (Expression l l d d)) (s (Expression l l d d)) (s (Expression l l d d)) 
ConstructorExpression (s (Constructor l l d d)) 
CaseExpression (s (Expression l l d d)) [s (CaseAlternative l l d d)] 
DoExpression (s (GuardedExpression l l d d)) 
InfixExpression (s (Expression l l d d)) (s (Expression l l d d)) (s (Expression l l d d)) 
LeftSectionExpression (s (Expression l l d d)) (QualifiedName λ) 
LambdaExpression [s (Pattern l l d d)] (s (Expression l l d d)) 
LetExpression [s (Declaration l l d d)] (s (Expression l l d d)) 
ListComprehension (s (Expression l l d d)) (NonEmpty (s (Statement l l d d))) 
ListExpression [s (Expression l l d d)] 
LiteralExpression (s (Value l l d d)) 
Negate 
RecordExpression (s (Expression l l d d)) [s (FieldBinding l l d d)] 
ReferenceExpression (QualifiedName λ) 
RightSectionExpression (QualifiedName λ) (s (Expression l l d d)) 
SequenceExpression (s (Expression l l d d)) (Maybe (s (Expression l l d d))) (Maybe (s (Expression l l d d))) 
TupleExpression (NonEmpty (s (Expression l l d d))) 
TypedExpression (s (Expression l l d d)) (s (Type l l d d)) 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Constructor l l), Foldable t (Expression l l), Foldable t (CaseAlternative l l), Foldable t (GuardedExpression l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Pattern l l), Foldable t (Expression l l), Foldable t (Declaration l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Statement l l), Foldable t (Expression l l), Foldable t (Value l l), Foldable t (Expression l l), Foldable t (FieldBinding l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Type l l)) => Foldable t (Expression λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Expression λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Expression l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Constructor l l), Functor t (Expression l l), Functor t (CaseAlternative l l), Functor t (GuardedExpression l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Pattern l l), Functor t (Expression l l), Functor t (Declaration l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Statement l l), Functor t (Expression l l), Functor t (Value l l), Functor t (Expression l l), Functor t (FieldBinding l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Type l l)) => Functor t (Expression λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Expression λ l (Domain t) (Domain t) -> Expression λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Constructor l l), Traversable t (Expression l l), Traversable t (CaseAlternative l l), Traversable t (GuardedExpression l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Pattern l l), Traversable t (Expression l l), Traversable t (Declaration l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Statement l l), Traversable t (Expression l l), Traversable t (Value l l), Traversable t (Expression l l), Traversable t (FieldBinding l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Type l l)) => Traversable t (Expression λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Expression λ l (Domain t) (Domain t) -> m0 (Expression λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Constructor l l d d), At t (Expression l l d d), At t (CaseAlternative l l d d), At t (GuardedExpression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Pattern l l d d), At t (Expression l l d d), At t (Declaration l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Statement l l d d), At t (Expression l l d d), At t (Value l l d d), At t (Expression l l d d), At t (FieldBinding l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Type l l d d)) => Foldable t (Expression λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Expression λ l d (Domain t) -> m0 #

(Transformation t, At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Constructor l l d d), At t (Expression l l d d), At t (CaseAlternative l l d d), At t (GuardedExpression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Pattern l l d d), At t (Expression l l d d), At t (Declaration l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Statement l l d d), At t (Expression l l d d), At t (Value l l d d), At t (Expression l l d d), At t (FieldBinding l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Type l l d d)) => Functor t (Expression λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Expression λ l d (Domain t) -> Expression λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Constructor l l d d), At t (Expression l l d d), At t (CaseAlternative l l d d), At t (GuardedExpression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Pattern l l d d), At t (Expression l l d d), At t (Declaration l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Statement l l d d), At t (Expression l l d d), At t (Value l l d d), At t (Expression l l d d), At t (FieldBinding l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Type l l d d)) => Traversable t (Expression λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Expression λ l d (Domain t) -> m0 (Expression λ l d f0) #

Apply (Expression λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Expression λ l d (p ~> q) -> Expression λ l d p -> Expression λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Expression λ l d p -> Expression λ l d q -> Expression λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Expression λ l d p -> Expression λ l d q -> Expression λ l d r -> Expression λ l d s #

Foldable (Expression λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Expression λ l d p -> m #

Functor (Expression λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Expression λ l d p -> Expression λ l d q #

Traversable (Expression λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Expression λ l d p -> m (Expression λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Expression λ l d (Compose m p) -> m (Expression λ l d p) #

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Eq (s (CaseAlternative l l d d)), Eq (s (Constructor l l d d)), Eq (s (Expression l l d d)), Eq (s (GuardedExpression l l d d)), Eq (s (Declaration l l d d)), Eq (s (FieldBinding l l d d)), Eq (s (Pattern l l d d)), Eq (s (Statement l l d d)), Eq (s (Type l l d d)), Eq (s (Value l l d d)), Eq (QualifiedName λ)) => Eq (Expression λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Expression λ l d s -> Expression λ l d s -> Bool #

(/=) :: Expression λ l d s -> Expression λ l d s -> Bool #

(Data (s (CaseAlternative l l d d)), Data (s (Constructor l l d d)), Data (s (Expression l l d d)), Data (s (GuardedExpression l l d d)), Data (s (Declaration l l d d)), Data (s (FieldBinding l l d d)), Data (s (Pattern l l d d)), Data (s (Statement l l d d)), Data (s (Type l l d d)), Data (s (Value l l d d)), Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Expression λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Expression λ l d s -> c (Expression λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Expression λ l d s) #

toConstr :: Expression λ l d s -> Constr #

dataTypeOf :: Expression λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Expression λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Expression λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Expression λ l d s -> Expression λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Expression λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Expression λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Expression λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Expression λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Expression λ l d s -> m (Expression λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Expression λ l d s -> m (Expression λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Expression λ l d s -> m (Expression λ l d s) #

(Show (s (CaseAlternative l l d d)), Show (s (Constructor l l d d)), Show (s (Expression l l d d)), Show (s (GuardedExpression l l d d)), Show (s (Declaration l l d d)), Show (s (FieldBinding l l d d)), Show (s (Pattern l l d d)), Show (s (Statement l l d d)), Show (s (Type l l d d)), Show (s (Value l l d d)), Show (QualifiedName λ)) => Show (Expression λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Expression λ l d s -> ShowS #

show :: Expression λ l d s -> String #

showList :: [Expression λ l d s] -> ShowS #

data Type λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

ConstructorType (s (Constructor l l d d)) 
FunctionConstructorType 
FunctionType (s (Type l l d d)) (s (Type l l d d)) 
ListType (s (Type l l d d)) 
StrictType (s (Type l l d d)) 
TupleType (NonEmpty (s (Type l l d d))) 
TypeApplication (s (Type l l d d)) (s (Type l l d d)) 
TypeVariable (Name λ) 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Constructor l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Type l l)) => Foldable t (Type λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Type λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Constructor l l), Functor t (Type l l), Functor t (Type l l), Functor t (Type l l), Functor t (Type l l), Functor t (Type l l), Functor t (Type l l), Functor t (Type l l)) => Functor t (Type λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Type λ l (Domain t) (Domain t) -> Type λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Constructor l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Type l l)) => Traversable t (Type λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Type λ l (Domain t) (Domain t) -> m0 (Type λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Constructor l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d)) => Foldable t (Type λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Type λ l d (Domain t) -> m0 #

(Transformation t, At t (Constructor l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d)) => Functor t (Type λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Type λ l d (Domain t) -> Type λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Constructor l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d), At t (Type l l d d)) => Traversable t (Type λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Type λ l d (Domain t) -> m0 (Type λ l d f0) #

Apply (Type λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Type λ l d (p ~> q) -> Type λ l d p -> Type λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Type λ l d p -> Type λ l d q -> Type λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Type λ l d p -> Type λ l d q -> Type λ l d r -> Type λ l d s #

Foldable (Type λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Type λ l d p -> m #

Functor (Type λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Type λ l d p -> Type λ l d q #

Traversable (Type λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Type λ l d p -> m (Type λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Type λ l d (Compose m p) -> m (Type λ l d p) #

(Eq (s (Constructor l l d d)), Eq (s (Type l l d d)), Eq (Name λ)) => Eq (Type λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Type λ l d s -> Type λ l d s -> Bool #

(/=) :: Type λ l d s -> Type λ l d s -> Bool #

(Data (s (Constructor l l d d)), Data (s (Type l l d d)), Data (Name λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Type λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Type λ l d s -> c (Type λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Type λ l d s) #

toConstr :: Type λ l d s -> Constr #

dataTypeOf :: Type λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Type λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Type λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Type λ l d s -> Type λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Type λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Type λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Type λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Type λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Type λ l d s -> m (Type λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Type λ l d s -> m (Type λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Type λ l d s -> m (Type λ l d s) #

(Show (s (Constructor l l d d)), Show (s (Type l l d d)), Show (Name λ)) => Show (Type λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Type λ l d s -> ShowS #

show :: Type λ l d s -> String #

showList :: [Type λ l d s] -> ShowS #

data EquationLHS λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

PrefixLHS (s (EquationLHS l l d d)) (NonEmpty (s (Pattern l l d d))) 
InfixLHS (s (Pattern l l d d)) (Name λ) (s (Pattern l l d d)) 
PatternLHS (s (Pattern l l d d)) 
VariableLHS (Name λ) 

Instances

Instances details
(WrapTranslation t, WrappedTranslation t EquationLHS, FullyTranslatable t Pattern, EquationLHS (Origin t) ~ EquationLHS (Origin t), EquationLHS (Target t) ~ EquationLHS (Target t), Pattern (Origin t) ~ Pattern (Origin t), Pattern (Target t) ~ Pattern (Target t)) => DeeplyTranslatable t EquationLHS Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> EquationLHS l (Origin t) (Wrap t) (Wrap t) -> EquationLHS l (Target t) (Wrap t) (Wrap t) Source #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (EquationLHS l l), Foldable t (Pattern l l), Foldable t (Pattern l l), Foldable t (Pattern l l), Foldable t (Pattern l l)) => Foldable t (EquationLHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> EquationLHS λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (EquationLHS l l), Functor t (Pattern l l), Functor t (Pattern l l), Functor t (Pattern l l), Functor t (Pattern l l)) => Functor t (EquationLHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> EquationLHS λ l (Domain t) (Domain t) -> EquationLHS λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (EquationLHS l l), Traversable t (Pattern l l), Traversable t (Pattern l l), Traversable t (Pattern l l), Traversable t (Pattern l l)) => Traversable t (EquationLHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> EquationLHS λ l (Domain t) (Domain t) -> m0 (EquationLHS λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (EquationLHS l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d)) => Foldable t (EquationLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> EquationLHS λ l d (Domain t) -> m0 #

(Transformation t, At t (EquationLHS l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d)) => Functor t (EquationLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> EquationLHS λ l d (Domain t) -> EquationLHS λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (EquationLHS l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d)) => Traversable t (EquationLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> EquationLHS λ l d (Domain t) -> m0 (EquationLHS λ l d f0) #

Apply (EquationLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). EquationLHS λ l d (p ~> q) -> EquationLHS λ l d p -> EquationLHS λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> EquationLHS λ l d p -> EquationLHS λ l d q -> EquationLHS λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> EquationLHS λ l d p -> EquationLHS λ l d q -> EquationLHS λ l d r -> EquationLHS λ l d s #

Foldable (EquationLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> EquationLHS λ l d p -> m #

Functor (EquationLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> EquationLHS λ l d p -> EquationLHS λ l d q #

Traversable (EquationLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> EquationLHS λ l d p -> m (EquationLHS λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => EquationLHS λ l d (Compose m p) -> m (EquationLHS λ l d p) #

(Eq (s (EquationLHS l l d d)), Eq (s (Pattern l l d d)), Eq (Name λ)) => Eq (EquationLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: EquationLHS λ l d s -> EquationLHS λ l d s -> Bool #

(/=) :: EquationLHS λ l d s -> EquationLHS λ l d s -> Bool #

(Data (s (EquationLHS l l d d)), Data (s (Pattern l l d d)), Data (Name λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (EquationLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> EquationLHS λ l d s -> c (EquationLHS λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (EquationLHS λ l d s) #

toConstr :: EquationLHS λ l d s -> Constr #

dataTypeOf :: EquationLHS λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (EquationLHS λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (EquationLHS λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> EquationLHS λ l d s -> EquationLHS λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> EquationLHS λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> EquationLHS λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> EquationLHS λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> EquationLHS λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> EquationLHS λ l d s -> m (EquationLHS λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> EquationLHS λ l d s -> m (EquationLHS λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> EquationLHS λ l d s -> m (EquationLHS λ l d s) #

(Show (s (EquationLHS l l d d)), Show (s (Pattern l l d d)), Show (Name λ)) => Show (EquationLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> EquationLHS λ l d s -> ShowS #

show :: EquationLHS λ l d s -> String #

showList :: [EquationLHS λ l d s] -> ShowS #

data EquationRHS λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

GuardedRHS (NonEmpty (s (GuardedExpression l l d d))) 
NormalRHS (s (Expression l l d d)) 

Instances

Instances details
(WrapTranslation t, WrappedTranslation t EquationRHS, FullyTranslatable t Expression, FullyTranslatable t GuardedExpression, EquationRHS (Origin t) ~ EquationRHS (Origin t), EquationRHS (Target t) ~ EquationRHS (Target t), Expression (Origin t) ~ Expression (Origin t), Expression (Target t) ~ Expression (Target t), GuardedExpression (Origin t) ~ GuardedExpression (Origin t), GuardedExpression (Target t) ~ GuardedExpression (Target t)) => DeeplyTranslatable t EquationRHS Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> EquationRHS l (Origin t) (Wrap t) (Wrap t) -> EquationRHS l (Target t) (Wrap t) (Wrap t) Source #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (GuardedExpression l l), Foldable t (Expression l l)) => Foldable t (EquationRHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> EquationRHS λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (GuardedExpression l l), Functor t (Expression l l)) => Functor t (EquationRHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> EquationRHS λ l (Domain t) (Domain t) -> EquationRHS λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (GuardedExpression l l), Traversable t (Expression l l)) => Traversable t (EquationRHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> EquationRHS λ l (Domain t) (Domain t) -> m0 (EquationRHS λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (GuardedExpression l l d d), At t (Expression l l d d)) => Foldable t (EquationRHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> EquationRHS λ l d (Domain t) -> m0 #

(Transformation t, At t (GuardedExpression l l d d), At t (Expression l l d d)) => Functor t (EquationRHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> EquationRHS λ l d (Domain t) -> EquationRHS λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (GuardedExpression l l d d), At t (Expression l l d d)) => Traversable t (EquationRHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> EquationRHS λ l d (Domain t) -> m0 (EquationRHS λ l d f0) #

Apply (EquationRHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). EquationRHS λ l d (p ~> q) -> EquationRHS λ l d p -> EquationRHS λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> EquationRHS λ l d p -> EquationRHS λ l d q -> EquationRHS λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> EquationRHS λ l d p -> EquationRHS λ l d q -> EquationRHS λ l d r -> EquationRHS λ l d s #

Foldable (EquationRHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> EquationRHS λ l d p -> m #

Functor (EquationRHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> EquationRHS λ l d p -> EquationRHS λ l d q #

Traversable (EquationRHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> EquationRHS λ l d p -> m (EquationRHS λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => EquationRHS λ l d (Compose m p) -> m (EquationRHS λ l d p) #

(Eq (s (GuardedExpression l l d d)), Eq (s (Expression l l d d))) => Eq (EquationRHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: EquationRHS λ l d s -> EquationRHS λ l d s -> Bool #

(/=) :: EquationRHS λ l d s -> EquationRHS λ l d s -> Bool #

(Data (s (GuardedExpression l l d d)), Data (s (Expression l l d d)), Data λ, Typeable l, Typeable d, Typeable s) => Data (EquationRHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> EquationRHS λ l d s -> c (EquationRHS λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (EquationRHS λ l d s) #

toConstr :: EquationRHS λ l d s -> Constr #

dataTypeOf :: EquationRHS λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (EquationRHS λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (EquationRHS λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> EquationRHS λ l d s -> EquationRHS λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> EquationRHS λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> EquationRHS λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> EquationRHS λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> EquationRHS λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> EquationRHS λ l d s -> m (EquationRHS λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> EquationRHS λ l d s -> m (EquationRHS λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> EquationRHS λ l d s -> m (EquationRHS λ l d s) #

(Show (s (GuardedExpression l l d d)), Show (s (Expression l l d d))) => Show (EquationRHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> EquationRHS λ l d s -> ShowS #

show :: EquationRHS λ l d s -> String #

showList :: [EquationRHS λ l d s] -> ShowS #

data GuardedExpression λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

GuardedExpression [s (Statement l l d d)] (s (Expression l l d d)) 

Instances

Instances details
(WrapTranslation t, FullyTranslatable t Expression, FullyTranslatable t Statement, GuardedExpression (Origin t) ~ GuardedExpression (Origin t), GuardedExpression (Target t) ~ GuardedExpression (Target t), Expression (Origin t) ~ Expression (Origin t), Expression (Target t) ~ Expression (Target t), Statement (Origin t) ~ Statement (Origin t), Statement (Target t) ~ Statement (Target t)) => DeeplyTranslatable t GuardedExpression Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> GuardedExpression l (Origin t) (Wrap t) (Wrap t) -> GuardedExpression l (Target t) (Wrap t) (Wrap t) Source #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Statement l l), Foldable t (Expression l l)) => Foldable t (GuardedExpression λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> GuardedExpression λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Statement l l), Functor t (Expression l l)) => Functor t (GuardedExpression λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> GuardedExpression λ l (Domain t) (Domain t) -> GuardedExpression λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Statement l l), Traversable t (Expression l l)) => Traversable t (GuardedExpression λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> GuardedExpression λ l (Domain t) (Domain t) -> m0 (GuardedExpression λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Statement l l d d), At t (Expression l l d d)) => Foldable t (GuardedExpression λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> GuardedExpression λ l d (Domain t) -> m0 #

(Transformation t, At t (Statement l l d d), At t (Expression l l d d)) => Functor t (GuardedExpression λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> GuardedExpression λ l d (Domain t) -> GuardedExpression λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Statement l l d d), At t (Expression l l d d)) => Traversable t (GuardedExpression λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> GuardedExpression λ l d (Domain t) -> m0 (GuardedExpression λ l d f0) #

Apply (GuardedExpression λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). GuardedExpression λ l d (p ~> q) -> GuardedExpression λ l d p -> GuardedExpression λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> GuardedExpression λ l d p -> GuardedExpression λ l d q -> GuardedExpression λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> GuardedExpression λ l d p -> GuardedExpression λ l d q -> GuardedExpression λ l d r -> GuardedExpression λ l d s #

Foldable (GuardedExpression λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> GuardedExpression λ l d p -> m #

Functor (GuardedExpression λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> GuardedExpression λ l d p -> GuardedExpression λ l d q #

Traversable (GuardedExpression λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> GuardedExpression λ l d p -> m (GuardedExpression λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => GuardedExpression λ l d (Compose m p) -> m (GuardedExpression λ l d p) #

(Eq (s (Statement l l d d)), Eq (s (Expression l l d d))) => Eq (GuardedExpression λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: GuardedExpression λ l d s -> GuardedExpression λ l d s -> Bool #

(/=) :: GuardedExpression λ l d s -> GuardedExpression λ l d s -> Bool #

(Data (s (Statement l l d d)), Data (s (Expression l l d d)), Data λ, Typeable l, Typeable d, Typeable s) => Data (GuardedExpression λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> GuardedExpression λ l d s -> c (GuardedExpression λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (GuardedExpression λ l d s) #

toConstr :: GuardedExpression λ l d s -> Constr #

dataTypeOf :: GuardedExpression λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (GuardedExpression λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (GuardedExpression λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> GuardedExpression λ l d s -> GuardedExpression λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> GuardedExpression λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> GuardedExpression λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> GuardedExpression λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> GuardedExpression λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> GuardedExpression λ l d s -> m (GuardedExpression λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> GuardedExpression λ l d s -> m (GuardedExpression λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> GuardedExpression λ l d s -> m (GuardedExpression λ l d s) #

(Show (s (Statement l l d d)), Show (s (Expression l l d d))) => Show (GuardedExpression λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> GuardedExpression λ l d s -> ShowS #

show :: GuardedExpression λ l d s -> String #

showList :: [GuardedExpression λ l d s] -> ShowS #

data Pattern λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

AsPattern (Name λ) (s (Pattern l l d d)) 
ConstructorPattern (s (Constructor l l d d)) [s (Pattern l l d d)] 
InfixPattern (s (Pattern l l d d)) (QualifiedName λ) (s (Pattern l l d d)) 
IrrefutablePattern (s (Pattern l l d d)) 
ListPattern [s (Pattern l l d d)] 
LiteralPattern (s (Value l l d d)) 
RecordPattern (QualifiedName λ) [s (FieldPattern l l d d)] 
TuplePattern (NonEmpty (s (Pattern l l d d))) 
VariablePattern (Name λ) 
WildcardPattern 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Pattern l l), Foldable t (Constructor l l), Foldable t (Pattern l l), Foldable t (Pattern l l), Foldable t (Pattern l l), Foldable t (Pattern l l), Foldable t (Pattern l l), Foldable t (Value l l), Foldable t (FieldPattern l l), Foldable t (Pattern l l)) => Foldable t (Pattern λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Pattern λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Pattern l l), Functor t (Constructor l l), Functor t (Pattern l l), Functor t (Pattern l l), Functor t (Pattern l l), Functor t (Pattern l l), Functor t (Pattern l l), Functor t (Value l l), Functor t (FieldPattern l l), Functor t (Pattern l l)) => Functor t (Pattern λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Pattern λ l (Domain t) (Domain t) -> Pattern λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Pattern l l), Traversable t (Constructor l l), Traversable t (Pattern l l), Traversable t (Pattern l l), Traversable t (Pattern l l), Traversable t (Pattern l l), Traversable t (Pattern l l), Traversable t (Value l l), Traversable t (FieldPattern l l), Traversable t (Pattern l l)) => Traversable t (Pattern λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Pattern λ l (Domain t) (Domain t) -> m0 (Pattern λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Pattern l l d d), At t (Constructor l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Value l l d d), At t (FieldPattern l l d d), At t (Pattern l l d d)) => Foldable t (Pattern λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Pattern λ l d (Domain t) -> m0 #

(Transformation t, At t (Pattern l l d d), At t (Constructor l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Value l l d d), At t (FieldPattern l l d d), At t (Pattern l l d d)) => Functor t (Pattern λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Pattern λ l d (Domain t) -> Pattern λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Pattern l l d d), At t (Constructor l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Pattern l l d d), At t (Value l l d d), At t (FieldPattern l l d d), At t (Pattern l l d d)) => Traversable t (Pattern λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Pattern λ l d (Domain t) -> m0 (Pattern λ l d f0) #

Apply (Pattern λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Pattern λ l d (p ~> q) -> Pattern λ l d p -> Pattern λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Pattern λ l d p -> Pattern λ l d q -> Pattern λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Pattern λ l d p -> Pattern λ l d q -> Pattern λ l d r -> Pattern λ l d s #

Foldable (Pattern λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Pattern λ l d p -> m #

Functor (Pattern λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Pattern λ l d p -> Pattern λ l d q #

Traversable (Pattern λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Pattern λ l d p -> m (Pattern λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Pattern λ l d (Compose m p) -> m (Pattern λ l d p) #

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Pattern l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Eq (s (Constructor l l d d)), Eq (s (FieldPattern l l d d)), Eq (s (Pattern l l d d)), Eq (s (Value l l d d)), Eq (QualifiedName λ), Eq (Name λ)) => Eq (Pattern λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Pattern λ l d s -> Pattern λ l d s -> Bool #

(/=) :: Pattern λ l d s -> Pattern λ l d s -> Bool #

(Data (s (Constructor l l d d)), Data (s (FieldPattern l l d d)), Data (s (Pattern l l d d)), Data (s (Value l l d d)), Data (Name λ), Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Pattern λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Pattern λ l d s -> c (Pattern λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Pattern λ l d s) #

toConstr :: Pattern λ l d s -> Constr #

dataTypeOf :: Pattern λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Pattern λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Pattern λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Pattern λ l d s -> Pattern λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Pattern λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Pattern λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Pattern λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Pattern λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Pattern λ l d s -> m (Pattern λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Pattern λ l d s -> m (Pattern λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Pattern λ l d s -> m (Pattern λ l d s) #

(Show (s (Constructor l l d d)), Show (s (FieldPattern l l d d)), Show (s (Pattern l l d d)), Show (s (Value l l d d)), Show (QualifiedName λ), Show (Name λ)) => Show (Pattern λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Pattern λ l d s -> ShowS #

show :: Pattern λ l d s -> String #

showList :: [Pattern λ l d s] -> ShowS #

data Statement λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

BindStatement (s (Pattern l l d d)) (s (Expression l l d d)) 
ExpressionStatement (s (Expression l l d d)) 
LetStatement [s (Declaration l l d d)] 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Pattern l l), Foldable t (Expression l l), Foldable t (Expression l l), Foldable t (Declaration l l)) => Foldable t (Statement λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Statement λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Pattern l l), Functor t (Expression l l), Functor t (Expression l l), Functor t (Declaration l l)) => Functor t (Statement λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Statement λ l (Domain t) (Domain t) -> Statement λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Pattern l l), Traversable t (Expression l l), Traversable t (Expression l l), Traversable t (Declaration l l)) => Traversable t (Statement λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Statement λ l (Domain t) (Domain t) -> m0 (Statement λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Pattern l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Declaration l l d d)) => Foldable t (Statement λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Statement λ l d (Domain t) -> m0 #

(Transformation t, At t (Pattern l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Declaration l l d d)) => Functor t (Statement λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Statement λ l d (Domain t) -> Statement λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Pattern l l d d), At t (Expression l l d d), At t (Expression l l d d), At t (Declaration l l d d)) => Traversable t (Statement λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Statement λ l d (Domain t) -> m0 (Statement λ l d f0) #

Apply (Statement λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Statement λ l d (p ~> q) -> Statement λ l d p -> Statement λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Statement λ l d p -> Statement λ l d q -> Statement λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Statement λ l d p -> Statement λ l d q -> Statement λ l d r -> Statement λ l d s #

Foldable (Statement λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Statement λ l d p -> m #

Functor (Statement λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Statement λ l d p -> Statement λ l d q #

Traversable (Statement λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Statement λ l d p -> m (Statement λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Statement λ l d (Compose m p) -> m (Statement λ l d p) #

(Eq (s (Declaration l l d d)), Eq (s (Expression l l d d)), Eq (s (Pattern l l d d))) => Eq (Statement λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Statement λ l d s -> Statement λ l d s -> Bool #

(/=) :: Statement λ l d s -> Statement λ l d s -> Bool #

(Data (s (Declaration l l d d)), Data (s (Expression l l d d)), Data (s (Pattern l l d d)), Data λ, Typeable l, Typeable d, Typeable s) => Data (Statement λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Statement λ l d s -> c (Statement λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Statement λ l d s) #

toConstr :: Statement λ l d s -> Constr #

dataTypeOf :: Statement λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Statement λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Statement λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Statement λ l d s -> Statement λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Statement λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Statement λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Statement λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Statement λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Statement λ l d s -> m (Statement λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Statement λ l d s -> m (Statement λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Statement λ l d s -> m (Statement λ l d s) #

(Show (s (Declaration l l d d)), Show (s (Expression l l d d)), Show (s (Pattern l l d d))) => Show (Statement λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Statement λ l d s -> ShowS #

show :: Statement λ l d s -> String #

showList :: [Statement λ l d s] -> ShowS #

data ClassInstanceLHS λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

TypeClassInstanceLHS (QualifiedName λ) (s (Type l l d d)) 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Type l l)) => Foldable t (ClassInstanceLHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> ClassInstanceLHS λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Type l l)) => Functor t (ClassInstanceLHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> ClassInstanceLHS λ l (Domain t) (Domain t) -> ClassInstanceLHS λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Type l l)) => Traversable t (ClassInstanceLHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> ClassInstanceLHS λ l (Domain t) (Domain t) -> m0 (ClassInstanceLHS λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Type l l d d)) => Foldable t (ClassInstanceLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> ClassInstanceLHS λ l d (Domain t) -> m0 #

(Transformation t, At t (Type l l d d)) => Functor t (ClassInstanceLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> ClassInstanceLHS λ l d (Domain t) -> ClassInstanceLHS λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Type l l d d)) => Traversable t (ClassInstanceLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> ClassInstanceLHS λ l d (Domain t) -> m0 (ClassInstanceLHS λ l d f0) #

Apply (ClassInstanceLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). ClassInstanceLHS λ l d (p ~> q) -> ClassInstanceLHS λ l d p -> ClassInstanceLHS λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> ClassInstanceLHS λ l d p -> ClassInstanceLHS λ l d q -> ClassInstanceLHS λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> ClassInstanceLHS λ l d p -> ClassInstanceLHS λ l d q -> ClassInstanceLHS λ l d r -> ClassInstanceLHS λ l d s #

Foldable (ClassInstanceLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> ClassInstanceLHS λ l d p -> m #

Functor (ClassInstanceLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> ClassInstanceLHS λ l d p -> ClassInstanceLHS λ l d q #

Traversable (ClassInstanceLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> ClassInstanceLHS λ l d p -> m (ClassInstanceLHS λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => ClassInstanceLHS λ l d (Compose m p) -> m (ClassInstanceLHS λ l d p) #

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Eq (s (Type l l d d)), Eq (QualifiedName λ)) => Eq (ClassInstanceLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: ClassInstanceLHS λ l d s -> ClassInstanceLHS λ l d s -> Bool #

(/=) :: ClassInstanceLHS λ l d s -> ClassInstanceLHS λ l d s -> Bool #

(Data (s (Type l l d d)), Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (ClassInstanceLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> ClassInstanceLHS λ l d s -> c (ClassInstanceLHS λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ClassInstanceLHS λ l d s) #

toConstr :: ClassInstanceLHS λ l d s -> Constr #

dataTypeOf :: ClassInstanceLHS λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (ClassInstanceLHS λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (ClassInstanceLHS λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> ClassInstanceLHS λ l d s -> ClassInstanceLHS λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> ClassInstanceLHS λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> ClassInstanceLHS λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> ClassInstanceLHS λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> ClassInstanceLHS λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> ClassInstanceLHS λ l d s -> m (ClassInstanceLHS λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> ClassInstanceLHS λ l d s -> m (ClassInstanceLHS λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> ClassInstanceLHS λ l d s -> m (ClassInstanceLHS λ l d s) #

(Show (s (Type l l d d)), Show (QualifiedName λ)) => Show (ClassInstanceLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> ClassInstanceLHS λ l d s -> ShowS #

show :: ClassInstanceLHS λ l d s -> String #

showList :: [ClassInstanceLHS λ l d s] -> ShowS #

data TypeLHS λ l (d :: Type -> Type) (s :: Type -> Type) Source #

Constructors

SimpleTypeLHS (Name λ) [Name λ] 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (TypeLHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> TypeLHS λ l (Domain t) (Domain t) -> m0 #

Transformation t => Functor t (TypeLHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> TypeLHS λ l (Domain t) (Domain t) -> TypeLHS λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (TypeLHS λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> TypeLHS λ l (Domain t) (Domain t) -> m0 (TypeLHS λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (TypeLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> TypeLHS λ l d (Domain t) -> m0 #

Transformation t => Functor t (TypeLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> TypeLHS λ l d (Domain t) -> TypeLHS λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (TypeLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> TypeLHS λ l d (Domain t) -> m0 (TypeLHS λ l d f0) #

Apply (TypeLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). TypeLHS λ l d (p ~> q) -> TypeLHS λ l d p -> TypeLHS λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> TypeLHS λ l d p -> TypeLHS λ l d q -> TypeLHS λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> TypeLHS λ l d p -> TypeLHS λ l d q -> TypeLHS λ l d r -> TypeLHS λ l d s #

Foldable (TypeLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> TypeLHS λ l d p -> m #

Functor (TypeLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> TypeLHS λ l d p -> TypeLHS λ l d q #

Traversable (TypeLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> TypeLHS λ l d p -> m (TypeLHS λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => TypeLHS λ l d (Compose m p) -> m (TypeLHS λ l d p) #

Eq (Name λ) => Eq (TypeLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: TypeLHS λ l d s -> TypeLHS λ l d s -> Bool #

(/=) :: TypeLHS λ l d s -> TypeLHS λ l d s -> Bool #

(Data (Name λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (TypeLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> TypeLHS λ l d s -> c (TypeLHS λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (TypeLHS λ l d s) #

toConstr :: TypeLHS λ l d s -> Constr #

dataTypeOf :: TypeLHS λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (TypeLHS λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (TypeLHS λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> TypeLHS λ l d s -> TypeLHS λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> TypeLHS λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> TypeLHS λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> TypeLHS λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> TypeLHS λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> TypeLHS λ l d s -> m (TypeLHS λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> TypeLHS λ l d s -> m (TypeLHS λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> TypeLHS λ l d s -> m (TypeLHS λ l d s) #

Show (Name λ) => Show (TypeLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> TypeLHS λ l d s -> ShowS #

show :: TypeLHS λ l d s -> String #

showList :: [TypeLHS λ l d s] -> ShowS #

data Import λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

Import Bool (ModuleName λ) (Maybe (ModuleName λ)) (Maybe (s (ImportSpecification l l d d))) 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (ImportSpecification l l)) => Foldable t (Import λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Import λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (ImportSpecification l l)) => Functor t (Import λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Import λ l (Domain t) (Domain t) -> Import λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (ImportSpecification l l)) => Traversable t (Import λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Import λ l (Domain t) (Domain t) -> m0 (Import λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (ImportSpecification l l d d)) => Foldable t (Import λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Import λ l d (Domain t) -> m0 #

(Transformation t, At t (ImportSpecification l l d d)) => Functor t (Import λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Import λ l d (Domain t) -> Import λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (ImportSpecification l l d d)) => Traversable t (Import λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Import λ l d (Domain t) -> m0 (Import λ l d f0) #

Apply (Import λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Import λ l d (p ~> q) -> Import λ l d p -> Import λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Import λ l d p -> Import λ l d q -> Import λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Import λ l d p -> Import λ l d q -> Import λ l d r -> Import λ l d s #

Foldable (Import λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Import λ l d p -> m #

Functor (Import λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Import λ l d p -> Import λ l d q #

Traversable (Import λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Import λ l d p -> m (Import λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Import λ l d (Compose m p) -> m (Import λ l d p) #

(Eq (s (ImportSpecification l l d d)), Eq (ModuleName λ)) => Eq (Import λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Import λ l d s -> Import λ l d s -> Bool #

(/=) :: Import λ l d s -> Import λ l d s -> Bool #

(Data (s (ImportSpecification l l d d)), Data (ModuleName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Import λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Import λ l d s -> c (Import λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Import λ l d s) #

toConstr :: Import λ l d s -> Constr #

dataTypeOf :: Import λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Import λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Import λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Import λ l d s -> Import λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Import λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Import λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Import λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Import λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Import λ l d s -> m (Import λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Import λ l d s -> m (Import λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Import λ l d s -> m (Import λ l d s) #

(Show (s (ImportSpecification l l d d)), Show (ModuleName λ)) => Show (Import λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Import λ l d s -> ShowS #

show :: Import λ l d s -> String #

showList :: [Import λ l d s] -> ShowS #

data ImportSpecification λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

ImportSpecification Bool [s (ImportItem l l d d)] 

Instances

Instances details
(WrapTranslation t, FullyTranslatable t ImportItem, ImportItem (Origin t) ~ ImportItem (Origin t), ImportItem (Target t) ~ ImportItem (Target t)) => DeeplyTranslatable t ImportSpecification Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (ImportItem l l)) => Foldable t (ImportSpecification λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> ImportSpecification λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (ImportItem l l)) => Functor t (ImportSpecification λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> ImportSpecification λ l (Domain t) (Domain t) -> ImportSpecification λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (ImportItem l l)) => Traversable t (ImportSpecification λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> ImportSpecification λ l (Domain t) (Domain t) -> m0 (ImportSpecification λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (ImportItem l l d d)) => Foldable t (ImportSpecification λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> ImportSpecification λ l d (Domain t) -> m0 #

(Transformation t, At t (ImportItem l l d d)) => Functor t (ImportSpecification λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> ImportSpecification λ l d (Domain t) -> ImportSpecification λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (ImportItem l l d d)) => Traversable t (ImportSpecification λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> ImportSpecification λ l d (Domain t) -> m0 (ImportSpecification λ l d f0) #

Apply (ImportSpecification λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). ImportSpecification λ l d (p ~> q) -> ImportSpecification λ l d p -> ImportSpecification λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> ImportSpecification λ l d p -> ImportSpecification λ l d q -> ImportSpecification λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> ImportSpecification λ l d p -> ImportSpecification λ l d q -> ImportSpecification λ l d r -> ImportSpecification λ l d s #

Foldable (ImportSpecification λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> ImportSpecification λ l d p -> m #

Functor (ImportSpecification λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> ImportSpecification λ l d p -> ImportSpecification λ l d q #

Traversable (ImportSpecification λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> ImportSpecification λ l d p -> m (ImportSpecification λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => ImportSpecification λ l d (Compose m p) -> m (ImportSpecification λ l d p) #

Eq (s (ImportItem l l d d)) => Eq (ImportSpecification λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: ImportSpecification λ l d s -> ImportSpecification λ l d s -> Bool #

(/=) :: ImportSpecification λ l d s -> ImportSpecification λ l d s -> Bool #

(Data (s (ImportItem l l d d)), Data λ, Typeable l, Typeable d, Typeable s) => Data (ImportSpecification λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> ImportSpecification λ l d s -> c (ImportSpecification λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ImportSpecification λ l d s) #

toConstr :: ImportSpecification λ l d s -> Constr #

dataTypeOf :: ImportSpecification λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (ImportSpecification λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (ImportSpecification λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> ImportSpecification λ l d s -> ImportSpecification λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> ImportSpecification λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> ImportSpecification λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> ImportSpecification λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> ImportSpecification λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> ImportSpecification λ l d s -> m (ImportSpecification λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> ImportSpecification λ l d s -> m (ImportSpecification λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> ImportSpecification λ l d s -> m (ImportSpecification λ l d s) #

Show (s (ImportItem l l d d)) => Show (ImportSpecification λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> ImportSpecification λ l d s -> ShowS #

show :: ImportSpecification λ l d s -> String #

showList :: [ImportSpecification λ l d s] -> ShowS #

TemplateWrapper f => PrettyViaTH (ImportSpecification Language Language f f) Source # 
Instance details

Defined in Language.Haskell.Template

data ImportItem λ l (d :: Type -> Type) (s :: Type -> Type) Source #

Constructors

ImportClassOrType (Name λ) (Maybe (Members λ)) 
ImportVar (Name λ) 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (ImportItem λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> ImportItem λ l (Domain t) (Domain t) -> m0 #

Transformation t => Functor t (ImportItem λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> ImportItem λ l (Domain t) (Domain t) -> ImportItem λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (ImportItem λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> ImportItem λ l (Domain t) (Domain t) -> m0 (ImportItem λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (ImportItem λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> ImportItem λ l d (Domain t) -> m0 #

Transformation t => Functor t (ImportItem λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> ImportItem λ l d (Domain t) -> ImportItem λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (ImportItem λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> ImportItem λ l d (Domain t) -> m0 (ImportItem λ l d f0) #

Apply (ImportItem λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). ImportItem λ l d (p ~> q) -> ImportItem λ l d p -> ImportItem λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> ImportItem λ l d p -> ImportItem λ l d q -> ImportItem λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> ImportItem λ l d p -> ImportItem λ l d q -> ImportItem λ l d r -> ImportItem λ l d s #

Foldable (ImportItem λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> ImportItem λ l d p -> m #

Functor (ImportItem λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> ImportItem λ l d p -> ImportItem λ l d q #

Traversable (ImportItem λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> ImportItem λ l d p -> m (ImportItem λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => ImportItem λ l d (Compose m p) -> m (ImportItem λ l d p) #

(Eq (Members λ), Eq (Name λ)) => Eq (ImportItem λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: ImportItem λ l d s -> ImportItem λ l d s -> Bool #

(/=) :: ImportItem λ l d s -> ImportItem λ l d s -> Bool #

(Data (Members λ), Data (Name λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (ImportItem λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> ImportItem λ l d s -> c (ImportItem λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ImportItem λ l d s) #

toConstr :: ImportItem λ l d s -> Constr #

dataTypeOf :: ImportItem λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (ImportItem λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (ImportItem λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> ImportItem λ l d s -> ImportItem λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> ImportItem λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> ImportItem λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> ImportItem λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> ImportItem λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> ImportItem λ l d s -> m (ImportItem λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> ImportItem λ l d s -> m (ImportItem λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> ImportItem λ l d s -> m (ImportItem λ l d s) #

(Show (Members λ), Show (Name λ)) => Show (ImportItem λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> ImportItem λ l d s -> ShowS #

show :: ImportItem λ l d s -> String #

showList :: [ImportItem λ l d s] -> ShowS #

data Export λ l (d :: Type -> Type) (s :: Type -> Type) Source #

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (Export λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Export λ l (Domain t) (Domain t) -> m0 #

Transformation t => Functor t (Export λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Export λ l (Domain t) (Domain t) -> Export λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (Export λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Export λ l (Domain t) (Domain t) -> m0 (Export λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (Export λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Export λ l d (Domain t) -> m0 #

Transformation t => Functor t (Export λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Export λ l d (Domain t) -> Export λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (Export λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Export λ l d (Domain t) -> m0 (Export λ l d f0) #

Apply (Export λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Export λ l d (p ~> q) -> Export λ l d p -> Export λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Export λ l d p -> Export λ l d q -> Export λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Export λ l d p -> Export λ l d q -> Export λ l d r -> Export λ l d s #

Foldable (Export λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Export λ l d p -> m #

Functor (Export λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Export λ l d p -> Export λ l d q #

Traversable (Export λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Export λ l d p -> m (Export λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Export λ l d (Compose m p) -> m (Export λ l d p) #

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Export l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Eq (Members λ), Eq (ModuleName λ), Eq (QualifiedName λ)) => Eq (Export λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Export λ l d s -> Export λ l d s -> Bool #

(/=) :: Export λ l d s -> Export λ l d s -> Bool #

(Data (Members λ), Data (ModuleName λ), Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Export λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Export λ l d s -> c (Export λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Export λ l d s) #

toConstr :: Export λ l d s -> Constr #

dataTypeOf :: Export λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Export λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Export λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Export λ l d s -> Export λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Export λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Export λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Export λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Export λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Export λ l d s -> m (Export λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Export λ l d s -> m (Export λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Export λ l d s -> m (Export λ l d s) #

(Show (Members λ), Show (ModuleName λ), Show (QualifiedName λ)) => Show (Export λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Export λ l d s -> ShowS #

show :: Export λ l d s -> String #

showList :: [Export λ l d s] -> ShowS #

data Context λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

ClassConstraint (QualifiedName λ) (s (Type l l d d)) 
Constraints [s (Context l l d d)] 
NoContext 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Type l l), Foldable t (Context l l)) => Foldable t (Context λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Context λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Type l l), Functor t (Context l l)) => Functor t (Context λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Context λ l (Domain t) (Domain t) -> Context λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Type l l), Traversable t (Context l l)) => Traversable t (Context λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Context λ l (Domain t) (Domain t) -> m0 (Context λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Type l l d d), At t (Context l l d d)) => Foldable t (Context λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Context λ l d (Domain t) -> m0 #

(Transformation t, At t (Type l l d d), At t (Context l l d d)) => Functor t (Context λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Context λ l d (Domain t) -> Context λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Type l l d d), At t (Context l l d d)) => Traversable t (Context λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Context λ l d (Domain t) -> m0 (Context λ l d f0) #

Apply (Context λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Context λ l d (p ~> q) -> Context λ l d p -> Context λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Context λ l d p -> Context λ l d q -> Context λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Context λ l d p -> Context λ l d q -> Context λ l d r -> Context λ l d s #

Foldable (Context λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Context λ l d p -> m #

Functor (Context λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Context λ l d p -> Context λ l d q #

Traversable (Context λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Context λ l d p -> m (Context λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Context λ l d (Compose m p) -> m (Context λ l d p) #

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Eq (s (Context l l d d)), Eq (s (Type l l d d)), Eq (QualifiedName λ), Eq (Name λ)) => Eq (Context λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Context λ l d s -> Context λ l d s -> Bool #

(/=) :: Context λ l d s -> Context λ l d s -> Bool #

(Data (s (Context l l d d)), Data (s (Type l l d d)), Data (Name λ), Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Context λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Context λ l d s -> c (Context λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Context λ l d s) #

toConstr :: Context λ l d s -> Constr #

dataTypeOf :: Context λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Context λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Context λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Context λ l d s -> Context λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Context λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Context λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Context λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Context λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Context λ l d s -> m (Context λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Context λ l d s -> m (Context λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Context λ l d s -> m (Context λ l d s) #

(Show (s (Context l l d d)), Show (s (Type l l d d)), Show (QualifiedName λ), Show (Name λ)) => Show (Context λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Context λ l d s -> ShowS #

show :: Context λ l d s -> String #

showList :: [Context λ l d s] -> ShowS #

data DataConstructor λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

Constructor (Name λ) [s (Type l l d d)] 
RecordConstructor (Name λ) [s (FieldDeclaration l l d d)] 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Type l l), Foldable t (FieldDeclaration l l)) => Foldable t (DataConstructor λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> DataConstructor λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Type l l), Functor t (FieldDeclaration l l)) => Functor t (DataConstructor λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> DataConstructor λ l (Domain t) (Domain t) -> DataConstructor λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Type l l), Traversable t (FieldDeclaration l l)) => Traversable t (DataConstructor λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> DataConstructor λ l (Domain t) (Domain t) -> m0 (DataConstructor λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Type l l d d), At t (FieldDeclaration l l d d)) => Foldable t (DataConstructor λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> DataConstructor λ l d (Domain t) -> m0 #

(Transformation t, At t (Type l l d d), At t (FieldDeclaration l l d d)) => Functor t (DataConstructor λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> DataConstructor λ l d (Domain t) -> DataConstructor λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Type l l d d), At t (FieldDeclaration l l d d)) => Traversable t (DataConstructor λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> DataConstructor λ l d (Domain t) -> m0 (DataConstructor λ l d f0) #

Apply (DataConstructor λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). DataConstructor λ l d (p ~> q) -> DataConstructor λ l d p -> DataConstructor λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> DataConstructor λ l d p -> DataConstructor λ l d q -> DataConstructor λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> DataConstructor λ l d p -> DataConstructor λ l d q -> DataConstructor λ l d r -> DataConstructor λ l d s #

Foldable (DataConstructor λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> DataConstructor λ l d p -> m #

Functor (DataConstructor λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> DataConstructor λ l d p -> DataConstructor λ l d q #

Traversable (DataConstructor λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> DataConstructor λ l d p -> m (DataConstructor λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => DataConstructor λ l d (Compose m p) -> m (DataConstructor λ l d p) #

(Eq (s (FieldDeclaration l l d d)), Eq (s (Type l l d d)), Eq (Name λ), Eq (Name λ)) => Eq (DataConstructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: DataConstructor λ l d s -> DataConstructor λ l d s -> Bool #

(/=) :: DataConstructor λ l d s -> DataConstructor λ l d s -> Bool #

(Data (s (FieldDeclaration l l d d)), Data (s (Type l l d d)), Data (Name λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (DataConstructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> DataConstructor λ l d s -> c (DataConstructor λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (DataConstructor λ l d s) #

toConstr :: DataConstructor λ l d s -> Constr #

dataTypeOf :: DataConstructor λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (DataConstructor λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (DataConstructor λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> DataConstructor λ l d s -> DataConstructor λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> DataConstructor λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> DataConstructor λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> DataConstructor λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> DataConstructor λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> DataConstructor λ l d s -> m (DataConstructor λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> DataConstructor λ l d s -> m (DataConstructor λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> DataConstructor λ l d s -> m (DataConstructor λ l d s) #

(Show (s (FieldDeclaration l l d d)), Show (s (Type l l d d)), Show (Name λ), Show (Name λ)) => Show (DataConstructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> DataConstructor λ l d s -> ShowS #

show :: DataConstructor λ l d s -> String #

showList :: [DataConstructor λ l d s] -> ShowS #

data DerivingClause λ l (d :: Type -> Type) (s :: Type -> Type) Source #

Constructors

SimpleDerive (QualifiedName λ) 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (DerivingClause λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> DerivingClause λ l (Domain t) (Domain t) -> m0 #

Transformation t => Functor t (DerivingClause λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> DerivingClause λ l (Domain t) (Domain t) -> DerivingClause λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (DerivingClause λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> DerivingClause λ l (Domain t) (Domain t) -> m0 (DerivingClause λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (DerivingClause λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> DerivingClause λ l d (Domain t) -> m0 #

Transformation t => Functor t (DerivingClause λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> DerivingClause λ l d (Domain t) -> DerivingClause λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (DerivingClause λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> DerivingClause λ l d (Domain t) -> m0 (DerivingClause λ l d f0) #

Apply (DerivingClause λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). DerivingClause λ l d (p ~> q) -> DerivingClause λ l d p -> DerivingClause λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> DerivingClause λ l d p -> DerivingClause λ l d q -> DerivingClause λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> DerivingClause λ l d p -> DerivingClause λ l d q -> DerivingClause λ l d r -> DerivingClause λ l d s #

Foldable (DerivingClause λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> DerivingClause λ l d p -> m #

Functor (DerivingClause λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> DerivingClause λ l d p -> DerivingClause λ l d q #

Traversable (DerivingClause λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> DerivingClause λ l d p -> m (DerivingClause λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => DerivingClause λ l d (Compose m p) -> m (DerivingClause λ l d p) #

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (DerivingClause l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

Eq (QualifiedName λ) => Eq (DerivingClause λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: DerivingClause λ l d s -> DerivingClause λ l d s -> Bool #

(/=) :: DerivingClause λ l d s -> DerivingClause λ l d s -> Bool #

(Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (DerivingClause λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> DerivingClause λ l d s -> c (DerivingClause λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (DerivingClause λ l d s) #

toConstr :: DerivingClause λ l d s -> Constr #

dataTypeOf :: DerivingClause λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (DerivingClause λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (DerivingClause λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> DerivingClause λ l d s -> DerivingClause λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> DerivingClause λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> DerivingClause λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> DerivingClause λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> DerivingClause λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> DerivingClause λ l d s -> m (DerivingClause λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> DerivingClause λ l d s -> m (DerivingClause λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> DerivingClause λ l d s -> m (DerivingClause λ l d s) #

Show (QualifiedName λ) => Show (DerivingClause λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> DerivingClause λ l d s -> ShowS #

show :: DerivingClause λ l d s -> String #

showList :: [DerivingClause λ l d s] -> ShowS #

data FieldDeclaration λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

ConstructorFields (NonEmpty (Name λ)) (s (Type l l d d)) 

Instances

Instances details
(WrapTranslation t, FullyTranslatable t Type, FieldDeclaration (Origin t) ~ FieldDeclaration (Origin t), FieldDeclaration (Target t) ~ FieldDeclaration (Target t), Type (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t)) => DeeplyTranslatable t FieldDeclaration Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> FieldDeclaration l (Origin t) (Wrap t) (Wrap t) -> FieldDeclaration l (Target t) (Wrap t) (Wrap t) Source #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Type l l)) => Foldable t (FieldDeclaration λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> FieldDeclaration λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Type l l)) => Functor t (FieldDeclaration λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> FieldDeclaration λ l (Domain t) (Domain t) -> FieldDeclaration λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Type l l)) => Traversable t (FieldDeclaration λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> FieldDeclaration λ l (Domain t) (Domain t) -> m0 (FieldDeclaration λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Type l l d d)) => Foldable t (FieldDeclaration λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> FieldDeclaration λ l d (Domain t) -> m0 #

(Transformation t, At t (Type l l d d)) => Functor t (FieldDeclaration λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> FieldDeclaration λ l d (Domain t) -> FieldDeclaration λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Type l l d d)) => Traversable t (FieldDeclaration λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> FieldDeclaration λ l d (Domain t) -> m0 (FieldDeclaration λ l d f0) #

Apply (FieldDeclaration λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). FieldDeclaration λ l d (p ~> q) -> FieldDeclaration λ l d p -> FieldDeclaration λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> FieldDeclaration λ l d p -> FieldDeclaration λ l d q -> FieldDeclaration λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> FieldDeclaration λ l d p -> FieldDeclaration λ l d q -> FieldDeclaration λ l d r -> FieldDeclaration λ l d s #

Foldable (FieldDeclaration λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> FieldDeclaration λ l d p -> m #

Functor (FieldDeclaration λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> FieldDeclaration λ l d p -> FieldDeclaration λ l d q #

Traversable (FieldDeclaration λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> FieldDeclaration λ l d p -> m (FieldDeclaration λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => FieldDeclaration λ l d (Compose m p) -> m (FieldDeclaration λ l d p) #

(Eq (s (Type l l d d)), Eq (Name λ)) => Eq (FieldDeclaration λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: FieldDeclaration λ l d s -> FieldDeclaration λ l d s -> Bool #

(/=) :: FieldDeclaration λ l d s -> FieldDeclaration λ l d s -> Bool #

(Data (s (Type l l d d)), Data (Name λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (FieldDeclaration λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> FieldDeclaration λ l d s -> c (FieldDeclaration λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FieldDeclaration λ l d s) #

toConstr :: FieldDeclaration λ l d s -> Constr #

dataTypeOf :: FieldDeclaration λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (FieldDeclaration λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (FieldDeclaration λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> FieldDeclaration λ l d s -> FieldDeclaration λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> FieldDeclaration λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> FieldDeclaration λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> FieldDeclaration λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> FieldDeclaration λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> FieldDeclaration λ l d s -> m (FieldDeclaration λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> FieldDeclaration λ l d s -> m (FieldDeclaration λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> FieldDeclaration λ l d s -> m (FieldDeclaration λ l d s) #

(Show (s (Type l l d d)), Show (Name λ)) => Show (FieldDeclaration λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> FieldDeclaration λ l d s -> ShowS #

show :: FieldDeclaration λ l d s -> String #

showList :: [FieldDeclaration λ l d s] -> ShowS #

data FieldBinding λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

FieldBinding (QualifiedName λ) (s (Expression l l d d)) 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Expression l l)) => Foldable t (FieldBinding λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> FieldBinding λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Expression l l)) => Functor t (FieldBinding λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> FieldBinding λ l (Domain t) (Domain t) -> FieldBinding λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Expression l l)) => Traversable t (FieldBinding λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> FieldBinding λ l (Domain t) (Domain t) -> m0 (FieldBinding λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Expression l l d d)) => Foldable t (FieldBinding λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> FieldBinding λ l d (Domain t) -> m0 #

(Transformation t, At t (Expression l l d d)) => Functor t (FieldBinding λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> FieldBinding λ l d (Domain t) -> FieldBinding λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Expression l l d d)) => Traversable t (FieldBinding λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> FieldBinding λ l d (Domain t) -> m0 (FieldBinding λ l d f0) #

Apply (FieldBinding λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). FieldBinding λ l d (p ~> q) -> FieldBinding λ l d p -> FieldBinding λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> FieldBinding λ l d p -> FieldBinding λ l d q -> FieldBinding λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> FieldBinding λ l d p -> FieldBinding λ l d q -> FieldBinding λ l d r -> FieldBinding λ l d s #

Foldable (FieldBinding λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> FieldBinding λ l d p -> m #

Functor (FieldBinding λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> FieldBinding λ l d p -> FieldBinding λ l d q #

Traversable (FieldBinding λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> FieldBinding λ l d p -> m (FieldBinding λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => FieldBinding λ l d (Compose m p) -> m (FieldBinding λ l d p) #

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Eq (s (Expression l l d d)), Eq (QualifiedName λ)) => Eq (FieldBinding λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: FieldBinding λ l d s -> FieldBinding λ l d s -> Bool #

(/=) :: FieldBinding λ l d s -> FieldBinding λ l d s -> Bool #

(Data (s (Expression l l d d)), Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (FieldBinding λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> FieldBinding λ l d s -> c (FieldBinding λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FieldBinding λ l d s) #

toConstr :: FieldBinding λ l d s -> Constr #

dataTypeOf :: FieldBinding λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (FieldBinding λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (FieldBinding λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> FieldBinding λ l d s -> FieldBinding λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> FieldBinding λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> FieldBinding λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> FieldBinding λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> FieldBinding λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> FieldBinding λ l d s -> m (FieldBinding λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> FieldBinding λ l d s -> m (FieldBinding λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> FieldBinding λ l d s -> m (FieldBinding λ l d s) #

(Show (s (Expression l l d d)), Show (QualifiedName λ)) => Show (FieldBinding λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> FieldBinding λ l d s -> ShowS #

show :: FieldBinding λ l d s -> String #

showList :: [FieldBinding λ l d s] -> ShowS #

data FieldPattern λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

FieldPattern (QualifiedName λ) (s (Pattern l l d d)) 

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Pattern l l)) => Foldable t (FieldPattern λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> FieldPattern λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Pattern l l)) => Functor t (FieldPattern λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> FieldPattern λ l (Domain t) (Domain t) -> FieldPattern λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Pattern l l)) => Traversable t (FieldPattern λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> FieldPattern λ l (Domain t) (Domain t) -> m0 (FieldPattern λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Pattern l l d d)) => Foldable t (FieldPattern λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> FieldPattern λ l d (Domain t) -> m0 #

(Transformation t, At t (Pattern l l d d)) => Functor t (FieldPattern λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> FieldPattern λ l d (Domain t) -> FieldPattern λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Pattern l l d d)) => Traversable t (FieldPattern λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> FieldPattern λ l d (Domain t) -> m0 (FieldPattern λ l d f0) #

Apply (FieldPattern λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). FieldPattern λ l d (p ~> q) -> FieldPattern λ l d p -> FieldPattern λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> FieldPattern λ l d p -> FieldPattern λ l d q -> FieldPattern λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> FieldPattern λ l d p -> FieldPattern λ l d q -> FieldPattern λ l d r -> FieldPattern λ l d s #

Foldable (FieldPattern λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> FieldPattern λ l d p -> m #

Functor (FieldPattern λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> FieldPattern λ l d p -> FieldPattern λ l d q #

Traversable (FieldPattern λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> FieldPattern λ l d p -> m (FieldPattern λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => FieldPattern λ l d (Compose m p) -> m (FieldPattern λ l d p) #

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Eq (s (Pattern l l d d)), Eq (QualifiedName λ)) => Eq (FieldPattern λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: FieldPattern λ l d s -> FieldPattern λ l d s -> Bool #

(/=) :: FieldPattern λ l d s -> FieldPattern λ l d s -> Bool #

(Data (s (Pattern l l d d)), Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (FieldPattern λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> FieldPattern λ l d s -> c (FieldPattern λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FieldPattern λ l d s) #

toConstr :: FieldPattern λ l d s -> Constr #

dataTypeOf :: FieldPattern λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (FieldPattern λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (FieldPattern λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> FieldPattern λ l d s -> FieldPattern λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> FieldPattern λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> FieldPattern λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> FieldPattern λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> FieldPattern λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> FieldPattern λ l d s -> m (FieldPattern λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> FieldPattern λ l d s -> m (FieldPattern λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> FieldPattern λ l d s -> m (FieldPattern λ l d s) #

(Show (s (Pattern l l d d)), Show (QualifiedName λ)) => Show (FieldPattern λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> FieldPattern λ l d s -> ShowS #

show :: FieldPattern λ l d s -> String #

showList :: [FieldPattern λ l d s] -> ShowS #

data CaseAlternative λ l (d :: NodeWrap) (s :: Type -> Type) Source #

Constructors

CaseAlternative (s (Pattern l l d d)) (s (EquationRHS l l d d)) [s (Declaration l l d d)] 

Instances

Instances details
(WrapTranslation t, FullyTranslatable t Declaration, FullyTranslatable t EquationRHS, FullyTranslatable t Pattern, CaseAlternative (Origin t) ~ CaseAlternative (Origin t), CaseAlternative (Target t) ~ CaseAlternative (Target t), Declaration (Origin t) ~ Declaration (Origin t), Declaration (Target t) ~ Declaration (Target t), EquationRHS (Origin t) ~ EquationRHS (Origin t), EquationRHS (Target t) ~ EquationRHS (Target t), Pattern (Origin t) ~ Pattern (Origin t), Pattern (Target t) ~ Pattern (Target t)) => DeeplyTranslatable t CaseAlternative Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> CaseAlternative l (Origin t) (Wrap t) (Wrap t) -> CaseAlternative l (Target t) (Wrap t) (Wrap t) Source #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Pattern l l), Foldable t (EquationRHS l l), Foldable t (Declaration l l)) => Foldable t (CaseAlternative λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> CaseAlternative λ l (Domain t) (Domain t) -> m0 #

(Transformation t, Functor t (Pattern l l), Functor t (EquationRHS l l), Functor t (Declaration l l)) => Functor t (CaseAlternative λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> CaseAlternative λ l (Domain t) (Domain t) -> CaseAlternative λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Pattern l l), Traversable t (EquationRHS l l), Traversable t (Declaration l l)) => Traversable t (CaseAlternative λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> CaseAlternative λ l (Domain t) (Domain t) -> m0 (CaseAlternative λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Pattern l l d d), At t (EquationRHS l l d d), At t (Declaration l l d d)) => Foldable t (CaseAlternative λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> CaseAlternative λ l d (Domain t) -> m0 #

(Transformation t, At t (Pattern l l d d), At t (EquationRHS l l d d), At t (Declaration l l d d)) => Functor t (CaseAlternative λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> CaseAlternative λ l d (Domain t) -> CaseAlternative λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (Pattern l l d d), At t (EquationRHS l l d d), At t (Declaration l l d d)) => Traversable t (CaseAlternative λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> CaseAlternative λ l d (Domain t) -> m0 (CaseAlternative λ l d f0) #

Apply (CaseAlternative λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). CaseAlternative λ l d (p ~> q) -> CaseAlternative λ l d p -> CaseAlternative λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> CaseAlternative λ l d p -> CaseAlternative λ l d q -> CaseAlternative λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> CaseAlternative λ l d p -> CaseAlternative λ l d q -> CaseAlternative λ l d r -> CaseAlternative λ l d s #

Foldable (CaseAlternative λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> CaseAlternative λ l d p -> m #

Functor (CaseAlternative λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> CaseAlternative λ l d p -> CaseAlternative λ l d q #

Traversable (CaseAlternative λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> CaseAlternative λ l d p -> m (CaseAlternative λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => CaseAlternative λ l d (Compose m p) -> m (CaseAlternative λ l d p) #

(Eq (s (Pattern l l d d)), Eq (s (EquationRHS l l d d)), Eq (s (Declaration l l d d))) => Eq (CaseAlternative λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: CaseAlternative λ l d s -> CaseAlternative λ l d s -> Bool #

(/=) :: CaseAlternative λ l d s -> CaseAlternative λ l d s -> Bool #

(Data (s (Pattern l l d d)), Data (s (EquationRHS l l d d)), Data (s (Declaration l l d d)), Typeable λ, Typeable l, Typeable d, Typeable s) => Data (CaseAlternative λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> CaseAlternative λ l d s -> c (CaseAlternative λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CaseAlternative λ l d s) #

toConstr :: CaseAlternative λ l d s -> Constr #

dataTypeOf :: CaseAlternative λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (CaseAlternative λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (CaseAlternative λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> CaseAlternative λ l d s -> CaseAlternative λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> CaseAlternative λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> CaseAlternative λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> CaseAlternative λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> CaseAlternative λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> CaseAlternative λ l d s -> m (CaseAlternative λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> CaseAlternative λ l d s -> m (CaseAlternative λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> CaseAlternative λ l d s -> m (CaseAlternative λ l d s) #

(Show (s (Pattern l l d d)), Show (s (EquationRHS l l d d)), Show (s (Declaration l l d d))) => Show (CaseAlternative λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> CaseAlternative λ l d s -> ShowS #

show :: CaseAlternative λ l d s -> String #

showList :: [CaseAlternative λ l d s] -> ShowS #

data Constructor λ l (d :: Type -> Type) (s :: Type -> Type) Source #

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (Constructor λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Constructor λ l (Domain t) (Domain t) -> m0 #

Transformation t => Functor t (Constructor λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Constructor λ l (Domain t) (Domain t) -> Constructor λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (Constructor λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Constructor λ l (Domain t) (Domain t) -> m0 (Constructor λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (Constructor λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Constructor λ l d (Domain t) -> m0 #

Transformation t => Functor t (Constructor λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Constructor λ l d (Domain t) -> Constructor λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (Constructor λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Constructor λ l d (Domain t) -> m0 (Constructor λ l d f0) #

Apply (Constructor λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Constructor λ l d (p ~> q) -> Constructor λ l d p -> Constructor λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Constructor λ l d p -> Constructor λ l d q -> Constructor λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Constructor λ l d p -> Constructor λ l d q -> Constructor λ l d r -> Constructor λ l d s #

Foldable (Constructor λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Constructor λ l d p -> m #

Functor (Constructor λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Constructor λ l d p -> Constructor λ l d q #

Traversable (Constructor λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Constructor λ l d p -> m (Constructor λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Constructor λ l d (Compose m p) -> m (Constructor λ l d p) #

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Constructor l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

Eq (QualifiedName λ) => Eq (Constructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Constructor λ l d s -> Constructor λ l d s -> Bool #

(/=) :: Constructor λ l d s -> Constructor λ l d s -> Bool #

(Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Constructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Constructor λ l d s -> c (Constructor λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Constructor λ l d s) #

toConstr :: Constructor λ l d s -> Constr #

dataTypeOf :: Constructor λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Constructor λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Constructor λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Constructor λ l d s -> Constructor λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Constructor λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Constructor λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Constructor λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Constructor λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Constructor λ l d s -> m (Constructor λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Constructor λ l d s -> m (Constructor λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Constructor λ l d s -> m (Constructor λ l d s) #

Show (QualifiedName λ) => Show (Constructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Constructor λ l d s -> ShowS #

show :: Constructor λ l d s -> String #

showList :: [Constructor λ l d s] -> ShowS #

data Value λ l (d :: Type -> Type) (s :: Type -> Type) Source #

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (Value λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Value λ l (Domain t) (Domain t) -> m0 #

Transformation t => Functor t (Value λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Value λ l (Domain t) (Domain t) -> Value λ l (Codomain t) (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (Value λ l) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Value λ l (Domain t) (Domain t) -> m0 (Value λ l f0 f0) #

(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (Value λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> Value λ l d (Domain t) -> m0 #

Transformation t => Functor t (Value λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: t -> Value λ l d (Domain t) -> Value λ l d (Codomain t) #

(Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (Value λ l d) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> Value λ l d (Domain t) -> m0 (Value λ l d f0) #

Apply (Value λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). Value λ l d (p ~> q) -> Value λ l d p -> Value λ l d q #

liftA2 :: (forall a. p a -> q a -> r a) -> Value λ l d p -> Value λ l d q -> Value λ l d r #

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> Value λ l d p -> Value λ l d q -> Value λ l d r -> Value λ l d s #

Foldable (Value λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> Value λ l d p -> m #

Functor (Value λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(<$>) :: (forall a. p a -> q a) -> Value λ l d p -> Value λ l d q #

Traversable (Value λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> Value λ l d p -> m (Value λ l d q) #

sequence :: forall m (p :: Type -> Type). Applicative m => Value λ l d (Compose m p) -> m (Value λ l d p) #

Eq (Value λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Value λ l d s -> Value λ l d s -> Bool #

(/=) :: Value λ l d s -> Value λ l d s -> Bool #

(Typeable d, Typeable s, Typeable λ, Typeable l) => Data (Value λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d0 b. Data d0 => c (d0 -> b) -> d0 -> c b) -> (forall g. g -> c g) -> Value λ l d s -> c (Value λ l d s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Value λ l d s) #

toConstr :: Value λ l d s -> Constr #

dataTypeOf :: Value λ l d s -> DataType #

dataCast1 :: Typeable t => (forall d0. Data d0 => c (t d0)) -> Maybe (c (Value λ l d s)) #

dataCast2 :: Typeable t => (forall d0 e. (Data d0, Data e) => c (t d0 e)) -> Maybe (c (Value λ l d s)) #

gmapT :: (forall b. Data b => b -> b) -> Value λ l d s -> Value λ l d s #

gmapQl :: (r -> r' -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Value λ l d s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d0. Data d0 => d0 -> r') -> Value λ l d s -> r #

gmapQ :: (forall d0. Data d0 => d0 -> u) -> Value λ l d s -> [u] #

gmapQi :: Int -> (forall d0. Data d0 => d0 -> u) -> Value λ l d s -> u #

gmapM :: Monad m => (forall d0. Data d0 => d0 -> m d0) -> Value λ l d s -> m (Value λ l d s) #

gmapMp :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Value λ l d s -> m (Value λ l d s) #

gmapMo :: MonadPlus m => (forall d0. Data d0 => d0 -> m d0) -> Value λ l d s -> m (Value λ l d s) #

Show (Value λ l d s) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Value λ l d s -> ShowS #

show :: Value λ l d s -> String #

showList :: [Value λ l d s] -> ShowS #

data CallingConvention λ Source #

Instances

Instances details
Eq (CallingConvention λ) Source # 
Instance details

Defined in Language.Haskell.AST

Data λ => Data (CallingConvention λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CallingConvention λ -> c (CallingConvention λ) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CallingConvention λ) #

toConstr :: CallingConvention λ -> Constr #

dataTypeOf :: CallingConvention λ -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CallingConvention λ)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CallingConvention λ)) #

gmapT :: (forall b. Data b => b -> b) -> CallingConvention λ -> CallingConvention λ #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CallingConvention λ -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CallingConvention λ -> r #

gmapQ :: (forall d. Data d => d -> u) -> CallingConvention λ -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CallingConvention λ -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CallingConvention λ -> m (CallingConvention λ) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CallingConvention λ -> m (CallingConvention λ) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CallingConvention λ -> m (CallingConvention λ) #

Show (CallingConvention λ) Source # 
Instance details

Defined in Language.Haskell.AST

data CallSafety λ Source #

Constructors

SafeCall 
UnsafeCall 

Instances

Instances details
Eq (CallSafety λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: CallSafety λ -> CallSafety λ -> Bool #

(/=) :: CallSafety λ -> CallSafety λ -> Bool #

Data λ => Data (CallSafety λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CallSafety λ -> c (CallSafety λ) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CallSafety λ) #

toConstr :: CallSafety λ -> Constr #

dataTypeOf :: CallSafety λ -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CallSafety λ)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CallSafety λ)) #

gmapT :: (forall b. Data b => b -> b) -> CallSafety λ -> CallSafety λ #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CallSafety λ -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CallSafety λ -> r #

gmapQ :: (forall d. Data d => d -> u) -> CallSafety λ -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CallSafety λ -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CallSafety λ -> m (CallSafety λ) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CallSafety λ -> m (CallSafety λ) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CallSafety λ -> m (CallSafety λ) #

Show (CallSafety λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> CallSafety λ -> ShowS #

show :: CallSafety λ -> String #

showList :: [CallSafety λ] -> ShowS #

data Associativity λ Source #

Instances

Instances details
Eq (Associativity λ) Source # 
Instance details

Defined in Language.Haskell.AST

Data λ => Data (Associativity λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Associativity λ -> c (Associativity λ) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Associativity λ) #

toConstr :: Associativity λ -> Constr #

dataTypeOf :: Associativity λ -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Associativity λ)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Associativity λ)) #

gmapT :: (forall b. Data b => b -> b) -> Associativity λ -> Associativity λ #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Associativity λ -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Associativity λ -> r #

gmapQ :: (forall d. Data d => d -> u) -> Associativity λ -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Associativity λ -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Associativity λ -> m (Associativity λ) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Associativity λ -> m (Associativity λ) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Associativity λ -> m (Associativity λ) #

Show (Associativity λ) Source # 
Instance details

Defined in Language.Haskell.AST

data Members λ Source #

Constructors

AllMembers 
MemberList [Name λ] 

Instances

Instances details
Eq (Members λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Members λ -> Members λ -> Bool #

(/=) :: Members λ -> Members λ -> Bool #

Data λ => Data (Members λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Members λ -> c (Members λ) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Members λ) #

toConstr :: Members λ -> Constr #

dataTypeOf :: Members λ -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Members λ)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Members λ)) #

gmapT :: (forall b. Data b => b -> b) -> Members λ -> Members λ #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Members λ -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Members λ -> r #

gmapQ :: (forall d. Data d => d -> u) -> Members λ -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Members λ -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Members λ -> m (Members λ) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Members λ -> m (Members λ) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Members λ -> m (Members λ) #

Show (Members λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Members λ -> ShowS #

show :: Members λ -> String #

showList :: [Members λ] -> ShowS #

newtype Name λ Source #

A primitive name type

Constructors

Name 

Fields

Instances

Instances details
Eq (Name λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: Name λ -> Name λ -> Bool #

(/=) :: Name λ -> Name λ -> Bool #

Ord (Name λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

compare :: Name λ -> Name λ -> Ordering #

(<) :: Name λ -> Name λ -> Bool #

(<=) :: Name λ -> Name λ -> Bool #

(>) :: Name λ -> Name λ -> Bool #

(>=) :: Name λ -> Name λ -> Bool #

max :: Name λ -> Name λ -> Name λ #

min :: Name λ -> Name λ -> Name λ #

Data λ => Data (Name λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name λ -> c (Name λ) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Name λ) #

toConstr :: Name λ -> Constr #

dataTypeOf :: Name λ -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Name λ)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Name λ)) #

gmapT :: (forall b. Data b => b -> b) -> Name λ -> Name λ #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name λ -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name λ -> r #

gmapQ :: (forall d. Data d => d -> u) -> Name λ -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Name λ -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name λ -> m (Name λ) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name λ -> m (Name λ) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name λ -> m (Name λ) #

Show (Name λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> Name λ -> ShowS #

show :: Name λ -> String #

showList :: [Name λ] -> ShowS #

PrettyViaTH (Name Language) Source # 
Instance details

Defined in Language.Haskell.Template

(Functor (g (Compose ((,) (Attributes Language)) q)), Functor (Mapped ((,) (Attributes Language)) (Map q Placed)) g) => Functor (Mapped ((,) (Attributes Language)) (Map q Placed)) g Source # 
Instance details

Defined in Language.Haskell

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Constructor l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (DerivingClause l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Export l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Pattern l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Declaration l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Type l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

data QualifiedName λ Source #

A name that may but need not be qualified with a ModuleName

Constructors

QualifiedName (Maybe (ModuleName λ)) (Name λ) 

Instances

Instances details
Eq (QualifiedName λ) Source # 
Instance details

Defined in Language.Haskell.AST

Ord (QualifiedName λ) Source # 
Instance details

Defined in Language.Haskell.AST

Data λ => Data (QualifiedName λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> QualifiedName λ -> c (QualifiedName λ) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (QualifiedName λ) #

toConstr :: QualifiedName λ -> Constr #

dataTypeOf :: QualifiedName λ -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (QualifiedName λ)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (QualifiedName λ)) #

gmapT :: (forall b. Data b => b -> b) -> QualifiedName λ -> QualifiedName λ #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> QualifiedName λ -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> QualifiedName λ -> r #

gmapQ :: (forall d. Data d => d -> u) -> QualifiedName λ -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> QualifiedName λ -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> QualifiedName λ -> m (QualifiedName λ) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> QualifiedName λ -> m (QualifiedName λ) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> QualifiedName λ -> m (QualifiedName λ) #

Show (QualifiedName λ) Source # 
Instance details

Defined in Language.Haskell.AST

PrettyViaTH (QualifiedName Language) Source # 
Instance details

Defined in Language.Haskell.Template

(Functor (g (Compose ((,) (Attributes Language)) q)), Functor (Mapped ((,) (Attributes Language)) (Map q Placed)) g) => Functor (Mapped ((,) (Attributes Language)) (Map q Placed)) g Source # 
Instance details

Defined in Language.Haskell

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Constructor l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (DerivingClause l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Export l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Pattern l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Declaration l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

(Foldable f, QualifiedName l ~ QualifiedName l, Ord (ModuleName l), Ord (Name l)) => At (BindingVerifier l f) (Type l l (WithEnvironment l f) (WithEnvironment l f)) Source # 
Instance details

Defined in Language.Haskell.Binder

newtype ModuleName λ Source #

Constructors

ModuleName (NonEmpty (Name λ)) 

Instances

Instances details
Eq (ModuleName λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

(==) :: ModuleName λ -> ModuleName λ -> Bool #

(/=) :: ModuleName λ -> ModuleName λ -> Bool #

Ord (ModuleName λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

compare :: ModuleName λ -> ModuleName λ -> Ordering #

(<) :: ModuleName λ -> ModuleName λ -> Bool #

(<=) :: ModuleName λ -> ModuleName λ -> Bool #

(>) :: ModuleName λ -> ModuleName λ -> Bool #

(>=) :: ModuleName λ -> ModuleName λ -> Bool #

max :: ModuleName λ -> ModuleName λ -> ModuleName λ #

min :: ModuleName λ -> ModuleName λ -> ModuleName λ #

Data λ => Data (ModuleName λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ModuleName λ -> c (ModuleName λ) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ModuleName λ) #

toConstr :: ModuleName λ -> Constr #

dataTypeOf :: ModuleName λ -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ModuleName λ)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ModuleName λ)) #

gmapT :: (forall b. Data b => b -> b) -> ModuleName λ -> ModuleName λ #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ModuleName λ -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ModuleName λ -> r #

gmapQ :: (forall d. Data d => d -> u) -> ModuleName λ -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ModuleName λ -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ModuleName λ -> m (ModuleName λ) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleName λ -> m (ModuleName λ) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleName λ -> m (ModuleName λ) #

Show (ModuleName λ) Source # 
Instance details

Defined in Language.Haskell.AST

Methods

showsPrec :: Int -> ModuleName λ -> ShowS #

show :: ModuleName λ -> String #

showList :: [ModuleName λ] -> ShowS #

PrettyViaTH (ModuleName Language) Source # 
Instance details

Defined in Language.Haskell.Template