language-haskell
Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Extensions.AST

Description

The types of nodes forming the Abstract Syntax Tree of the Haskell language with GHC extensions

Synopsis

Documentation

data Language Source #

The extended Haskell language node parameter type

Constructors

Language 

Instances

Instances details
Eq Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Data Language Source # 
Instance details

Defined in Language.Haskell.Extensions.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.Extensions.AST

Haskell Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Associated Types

type Module Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Declaration Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Expression Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Type Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type EquationLHS Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type EquationRHS Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type GuardedExpression Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Pattern Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Statement Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type ClassInstanceLHS Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type TypeLHS Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Import Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type ImportSpecification Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type ImportItem Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Export Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Context Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type DataConstructor Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type DerivingClause Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type FieldDeclaration Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type FieldBinding Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type FieldPattern Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type CaseAlternative Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Constructor Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Value Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type CallingConvention Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type CallSafety Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Associativity Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Members Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type Name Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type ModuleName Language 
Instance details

Defined in Language.Haskell.Extensions.AST

type QualifiedName Language 
Instance details

Defined in Language.Haskell.Extensions.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 #

ExtendedHaskell Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

infixTypeLHSApplication :: forall l (d :: NodeWrap) (s :: NodeWrap). TypeVarBinding Language l d s -> Name Language -> TypeVarBinding Language l d s -> TypeLHS Language l d s Source #

typeLHSApplication :: forall s l (d :: NodeWrap). s (TypeLHS l l d d) -> TypeVarBinding Language l d s -> TypeLHS Language l d s Source #

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

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

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

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

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

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

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

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

explicitlyKindedTypeVariable :: forall s l (d :: NodeWrap). Name Language -> s (Kind l l d d) -> TypeVarBinding Language l d s Source #

implicitlyKindedTypeVariable :: forall l (d :: NodeWrap) (s :: NodeWrap). Name Language -> TypeVarBinding Language l d s Source #

inferredTypeVariable :: forall l (d :: NodeWrap) (s :: NodeWrap). Name Language -> TypeVarBinding Language l d s Source #

inferredExplicitlyKindedTypeVariable :: forall s l (d :: NodeWrap). Name Language -> s (Kind l l d d) -> TypeVarBinding Language l d s Source #

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

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

typeRoleDeclaration :: forall l (d :: NodeWrap) (s :: NodeWrap). QualifiedName Language -> [TypeRole Language] -> Declaration Language l d s Source #

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

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

gadtDeclaration :: forall s l (d :: NodeWrap). s (TypeLHS l l d d) -> Maybe (s (Kind l l d d)) -> [s (GADTConstructor l l d d)] -> [s (DerivingClause l l d d)] -> Declaration Language l d s Source #

gadtNewtypeDeclaration :: forall s l (d :: NodeWrap). s (TypeLHS l l d d) -> Maybe (s (Kind l l d d)) -> s (GADTConstructor l l d d) -> [s (DerivingClause l l d d)] -> Declaration Language l d s Source #

gadtConstructors :: forall l (d :: NodeWrap) s. NonEmpty (Name Language) -> [TypeVarBinding Language l d s] -> s (Context l l d d) -> s (Type l l d d) -> GADTConstructor Language l d s Source #

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

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

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

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

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

dataFamilyDeclaration :: forall s l (d :: NodeWrap). s (TypeLHS l l d d) -> Maybe (s (Kind l l d d)) -> Declaration Language l d s Source #

openTypeFamilyDeclaration :: forall s l (d :: NodeWrap). s (TypeLHS l l d d) -> Maybe (s (Kind l l d d)) -> Declaration Language l d s Source #

closedTypeFamilyDeclaration :: forall s l (d :: NodeWrap). s (TypeLHS l l d d) -> Maybe (s (Kind l l d d)) -> [s (Declaration l l d d)] -> Declaration Language l d s Source #

injectiveOpenTypeFamilyDeclaration :: forall s l (d :: NodeWrap). s (TypeLHS l l d d) -> TypeVarBinding Language l d s -> Maybe (Name Language, NonEmpty (Name Language)) -> Declaration Language l d s Source #

injectiveClosedTypeFamilyDeclaration :: forall s l (d :: NodeWrap). s (TypeLHS l l d d) -> TypeVarBinding Language l d s -> Maybe (Name Language, NonEmpty (Name Language)) -> [s (Declaration l l d d)] -> Declaration Language l d s Source #

dataFamilyInstance :: forall l (d :: NodeWrap) s. [TypeVarBinding Language l d s] -> s (Context l l d d) -> s (ClassInstanceLHS l l d d) -> Maybe (s (Kind l l d d)) -> [s (DataConstructor l l d d)] -> [s (DerivingClause l l d d)] -> Declaration Language l d s Source #

newtypeFamilyInstance :: forall l (d :: NodeWrap) s. [TypeVarBinding Language l d s] -> s (Context l l d d) -> s (ClassInstanceLHS l l d d) -> Maybe (s (Kind l l d d)) -> s (DataConstructor l l d d) -> [s (DerivingClause l l d d)] -> Declaration Language l d s Source #

gadtDataFamilyInstance :: forall l (d :: NodeWrap) s. [TypeVarBinding Language l d s] -> s (ClassInstanceLHS l l d d) -> Maybe (s (Kind l l d d)) -> [s (GADTConstructor l l d d)] -> [s (DerivingClause l l d d)] -> Declaration Language l d s Source #

gadtNewtypeFamilyInstance :: forall l (d :: NodeWrap) s. [TypeVarBinding Language l d s] -> s (ClassInstanceLHS l l d d) -> Maybe (s (Kind l l d d)) -> s (GADTConstructor l l d d) -> [s (DerivingClause l l d d)] -> Declaration Language l d s Source #

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

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

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

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

classInstanceLHSKindApplication :: forall s l (d :: NodeWrap). s (ClassInstanceLHS l l d d) -> s (Kind l l d d) -> ClassInstanceLHS Language l d s Source #

kindSignature :: forall s l (d :: NodeWrap). Name Language -> s (Kind l l d d) -> Declaration Language l d s Source #

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

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

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

inferredRole :: TypeRole Language Source #

nominalRole :: TypeRole Language Source #

representationalRole :: TypeRole Language Source #

phantomRole :: TypeRole Language Source #

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

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

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

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

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

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

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

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

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

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

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

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

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

PrettyViaTH (ModuleName Language) Source # 
Instance details

Defined in Language.Haskell.Template

PrettyViaTH (Name Language) Source # 
Instance details

Defined in Language.Haskell.Template

PrettyViaTH (QualifiedName Language) Source # 
Instance details

Defined in Language.Haskell.Template

PrettyViaTH (Members Language) Source # 
Instance details

Defined in Language.Haskell.Template

PrettyViaTH (ModuleMember 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

ExtendedWith '['BangPatterns] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['BangPatterns] Language l d s Source #

ExtendedWith '['CApiFFI] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['CApiFFI] Language l d s Source #

ExtendedWith '['DefaultSignatures] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['DefaultSignatures] Language l d s Source #

ExtendedWith '['DerivingStrategies] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['DerivingStrategies] Language l d s Source #

ExtendedWith '['DerivingVia] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['DerivingVia] Language l d s Source #

ExtendedWith '['ExplicitNamespaces] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['ExplicitNamespaces] Language l d s Source #

ExtendedWith '['ExtendedLiterals] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['ExtendedLiterals] Language l d s Source #

ExtendedWith '['FunctionalDependencies] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['FunctionalDependencies] Language l d s Source #

ExtendedWith '['GADTs, 'TypeData] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['GADTs, 'TypeData] Language l d s Source #

ExtendedWith '['ImplicitParameters] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['ImplicitParameters] Language l d s Source #

ExtendedWith '['InterruptibleFFI] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['InterruptibleFFI] Language l d s Source #

ExtendedWith '['LambdaCase] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['LambdaCase] Language l d s Source #

ExtendedWith '['MagicHash] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['MagicHash] Language l d s Source #

ExtendedWith '['NPlusKPatterns] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['NPlusKPatterns] Language l d s Source #

ExtendedWith '['NamedDefaults] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['NamedDefaults] Language l d s Source #

ExtendedWith '['NamedFieldPuns] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['NamedFieldPuns] Language l d s Source #

ExtendedWith '['ParallelListComprehensions] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['ParallelListComprehensions] Language l d s Source #

ExtendedWith '['PatternSynonyms] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['PatternSynonyms] Language l d s Source #

ExtendedWith '['QualifiedDo, 'RecursiveDo] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['QualifiedDo, 'RecursiveDo] Language l d s Source #

ExtendedWith '['QualifiedDo] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['QualifiedDo] Language l d s Source #

ExtendedWith '['RecordWildCards] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['RecordWildCards] Language l d s Source #

ExtendedWith '['RecursiveDo] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['RecursiveDo] Language l d s Source #

ExtendedWith '['StandaloneDeriving] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['StandaloneDeriving] Language l d s Source #

ExtendedWith '['Strict] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['Strict] Language l d s Source #

ExtendedWith '['StrictData] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['StrictData] Language l d s Source #

ExtendedWith '['TupleSections] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['TupleSections] Language l d s Source #

ExtendedWith '['TypeAbstractions] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['TypeAbstractions] Language l d s Source #

ExtendedWith '['TypeData] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['TypeData] Language l d s Source #

ExtendedWith '['UnboxedSums] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['UnboxedSums] Language l d s Source #

ExtendedWith '['UnboxedTuples] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['UnboxedTuples] Language l d s Source #

ExtendedWith '['ViewPatterns] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['ViewPatterns] Language l d s Source #

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

Defined in Language.Haskell.Template

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

Defined in Language.Haskell.Template

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

Defined in Language.Haskell.Template

PrettyViaTH (Export Language Language f f) Source # 
Instance details

Defined in Language.Haskell.Template

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

Defined in Language.Haskell.Template

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

Defined in Language.Haskell.Template

PrettyViaTH (ImportItem Language Language f f) Source # 
Instance details

Defined in Language.Haskell.Template

type Associativity Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type CallSafety Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type CallingConvention Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type CaseAlternative Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type ClassInstanceLHS Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Constructor Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Context Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type DataConstructor Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Declaration Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type DerivingClause Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type EquationLHS Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type EquationRHS Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Export Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Expression Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type FieldBinding Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type FieldDeclaration Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type FieldPattern Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type GuardedExpression Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Import Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type ImportItem Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type ImportSpecification Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Members Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Module Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type ModuleName Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Name Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Pattern Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type QualifiedName Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Statement Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Type Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type TypeLHS Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Value Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type DerivingStrategy Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type ExtensionsSupportedBy Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type FunctionalDependency Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type GADTConstructor Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type Kind Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type LambdaCasesAlternative Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type ModuleMember Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type PatternEquationClause Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type PatternEquationLHS Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type PatternLHS Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type TypeRole Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

type TypeVarBinding Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

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

Instances

Instances details
(WrapTranslation t, FullyTranslatable t ImportSpecification, ModuleName (Origin t) ~ ModuleName (Origin t), QualifiedName (Origin t) ~ QualifiedName (Origin t)) => DeeplyTranslatable t Export Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

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

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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) #

(Eq (Members λ), Eq (ModuleName λ), Eq (QualifiedName λ)) => Eq (Export λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.AST

Methods

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

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

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

PrettyViaTH (Export Language Language f f) Source # 
Instance details

Defined in Language.Haskell.Template

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

Constructors

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

Instances

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

Defined in Language.Haskell.Extensions.Translation

Methods

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

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

Defined in Language.Haskell.Extensions.Translation

Methods

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

(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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.AST

Methods

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

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

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

TemplateWrapper f => PrettyViaTH (Import 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 λ) 
ImportPattern (Name λ) 

Instances

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

Defined in Language.Haskell.Extensions.Translation

Methods

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

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

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.AST

Methods

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

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

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

PrettyViaTH (ImportItem Language Language f f) Source # 
Instance details

Defined in Language.Haskell.Template

data Members λ Source #

Instances

Instances details
Eq (SupportFor 'ExplicitNamespaces λ) => Eq (Members λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

(==) :: Members λ -> Members λ -> Bool #

(/=) :: Members λ -> Members λ -> Bool #

(Data λ, Data (SupportFor 'ExplicitNamespaces λ)) => Data (Members λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (SupportFor 'ExplicitNamespaces λ) => Show (Members λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

showsPrec :: Int -> Members λ -> ShowS #

show :: Members λ -> String #

showList :: [Members λ] -> ShowS #

PrettyViaTH (Members Language) Source # 
Instance details

Defined in Language.Haskell.Template

data ModuleMember λ Source #

Constructors

DefaultMember (Name λ) 
PatternMember (Name λ) 
TypeMember (Name λ) 

Instances

Instances details
Eq (ModuleMember λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

(==) :: ModuleMember λ -> ModuleMember λ -> Bool #

(/=) :: ModuleMember λ -> ModuleMember λ -> Bool #

Data λ => Data (ModuleMember λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

toConstr :: ModuleMember λ -> Constr #

dataTypeOf :: ModuleMember λ -> DataType #

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

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

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

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

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

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

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

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

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

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

Show (ModuleMember λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

PrettyViaTH (ModuleMember Language) Source # 
Instance details

Defined in Language.Haskell.Template

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)] 
FunDepClassDeclaration !(SupportFor 'FunctionalDependencies λ) (s (Context l l d d)) (s (TypeLHS l l d d)) [s (FunctionalDependency l l d d)] [s (Declaration l l d d)] 
DataDeclaration (s (Context l l d d)) (s (TypeLHS l l d d)) (Maybe (s (Kind l l d d))) [s (DataConstructor l l d d)] [s (DerivingClause l l d d)] 
GADTDeclaration (s (TypeLHS l l d d)) (Maybe (s (Kind l l d d))) [s (GADTConstructor l l d d)] [s (DerivingClause l l d d)] 
TypeDataDeclaration !(SupportFor 'TypeData λ) (s (TypeLHS l l d d)) (Maybe (s (Kind l l d d))) [s (DataConstructor l l d d)] 
TypeGADTDeclaration !(SupportFor 'GADTs λ) !(SupportFor 'TypeData λ) (s (TypeLHS l l d d)) (Maybe (s (Kind l l d d))) [s (GADTConstructor l l d d)] 
DefaultDeclaration [s (Type l l d d)] 
NamedDefaultDeclaration !(SupportFor 'NamedDefaults λ) (QualifiedName λ) [s (Type l l d d)] 
DefaultMethodSignature !(SupportFor 'DefaultSignatures λ) (Name λ) (s (Context l l d d)) (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 λ)) 
ExplicitTypeFixityDeclaration !(SupportFor 'ExplicitNamespaces λ) (Associativity λ) (Maybe Int) (NonEmpty (Name λ)) 
ExplicitDataFixityDeclaration !(SupportFor 'ExplicitNamespaces λ) (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 [TypeVarBinding λ l d s] (s (Context l l d d)) (s (ClassInstanceLHS l l d d)) [s (Declaration l l d d)] 
StandaloneDerivingDeclaration !(SupportFor 'StandaloneDeriving λ) [TypeVarBinding λ l d s] (s (Context l l d d)) (s (ClassInstanceLHS l l d d)) 
StandaloneStrategicDerivingDeclaration !(SupportFor 'StandaloneDeriving λ) !(SupportFor 'DerivingStrategies λ) (s (DerivingStrategy l l d d)) [TypeVarBinding λ l d s] (s (Context l l d d)) (s (ClassInstanceLHS l l d d)) 
NewtypeDeclaration (s (Context l l d d)) (s (TypeLHS l l d d)) (Maybe (s (Kind l l d d))) (s (DataConstructor l l d d)) [s (DerivingClause l l d d)] 
GADTNewtypeDeclaration (s (TypeLHS l l d d)) (Maybe (s (Kind l l d d))) (s (GADTConstructor 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)) 
DataFamilyDeclaration (s (TypeLHS l l d d)) (Maybe (s (Kind l l d d))) 
OpenTypeFamilyDeclaration (s (TypeLHS l l d d)) (Maybe (s (Kind l l d d))) 
ClosedTypeFamilyDeclaration (s (TypeLHS l l d d)) (Maybe (s (Kind l l d d))) [s (Declaration l l d d)] 
InjectiveOpenTypeFamilyDeclaration (s (TypeLHS l l d d)) (TypeVarBinding λ l d s) (Maybe (Name λ, NonEmpty (Name λ))) 
InjectiveClosedTypeFamilyDeclaration (s (TypeLHS l l d d)) (TypeVarBinding λ l d s) (Maybe (Name λ, NonEmpty (Name λ))) [s (Declaration l l d d)] 
DataFamilyInstance [TypeVarBinding λ l d s] (s (Context l l d d)) (s (ClassInstanceLHS l l d d)) (Maybe (s (Kind l l d d))) [s (DataConstructor l l d d)] [s (DerivingClause l l d d)] 
NewtypeFamilyInstance [TypeVarBinding λ l d s] (s (Context l l d d)) (s (ClassInstanceLHS l l d d)) (Maybe (s (Kind l l d d))) (s (DataConstructor l l d d)) [s (DerivingClause l l d d)] 
GADTDataFamilyInstance [TypeVarBinding λ l d s] (s (ClassInstanceLHS l l d d)) (Maybe (s (Kind l l d d))) [s (GADTConstructor l l d d)] [s (DerivingClause l l d d)] 
GADTNewtypeFamilyInstance [TypeVarBinding λ l d s] (s (ClassInstanceLHS l l d d)) (Maybe (s (Kind l l d d))) (s (GADTConstructor l l d d)) [s (DerivingClause l l d d)] 
TypeFamilyInstance [TypeVarBinding λ l d s] (s (ClassInstanceLHS l l d d)) (s (Type l l d d)) 
KindSignature (Name λ) (s (Kind l l d d)) 
TypeRoleDeclaration (QualifiedName λ) [TypeRole λ] 
ImplicitPatternSynonym !(SupportFor 'PatternSynonyms λ) (s (PatternLHS l l d d)) (s (Pattern l l d d)) 
UnidirectionalPatternSynonym !(SupportFor 'PatternSynonyms λ) (s (PatternLHS l l d d)) (s (Pattern l l d d)) 
ExplicitPatternSynonym !(SupportFor 'PatternSynonyms λ) (s (PatternLHS l l d d)) (s (Pattern l l d d)) [s (PatternEquationClause l l d d)] 
PatternSynonymSignature !(SupportFor 'PatternSynonyms λ) (NonEmpty (Name λ)) [TypeVarBinding λ l d s] (s (Context l l d d)) [TypeVarBinding λ l d s] (s (Context l l d d)) [s (Type l l d d)] (s (Type l l d d)) 
ImplicitParameterDeclaration !(SupportFor 'ImplicitParameters λ) (Name λ) (s (Expression l l d d)) 

Instances

Instances details
(WrapTranslation t, WrappedTranslation t Declaration, FullyTranslatable t Context, FullyTranslatable t ClassInstanceLHS, FullyTranslatable t FunctionalDependency, FullyTranslatable t TypeLHS, FullyTranslatable t Type, DeeplyTranslatable t TypeVarBinding, FullyTranslatable t DataConstructor, FullyTranslatable t GADTConstructor, FullyTranslatable t DerivingClause, FullyTranslatable t DerivingStrategy, FullyTranslatable t EquationLHS, FullyTranslatable t EquationRHS, FullyTranslatable t Expression, FullyTranslatable t PatternEquationClause, FullyTranslatable t PatternLHS, FullyTranslatable t Pattern, Declaration (Origin t) ~ Declaration (Origin t), Declaration (Target t) ~ Declaration (Target t), Context (Origin t) ~ Context (Origin t), Context (Target t) ~ Context (Target t), ClassInstanceLHS (Origin t) ~ ClassInstanceLHS (Origin t), ClassInstanceLHS (Target t) ~ ClassInstanceLHS (Target t), FunctionalDependency (Origin t) ~ FunctionalDependency (Origin t), FunctionalDependency (Target t) ~ FunctionalDependency (Target t), TypeLHS (Origin t) ~ TypeLHS (Origin t), TypeLHS (Target t) ~ TypeLHS (Target t), Type (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t), Kind (Origin t) ~ Type (Origin t), Kind (Target t) ~ Type (Target t), TypeVarBinding (Origin t) ~ TypeVarBinding (Origin t), TypeVarBinding (Target t) ~ TypeVarBinding (Target t), DataConstructor (Origin t) ~ DataConstructor (Origin t), DataConstructor (Target t) ~ DataConstructor (Target t), GADTConstructor (Origin t) ~ GADTConstructor (Origin t), GADTConstructor (Target t) ~ GADTConstructor (Target t), DerivingClause (Origin t) ~ DerivingClause (Origin t), DerivingClause (Target t) ~ DerivingClause (Target t), DerivingStrategy (Origin t) ~ DerivingStrategy (Origin t), DerivingStrategy (Target t) ~ DerivingStrategy (Target t), EquationLHS (Origin t) ~ EquationLHS (Origin t), EquationLHS (Target t) ~ EquationLHS (Target t), EquationRHS (Origin t) ~ EquationRHS (Origin t), EquationRHS (Target t) ~ EquationRHS (Target t), Expression (Origin t) ~ Expression (Origin t), Expression (Target t) ~ Expression (Target t), PatternLHS (Origin t) ~ PatternLHS (Origin t), PatternLHS (Target t) ~ PatternLHS (Target t), PatternEquationClause (Origin t) ~ PatternEquationClause (Origin t), PatternEquationClause (Target t) ~ PatternEquationClause (Target t), Pattern (Origin t) ~ Pattern (Origin t), Pattern (Target t) ~ Pattern (Target t)) => DeeplyTranslatable t Declaration Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

(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 (FunctionalDependency l l), Foldable t (Declaration l l), Foldable t (Context l l), Foldable t (TypeLHS l l), Foldable t (Kind l l), Foldable t (DataConstructor l l), Foldable t (DerivingClause l l), Foldable t (TypeLHS l l), Foldable t (Kind l l), Foldable t (GADTConstructor l l), Foldable t (DerivingClause l l), Foldable t (TypeLHS l l), Foldable t (Kind l l), Foldable t (DataConstructor l l), Foldable t (TypeLHS l l), Foldable t (Kind l l), Foldable t (GADTConstructor l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Context 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 (TypeVarBinding λ l), Foldable t (Context l l), Foldable t (ClassInstanceLHS l l), Foldable t (Declaration l l), Foldable t (TypeVarBinding λ l), Foldable t (Context l l), Foldable t (ClassInstanceLHS l l), Foldable t (DerivingStrategy l l), Foldable t (TypeVarBinding λ l), Foldable t (Context l l), Foldable t (ClassInstanceLHS l l), Foldable t (Context l l), Foldable t (TypeLHS l l), Foldable t (Kind l l), Foldable t (DataConstructor l l), Foldable t (DerivingClause l l), Foldable t (TypeLHS l l), Foldable t (Kind l l), Foldable t (GADTConstructor 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 (TypeLHS l l), Foldable t (Kind l l), Foldable t (TypeLHS l l), Foldable t (Kind l l), Foldable t (TypeLHS l l), Foldable t (Kind l l), Foldable t (Declaration l l), Foldable t (TypeLHS l l), Foldable t (TypeVarBinding λ l), Foldable t (TypeLHS l l), Foldable t (TypeVarBinding λ l), Foldable t (Declaration l l), Foldable t (TypeVarBinding λ l), Foldable t (Context l l), Foldable t (ClassInstanceLHS l l), Foldable t (Kind l l), Foldable t (DataConstructor l l), Foldable t (DerivingClause l l), Foldable t (TypeVarBinding λ l), Foldable t (Context l l), Foldable t (ClassInstanceLHS l l), Foldable t (Kind l l), Foldable t (DataConstructor l l), Foldable t (DerivingClause l l), Foldable t (TypeVarBinding λ l), Foldable t (ClassInstanceLHS l l), Foldable t (Kind l l), Foldable t (GADTConstructor l l), Foldable t (DerivingClause l l), Foldable t (TypeVarBinding λ l), Foldable t (ClassInstanceLHS l l), Foldable t (Kind l l), Foldable t (GADTConstructor l l), Foldable t (DerivingClause l l), Foldable t (TypeVarBinding λ l), Foldable t (ClassInstanceLHS l l), Foldable t (Type l l), Foldable t (Kind l l), Foldable t (PatternLHS l l), Foldable t (Pattern l l), Foldable t (PatternLHS l l), Foldable t (Pattern l l), Foldable t (PatternLHS l l), Foldable t (Pattern l l), Foldable t (PatternEquationClause l l), Foldable t (TypeVarBinding λ l), Foldable t (Context l l), Foldable t (TypeVarBinding λ l), Foldable t (Context l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Expression l l)) => Foldable t (Declaration λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (FunctionalDependency l l), Functor t (Declaration l l), Functor t (Context l l), Functor t (TypeLHS l l), Functor t (Kind l l), Functor t (DataConstructor l l), Functor t (DerivingClause l l), Functor t (TypeLHS l l), Functor t (Kind l l), Functor t (GADTConstructor l l), Functor t (DerivingClause l l), Functor t (TypeLHS l l), Functor t (Kind l l), Functor t (DataConstructor l l), Functor t (TypeLHS l l), Functor t (Kind l l), Functor t (GADTConstructor l l), Functor t (Type l l), Functor t (Type l l), Functor t (Context 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 (TypeVarBinding λ l), Functor t (Context l l), Functor t (ClassInstanceLHS l l), Functor t (Declaration l l), Functor t (TypeVarBinding λ l), Functor t (Context l l), Functor t (ClassInstanceLHS l l), Functor t (DerivingStrategy l l), Functor t (TypeVarBinding λ l), Functor t (Context l l), Functor t (ClassInstanceLHS l l), Functor t (Context l l), Functor t (TypeLHS l l), Functor t (Kind l l), Functor t (DataConstructor l l), Functor t (DerivingClause l l), Functor t (TypeLHS l l), Functor t (Kind l l), Functor t (GADTConstructor 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 (TypeLHS l l), Functor t (Kind l l), Functor t (TypeLHS l l), Functor t (Kind l l), Functor t (TypeLHS l l), Functor t (Kind l l), Functor t (Declaration l l), Functor t (TypeLHS l l), Functor t (TypeVarBinding λ l), Functor t (TypeLHS l l), Functor t (TypeVarBinding λ l), Functor t (Declaration l l), Functor t (TypeVarBinding λ l), Functor t (Context l l), Functor t (ClassInstanceLHS l l), Functor t (Kind l l), Functor t (DataConstructor l l), Functor t (DerivingClause l l), Functor t (TypeVarBinding λ l), Functor t (Context l l), Functor t (ClassInstanceLHS l l), Functor t (Kind l l), Functor t (DataConstructor l l), Functor t (DerivingClause l l), Functor t (TypeVarBinding λ l), Functor t (ClassInstanceLHS l l), Functor t (Kind l l), Functor t (GADTConstructor l l), Functor t (DerivingClause l l), Functor t (TypeVarBinding λ l), Functor t (ClassInstanceLHS l l), Functor t (Kind l l), Functor t (GADTConstructor l l), Functor t (DerivingClause l l), Functor t (TypeVarBinding λ l), Functor t (ClassInstanceLHS l l), Functor t (Type l l), Functor t (Kind l l), Functor t (PatternLHS l l), Functor t (Pattern l l), Functor t (PatternLHS l l), Functor t (Pattern l l), Functor t (PatternLHS l l), Functor t (Pattern l l), Functor t (PatternEquationClause l l), Functor t (TypeVarBinding λ l), Functor t (Context l l), Functor t (TypeVarBinding λ l), Functor t (Context l l), Functor t (Type l l), Functor t (Type l l), Functor t (Expression l l)) => Functor t (Declaration λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (FunctionalDependency l l), Traversable t (Declaration l l), Traversable t (Context l l), Traversable t (TypeLHS l l), Traversable t (Kind l l), Traversable t (DataConstructor l l), Traversable t (DerivingClause l l), Traversable t (TypeLHS l l), Traversable t (Kind l l), Traversable t (GADTConstructor l l), Traversable t (DerivingClause l l), Traversable t (TypeLHS l l), Traversable t (Kind l l), Traversable t (DataConstructor l l), Traversable t (TypeLHS l l), Traversable t (Kind l l), Traversable t (GADTConstructor l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Context 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 (TypeVarBinding λ l), Traversable t (Context l l), Traversable t (ClassInstanceLHS l l), Traversable t (Declaration l l), Traversable t (TypeVarBinding λ l), Traversable t (Context l l), Traversable t (ClassInstanceLHS l l), Traversable t (DerivingStrategy l l), Traversable t (TypeVarBinding λ l), Traversable t (Context l l), Traversable t (ClassInstanceLHS l l), Traversable t (Context l l), Traversable t (TypeLHS l l), Traversable t (Kind l l), Traversable t (DataConstructor l l), Traversable t (DerivingClause l l), Traversable t (TypeLHS l l), Traversable t (Kind l l), Traversable t (GADTConstructor 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 (TypeLHS l l), Traversable t (Kind l l), Traversable t (TypeLHS l l), Traversable t (Kind l l), Traversable t (TypeLHS l l), Traversable t (Kind l l), Traversable t (Declaration l l), Traversable t (TypeLHS l l), Traversable t (TypeVarBinding λ l), Traversable t (TypeLHS l l), Traversable t (TypeVarBinding λ l), Traversable t (Declaration l l), Traversable t (TypeVarBinding λ l), Traversable t (Context l l), Traversable t (ClassInstanceLHS l l), Traversable t (Kind l l), Traversable t (DataConstructor l l), Traversable t (DerivingClause l l), Traversable t (TypeVarBinding λ l), Traversable t (Context l l), Traversable t (ClassInstanceLHS l l), Traversable t (Kind l l), Traversable t (DataConstructor l l), Traversable t (DerivingClause l l), Traversable t (TypeVarBinding λ l), Traversable t (ClassInstanceLHS l l), Traversable t (Kind l l), Traversable t (GADTConstructor l l), Traversable t (DerivingClause l l), Traversable t (TypeVarBinding λ l), Traversable t (ClassInstanceLHS l l), Traversable t (Kind l l), Traversable t (GADTConstructor l l), Traversable t (DerivingClause l l), Traversable t (TypeVarBinding λ l), Traversable t (ClassInstanceLHS l l), Traversable t (Type l l), Traversable t (Kind l l), Traversable t (PatternLHS l l), Traversable t (Pattern l l), Traversable t (PatternLHS l l), Traversable t (Pattern l l), Traversable t (PatternLHS l l), Traversable t (Pattern l l), Traversable t (PatternEquationClause l l), Traversable t (TypeVarBinding λ l), Traversable t (Context l l), Traversable t (TypeVarBinding λ l), Traversable t (Context l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Expression l l)) => Traversable t (Declaration λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (FunctionalDependency 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 (Kind 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 (Kind l l d d), At t (GADTConstructor l l d d), At t (DerivingClause l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (DataConstructor l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (GADTConstructor 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 (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), Foldable t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Declaration l l d d), Foldable t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (DerivingStrategy l l d d), Foldable t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Context l l d d), At t (TypeLHS l l d d), At t (Kind 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 (Kind l l d d), At t (GADTConstructor 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), At t (TypeLHS l l d d), At t (Kind l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (Declaration l l d d), At t (TypeLHS l l d d), Foldable t (TypeVarBinding λ l d), At t (TypeLHS l l d d), Foldable t (TypeVarBinding λ l d), At t (Declaration l l d d), Foldable t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), Foldable t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), Foldable t (TypeVarBinding λ l d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (GADTConstructor l l d d), At t (DerivingClause l l d d), Foldable t (TypeVarBinding λ l d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (GADTConstructor l l d d), At t (DerivingClause l l d d), Foldable t (TypeVarBinding λ l d), At t (ClassInstanceLHS l l d d), At t (Type l l d d), At t (Kind l l d d), At t (PatternLHS l l d d), At t (Pattern l l d d), At t (PatternLHS l l d d), At t (Pattern l l d d), At t (PatternLHS l l d d), At t (Pattern l l d d), At t (PatternEquationClause l l d d), Foldable t (TypeVarBinding λ l d), At t (Context l l d d), Foldable t (TypeVarBinding λ l d), At t (Context l l d d), At t (Type l l d d), At t (Type l l d d), At t (Expression l l d d)) => Foldable t (Declaration λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (FunctionalDependency 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 (Kind 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 (Kind l l d d), At t (GADTConstructor l l d d), At t (DerivingClause l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (DataConstructor l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (GADTConstructor 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 (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), Functor t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Declaration l l d d), Functor t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (DerivingStrategy l l d d), Functor t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Context l l d d), At t (TypeLHS l l d d), At t (Kind 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 (Kind l l d d), At t (GADTConstructor 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), At t (TypeLHS l l d d), At t (Kind l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (Declaration l l d d), At t (TypeLHS l l d d), Functor t (TypeVarBinding λ l d), At t (TypeLHS l l d d), Functor t (TypeVarBinding λ l d), At t (Declaration l l d d), Functor t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), Functor t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), Functor t (TypeVarBinding λ l d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (GADTConstructor l l d d), At t (DerivingClause l l d d), Functor t (TypeVarBinding λ l d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (GADTConstructor l l d d), At t (DerivingClause l l d d), Functor t (TypeVarBinding λ l d), At t (ClassInstanceLHS l l d d), At t (Type l l d d), At t (Kind l l d d), At t (PatternLHS l l d d), At t (Pattern l l d d), At t (PatternLHS l l d d), At t (Pattern l l d d), At t (PatternLHS l l d d), At t (Pattern l l d d), At t (PatternEquationClause l l d d), Functor t (TypeVarBinding λ l d), At t (Context l l d d), Functor t (TypeVarBinding λ l d), At t (Context l l d d), At t (Type l l d d), At t (Type l l d d), At t (Expression l l d d)) => Functor t (Declaration λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (FunctionalDependency 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 (Kind 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 (Kind l l d d), At t (GADTConstructor l l d d), At t (DerivingClause l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (DataConstructor l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (GADTConstructor 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 (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), Traversable t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Declaration l l d d), Traversable t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (DerivingStrategy l l d d), Traversable t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Context l l d d), At t (TypeLHS l l d d), At t (Kind 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 (Kind l l d d), At t (GADTConstructor 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), At t (TypeLHS l l d d), At t (Kind l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (TypeLHS l l d d), At t (Kind l l d d), At t (Declaration l l d d), At t (TypeLHS l l d d), Traversable t (TypeVarBinding λ l d), At t (TypeLHS l l d d), Traversable t (TypeVarBinding λ l d), At t (Declaration l l d d), Traversable t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), Traversable t (TypeVarBinding λ l d), At t (Context l l d d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (DataConstructor l l d d), At t (DerivingClause l l d d), Traversable t (TypeVarBinding λ l d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (GADTConstructor l l d d), At t (DerivingClause l l d d), Traversable t (TypeVarBinding λ l d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d), At t (GADTConstructor l l d d), At t (DerivingClause l l d d), Traversable t (TypeVarBinding λ l d), At t (ClassInstanceLHS l l d d), At t (Type l l d d), At t (Kind l l d d), At t (PatternLHS l l d d), At t (Pattern l l d d), At t (PatternLHS l l d d), At t (Pattern l l d d), At t (PatternLHS l l d d), At t (Pattern l l d d), At t (PatternEquationClause l l d d), Traversable t (TypeVarBinding λ l d), At t (Context l l d d), Traversable t (TypeVarBinding λ l d), At t (Context l l d d), At t (Type l l d d), At t (Type l l d d), At t (Expression l l d d)) => Traversable t (Declaration λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d)) => Apply (Declaration λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d)) => Foldable (Declaration λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.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) #

(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

(Eq (SupportFor 'ExplicitNamespaces λ), Eq (SupportFor 'StandaloneDeriving λ), Eq (SupportFor 'DerivingStrategies λ), Eq (SupportFor 'DefaultSignatures λ), Eq (SupportFor 'GADTs λ), Eq (SupportFor 'NamedDefaults λ), Eq (SupportFor 'TypeData λ), Eq (SupportFor 'FunctionalDependencies λ), Eq (SupportFor 'ImplicitParameters λ), Eq (SupportFor 'InterruptibleFFI λ), Eq (SupportFor 'CApiFFI λ), Eq (SupportFor 'PatternSynonyms λ), Eq (s (Context l l d d)), Eq (s (Kind l l d d)), Eq (s (DataConstructor l l d d)), Eq (s (GADTConstructor l l d d)), Eq (s (DerivingStrategy l l d d)), Eq (s (FunctionalDependency 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 (Expression l l d d)), Eq (s (Type l l d d)), Eq (s (TypeLHS l l d d)), Eq (s (Kind l l d d)), Eq (s (ClassInstanceLHS l l d d)), Eq (s (PatternLHS l l d d)), Eq (s (PatternEquationClause l l d d)), Eq (s (Pattern l l d d)), Eq (TypeVarBinding λ l d s), Eq (Name λ), Eq (QualifiedName λ), Eq (TypeRole λ)) => Eq (Declaration λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Data (SupportFor 'ExplicitNamespaces λ), Data (SupportFor 'StandaloneDeriving λ), Data (SupportFor 'DerivingStrategies λ), Data (SupportFor 'DefaultSignatures λ), Data (SupportFor 'GADTs λ), Data (SupportFor 'NamedDefaults λ), Data (SupportFor 'TypeData λ), Data (SupportFor 'FunctionalDependencies λ), Data (SupportFor 'ImplicitParameters λ), Data (SupportFor 'InterruptibleFFI λ), Data (SupportFor 'CApiFFI λ), Data (SupportFor 'PatternSynonyms λ), Data (s (Context l l d d)), Data (s (Kind l l d d)), Data (s (FunctionalDependency l l d d)), Data (s (DataConstructor l l d d)), Data (s (GADTConstructor l l d d)), Data (s (DerivingStrategy 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 (Expression l l d d)), Data (s (Type l l d d)), Data (s (TypeLHS l l d d)), Data (s (Kind l l d d)), Data (s (ClassInstanceLHS l l d d)), Data (s (PatternLHS l l d d)), Data (s (PatternEquationClause l l d d)), Data (s (Pattern l l d d)), Data (TypeVarBinding λ l d s), Data (Name λ), Data (QualifiedName λ), Data (TypeRole λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Declaration λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (SupportFor 'ExplicitNamespaces λ), Show (SupportFor 'StandaloneDeriving λ), Show (SupportFor 'DerivingStrategies λ), Show (SupportFor 'DefaultSignatures λ), Show (SupportFor 'GADTs λ), Show (SupportFor 'NamedDefaults λ), Show (SupportFor 'TypeData λ), Show (SupportFor 'FunctionalDependencies λ), Show (SupportFor 'ImplicitParameters λ), Show (SupportFor 'InterruptibleFFI λ), Show (SupportFor 'CApiFFI λ), Show (SupportFor 'PatternSynonyms λ), Show (s (Context l l d d)), Show (s (Kind l l d d)), Show (s (FunctionalDependency l l d d)), Show (s (DataConstructor l l d d)), Show (s (GADTConstructor l l d d)), Show (s (DerivingStrategy 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 (Expression l l d d)), Show (s (Type l l d d)), Show (s (TypeLHS l l d d)), Show (s (Kind l l d d)), Show (s (ClassInstanceLHS l l d d)), Show (s (PatternLHS l l d d)), Show (s (PatternEquationClause l l d d)), Show (s (Pattern l l d d)), Show (TypeVarBinding λ l d s), Show (Name λ), Show (QualifiedName λ), Show (TypeRole λ)) => Show (Declaration λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Defined in Language.Haskell.Template

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)] 
ExistentialConstructor [TypeVarBinding λ l d s] (s (Context l l d d)) (s (DataConstructor l l d d)) 

Instances

Instances details
(WrapTranslation t, WrappedTranslation t DataConstructor, FullyTranslatable t Context, FullyTranslatable t Type, FullyTranslatable t FieldDeclaration, DeeplyTranslatable t TypeVarBinding, DataConstructor (Origin t) ~ DataConstructor (Origin t), DataConstructor (Target t) ~ DataConstructor (Target t), Context (Origin t) ~ Context (Origin t), Context (Target t) ~ Context (Target t), Type (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t), TypeVarBinding (Origin t) ~ TypeVarBinding (Origin t), TypeVarBinding (Target t) ~ TypeVarBinding (Target t), FieldDeclaration (Origin t) ~ FieldDeclaration (Origin t), FieldDeclaration (Target t) ~ FieldDeclaration (Target t)) => DeeplyTranslatable t DataConstructor Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> DataConstructor l (Origin t) (Wrap t) (Wrap t) -> DataConstructor 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 l), Foldable t (TypeVarBinding λ l), Foldable t (Context l l), Foldable t (DataConstructor l l)) => Foldable t (DataConstructor λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l), Functor t (Context l l), Functor t (DataConstructor l l)) => Functor t (DataConstructor λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l), Traversable t (Context l l), Traversable t (DataConstructor l l)) => Traversable t (DataConstructor λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d), At t (Context l l d d), At t (DataConstructor l l d d)) => Foldable t (DataConstructor λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d), At t (Context l l d d), At t (DataConstructor l l d d)) => Functor t (DataConstructor λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d), At t (Context l l d d), At t (DataConstructor l l d d)) => Traversable t (DataConstructor λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d) => Apply (DataConstructor λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d) => Foldable (DataConstructor λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.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 (Context l l d d)), Eq (s (DataConstructor l l d d)), Eq (s (FieldDeclaration l l d d)), Eq (s (Type l l d d)), Eq (s (Kind l l d d)), Eq (Name λ)) => Eq (DataConstructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Data (s (Context l l d d)), Data (s (DataConstructor l l d d)), Data (s (FieldDeclaration l l d d)), Data (s (Type l l d d)), Data (s (Kind 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.Extensions.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 (Context l l d d)), Show (s (DataConstructor l l d d)), Show (s (FieldDeclaration l l d d)), Show (s (Type l l d d)), Show (s (Kind l l d d)), Show (Name λ)) => Show (DataConstructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Constructors

GADTConstructors (NonEmpty (Name λ)) [TypeVarBinding λ l d s] (s (Context l l d d)) (s (Type l l d d)) 

Instances

Instances details
(WrapTranslation t, FullyTranslatable t Context, FullyTranslatable t Type, DeeplyTranslatable t TypeVarBinding, Context (Origin t) ~ Context (Origin t), Context (Target t) ~ Context (Target t), Type (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t), TypeVarBinding (Origin t) ~ TypeVarBinding (Origin t), TypeVarBinding (Target t) ~ TypeVarBinding (Target t)) => DeeplyTranslatable t GADTConstructor Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

(Transformation t, Functor t (TypeVarBinding λ l), Functor t (Context l l), Functor t (Type l l)) => Functor t (GADTConstructor λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Constructors

FunctionalDependency [Name λ] [Name λ] 

Instances

Instances details
WrapTranslation t => DeeplyTranslatable t FunctionalDependency Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined in Language.Haskell.Extensions.AST

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

Constructors

PatternEquationClause !(SupportFor 'PatternSynonyms λ) (s (PatternEquationLHS l l d d)) (s (EquationRHS l l d d)) [s (Declaration l l d d)] 

Instances

Instances details
(WrapTranslation t, FullyTranslatable t PatternEquationLHS, FullyTranslatable t EquationRHS, FullyTranslatable t Declaration, PatternEquationLHS (Origin t) ~ PatternEquationLHS (Origin t), PatternEquationLHS (Target t) ~ PatternEquationLHS (Target t), EquationRHS (Origin t) ~ EquationRHS (Origin t), EquationRHS (Target t) ~ EquationRHS (Target t), Declaration (Origin t) ~ Declaration (Origin t), Declaration (Target t) ~ Declaration (Target t)) => DeeplyTranslatable t PatternEquationClause Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

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

Defined in Language.Haskell.Extensions.AST

Methods

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

(Transformation t, Functor t (PatternEquationLHS l l), Functor t (EquationRHS l l), Functor t (Declaration l l)) => Functor t (PatternEquationClause λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

(Transformation t, At t (PatternEquationLHS l l d d), At t (EquationRHS l l d d), At t (Declaration l l d d)) => Functor t (PatternEquationClause λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Eq (SupportFor 'PatternSynonyms λ), Eq (s (PatternEquationLHS l l d d)), Eq (s (EquationRHS l l d d)), Eq (s (Declaration l l d d))) => Eq (PatternEquationClause λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Typeable λ, Typeable l, Typeable d, Typeable s, Data (SupportFor 'PatternSynonyms λ), Data (s (PatternEquationLHS l l d d)), Data (s (EquationRHS l l d d)), Data (s (Declaration l l d d))) => Data (PatternEquationClause λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Show (SupportFor 'PatternSynonyms λ), Show (s (PatternEquationLHS l l d d)), Show (s (EquationRHS l l d d)), Show (s (Declaration l l d d))) => Show (PatternEquationClause λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

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

Constructors

SimpleDerive (QualifiedName λ) 
StrategicDerive !(SupportFor 'DerivingStrategies λ) (s (DerivingStrategy l l d d)) [s (Type l l d d)] 
DeriveVia !(SupportFor 'DerivingVia λ) [s (Type l l d d)] (s (Type l l d d)) 

Instances

Instances details
(WrapTranslation t, FullyTranslatable t Type, FullyTranslatable t DerivingStrategy, DerivingClause (Origin t) ~ DerivingClause (Origin t), DerivingClause (Target t) ~ DerivingClause (Target t), Type (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t), DerivingStrategy (Origin t) ~ DerivingStrategy (Origin t), DerivingStrategy (Target t) ~ DerivingStrategy (Target t), Type (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t)) => DeeplyTranslatable t DerivingClause Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.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 (DerivingStrategy l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Type l l)) => Traversable t (DerivingClause λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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, At t (DerivingStrategy 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 (DerivingClause λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

(Transformation t, At t (DerivingStrategy 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 (DerivingClause λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t (DerivingStrategy 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 (DerivingClause λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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) #

(Eq (SupportFor 'DerivingStrategies λ), Eq (SupportFor 'DerivingVia λ), Eq (QualifiedName λ), Eq (s (Type l l d d)), Eq (s (DerivingStrategy l l d d))) => Eq (DerivingClause λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Data (SupportFor 'DerivingStrategies λ), Data (SupportFor 'DerivingVia λ), Data (QualifiedName λ), Data (s (Type l l d d)), Data (s (DerivingStrategy l l d d)), Data λ, Typeable l, Typeable d, Typeable s) => Data (DerivingClause λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (SupportFor 'DerivingStrategies λ), Show (SupportFor 'DerivingVia λ), Show (QualifiedName λ), Show (s (Type l l d d)), Show (s (DerivingStrategy l l d d))) => Show (DerivingClause λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Constructors

Default 
Stock 
AnyClass 
Newtype 
Via !(SupportFor 'DerivingVia λ) (s (Type l l d d)) 

Instances

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

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> DerivingStrategy l (Origin t) (Wrap t) (Wrap t) -> DerivingStrategy 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 (DerivingStrategy λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Eq (SupportFor 'DerivingVia λ), Eq (s (Type l l d d))) => Eq (DerivingStrategy λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Data (SupportFor 'DerivingVia λ), Data λ, Typeable l, Typeable d, Typeable s, Data (s (Type l l d d))) => Data (DerivingStrategy λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Show (SupportFor 'DerivingVia λ), Show (s (Type l l d d))) => Show (DerivingStrategy λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

showList :: [DerivingStrategy λ 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)] 
LambdaCaseExpression !(SupportFor 'LambdaCase λ) [s (CaseAlternative l l d d)] 
LambdaCasesExpression !(SupportFor 'LambdaCase λ) [s (LambdaCasesAlternative l l d d)] 
MultiWayIfExpression [s (GuardedExpression l l d d)] 
DoExpression (s (GuardedExpression l l d d)) 
MDoExpression (s (GuardedExpression l l d d)) 
QualifiedDoExpression !(SupportFor 'QualifiedDo λ) (ModuleName λ) (s (GuardedExpression l l d d)) 
MDoQualifiedExpression !(SupportFor 'QualifiedDo λ) !(SupportFor 'RecursiveDo λ) (ModuleName λ) (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))) 
ParallelListComprehension (s (Expression l l d d)) (NonEmpty (s (Statement l l d d))) (NonEmpty (s (Statement 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))) 
TupleSectionExpression (NonEmpty (Maybe (s (Expression l l d d)))) 
UnboxedSumExpression !(SupportFor 'UnboxedSums λ) Int (s (Expression l l d d)) Int 
UnboxedTupleExpression !(SupportFor 'UnboxedTuples λ) (NonEmpty (s (Expression l l d d))) 
UnboxedTupleSectionExpression !(SupportFor 'UnboxedTuples λ) (NonEmpty (Maybe (s (Expression l l d d)))) 
TypedExpression (s (Expression l l d d)) (s (Type l l d d)) 
VisibleTypeApplication (s (Expression l l d d)) (s (Type l l d d)) 
ExplicitTypeExpression !(SupportFor 'ExplicitNamespaces λ) (s (Type l l d d)) 
OverloadedLabel Text 
ImplicitParameterExpression !(SupportFor 'ImplicitParameters λ) (Name λ) 
GetField (s (Expression l l d d)) (Name λ) 
FieldProjection (NonEmpty (Name λ)) 
WildcardRecordExpression !(SupportFor 'RecordWildCards λ) (QualifiedName λ) [s (FieldBinding l l d d)] 

Instances

Instances details
(WrapTranslation t, WrappedTranslation t Expression, FullyTranslatable t CaseAlternative, FullyTranslatable t LambdaCasesAlternative, FullyTranslatable t Constructor, FullyTranslatable t Declaration, FullyTranslatable t FieldBinding, FullyTranslatable t GuardedExpression, FullyTranslatable t Pattern, FullyTranslatable t Statement, FullyTranslatable t Type, FullyTranslatable t Value, Expression (Origin t) ~ Expression (Origin t), Expression (Target t) ~ Expression (Target t), CaseAlternative (Origin t) ~ CaseAlternative (Origin t), CaseAlternative (Target t) ~ CaseAlternative (Target t), LambdaCasesAlternative (Origin t) ~ LambdaCasesAlternative (Origin t), LambdaCasesAlternative (Target t) ~ LambdaCasesAlternative (Target t), Constructor (Origin t) ~ Constructor (Origin t), Constructor (Target t) ~ Constructor (Target t), Declaration (Origin t) ~ Declaration (Origin t), Declaration (Target t) ~ Declaration (Target t), FieldBinding (Origin t) ~ FieldBinding (Origin t), FieldBinding (Target t) ~ FieldBinding (Target t), GuardedExpression (Origin t) ~ GuardedExpression (Origin t), GuardedExpression (Target t) ~ GuardedExpression (Target t), Pattern (Origin t) ~ Pattern (Origin t), Pattern (Target t) ~ Pattern (Target t), Statement (Origin t) ~ Statement (Origin t), Statement (Target t) ~ Statement (Target t), Type (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t), Value (Origin t) ~ Value (Origin t), Value (Target t) ~ Value (Target t)) => DeeplyTranslatable t Expression Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

(NameTranslation t, WrapTranslation t, Functor (Wrap t), SupportFor 'ExplicitNamespaces (Origin t) ~ SupportFor 'ExplicitNamespaces (Target t), SupportFor 'ImplicitParameters (Origin t) ~ SupportFor 'ImplicitParameters (Target t), SupportFor 'LambdaCase (Origin t) ~ SupportFor 'LambdaCase (Target t), SupportFor 'QualifiedDo (Origin t) ~ SupportFor 'QualifiedDo (Target t), SupportFor 'RecursiveDo (Origin t) ~ SupportFor 'RecursiveDo (Target t), SupportFor 'RecordWildCards (Origin t) ~ SupportFor 'RecordWildCards (Target t), SupportFor 'UnboxedSums (Origin t) ~ SupportFor 'UnboxedSums (Target t), SupportFor 'UnboxedTuples (Origin t) ~ SupportFor 'UnboxedTuples (Target t)) => Translation t Expression Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

(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 (CaseAlternative l l), Foldable t (LambdaCasesAlternative l l), Foldable t (GuardedExpression l l), Foldable t (GuardedExpression l l), Foldable t (GuardedExpression l l), Foldable t (GuardedExpression 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 (Statement l l), Foldable t (Statement 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 (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 l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Expression l l), Foldable t (FieldBinding l l)) => Foldable t (Expression λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (CaseAlternative l l), Functor t (LambdaCasesAlternative l l), Functor t (GuardedExpression l l), Functor t (GuardedExpression l l), Functor t (GuardedExpression l l), Functor t (GuardedExpression 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 (Statement l l), Functor t (Statement 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 (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 l), Functor t (Type l l), Functor t (Type l l), Functor t (Expression l l), Functor t (FieldBinding l l)) => Functor t (Expression λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (CaseAlternative l l), Traversable t (LambdaCasesAlternative l l), Traversable t (GuardedExpression l l), Traversable t (GuardedExpression l l), Traversable t (GuardedExpression l l), Traversable t (GuardedExpression 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 (Statement l l), Traversable t (Statement 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 (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 l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Expression l l), Traversable t (FieldBinding l l)) => Traversable t (Expression λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (CaseAlternative l l d d), At t (LambdaCasesAlternative l l d d), At t (GuardedExpression l l d d), At t (GuardedExpression l l d d), At t (GuardedExpression l l d d), At t (GuardedExpression 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 (Statement l l d d), At t (Statement 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 (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), At t (Expression l l d d), At t (Type l l d d), At t (Type l l d d), At t (Expression l l d d), At t (FieldBinding l l d d)) => Foldable t (Expression λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (CaseAlternative l l d d), At t (LambdaCasesAlternative l l d d), At t (GuardedExpression l l d d), At t (GuardedExpression l l d d), At t (GuardedExpression l l d d), At t (GuardedExpression 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 (Statement l l d d), At t (Statement 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 (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), At t (Expression l l d d), At t (Type l l d d), At t (Type l l d d), At t (Expression l l d d), At t (FieldBinding l l d d)) => Functor t (Expression λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (CaseAlternative l l d d), At t (LambdaCasesAlternative l l d d), At t (GuardedExpression l l d d), At t (GuardedExpression l l d d), At t (GuardedExpression l l d d), At t (GuardedExpression 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 (Statement l l d d), At t (Statement 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 (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), At t (Expression l l d d), At t (Type l l d d), At t (Type l l d d), At t (Expression l l d d), At t (FieldBinding l l d d)) => Traversable t (Expression λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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 (SupportFor 'ExplicitNamespaces λ), Eq (SupportFor 'ImplicitParameters λ), Eq (SupportFor 'QualifiedDo λ), Eq (SupportFor 'RecursiveDo λ), Eq (SupportFor 'LambdaCase λ), Eq (SupportFor 'RecordWildCards λ), Eq (SupportFor 'UnboxedSums λ), Eq (SupportFor 'UnboxedTuples λ), 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 (LambdaCasesAlternative l l d d)), Eq (s (EquationRHS l l d d)), Eq (s (Type l l d d)), Eq (s (Value l l d d)), Eq (QualifiedName λ), Eq (ModuleName λ), Eq (Name λ)) => Eq (Expression λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Typeable (Pattern l), Typeable (EquationRHS l), Data (SupportFor 'ExplicitNamespaces λ), Data (SupportFor 'ImplicitParameters λ), Data (SupportFor 'QualifiedDo λ), Data (SupportFor 'RecursiveDo λ), Data (SupportFor 'LambdaCase λ), Data (SupportFor 'RecordWildCards λ), Data (SupportFor 'UnboxedSums λ), Data (SupportFor 'UnboxedTuples λ), 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 (LambdaCasesAlternative l l d d)), Data (s (Type l l d d)), Data (s (Value l l d d)), Data (QualifiedName λ), Data (ModuleName λ), Data (Name λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Expression λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (SupportFor 'ExplicitNamespaces λ), Show (SupportFor 'ImplicitParameters λ), Show (SupportFor 'QualifiedDo λ), Show (SupportFor 'RecursiveDo λ), Show (SupportFor 'LambdaCase λ), Show (SupportFor 'RecordWildCards λ), Show (SupportFor 'UnboxedSums λ), Show (SupportFor 'UnboxedTuples λ), 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 (LambdaCasesAlternative l l d d)), Show (s (EquationRHS l l d d)), Show (s (Type l l d d)), Show (s (Value l l d d)), Show (QualifiedName λ), Show (ModuleName λ), Show (Name λ)) => Show (Expression λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Defined in Language.Haskell.Template

(SameWrap 'RecordWildCards '['NamedFieldPuns] pos s λ l, Supports 'RecordWildCards λ, Haskell l, FieldBinding l ~ FieldBinding l, QualifiedName l ~ QualifiedName l, ModuleName l ~ ModuleName l, Name l ~ Name l) => WrappedTranslation (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s) Expression Source # 
Instance details

Defined in Language.Haskell.Extensions.Reformulator

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 (Type 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)] 
WildcardRecordPattern !(SupportFor 'RecordWildCards λ) (QualifiedName λ) [s (FieldPattern l l d d)] 
TypedPattern (s (Pattern l l d d)) (s (Type l l d d)) 
InvisibleTypePattern !(SupportFor 'TypeAbstractions λ) (s (Type l l d d)) 
ExplicitTypePattern !(SupportFor 'ExplicitNamespaces λ) (s (Type l l d d)) 
BangPattern !(SupportFor 'BangPatterns λ) (s (Pattern l l d d)) 
LazyPattern !(SupportFor 'Strict λ) (s (Pattern l l d d)) 
ViewPattern !(SupportFor 'ViewPatterns λ) (s (Expression l l d d)) (s (Pattern l l d d)) 
NPlusKPattern !(SupportFor 'NPlusKPatterns λ) (Name λ) Integer 
TuplePattern (NonEmpty (s (Pattern l l d d))) 
UnboxedTuplePattern !(SupportFor 'UnboxedTuples λ) (NonEmpty (s (Pattern l l d d))) 
UnboxedSumPattern !(SupportFor 'UnboxedSums λ) Int (s (Pattern l l d d)) Int 
VariablePattern (Name λ) 
WildcardPattern 

Instances

Instances details
(WrapTranslation t, WrappedTranslation t Pattern, FullyTranslatable t Constructor, FullyTranslatable t FieldPattern, FullyTranslatable t Type, FullyTranslatable t Expression, FullyTranslatable t Value, Pattern (Origin t) ~ Pattern (Origin t), Pattern (Target t) ~ Pattern (Target t), Constructor (Origin t) ~ Constructor (Origin t), Constructor (Target t) ~ Constructor (Target t), Expression (Origin t) ~ Expression (Origin t), Expression (Target t) ~ Expression (Target t), FieldPattern (Origin t) ~ FieldPattern (Origin t), FieldPattern (Target t) ~ FieldPattern (Target t), Type (Origin t) ~ Type (Origin t), Kind (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t), Kind (Target t) ~ Type (Target t), Value (Origin t) ~ Value (Origin t), Value (Target t) ~ Value (Target t)) => DeeplyTranslatable t Pattern Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> Pattern l (Origin t) (Wrap t) (Wrap t) -> Pattern 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 (Constructor l l), Foldable t (Type 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 (FieldPattern l l), Foldable t (Pattern l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Pattern l l), Foldable t (Pattern l l), Foldable t (Expression 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) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (Type 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 (FieldPattern l l), Functor t (Pattern l l), Functor t (Type l l), Functor t (Type l l), Functor t (Type l l), Functor t (Pattern l l), Functor t (Pattern l l), Functor t (Expression 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) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (Type 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 (FieldPattern l l), Traversable t (Pattern l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Pattern l l), Traversable t (Pattern l l), Traversable t (Expression 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) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (Type 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 (FieldPattern l l d d), At t (Pattern 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 (Pattern l l d d), At t (Pattern l l d d), At t (Expression 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 (Pattern λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (Type 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 (FieldPattern l l d d), At t (Pattern 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 (Pattern l l d d), At t (Pattern l l d d), At t (Expression 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 (Pattern λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (Type 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 (FieldPattern l l d d), At t (Pattern 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 (Pattern l l d d), At t (Pattern l l d d), At t (Expression 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 (Pattern λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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) #

(Eq (SupportFor 'ExplicitNamespaces λ), Eq (SupportFor 'RecordWildCards λ), Eq (SupportFor 'UnboxedSums λ), Eq (SupportFor 'UnboxedTuples λ), Eq (SupportFor 'Strict λ), Eq (SupportFor 'BangPatterns λ), Eq (SupportFor 'ViewPatterns λ), Eq (SupportFor 'NPlusKPatterns λ), Eq (SupportFor 'TypeAbstractions λ), Eq (s (Constructor l l d d)), Eq (s (Expression 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 (s (Type l l d d)), Eq (QualifiedName λ), Eq (Name λ)) => Eq (Pattern λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Data (SupportFor 'ExplicitNamespaces λ), Data (SupportFor 'RecordWildCards λ), Data (SupportFor 'UnboxedSums λ), Data (SupportFor 'UnboxedTuples λ), Data (SupportFor 'Strict λ), Data (SupportFor 'BangPatterns λ), Data (SupportFor 'ViewPatterns λ), Data (SupportFor 'NPlusKPatterns λ), Data (SupportFor 'TypeAbstractions λ), Data (s (Constructor l l d d)), Data (s (Expression 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 (s (Type 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.Extensions.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 (SupportFor 'ExplicitNamespaces λ), Show (SupportFor 'RecordWildCards λ), Show (SupportFor 'UnboxedSums λ), Show (SupportFor 'UnboxedTuples λ), Show (SupportFor 'Strict λ), Show (SupportFor 'BangPatterns λ), Show (SupportFor 'ViewPatterns λ), Show (SupportFor 'NPlusKPatterns λ), Show (SupportFor 'TypeAbstractions λ), Show (s (Constructor l l d d)), Show (s (Expression 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 (s (Type l l d d)), Show (QualifiedName λ), Show (Name λ)) => Show (Pattern λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

(SameWrap 'NPlusKPatterns '['ViewPatterns] pos s λ l2, Haskell l2, Supports 'NPlusKPatterns λ, Supports 'ViewPatterns l2, FieldPattern l2 ~ FieldPattern l2, QualifiedName l2 ~ QualifiedName l2, ModuleName l2 ~ ModuleName l2, Name l2 ~ Name l2) => WrappedTranslation (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s) Pattern Source # 
Instance details

Defined in Language.Haskell.Extensions.Reformulator

(SameWrap 'RecordWildCards '['NamedFieldPuns] pos s λ l2, Supports 'RecordWildCards λ, FieldPattern l2 ~ FieldPattern l2, QualifiedName l2 ~ QualifiedName l2, ModuleName l2 ~ ModuleName l2, Name l2 ~ Name l2) => WrappedTranslation (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s) Pattern Source # 
Instance details

Defined in Language.Haskell.Extensions.Reformulator

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

Constructors

PrefixPatternLHS (Name λ) [Name λ] 
InfixPatternLHS (Name λ) (Name λ) (Name λ) 
RecordPatternLHS (Name λ) [Name λ] 

Instances

Instances details
WrapTranslation t => DeeplyTranslatable t PatternLHS Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Constructors

PrefixPatternEquationLHS (Name λ) [s (Pattern l l d d)] 
InfixPatternEquationLHS (s (Pattern l l d d)) (Name λ) (s (Pattern l l d d)) 

Instances

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

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> PatternEquationLHS l (Origin t) (Wrap t) (Wrap t) -> PatternEquationLHS 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 (Pattern l l), Foldable t (Pattern l l)) => Foldable t (PatternEquationLHS λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Instances

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

Defined in Language.Haskell.Extensions.Translation

Methods

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

(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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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)) 
PunnedFieldPattern (QualifiedName λ) 

Instances

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

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> FieldPattern l (Origin t) (Wrap t) (Wrap t) -> FieldPattern 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 (FieldPattern λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.AST

Methods

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

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

showList :: [FieldPattern λ 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)] 
RecursiveStatement [s (Statement l l d d)] 

Instances

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

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> Statement l (Origin t) (Wrap t) (Wrap t) -> Statement 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 (Expression l l), Foldable t (Expression l l), Foldable t (Declaration l l), Foldable t (Statement l l)) => Foldable t (Statement λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 l)) => Functor t (Statement λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 l)) => Traversable t (Statement λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), At t (Statement l l d d)) => Foldable t (Statement λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), At t (Statement l l d d)) => Functor t (Statement λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), At t (Statement l l d d)) => Traversable t (Statement λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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 (s (Statement l l d d))) => Eq (Statement λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (s (Statement l l d d)), Data λ, Typeable l, Typeable d, Typeable s) => Data (Statement λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (s (Statement l l d d))) => Show (Statement λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Constructors

LambdaCasesAlternative !(SupportFor 'LambdaCase λ) [s (Pattern l l d d)] (s (EquationRHS l l d d)) 

Instances

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

Defined in Language.Haskell.Extensions.Translation

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

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

Defined in Language.Haskell.Extensions.AST

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> LambdaCasesAlternative λ l (Domain t) (Domain t) -> m0 (LambdaCasesAlternative λ 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)) => Foldable t (LambdaCasesAlternative λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

(<$>) :: t -> LambdaCasesAlternative λ l d (Domain t) -> LambdaCasesAlternative λ 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)) => Traversable t (LambdaCasesAlternative λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Eq (SupportFor 'LambdaCase λ), Eq (s (Pattern l l d d)), Eq (s (EquationRHS l l d d))) => Eq (LambdaCasesAlternative λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

(Data (SupportFor 'LambdaCase λ), Data (s (Pattern l l d d)), Data (s (EquationRHS l l d d)), Data λ, Typeable l, Typeable d, Typeable s) => Data (LambdaCasesAlternative λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Show (SupportFor 'LambdaCase λ), Show (s (Pattern l l d d)), Show (s (EquationRHS l l d d))) => Show (LambdaCasesAlternative λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

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

Instances

Instances details
(WrapTranslation t, WrappedTranslation t ClassInstanceLHS, FullyTranslatable t Type, DeeplyTranslatable t TypeVarBinding, ClassInstanceLHS (Origin t) ~ ClassInstanceLHS (Origin t), ClassInstanceLHS (Target t) ~ ClassInstanceLHS (Target t), TypeLHS (Origin t) ~ TypeLHS (Origin t), TypeLHS (Target t) ~ TypeLHS (Target t), Type (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t), Kind (Origin t) ~ Type (Origin t), Kind (Target t) ~ Type (Target t)) => DeeplyTranslatable t ClassInstanceLHS Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> ClassInstanceLHS l (Origin t) (Wrap t) (Wrap t) -> ClassInstanceLHS 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 (Type l l), Foldable t (Type l l), Foldable t (ClassInstanceLHS l l), Foldable t (Type l l), Foldable t (ClassInstanceLHS l l), Foldable t (Kind l l)) => Foldable t (ClassInstanceLHS λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (Type l l), Functor t (Type l l), Functor t (ClassInstanceLHS l l), Functor t (Type l l), Functor t (ClassInstanceLHS l l), Functor t (Kind l l)) => Functor t (ClassInstanceLHS λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (Type l l), Traversable t (Type l l), Traversable t (ClassInstanceLHS l l), Traversable t (Type l l), Traversable t (ClassInstanceLHS l l), Traversable t (Kind l l)) => Traversable t (ClassInstanceLHS λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), At t (Type l l d d), At t (Type l l d d), At t (ClassInstanceLHS l l d d), At t (Type l l d d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d)) => Foldable t (ClassInstanceLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), At t (Type l l d d), At t (Type l l d d), At t (ClassInstanceLHS l l d d), At t (Type l l d d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d)) => Functor t (ClassInstanceLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), At t (Type l l d d), At t (Type l l d d), At t (ClassInstanceLHS l l d d), At t (Type l l d d), At t (ClassInstanceLHS l l d d), At t (Kind l l d d)) => Traversable t (ClassInstanceLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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 (ClassInstanceLHS l l d d)), Eq (s (Type l l d d)), Eq (s (Kind l l d d)), Eq (QualifiedName λ)) => Eq (ClassInstanceLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Data (s (ClassInstanceLHS l l d d)), Data (s (Type l l d d)), Data (s (Kind 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.Extensions.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 (ClassInstanceLHS l l d d)), Show (s (Type l l d d)), Show (s (Kind l l d d)), Show (QualifiedName λ)) => Show (ClassInstanceLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

showList :: [ClassInstanceLHS λ 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)] 
TypeConstraint (s (Type l l d d)) 
TypeEquality (s (Type l l d d)) (s (Type l l d d)) 
ImplicitParameterConstraint !(SupportFor 'ImplicitParameters λ) (Name λ) (s (Type l l d d)) 
NoContext 

Instances

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

Defined in Language.Haskell.Extensions.Translation

Methods

translateDeeply :: Functor (Wrap t) => t -> Context l (Origin t) (Wrap t) (Wrap t) -> Context 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 (Context l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Type l l)) => Foldable t (Context λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (Type l l), Functor t (Type l l), Functor t (Type l l), Functor t (Type l l)) => Functor t (Context λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (Type l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Type l l)) => Traversable t (Context λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), 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 (Context λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), 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 (Context λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), 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 (Context λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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 (SupportFor 'ImplicitParameters λ), 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.Extensions.AST

Methods

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

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

(Data (SupportFor 'ImplicitParameters λ), 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.Extensions.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 (SupportFor 'ImplicitParameters λ), 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.Extensions.AST

Methods

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

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

showList :: [Context λ 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)) 
LinearFunctionType (s (Type l l d d)) (s (Type l l d d)) 
MultiplicityFunctionType (s (Type l l d d)) (s (Type l l d d)) (s (Type l l d d)) 
RecordFunctionType [s (FieldDeclaration l l d d)] (s (Type l l d d)) 
ListType (s (Type l l d d)) 
StrictType (s (Type l l d d)) 
LazyType !(SupportFor 'StrictData λ) (s (Type l l d d)) 
TupleType (NonEmpty (s (Type l l d d))) 
UnboxedTupleType !(SupportFor 'UnboxedTuples λ) (NonEmpty (s (Type l l d d))) 
UnboxedSumType !(SupportFor 'UnboxedSums λ) (NonEmpty (s (Type l l d d))) 
TypeApplication (s (Type l l d d)) (s (Type l l d d)) 
InfixTypeApplication (s (Type l l d d)) (QualifiedName λ) (s (Type l l d d)) 
TypeVariable (Name λ) 
ForallType [TypeVarBinding λ l d s] (s (Type l l d d)) 
ConstrainedType (s (Context l l d d)) (s (Type l l d d)) 
ConstraintType (s (Context l l d d)) 
KindedType (s (Type l l d d)) (s (Kind l l d d)) 
TypeWildcard 
TypeKind (s (Type l l d d)) 
GroundTypeKind 
VisibleDependentType [TypeVarBinding λ l d s] (s (Type l l d d)) 
PromotedConstructorType (s (Constructor l l d d)) 
PromotedTupleType [s (Type l l d d)] 
PromotedListType [s (Type l l d d)] 
PromotedIntegerLiteral Integer 
PromotedCharLiteral Char 
PromotedStringLiteral Text 
PromotedInfixTypeApplication (s (Type l l d d)) (QualifiedName λ) (s (Type l l d d)) 
VisibleKindApplication (s (Type l l d d)) (s (Kind l l d d)) 

Instances

Instances details
(WrapTranslation t, WrappedTranslation t Type, FullyTranslatable t Constructor, FullyTranslatable t Context, FullyTranslatable t FieldDeclaration, FullyTranslatable t Type, DeeplyTranslatable t TypeVarBinding, Constructor (Origin t) ~ Constructor (Origin t), Constructor (Target t) ~ Constructor (Target t), Context (Origin t) ~ Context (Origin t), Context (Target t) ~ Context (Target t), Type (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t), Kind (Origin t) ~ Type (Origin t), Kind (Target t) ~ Type (Target t), FieldDeclaration (Origin t) ~ FieldDeclaration (Origin t), FieldDeclaration (Target t) ~ FieldDeclaration (Target t), TypeVarBinding (Origin t) ~ TypeVarBinding (Origin t), TypeVarBinding (Target t) ~ TypeVarBinding (Target t)) => DeeplyTranslatable t Type Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

(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 (FieldDeclaration 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 l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (Type l l), Foldable t (TypeVarBinding λ l), Foldable t (Type l l), Foldable t (Context l l), Foldable t (Type l l), Foldable t (Context l l), Foldable t (Type l l), Foldable t (Kind l l), Foldable t (Type l l), Foldable t (TypeVarBinding λ l), Foldable t (Type l l), 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 (Kind l l)) => Foldable t (Type λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (FieldDeclaration 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 l), Functor t (Type l l), Functor t (Type l l), Functor t (Type l l), Functor t (TypeVarBinding λ l), Functor t (Type l l), Functor t (Context l l), Functor t (Type l l), Functor t (Context l l), Functor t (Type l l), Functor t (Kind l l), Functor t (Type l l), Functor t (TypeVarBinding λ l), Functor t (Type l l), 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 (Kind l l)) => Functor t (Type λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (FieldDeclaration 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 l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (Type l l), Traversable t (TypeVarBinding λ l), Traversable t (Type l l), Traversable t (Context l l), Traversable t (Type l l), Traversable t (Context l l), Traversable t (Type l l), Traversable t (Kind l l), Traversable t (Type l l), Traversable t (TypeVarBinding λ l), Traversable t (Type l l), 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 (Kind l l)) => Traversable t (Type λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), At t (FieldDeclaration 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), 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 (TypeVarBinding λ l d), At t (Type l l d d), At t (Context 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), At t (Kind l l d d), At t (Type l l d d), Foldable t (TypeVarBinding λ l d), At t (Type l l d d), 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 (Kind l l d d)) => Foldable t (Type λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), At t (FieldDeclaration 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), 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 (TypeVarBinding λ l d), At t (Type l l d d), At t (Context 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), At t (Kind l l d d), At t (Type l l d d), Functor t (TypeVarBinding λ l d), At t (Type l l d d), 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 (Kind l l d d)) => Functor t (Type λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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), At t (FieldDeclaration 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), 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 (TypeVarBinding λ l d), At t (Type l l d d), At t (Context 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), At t (Kind l l d d), At t (Type l l d d), Traversable t (TypeVarBinding λ l d), At t (Type l l d d), 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 (Kind l l d d)) => Traversable t (Type λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d)) => Apply (Type λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d)) => Foldable (Type λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.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) #

(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

(Eq (SupportFor 'UnboxedSums λ), Eq (SupportFor 'UnboxedTuples λ), Eq (SupportFor 'StrictData λ), Eq (s (Constructor l l d d)), Eq (s (Context l l d d)), Eq (s (Kind l l d d)), Eq (s (Type l l d d)), Eq (s (FieldDeclaration l l d d)), Eq (Name λ), Eq (QualifiedName λ)) => Eq (Type λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Data (SupportFor 'UnboxedSums λ), Data (SupportFor 'UnboxedTuples λ), Data (SupportFor 'StrictData λ), Data (s (Constructor l l d d)), Data (s (Context l l d d)), Data (s (Kind l l d d)), Data (s (Type l l d d)), Data (s (FieldDeclaration l l d d)), Data (Name λ), Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Type λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (SupportFor 'UnboxedSums λ), Show (SupportFor 'UnboxedTuples λ), Show (SupportFor 'StrictData λ), Show (s (Constructor l l d d)), Show (s (Context l l d d)), Show (s (Kind l l d d)), Show (s (Type l l d d)), Show (s (FieldDeclaration l l d d)), Show (Name λ), Show (QualifiedName λ)) => Show (Type λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Constructors

SimpleTypeLHS (Name λ) [TypeVarBinding λ l d s] 
TypeLHSApplication (s (TypeLHS l l d d)) (TypeVarBinding λ l d s) 
TypeLHSTypeApplication !(SupportFor 'TypeAbstractions λ) (s (TypeLHS l l d d)) (TypeVarBinding λ l d s) 

Instances

Instances details
(WrapTranslation t, WrappedTranslation t TypeLHS, DeeplyTranslatable t TypeVarBinding, TypeLHS (Origin t) ~ TypeLHS (Origin t), TypeLHS (Target t) ~ TypeLHS (Target t), Type (Origin t) ~ Type (Origin t), Type (Target t) ~ Type (Target t), TypeVarBinding (Origin t) ~ TypeVarBinding (Origin t), TypeVarBinding (Target t) ~ TypeVarBinding (Target t)) => DeeplyTranslatable t TypeLHS Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l), Traversable t (TypeLHS l l), Traversable t (TypeVarBinding λ l), Traversable t (TypeLHS l l), Traversable t (TypeVarBinding λ l)) => Traversable t (TypeLHS λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d), At t (TypeLHS l l d d), Foldable t (TypeVarBinding λ l d), At t (TypeLHS l l d d), Foldable t (TypeVarBinding λ l d)) => Foldable t (TypeLHS λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d)) => Apply (TypeLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d), Foldable (TypeVarBinding λ l d)) => Foldable (TypeLHS λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.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 (SupportFor 'TypeAbstractions λ), Eq (s (Type l l d d)), Eq (s (TypeLHS l l d d)), Eq (s (Kind l l d d)), Eq (QualifiedName λ), Eq (Name λ)) => Eq (TypeLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Data (SupportFor 'TypeAbstractions λ), Data (s (Type l l d d)), Data (s (TypeLHS l l d d)), Data (s (Kind l l d d)), Data (QualifiedName λ), Data (Name λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (TypeLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (SupportFor 'TypeAbstractions λ), Show (s (Type l l d d)), Show (s (TypeLHS l l d d)), Show (s (Kind l l d d)), Show (QualifiedName λ), Show (Name λ)) => Show (TypeLHS λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Instances

Instances details
(WrapTranslation t, FullyTranslatable t Type, Kind (Origin t) ~ Type (Origin t), Kind (Target t) ~ Type (Target t)) => DeeplyTranslatable t TypeVarBinding Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

(Transformation t, Functor t (Kind l l)) => Functor t (TypeVarBinding λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Eq (s (Kind l l d d)), Eq (Name λ)) => Eq (TypeVarBinding λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Show (s (Kind l l d d)), Show (Name λ)) => Show (TypeVarBinding λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

data TypeRole λ Source #

Instances

Instances details
Eq (TypeRole λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

(==) :: TypeRole λ -> TypeRole λ -> Bool #

(/=) :: TypeRole λ -> TypeRole λ -> Bool #

Data λ => Data (TypeRole λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

toConstr :: TypeRole λ -> Constr #

dataTypeOf :: TypeRole λ -> DataType #

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

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

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

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

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

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

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

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

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

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

Show (TypeRole λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

showsPrec :: Int -> TypeRole λ -> ShowS #

show :: TypeRole λ -> String #

showList :: [TypeRole λ] -> ShowS #

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

Instances

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

Defined in Language.Haskell.Extensions.Translation

Methods

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

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

Defined in Language.Haskell.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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.Extensions.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) #

(Eq (SupportFor 'UnboxedSums λ), Eq (SupportFor 'UnboxedTuples λ), Eq (QualifiedName λ)) => Eq (Constructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Data (SupportFor 'UnboxedSums λ), Data (SupportFor 'UnboxedTuples λ), Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Constructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (SupportFor 'UnboxedSums λ), Show (SupportFor 'UnboxedTuples λ), Show (QualifiedName λ)) => Show (Constructor λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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
WrapTranslation t => DeeplyTranslatable t Value Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

(NameTranslation t, WrapTranslation t, Functor (Wrap t), Name (Origin t) ~ Name (Origin t), Name (Target t) ~ Name (Target t), SupportFor 'ExtendedLiterals (Origin t) ~ SupportFor 'ExtendedLiterals (Target t), SupportFor 'MagicHash (Origin t) ~ SupportFor 'MagicHash (Target t)) => Translation t Value Source # 
Instance details

Defined in Language.Haskell.Extensions.Translation

Methods

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

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

Defined in Language.Haskell.Extensions.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)) => Functor t (Value λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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)) => Traversable t (Value λ l) Source # 
Instance details

Defined in Language.Haskell.Extensions.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)) => Foldable t (Value λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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)) => Functor t (Value λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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)) => Traversable t (Value λ l d) Source # 
Instance details

Defined in Language.Haskell.Extensions.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) => Apply (Value λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.Extensions.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) => Foldable (Value λ l d :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.AST

Methods

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

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

Defined in Language.Haskell.Extensions.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 (SupportFor 'ExtendedLiterals λ), Eq (SupportFor 'MagicHash λ)) => Eq (Value λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

(Data (SupportFor 'ExtendedLiterals λ), Data (SupportFor 'MagicHash λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Value λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (SupportFor 'ExtendedLiterals λ), Show (SupportFor 'MagicHash λ)) => Show (Value λ l d s) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

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

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

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

data CallSafety λ Source #

Instances

Instances details
Eq (SupportFor 'InterruptibleFFI λ) => Eq (CallSafety λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

(==) :: CallSafety λ -> CallSafety λ -> Bool #

(/=) :: CallSafety λ -> CallSafety λ -> Bool #

(Data (SupportFor 'InterruptibleFFI λ), Data λ) => Data (CallSafety λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (SupportFor 'InterruptibleFFI λ) => Show (CallSafety λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

showsPrec :: Int -> CallSafety λ -> ShowS #

show :: CallSafety λ -> String #

showList :: [CallSafety λ] -> ShowS #

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

Defined in Language.Haskell.Extensions.Verifier

Methods

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

data CallingConvention λ Source #

Instances

Instances details
Eq (SupportFor 'CApiFFI λ) => Eq (CallingConvention λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

(Data (SupportFor 'CApiFFI λ), Data λ) => Data (CallingConvention λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.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 (SupportFor 'CApiFFI λ) => Show (CallingConvention λ) Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

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

Defined in Language.Haskell.Extensions.Verifier

Methods

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

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 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 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 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 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 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 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 #

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

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