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)) # |