elara
Safe HaskellNone
LanguageGHC2024

Elara.AST.Phases.Renamed

Synopsis

Documentation

data Renamed Source #

Renamed AST stage. Key changes from Desugared: * All names are fully qualified or uniquified * List/Tuple expressions desugared to constructor applications * ListTupleCons patterns desugared to constructor patterns * Binary operators and InParens still present (removed at Shunt)

Instances

Instances details
ElaraPhase Renamed Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

Associated Types

type ValueOccurrence Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type ConstructorOccurrence Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeOccurrence Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type OperatorOccurrence Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type InfixedOccurrence Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type ValueBinder Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type TopValueBinder Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type TopTypeBinder Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeVariable Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type ConstructorBinder Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type LambdaBinder Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type ExpressionMeta Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type PatternMeta Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeMeta Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeMeta Renamed loc = ()
type VariableExtension Renamed 
Instance details

Defined in Elara.AST.Phases.Renamed

type LambdaExtension Renamed 
Instance details

Defined in Elara.AST.Phases.Renamed

type LetExtension Renamed 
Instance details

Defined in Elara.AST.Phases.Renamed

type ApplicationExtension Renamed 
Instance details

Defined in Elara.AST.Phases.Renamed

type ConstructorNodeExtension Renamed 
Instance details

Defined in Elara.AST.Phases.Renamed

type ExpressionExtension Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type PatternExtension Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeSyntaxExtension Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type DeclBodyExtension Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type ValueDeclPatterns Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type ValueDeclTypeAnnotation Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type ValueDeclMetadata Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeDeclMetadata Renamed loc 
Instance details

Defined in Elara.AST.Phases.Renamed

PrettyExtensions Renamed Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

PrettyPhase Renamed Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

Methods

prettyValueOccurrence :: PrettyPhaseLoc Renamed loc => ValueOccurrence Renamed loc -> Doc AnsiStyle Source #

prettyConstructorOccurrence :: PrettyPhaseLoc Renamed loc => ConstructorOccurrence Renamed loc -> Doc AnsiStyle Source #

prettyTypeOccurrence :: PrettyPhaseLoc Renamed loc => TypeOccurrence Renamed loc -> Doc AnsiStyle Source #

prettyOperatorOccurrence :: PrettyPhaseLoc Renamed loc => OperatorOccurrence Renamed loc -> Doc AnsiStyle Source #

prettyInfixedOccurrence :: PrettyPhaseLoc Renamed loc => InfixedOccurrence Renamed loc -> Doc AnsiStyle Source #

prettyValueBinder :: PrettyPhaseLoc Renamed loc => ValueBinder Renamed loc -> Doc AnsiStyle Source #

prettyTopValueBinder :: PrettyPhaseLoc Renamed loc => TopValueBinder Renamed loc -> Doc AnsiStyle Source #

prettyTopTypeBinder :: PrettyPhaseLoc Renamed loc => TopTypeBinder Renamed loc -> Doc AnsiStyle Source #

prettyTypeVariable :: PrettyPhaseLoc Renamed loc => TypeVariable Renamed loc -> Doc AnsiStyle Source #

prettyConstructorBinder :: PrettyPhaseLoc Renamed loc => ConstructorBinder Renamed loc -> Doc AnsiStyle Source #

prettyLambdaBinder :: (PrettyPhaseLoc Renamed loc, PrettyExtensions Renamed) => LambdaBinder Renamed loc -> Doc AnsiStyle Source #

prettyExpressionMeta :: (PrettyPhaseLoc Renamed loc, PrettyExtensions Renamed) => ExpressionMeta Renamed loc -> Maybe (Doc AnsiStyle) Source #

prettyPatternMeta :: (PrettyPhaseLoc Renamed loc, PrettyExtensions Renamed) => PatternMeta Renamed loc -> Maybe (Doc AnsiStyle) Source #

prettyTypeMeta :: TypeMeta Renamed loc -> Maybe (Doc AnsiStyle) Source #

prettyValueDeclPatterns :: (PrettyPhaseLoc Renamed loc, PrettyExtensions Renamed) => ValueDeclPatterns Renamed loc -> Doc AnsiStyle Source #

InterpretConstExpr Renamed Source # 
Instance details

Defined in Elara.ConstExpr

SupportsQuery 'QueryModuleByName Renamed Source # 
Instance details

Defined in Elara.Rename

PhaseCoerce (Exposing SourceRegion Renamed) (Exposing SourceRegion Shunted) Source # 
Instance details

Defined in Elara.Shunt

PhaseCoerce (Exposition SourceRegion Renamed) (Exposition SourceRegion Shunted) Source # 
Instance details

Defined in Elara.Shunt

PhaseCoerce (Import SourceRegion Renamed) (Import SourceRegion Shunted) Source # 
Instance details

Defined in Elara.Shunt

PhaseCoerce (Import' SourceRegion Renamed) (Import' SourceRegion Shunted) Source # 
Instance details

Defined in Elara.Shunt

PhaseCoerce (Type SourceRegion Renamed) (Type SourceRegion Shunted) Source # 
Instance details

Defined in Elara.Shunt

PhaseCoerce (Type' SourceRegion Renamed) (Type' SourceRegion Shunted) Source # 
Instance details

Defined in Elara.Shunt

PhaseCoerce (TypeDeclaration SourceRegion Renamed) (TypeDeclaration SourceRegion Shunted) Source # 
Instance details

Defined in Elara.Shunt

type ApplicationExtension Renamed Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type ConstructorNodeExtension Renamed Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type LambdaExtension Renamed Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type LetExtension Renamed Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type VariableExtension Renamed Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type QuerySpecificEffectsOf 'QueryModuleByName Renamed Source # 
Instance details

Defined in Elara.Rename

type ConstructorBinder Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type ConstructorOccurrence Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type DeclBodyExtension Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type ExpressionExtension Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type ExpressionMeta Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type InfixedOccurrence Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type LambdaBinder Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type OperatorOccurrence Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type PatternExtension Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type PatternMeta Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type TopTypeBinder Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type TopValueBinder Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeDeclMetadata Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeMeta Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeMeta Renamed loc = ()
type TypeOccurrence Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeSyntaxExtension Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type TypeVariable Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type ValueBinder Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type ValueDeclMetadata Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type ValueDeclPatterns Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type ValueDeclTypeAnnotation Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type ValueOccurrence Renamed loc Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

data RenamedExpressionExtension loc Source #

Renamed-specific expression syntax (only BinOp + InParens survive)

Instances

Instances details
Generic (RenamedExpressionExtension loc) Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

Associated Types

type Rep (RenamedExpressionExtension loc) 
Instance details

Defined in Elara.AST.Phases.Renamed

type Rep (RenamedExpressionExtension loc) = D1 ('MetaData "RenamedExpressionExtension" "Elara.AST.Phases.Renamed" "elara-0.1.0-inplace" 'False) (C1 ('MetaCons "RenamedBinaryOperator" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BinaryOperatorExtension loc Renamed))) :+: C1 ('MetaCons "RenamedInParens" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InParensExtension loc Renamed))))
CoreConstraint Show loc Renamed => Show (RenamedExpressionExtension loc) Source # 
Instance details

Defined in Elara.AST.Instances

CoreConstraint Eq loc Renamed => Eq (RenamedExpressionExtension loc) Source # 
Instance details

Defined in Elara.AST.Instances

CoreConstraint Ord loc Renamed => Ord (RenamedExpressionExtension loc) Source # 
Instance details

Defined in Elara.AST.Instances

type Rep (RenamedExpressionExtension loc) Source # 
Instance details

Defined in Elara.AST.Phases.Renamed

type Rep (RenamedExpressionExtension loc) = D1 ('MetaData "RenamedExpressionExtension" "Elara.AST.Phases.Renamed" "elara-0.1.0-inplace" 'False) (C1 ('MetaCons "RenamedBinaryOperator" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BinaryOperatorExtension loc Renamed))) :+: C1 ('MetaCons "RenamedInParens" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InParensExtension loc Renamed))))

data TypedLambdaParam v loc (p :: k) Source #

Lambda binder with optional type annotation, used from Renamed onward

Constructors

TypedLambdaParam v (PatternMeta p loc) 

Instances

Instances details
Generic (TypedLambdaParam v loc p) Source # 
Instance details

Defined in Elara.AST.Types

Associated Types

type Rep (TypedLambdaParam v loc p) 
Instance details

Defined in Elara.AST.Types

type Rep (TypedLambdaParam v loc p) = D1 ('MetaData "TypedLambdaParam" "Elara.AST.Types" "elara-0.1.0-inplace" 'False) (C1 ('MetaCons "TypedLambdaParam" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 v) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PatternMeta p loc))))

Methods

from :: TypedLambdaParam v loc p -> Rep (TypedLambdaParam v loc p) x #

to :: Rep (TypedLambdaParam v loc p) x -> TypedLambdaParam v loc p #

(Show v, Show (PatternMeta p loc)) => Show (TypedLambdaParam v loc p) Source # 
Instance details

Defined in Elara.AST.Instances

Methods

showsPrec :: Int -> TypedLambdaParam v loc p -> ShowS #

show :: TypedLambdaParam v loc p -> String #

showList :: [TypedLambdaParam v loc p] -> ShowS #

(Eq v, Eq (PatternMeta p loc)) => Eq (TypedLambdaParam v loc p) Source # 
Instance details

Defined in Elara.AST.Instances

Methods

(==) :: TypedLambdaParam v loc p -> TypedLambdaParam v loc p -> Bool #

(/=) :: TypedLambdaParam v loc p -> TypedLambdaParam v loc p -> Bool #

(Ord v, Ord (PatternMeta p loc)) => Ord (TypedLambdaParam v loc p) Source # 
Instance details

Defined in Elara.AST.Instances

Methods

compare :: TypedLambdaParam v loc p -> TypedLambdaParam v loc p -> Ordering #

(<) :: TypedLambdaParam v loc p -> TypedLambdaParam v loc p -> Bool #

(<=) :: TypedLambdaParam v loc p -> TypedLambdaParam v loc p -> Bool #

(>) :: TypedLambdaParam v loc p -> TypedLambdaParam v loc p -> Bool #

(>=) :: TypedLambdaParam v loc p -> TypedLambdaParam v loc p -> Bool #

max :: TypedLambdaParam v loc p -> TypedLambdaParam v loc p -> TypedLambdaParam v loc p #

min :: TypedLambdaParam v loc p -> TypedLambdaParam v loc p -> TypedLambdaParam v loc p #

type Rep (TypedLambdaParam v loc p) Source # 
Instance details

Defined in Elara.AST.Types

type Rep (TypedLambdaParam v loc p) = D1 ('MetaData "TypedLambdaParam" "Elara.AST.Types" "elara-0.1.0-inplace" 'False) (C1 ('MetaCons "TypedLambdaParam" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 v) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PatternMeta p loc))))