| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.Extensions.AST
Description
The types of nodes forming the Abstract Syntax Tree of the Haskell language with GHC extensions
Synopsis
- data Language = Language
- data Export λ l (d :: Type -> Type) (s :: Type -> Type)
- = ExportClassOrType (QualifiedName λ) (Maybe (Members λ))
- | ExportVar (QualifiedName λ)
- | ExportPattern (QualifiedName λ)
- | ReExportModule (ModuleName λ)
- data Import λ l (d :: NodeWrap) (s :: Type -> Type) = Import Bool Bool (Maybe Text) (ModuleName λ) (Maybe (ModuleName λ)) (Maybe (s (ImportSpecification l l d d)))
- data ImportItem λ l (d :: Type -> Type) (s :: Type -> Type)
- = ImportClassOrType (Name λ) (Maybe (Members λ))
- | ImportVar (Name λ)
- | ImportPattern (Name λ)
- data Members λ
- = AllMembers
- | AllMembersPlus [Name λ]
- | MemberList [Name λ]
- | ExplicitlyNamespacedMemberList !(SupportFor 'ExplicitNamespaces λ) [ModuleMember λ]
- data ModuleMember λ
- = DefaultMember (Name λ)
- | PatternMember (Name λ)
- | TypeMember (Name λ)
- data Declaration λ l (d :: NodeWrap) (s :: Type -> Type)
- = 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))
- data DataConstructor λ l (d :: NodeWrap) (s :: Type -> Type)
- = 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))
- data GADTConstructor λ l (d :: NodeWrap) (s :: Type -> Type) = GADTConstructors (NonEmpty (Name λ)) [TypeVarBinding λ l d s] (s (Context l l d d)) (s (Type l l d d))
- data FunctionalDependency λ l (d :: Type -> Type) (s :: Type -> Type) = FunctionalDependency [Name λ] [Name λ]
- data PatternEquationClause λ l (d :: NodeWrap) (s :: Type -> Type) = PatternEquationClause !(SupportFor 'PatternSynonyms λ) (s (PatternEquationLHS l l d d)) (s (EquationRHS l l d d)) [s (Declaration l l d d)]
- data DerivingClause λ l (d :: Type -> Type) (s :: Type -> Type)
- = 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))
- data DerivingStrategy λ l (d :: Type -> Type) (s :: Type -> Type)
- = Default
- | Stock
- | AnyClass
- | Newtype
- | Via !(SupportFor 'DerivingVia λ) (s (Type l l d d))
- data Expression λ l (d :: NodeWrap) (s :: Type -> Type)
- = 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)]
- data Pattern λ l (d :: NodeWrap) (s :: Type -> Type)
- = 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
- data PatternLHS λ l (d :: Type -> Type) (s :: Type -> Type)
- = PrefixPatternLHS (Name λ) [Name λ]
- | InfixPatternLHS (Name λ) (Name λ) (Name λ)
- | RecordPatternLHS (Name λ) [Name λ]
- data PatternEquationLHS λ l (d :: NodeWrap) (s :: Type -> Type)
- = PrefixPatternEquationLHS (Name λ) [s (Pattern l l d d)]
- | InfixPatternEquationLHS (s (Pattern l l d d)) (Name λ) (s (Pattern l l d d))
- data FieldBinding λ l (d :: NodeWrap) (s :: Type -> Type)
- = FieldBinding (QualifiedName λ) (s (Expression l l d d))
- | PunnedFieldBinding (QualifiedName λ)
- data FieldPattern λ l (d :: NodeWrap) (s :: Type -> Type)
- = FieldPattern (QualifiedName λ) (s (Pattern l l d d))
- | PunnedFieldPattern (QualifiedName λ)
- data Statement λ l (d :: NodeWrap) (s :: Type -> Type)
- = 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)]
- data LambdaCasesAlternative λ l (d :: NodeWrap) (s :: Type -> Type) = LambdaCasesAlternative !(SupportFor 'LambdaCase λ) [s (Pattern l l d d)] (s (EquationRHS l l d d))
- data ClassInstanceLHS λ l (d :: NodeWrap) (s :: Type -> Type)
- = TypeClassInstanceLHS (QualifiedName λ) (s (Type l l d d))
- | ClassReferenceInstanceLHS (QualifiedName λ)
- | InfixTypeClassInstanceLHS (s (Type l l d d)) (QualifiedName λ) (s (Type l l d d))
- | ClassInstanceLHSApplication (s (ClassInstanceLHS l l d d)) (s (Type l l d d))
- | ClassInstanceLHSKindApplication (s (ClassInstanceLHS l l d d)) (s (Kind l l d d))
- data Context λ l (d :: NodeWrap) (s :: Type -> Type)
- = 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
- data Type λ l (d :: NodeWrap) (s :: Type -> Type)
- = 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))
- data TypeLHS λ l (d :: NodeWrap) (s :: Type -> Type)
- = 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)
- data TypeVarBinding λ l (d :: NodeWrap) (s :: Type -> Type)
- = ExplicitlyKindedTypeVariable Bool (Name λ) (s (Kind l l d d))
- | ImplicitlyKindedTypeVariable Bool (Name λ)
- data TypeRole λ
- data Constructor λ l (d :: Type -> Type) (s :: Type -> Type)
- data Value λ l (d :: Type -> Type) (s :: Type -> Type)
- = CharLiteral Char
- | FloatingLiteral Rational
- | IntegerLiteral Integer
- | StringLiteral Text
- | HashLiteral !(SupportFor 'MagicHash λ) (Value λ l d s)
- | ExtendedLiteral !(SupportFor 'ExtendedLiterals λ) Integer (Name λ)
- data CallSafety λ
- data CallingConvention λ
- = CCall
- | CppCall
- | DotNetCall
- | JvmCall
- | StdCall
- | CApiCall !(SupportFor 'CApiFFI λ)
- data Associativity λ
- data CaseAlternative λ l (d :: NodeWrap) (s :: Type -> Type) = CaseAlternative (s (Pattern l l d d)) (s (EquationRHS l l d d)) [s (Declaration l l d d)]
- data EquationLHS λ l (d :: NodeWrap) (s :: Type -> Type)
- = 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 λ)
- data EquationRHS λ l (d :: NodeWrap) (s :: Type -> Type)
- = GuardedRHS (NonEmpty (s (GuardedExpression l l d d)))
- | NormalRHS (s (Expression l l d d))
- data FieldDeclaration λ l (d :: NodeWrap) (s :: Type -> Type) = ConstructorFields (NonEmpty (Name λ)) (s (Type l l d d))
- data GuardedExpression λ l (d :: NodeWrap) (s :: Type -> Type) = GuardedExpression [s (Statement l l d d)] (s (Expression l l d d))
- data ImportSpecification λ l (d :: NodeWrap) (s :: Type -> Type) = ImportSpecification Bool [s (ImportItem l l d d)]
- data Module λ l (d :: NodeWrap) (s :: Type -> Type)
- = 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))
- newtype ModuleName λ = ModuleName (NonEmpty (Name λ))
- newtype Name λ = Name {}
- data QualifiedName λ = QualifiedName (Maybe (ModuleName λ)) (Name λ)
Documentation
The extended Haskell language node parameter type
Constructors
| Language |
Instances
data Export λ l (d :: Type -> Type) (s :: Type -> Type) Source #
Constructors
| ExportClassOrType (QualifiedName λ) (Maybe (Members λ)) | |
| ExportVar (QualifiedName λ) | |
| ExportPattern (QualifiedName λ) | |
| ReExportModule (ModuleName λ) |
Instances
| (WrapTranslation t, FullyTranslatable t ImportSpecification, ModuleName (Origin t) ~ ModuleName (Origin t), QualifiedName (Origin t) ~ QualifiedName (Origin t)) => DeeplyTranslatable t Export Source # | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (Export λ l) Source # | |
| Transformation t => Functor t (Export λ l) Source # | |
| (Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (Export λ l) Source # | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (Export λ l d) Source # | |
| Transformation t => Functor t (Export λ l d) Source # | |
| (Transformation t, Codomain t ~ Compose m f, Applicative m) => Traversable t (Export λ l d) Source # | |
| Apply (Export λ l d :: (Type -> Type) -> Type) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| Functor (Export λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| Traversable (Export λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (Eq (Members λ), Eq (ModuleName λ), Eq (QualifiedName λ)) => Eq (Export λ l d s) Source # | |
| (Data (Members λ), Data (ModuleName λ), Data (QualifiedName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Export λ l d s) Source # | |
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 # | |
| PrettyViaTH (Export Language Language f f) Source # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: Export Language Language f f -> Doc | |
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
| (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 # | |
| (NameTranslation t, WrapTranslation t, Functor (Wrap t)) => Translation t Import Source # | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (ImportSpecification l l)) => Foldable t (Import λ l) Source # | |
| (Transformation t, Functor t (ImportSpecification l l)) => Functor t (Import λ l) Source # | |
| (Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (ImportSpecification l l)) => Traversable t (Import λ l) Source # | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (ImportSpecification l l d d)) => Foldable t (Import λ l d) Source # | |
| (Transformation t, At t (ImportSpecification l l d d)) => Functor t (Import λ l d) Source # | |
| (Transformation t, Codomain t ~ Compose m f, Applicative m, At t (ImportSpecification l l d d)) => Traversable t (Import λ l d) Source # | |
| Apply (Import λ l d :: (Type -> Type) -> Type) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| Functor (Import λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| Traversable (Import λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (Eq (s (ImportSpecification l l d d)), Eq (ModuleName λ)) => Eq (Import λ l d s) Source # | |
| (Data (s (ImportSpecification l l d d)), Data (ModuleName λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Import λ l d s) Source # | |
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 # | |
| TemplateWrapper f => PrettyViaTH (Import Language Language f f) Source # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: Import Language Language f f -> Doc | |
data ImportItem λ l (d :: Type -> Type) (s :: Type -> Type) Source #
Constructors
| ImportClassOrType (Name λ) (Maybe (Members λ)) | |
| ImportVar (Name λ) | |
| ImportPattern (Name λ) |
Instances
| (WrapTranslation t, FullyTranslatable t ImportSpecification, QualifiedName (Origin t) ~ QualifiedName (Origin t)) => DeeplyTranslatable t ImportItem Source # | |
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 # | |
| Transformation t => Functor t (ImportItem λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (ImportItem λ l d) Source # | |
| Transformation t => Functor t (ImportItem λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: ImportItem Language Language f f -> Doc | |
Constructors
| AllMembers | |
| AllMembersPlus [Name λ] | |
| MemberList [Name λ] | |
| ExplicitlyNamespacedMemberList !(SupportFor 'ExplicitNamespaces λ) [ModuleMember λ] |
Instances
| Eq (SupportFor 'ExplicitNamespaces λ) => Eq (Members λ) Source # | |
| (Data λ, Data (SupportFor 'ExplicitNamespaces λ)) => Data (Members λ) Source # | |
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 # | |
| PrettyViaTH (Members Language) Source # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: Members Language -> Doc | |
data ModuleMember λ Source #
Constructors
| DefaultMember (Name λ) | |
| PatternMember (Name λ) | |
| TypeMember (Name λ) |
Instances
| Eq (ModuleMember λ) Source # | |
Defined in Language.Haskell.Extensions.AST Methods (==) :: ModuleMember λ -> ModuleMember λ -> Bool # (/=) :: ModuleMember λ -> ModuleMember λ -> Bool # | |
| Data λ => Data (ModuleMember λ) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST Methods showsPrec :: Int -> ModuleMember λ -> ShowS # show :: ModuleMember λ -> String # showList :: [ModuleMember λ] -> ShowS # | |
| PrettyViaTH (ModuleMember Language) Source # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: ModuleMember Language -> Doc | |
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
| (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 # | |
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 # | |
| (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 # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Declaration l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Declaration l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: Declaration Language Language f f -> Doc | |
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
| (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 # | |
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 # | |
| (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 # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
| (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 # | |
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 # | |
| (Transformation t, Functor t (TypeVarBinding λ l), Functor t (Context l l), Functor t (Type l l)) => Functor t (GADTConstructor λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
| WrapTranslation t => DeeplyTranslatable t FunctionalDependency Source # | |
Defined in Language.Haskell.Extensions.Translation Methods translateDeeply :: Functor (Wrap t) => t -> FunctionalDependency l (Origin t) (Wrap t) (Wrap t) -> FunctionalDependency l (Target t) (Wrap t) (Wrap t) Source # | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (FunctionalDependency λ l) Source # | |
| Transformation t => Functor t (FunctionalDependency λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (FunctionalDependency λ l d) Source # | |
| Transformation t => Functor t (FunctionalDependency λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Extensions.AST Methods showsPrec :: Int -> FunctionalDependency λ l d s -> ShowS # show :: FunctionalDependency λ l d s -> String # showList :: [FunctionalDependency λ l d s] -> ShowS # | |
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
| (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 # | |
Defined in Language.Haskell.Extensions.Translation Methods translateDeeply :: Functor (Wrap t) => t -> PatternEquationClause l (Origin t) (Wrap t) (Wrap t) -> PatternEquationClause l (Target t) (Wrap t) (Wrap t) Source # | |
| (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 # | |
| (Transformation t, Functor t (PatternEquationLHS l l), Functor t (EquationRHS l l), Functor t (Declaration l l)) => Functor t (PatternEquationClause λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Extensions.AST Methods showsPrec :: Int -> PatternEquationClause λ l d s -> ShowS # show :: PatternEquationClause λ l d s -> String # showList :: [PatternEquationClause λ l d s] -> ShowS # | |
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
| (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 # | |
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 # | |
| (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 # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
| (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 # | |
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 # | |
| (Transformation t, Functor t (Type l l)) => Functor t (DerivingStrategy λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Type l l d d)) => Foldable t (DerivingStrategy λ l d) Source # | |
| (Transformation t, At t (Type l l d d)) => Functor t (DerivingStrategy λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
| (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 # | |
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 # | |
Defined in Language.Haskell.Extensions.Translation | |
| (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 # | |
| (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 # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: Expression Language Language f f -> Doc | |
| (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 # | |
Defined in Language.Haskell.Extensions.Reformulator Methods translateWrapped :: ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s -> Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s) (Expression (Origin (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s)) (Origin (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s)) (Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s)) (Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s))) -> Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s) (Expression (Target (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s)) (Origin (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s)) (Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s)) (Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s))) Source # | |
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
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| Apply (Pattern λ l d :: (Type -> Type) -> Type) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| Functor (Pattern λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| Traversable (Pattern λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
| (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 # | |
Defined in Language.Haskell.Extensions.Reformulator Methods translateWrapped :: ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s -> Wrap (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s) (Pattern (Origin (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s)) (Origin (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s)) (Wrap (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s)) (Wrap (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s))) -> Wrap (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s) (Pattern (Target (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s)) (Origin (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s)) (Wrap (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s)) (Wrap (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s))) Source # | |
| (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 # | |
Defined in Language.Haskell.Extensions.Reformulator Methods translateWrapped :: ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s -> Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s) (Pattern (Origin (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s)) (Origin (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s)) (Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s)) (Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s))) -> Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s) (Pattern (Target (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s)) (Origin (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s)) (Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s)) (Wrap (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s))) Source # | |
data PatternLHS λ l (d :: Type -> Type) (s :: Type -> Type) Source #
Constructors
| PrefixPatternLHS (Name λ) [Name λ] | |
| InfixPatternLHS (Name λ) (Name λ) (Name λ) | |
| RecordPatternLHS (Name λ) [Name λ] |
Instances
| WrapTranslation t => DeeplyTranslatable t PatternLHS Source # | |
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 # | |
| Transformation t => Functor t (PatternLHS λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (PatternLHS λ l d) Source # | |
| Transformation t => Functor t (PatternLHS λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
| (WrapTranslation t, FullyTranslatable t Pattern, Pattern (Origin t) ~ Pattern (Origin t), Pattern (Target t) ~ Pattern (Target t)) => DeeplyTranslatable t PatternEquationLHS Source # | |
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 # | |
| (Transformation t, Functor t (Pattern l l), Functor t (Pattern l l), Functor t (Pattern l l)) => Functor t (PatternEquationLHS λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 #
Constructors
| FieldBinding (QualifiedName λ) (s (Expression l l d d)) | |
| PunnedFieldBinding (QualifiedName λ) |
Instances
| (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 # | |
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 # | |
| (Transformation t, Functor t (Expression l l)) => Functor t (FieldBinding λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Expression l l d d)) => Foldable t (FieldBinding λ l d) Source # | |
| (Transformation t, At t (Expression l l d d)) => Functor t (FieldBinding λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (Eq (s (Expression l l d d)), Eq (QualifiedName λ)) => Eq (FieldBinding λ l d s) Source # | |
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 # | |
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 # | |
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
| (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 # | |
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 # | |
| (Transformation t, Functor t (Pattern l l)) => Functor t (FieldPattern λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Pattern l l d d)) => Foldable t (FieldPattern λ l d) Source # | |
| (Transformation t, At t (Pattern l l d d)) => Functor t (FieldPattern λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (Eq (s (Pattern l l d d)), Eq (QualifiedName λ)) => Eq (FieldPattern λ l d s) Source # | |
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 # | |
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 # | |
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
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| Apply (Statement λ l d :: (Type -> Type) -> Type) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| Functor (Statement λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| Traversable (Statement λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
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
| (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 # | |
Defined in Language.Haskell.Extensions.Translation Methods translateDeeply :: Functor (Wrap t) => t -> LambdaCasesAlternative l (Origin t) (Wrap t) (Wrap t) -> LambdaCasesAlternative 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 (LambdaCasesAlternative λ l) Source # | |
| (Transformation t, Functor t (Pattern l l), Functor t (EquationRHS l l)) => Functor t (LambdaCasesAlternative λ l) Source # | |
Defined in Language.Haskell.Extensions.AST Methods (<$>) :: t -> LambdaCasesAlternative λ l (Domain t) (Domain t) -> LambdaCasesAlternative λ 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 (LambdaCasesAlternative λ l) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (Transformation t, At t (Pattern l l d d), At t (EquationRHS l l d d)) => Functor t (LambdaCasesAlternative λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Extensions.AST Methods (==) :: LambdaCasesAlternative λ l d s -> LambdaCasesAlternative λ l d s -> Bool # (/=) :: LambdaCasesAlternative λ l d s -> LambdaCasesAlternative λ l d s -> Bool # | |
| (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 # | |
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 # | |
Defined in Language.Haskell.Extensions.AST Methods showsPrec :: Int -> LambdaCasesAlternative λ l d s -> ShowS # show :: LambdaCasesAlternative λ l d s -> String # showList :: [LambdaCasesAlternative λ l d s] -> ShowS # | |
data ClassInstanceLHS λ l (d :: NodeWrap) (s :: Type -> Type) Source #
Constructors
| TypeClassInstanceLHS (QualifiedName λ) (s (Type l l d d)) | |
| ClassReferenceInstanceLHS (QualifiedName λ) | |
| InfixTypeClassInstanceLHS (s (Type l l d d)) (QualifiedName λ) (s (Type l l d d)) | |
| ClassInstanceLHSApplication (s (ClassInstanceLHS l l d d)) (s (Type l l d d)) | |
| ClassInstanceLHSKindApplication (s (ClassInstanceLHS l l d d)) (s (Kind l l d d)) |
Instances
| (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 # | |
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 # | |
| (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 # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
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 # | |
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 # | |
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
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| Apply (Context λ l d :: (Type -> Type) -> Type) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| Functor (Context λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| Traversable (Context λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
| (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 # | |
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 # | |
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
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d)) => Apply (Type λ l d :: (Type -> Type) -> Type) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (Functor (TypeVarBinding λ l d), Functor (TypeVarBinding λ l d)) => Functor (Type λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (Traversable (TypeVarBinding λ l d), Traversable (TypeVarBinding λ l d)) => Traversable (Type λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Type l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Type l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
| (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 # | |
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 # | |
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
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d), Apply (TypeVarBinding λ l d)) => Apply (TypeLHS λ l d :: (Type -> Type) -> Type) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (Functor (TypeVarBinding λ l d), Functor (TypeVarBinding λ l d), Functor (TypeVarBinding λ l d)) => Functor (TypeLHS λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (Traversable (TypeVarBinding λ l d), Traversable (TypeVarBinding λ l d), Traversable (TypeVarBinding λ l d)) => Traversable (TypeLHS λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (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 # | |
| (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 # | |
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 # | |
data TypeVarBinding λ l (d :: NodeWrap) (s :: Type -> Type) Source #
Constructors
| ExplicitlyKindedTypeVariable Bool (Name λ) (s (Kind l l d d)) | |
| ImplicitlyKindedTypeVariable Bool (Name λ) |
Instances
| (WrapTranslation t, FullyTranslatable t Type, Kind (Origin t) ~ Type (Origin t), Kind (Target t) ~ Type (Target t)) => DeeplyTranslatable t TypeVarBinding Source # | |
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 # | |
| (Transformation t, Functor t (Kind l l)) => Functor t (TypeVarBinding λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Kind l l d d)) => Foldable t (TypeVarBinding λ l d) Source # | |
| (Transformation t, At t (Kind l l d d)) => Functor t (TypeVarBinding λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Constructors
| InferredRole | |
| NominalRole | |
| RepresentationalRole | |
| PhantomRole |
Instances
| Eq (TypeRole λ) Source # | |
| Data λ => Data (TypeRole λ) Source # | |
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 # | |
data Constructor λ l (d :: Type -> Type) (s :: Type -> Type) Source #
Constructors
| ConstructorReference (QualifiedName λ) | |
| EmptyListConstructor | |
| TupleConstructor Int | |
| UnboxedTupleConstructor !(SupportFor 'UnboxedTuples λ) Int | |
| UnboxedSumConstructor !(SupportFor 'UnboxedSums λ) Int | |
| UnitConstructor |
Instances
| (WrapTranslation t, Constructor (Origin t) ~ Constructor (Origin t), Constructor (Target t) ~ Constructor (Target t)) => DeeplyTranslatable t Constructor Source # | |
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 # | |
| Transformation t => Functor t (Constructor λ l) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (Constructor λ l d) Source # | |
| Transformation t => Functor t (Constructor λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 #
Constructors
| CharLiteral Char | |
| FloatingLiteral Rational | |
| IntegerLiteral Integer | |
| StringLiteral Text | |
| HashLiteral !(SupportFor 'MagicHash λ) (Value λ l d s) | |
| ExtendedLiteral !(SupportFor 'ExtendedLiterals λ) Integer (Name λ) |
Instances
| WrapTranslation t => DeeplyTranslatable t Value 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 # | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Value λ l)) => Foldable t (Value λ l) Source # | |
| (Transformation t, Functor t (Value λ l)) => Functor t (Value λ l) Source # | |
| (Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Value λ l)) => Traversable t (Value λ l) Source # | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (Value λ l d)) => Foldable t (Value λ l d) Source # | |
| (Transformation t, Functor t (Value λ l d)) => Functor t (Value λ l d) Source # | |
| (Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t (Value λ l d)) => Traversable t (Value λ l d) Source # | |
| Apply (Value λ l d) => Apply (Value λ l d :: (Type -> Type) -> Type) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST | |
| Functor (Value λ l d) => Functor (Value λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| Traversable (Value λ l d) => Traversable (Value λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (Eq (SupportFor 'ExtendedLiterals λ), Eq (SupportFor 'MagicHash λ)) => Eq (Value λ l d s) Source # | |
| (Data (SupportFor 'ExtendedLiterals λ), Data (SupportFor 'MagicHash λ), Data λ, Typeable l, Typeable d, Typeable s) => Data (Value λ l d s) Source # | |
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 # | |
data CallSafety λ Source #
Constructors
| SafeCall | |
| UnsafeCall | |
| InterruptibleCall !(SupportFor 'InterruptibleFFI λ) |
Instances
| Eq (SupportFor 'InterruptibleFFI λ) => Eq (CallSafety λ) Source # | |
Defined in Language.Haskell.Extensions.AST | |
| (Data (SupportFor 'InterruptibleFFI λ), Data λ) => Data (CallSafety λ) Source # | |
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 # | |
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 # | |
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 #
Constructors
| CCall | |
| CppCall | |
| DotNetCall | |
| JvmCall | |
| StdCall | |
| CApiCall !(SupportFor 'CApiFFI λ) |
Instances
| Eq (SupportFor 'CApiFFI λ) => Eq (CallingConvention λ) Source # | |
Defined in Language.Haskell.Extensions.AST Methods (==) :: CallingConvention λ -> CallingConvention λ -> Bool # (/=) :: CallingConvention λ -> CallingConvention λ -> Bool # | |
| (Data (SupportFor 'CApiFFI λ), Data λ) => Data (CallingConvention λ) Source # | |
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 # | |
Defined in Language.Haskell.Extensions.AST Methods showsPrec :: Int -> CallingConvention λ -> ShowS # show :: CallingConvention λ -> String # showList :: [CallingConvention λ] -> ShowS # | |
| At (Accounting l pos s) (CallingConvention l) Source # | |
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 #
Constructors
| NonAssociative | |
| LeftAssociative | |
| RightAssociative |
Instances
| Eq (Associativity λ) Source # | |
Defined in Language.Haskell.AST Methods (==) :: Associativity λ -> Associativity λ -> Bool # (/=) :: Associativity λ -> Associativity λ -> Bool # | |
| Data λ => Data (Associativity λ) Source # | |
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 # | |
Defined in Language.Haskell.AST Methods showsPrec :: Int -> Associativity λ -> ShowS # show :: Associativity λ -> String # showList :: [Associativity λ] -> ShowS # | |
data CaseAlternative λ l (d :: NodeWrap) (s :: Type -> Type) Source #
Constructors
| CaseAlternative (s (Pattern l l d d)) (s (EquationRHS l l d d)) [s (Declaration l l d d)] |
Instances
| (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 # | |
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 # | |
| (Transformation t, Functor t (Pattern l l), Functor t (EquationRHS l l), Functor t (Declaration l l)) => Functor t (CaseAlternative λ l) Source # | |
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 # | |
Defined in Language.Haskell.AST | |
| (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 # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
| (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 # | |
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 # | |
| (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 # | |
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 # | |
Defined in Language.Haskell.AST | |
| (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 # | |
| (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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
| (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 # | |
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 # | |
| (Transformation t, Functor t (GuardedExpression l l), Functor t (Expression l l)) => Functor t (EquationRHS λ l) Source # | |
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 # | |
Defined in Language.Haskell.AST | |
| (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 # | |
| (Transformation t, At t (GuardedExpression l l d d), At t (Expression l l d d)) => Functor t (EquationRHS λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
| (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 # | |
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 # | |
| (Transformation t, Functor t (Type l l)) => Functor t (FieldDeclaration λ l) Source # | |
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 # | |
Defined in Language.Haskell.AST | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (Type l l d d)) => Foldable t (FieldDeclaration λ l d) Source # | |
| (Transformation t, At t (Type l l d d)) => Functor t (FieldDeclaration λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
| (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 # | |
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 # | |
| (Transformation t, Functor t (Statement l l), Functor t (Expression l l)) => Functor t (GuardedExpression λ l) Source # | |
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 # | |
Defined in Language.Haskell.AST | |
| (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 # | |
| (Transformation t, At t (Statement l l d d), At t (Expression l l d d)) => Functor t (GuardedExpression λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
| (WrapTranslation t, FullyTranslatable t ImportItem, ImportItem (Origin t) ~ ImportItem (Origin t), ImportItem (Target t) ~ ImportItem (Target t)) => DeeplyTranslatable t ImportSpecification Source # | |
Defined in Language.Haskell.Extensions.Translation Methods translateDeeply :: Functor (Wrap t) => t -> ImportSpecification l (Origin t) (Wrap t) (Wrap t) -> ImportSpecification l (Target t) (Wrap t) (Wrap t) Source # | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t (ImportItem l l)) => Foldable t (ImportSpecification λ l) Source # | |
| (Transformation t, Functor t (ImportItem l l)) => Functor t (ImportSpecification λ l) Source # | |
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 # | |
Defined in Language.Haskell.AST | |
| (Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t (ImportItem l l d d)) => Foldable t (ImportSpecification λ l d) Source # | |
| (Transformation t, At t (ImportItem l l d d)) => Functor t (ImportSpecification λ l d) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: ImportSpecification Language Language f f -> Doc | |
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
| (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 # | |
| (NameTranslation t, WrapTranslation t, Functor (Wrap t)) => Translation t Module 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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| (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 # | |
| Apply (Module λ l d :: (Type -> Type) -> Type) Source # | |
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 # | |
Defined in Language.Haskell.AST | |
| Functor (Module λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.AST | |
| Traversable (Module λ l d :: (Type -> Type) -> Type) Source # | |
Defined in Language.Haskell.AST | |
| (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 # | |
| (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 # | |
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 # | |
| TemplateWrapper f => PrettyViaTH (Module Language Language f f) Source # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: Module Language Language f f -> Doc | |
| (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 # | |
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
| Eq (ModuleName λ) Source # | |
Defined in Language.Haskell.AST | |
| Ord (ModuleName λ) Source # | |
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 # | |
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 # | |
Defined in Language.Haskell.AST Methods showsPrec :: Int -> ModuleName λ -> ShowS # show :: ModuleName λ -> String # showList :: [ModuleName λ] -> ShowS # | |
| PrettyViaTH (ModuleName Language) Source # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: ModuleName Language -> Doc | |
A primitive name type
Instances
| Eq (Name λ) Source # | |
| Ord (Name λ) Source # | |
| Data λ => Data (Name λ) Source # | |
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 # | |
| PrettyViaTH (Name Language) Source # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: Name Language -> Doc | |
| (Functor (g (Compose ((,) (Attributes Language)) q)), Functor (Mapped ((,) (Attributes Language)) (Map q Placed)) g) => Functor (Mapped ((,) (Attributes Language)) (Map q Placed)) g Source # | |
Defined in Language.Haskell Methods (<$>) :: Mapped ((,) (Attributes Language)) (Map q Placed) -> Domain (Mapped ((,) (Attributes Language)) (Map q Placed)) (g (Domain (Mapped ((,) (Attributes Language)) (Map q Placed))) (Domain (Mapped ((,) (Attributes Language)) (Map q Placed)))) -> Codomain (Mapped ((,) (Attributes Language)) (Map q Placed)) (g (Codomain (Mapped ((,) (Attributes Language)) (Map q Placed))) (Codomain (Mapped ((,) (Attributes Language)) (Map q Placed)))) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Constructor l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Constructor l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (DerivingClause l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (DerivingClause l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Export l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Export l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Pattern l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Pattern l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Declaration l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Declaration l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Type l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Type l l (WithEnvironment l f) (WithEnvironment l f)) # | |
data QualifiedName λ Source #
A name that may but need not be qualified with a ModuleName
Constructors
| QualifiedName (Maybe (ModuleName λ)) (Name λ) |
Instances
| Eq (QualifiedName λ) Source # | |
Defined in Language.Haskell.AST Methods (==) :: QualifiedName λ -> QualifiedName λ -> Bool # (/=) :: QualifiedName λ -> QualifiedName λ -> Bool # | |
| Ord (QualifiedName λ) Source # | |
Defined in Language.Haskell.AST Methods compare :: QualifiedName λ -> QualifiedName λ -> Ordering # (<) :: QualifiedName λ -> QualifiedName λ -> Bool # (<=) :: QualifiedName λ -> QualifiedName λ -> Bool # (>) :: QualifiedName λ -> QualifiedName λ -> Bool # (>=) :: QualifiedName λ -> QualifiedName λ -> Bool # max :: QualifiedName λ -> QualifiedName λ -> QualifiedName λ # min :: QualifiedName λ -> QualifiedName λ -> QualifiedName λ # | |
| Data λ => Data (QualifiedName λ) Source # | |
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 # | |
Defined in Language.Haskell.AST Methods showsPrec :: Int -> QualifiedName λ -> ShowS # show :: QualifiedName λ -> String # showList :: [QualifiedName λ] -> ShowS # | |
| PrettyViaTH (QualifiedName Language) Source # | |
Defined in Language.Haskell.Template Methods prettyViaTH :: QualifiedName Language -> Doc | |
| (Functor (g (Compose ((,) (Attributes Language)) q)), Functor (Mapped ((,) (Attributes Language)) (Map q Placed)) g) => Functor (Mapped ((,) (Attributes Language)) (Map q Placed)) g Source # | |
Defined in Language.Haskell Methods (<$>) :: Mapped ((,) (Attributes Language)) (Map q Placed) -> Domain (Mapped ((,) (Attributes Language)) (Map q Placed)) (g (Domain (Mapped ((,) (Attributes Language)) (Map q Placed))) (Domain (Mapped ((,) (Attributes Language)) (Map q Placed)))) -> Codomain (Mapped ((,) (Attributes Language)) (Map q Placed)) (g (Codomain (Mapped ((,) (Attributes Language)) (Map q Placed))) (Codomain (Mapped ((,) (Attributes Language)) (Map q Placed)))) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Constructor l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Constructor l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (DerivingClause l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (DerivingClause l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Export l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Export l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Pattern l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Pattern l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (ClassInstanceLHS l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Context l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Declaration l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Declaration l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Expression l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (FieldBinding l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (FieldPattern l l (WithEnvironment l f) (WithEnvironment l f)) # | |
| (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 # | |
Defined in Language.Haskell.Binder Methods ($) :: BindingVerifier l f -> Domain (BindingVerifier l f) (Type l l (WithEnvironment l f) (WithEnvironment l f)) -> Codomain (BindingVerifier l f) (Type l l (WithEnvironment l f) (WithEnvironment l f)) # | |