| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Axel.AST
Documentation
Instances
type Identifier = String #
Constructors
| CaseBlock | |
Fields
| |
Instances
| Eq CaseBlock # | |
| Show CaseBlock # | |
| ToHaskell CaseBlock # | |
| HasExpr CaseBlock Expression # | |
| HasMatches CaseBlock [(Expression, Expression)] # | |
Defined in Axel.AST Methods matches :: Lens' CaseBlock [(Expression, Expression)] # | |
data FunctionApplication #
Constructors
| FunctionApplication | |
Fields
| |
Instances
| Eq FunctionApplication # | |
Defined in Axel.AST Methods (==) :: FunctionApplication -> FunctionApplication -> Bool # (/=) :: FunctionApplication -> FunctionApplication -> Bool # | |
| Show FunctionApplication # | |
Defined in Axel.AST Methods showsPrec :: Int -> FunctionApplication -> ShowS # show :: FunctionApplication -> String # showList :: [FunctionApplication] -> ShowS # | |
| ToHaskell FunctionApplication # | |
Defined in Axel.AST Methods toHaskell :: FunctionApplication -> String # | |
| HasFunction FunctionApplication Expression # | |
Defined in Axel.AST Methods | |
| HasConstructor NewtypeDeclaration FunctionApplication # | |
Defined in Axel.AST Methods constructor :: Lens' NewtypeDeclaration FunctionApplication # | |
| HasConstructors DataDeclaration [FunctionApplication] # | |
Defined in Axel.AST Methods constructors :: Lens' DataDeclaration [FunctionApplication] # | |
| HasArguments FunctionApplication [Expression] # | |
Defined in Axel.AST Methods | |
Constructors
| IfBlock | |
Fields
| |
Constructors
| TopLevel | |
Fields
| |
data TypeDefinition #
Constructors
| ProperType Identifier | |
| TypeConstructor FunctionApplication |
Instances
| Eq TypeDefinition # | |
Defined in Axel.AST Methods (==) :: TypeDefinition -> TypeDefinition -> Bool # (/=) :: TypeDefinition -> TypeDefinition -> Bool # | |
| Show TypeDefinition # | |
Defined in Axel.AST Methods showsPrec :: Int -> TypeDefinition -> ShowS # show :: TypeDefinition -> String # showList :: [TypeDefinition] -> ShowS # | |
| ToHaskell TypeDefinition # | |
Defined in Axel.AST Methods toHaskell :: TypeDefinition -> String # | |
| HasTypeDefinition NewtypeDeclaration TypeDefinition # | |
Defined in Axel.AST Methods | |
| HasTypeDefinition DataDeclaration TypeDefinition # | |
Defined in Axel.AST Methods | |
data DataDeclaration #
Constructors
| DataDeclaration | |
Fields | |
Instances
| Eq DataDeclaration # | |
Defined in Axel.AST Methods (==) :: DataDeclaration -> DataDeclaration -> Bool # (/=) :: DataDeclaration -> DataDeclaration -> Bool # | |
| Show DataDeclaration # | |
Defined in Axel.AST Methods showsPrec :: Int -> DataDeclaration -> ShowS # show :: DataDeclaration -> String # showList :: [DataDeclaration] -> ShowS # | |
| ToHaskell DataDeclaration # | |
Defined in Axel.AST Methods toHaskell :: DataDeclaration -> String # | |
| HasTypeDefinition DataDeclaration TypeDefinition # | |
Defined in Axel.AST Methods | |
| HasConstructors DataDeclaration [FunctionApplication] # | |
Defined in Axel.AST Methods constructors :: Lens' DataDeclaration [FunctionApplication] # | |
data NewtypeDeclaration #
Constructors
| NewtypeDeclaration | |
Fields | |
Instances
| Eq NewtypeDeclaration # | |
Defined in Axel.AST Methods (==) :: NewtypeDeclaration -> NewtypeDeclaration -> Bool # (/=) :: NewtypeDeclaration -> NewtypeDeclaration -> Bool # | |
| Show NewtypeDeclaration # | |
Defined in Axel.AST Methods showsPrec :: Int -> NewtypeDeclaration -> ShowS # show :: NewtypeDeclaration -> String # showList :: [NewtypeDeclaration] -> ShowS # | |
| ToHaskell NewtypeDeclaration # | |
Defined in Axel.AST Methods toHaskell :: NewtypeDeclaration -> String # | |
| HasTypeDefinition NewtypeDeclaration TypeDefinition # | |
Defined in Axel.AST Methods | |
| HasConstructor NewtypeDeclaration FunctionApplication # | |
Defined in Axel.AST Methods constructor :: Lens' NewtypeDeclaration FunctionApplication # | |
data FunctionDefinition #
Constructors
| FunctionDefinition | |
Fields
| |
Instances
Constructors
| ImportItem Identifier | |
| ImportType Identifier [Identifier] |
data ImportSpecification #
Constructors
| ImportAll | |
| ImportOnly [Import] |
Instances
| Eq ImportSpecification # | |
Defined in Axel.AST Methods (==) :: ImportSpecification -> ImportSpecification -> Bool # (/=) :: ImportSpecification -> ImportSpecification -> Bool # | |
| Show ImportSpecification # | |
Defined in Axel.AST Methods showsPrec :: Int -> ImportSpecification -> ShowS # show :: ImportSpecification -> String # showList :: [ImportSpecification] -> ShowS # | |
| ToHaskell ImportSpecification # | |
Defined in Axel.AST Methods toHaskell :: ImportSpecification -> String # | |
| HasImports RestrictedImport ImportSpecification # | |
Defined in Axel.AST Methods | |
| HasImports QualifiedImport ImportSpecification # | |
Defined in Axel.AST Methods | |
Constructors
| Lambda | |
Fields
| |
Constructors
| LetBlock | |
Fields
| |
Instances
| Eq LetBlock # | |
| Show LetBlock # | |
| ToHaskell LetBlock # | |
| HasBody LetBlock Expression # | |
| HasBindings LetBlock [(Expression, Expression)] # | |
Defined in Axel.AST Methods bindings :: Lens' LetBlock [(Expression, Expression)] # | |
newtype MacroDefinition #
Constructors
| MacroDefinition | |
Fields | |
Instances
| Eq MacroDefinition # | |
Defined in Axel.AST Methods (==) :: MacroDefinition -> MacroDefinition -> Bool # (/=) :: MacroDefinition -> MacroDefinition -> Bool # | |
| Show MacroDefinition # | |
Defined in Axel.AST Methods showsPrec :: Int -> MacroDefinition -> ShowS # show :: MacroDefinition -> String # showList :: [MacroDefinition] -> ShowS # | |
| ToHaskell MacroDefinition # | |
Defined in Axel.AST Methods toHaskell :: MacroDefinition -> String # | |
| HasFunctionDefinition MacroDefinition FunctionDefinition # | |
Defined in Axel.AST | |
data MacroImport #
Constructors
| MacroImport | |
Fields
| |
Instances
| Eq MacroImport # | |
Defined in Axel.AST | |
| Show MacroImport # | |
Defined in Axel.AST Methods showsPrec :: Int -> MacroImport -> ShowS # show :: MacroImport -> String # showList :: [MacroImport] -> ShowS # | |
| ToHaskell MacroImport # | |
Defined in Axel.AST Methods toHaskell :: MacroImport -> String # | |
| HasModuleName MacroImport Identifier # | |
Defined in Axel.AST Methods | |
| HasImports MacroImport [Identifier] # | |
Defined in Axel.AST Methods imports :: Lens' MacroImport [Identifier] # | |
Constructors
| Pragma | |
Fields | |
data QualifiedImport #
Constructors
| QualifiedImport | |
Fields | |
Instances
| Eq QualifiedImport # | |
Defined in Axel.AST Methods (==) :: QualifiedImport -> QualifiedImport -> Bool # (/=) :: QualifiedImport -> QualifiedImport -> Bool # | |
| Show QualifiedImport # | |
Defined in Axel.AST Methods showsPrec :: Int -> QualifiedImport -> ShowS # show :: QualifiedImport -> String # showList :: [QualifiedImport] -> ShowS # | |
| ToHaskell QualifiedImport # | |
Defined in Axel.AST Methods toHaskell :: QualifiedImport -> String # | |
| HasModuleName QualifiedImport Identifier # | |
Defined in Axel.AST Methods | |
| HasImports QualifiedImport ImportSpecification # | |
Defined in Axel.AST Methods | |
| HasAlias QualifiedImport Identifier # | |
Defined in Axel.AST Methods | |
newtype RecordDefinition #
Constructors
| RecordDefinition | |
Fields
| |
Instances
| Eq RecordDefinition # | |
Defined in Axel.AST Methods (==) :: RecordDefinition -> RecordDefinition -> Bool # (/=) :: RecordDefinition -> RecordDefinition -> Bool # | |
| Show RecordDefinition # | |
Defined in Axel.AST Methods showsPrec :: Int -> RecordDefinition -> ShowS # show :: RecordDefinition -> String # showList :: [RecordDefinition] -> ShowS # | |
| ToHaskell RecordDefinition # | |
Defined in Axel.AST Methods toHaskell :: RecordDefinition -> String # | |
| HasBindings RecordDefinition [(Identifier, Expression)] # | |
Defined in Axel.AST Methods bindings :: Lens' RecordDefinition [(Identifier, Expression)] # | |
newtype RecordType #
Constructors
| RecordType | |
Fields
| |
Instances
| Eq RecordType # | |
Defined in Axel.AST | |
| Show RecordType # | |
Defined in Axel.AST Methods showsPrec :: Int -> RecordType -> ShowS # show :: RecordType -> String # showList :: [RecordType] -> ShowS # | |
| ToHaskell RecordType # | |
Defined in Axel.AST Methods toHaskell :: RecordType -> String # | |
| HasFields RecordType [(Identifier, Expression)] # | |
Defined in Axel.AST Methods fields :: Lens' RecordType [(Identifier, Expression)] # | |
data RestrictedImport #
Constructors
| RestrictedImport | |
Fields | |
Instances
| Eq RestrictedImport # | |
Defined in Axel.AST Methods (==) :: RestrictedImport -> RestrictedImport -> Bool # (/=) :: RestrictedImport -> RestrictedImport -> Bool # | |
| Show RestrictedImport # | |
Defined in Axel.AST Methods showsPrec :: Int -> RestrictedImport -> ShowS # show :: RestrictedImport -> String # showList :: [RestrictedImport] -> ShowS # | |
| ToHaskell RestrictedImport # | |
Defined in Axel.AST Methods toHaskell :: RestrictedImport -> String # | |
| HasModuleName RestrictedImport Identifier # | |
Defined in Axel.AST Methods | |
| HasImports RestrictedImport ImportSpecification # | |
Defined in Axel.AST Methods | |
data TypeclassDefinition #
Constructors
| TypeclassDefinition | |
Fields
| |
Instances
| Eq TypeclassDefinition # | |
Defined in Axel.AST Methods (==) :: TypeclassDefinition -> TypeclassDefinition -> Bool # (/=) :: TypeclassDefinition -> TypeclassDefinition -> Bool # | |
| Show TypeclassDefinition # | |
Defined in Axel.AST Methods showsPrec :: Int -> TypeclassDefinition -> ShowS # show :: TypeclassDefinition -> String # showList :: [TypeclassDefinition] -> ShowS # | |
| ToHaskell TypeclassDefinition # | |
Defined in Axel.AST Methods toHaskell :: TypeclassDefinition -> String # | |
| HasName TypeclassDefinition Expression # | |
Defined in Axel.AST Methods | |
| HasSignatures TypeclassDefinition [TypeSignature] # | |
Defined in Axel.AST Methods | |
| HasConstraints TypeclassDefinition [Expression] # | |
Defined in Axel.AST Methods | |
data TypeclassInstance #
Constructors
| TypeclassInstance | |
Fields | |
Instances
| Eq TypeclassInstance # | |
Defined in Axel.AST Methods (==) :: TypeclassInstance -> TypeclassInstance -> Bool # (/=) :: TypeclassInstance -> TypeclassInstance -> Bool # | |
| Show TypeclassInstance # | |
Defined in Axel.AST Methods showsPrec :: Int -> TypeclassInstance -> ShowS # show :: TypeclassInstance -> String # showList :: [TypeclassInstance] -> ShowS # | |
| ToHaskell TypeclassInstance # | |
Defined in Axel.AST Methods toHaskell :: TypeclassInstance -> String # | |
| HasInstanceName TypeclassInstance Expression # | |
Defined in Axel.AST Methods | |
| HasDefinitions TypeclassInstance [FunctionDefinition] # | |
Defined in Axel.AST Methods definitions :: Lens' TypeclassInstance [FunctionDefinition] # | |
data TypeSignature #
Constructors
| TypeSignature | |
Fields | |
Instances
| Eq TypeSignature # | |
Defined in Axel.AST Methods (==) :: TypeSignature -> TypeSignature -> Bool # (/=) :: TypeSignature -> TypeSignature -> Bool # | |
| Show TypeSignature # | |
Defined in Axel.AST Methods showsPrec :: Int -> TypeSignature -> ShowS # show :: TypeSignature -> String # showList :: [TypeSignature] -> ShowS # | |
| ToHaskell TypeSignature # | |
Defined in Axel.AST Methods toHaskell :: TypeSignature -> String # | |
| HasTypeDefinition TypeSignature Expression # | |
Defined in Axel.AST Methods | |
| HasName TypeSignature Identifier # | |
Defined in Axel.AST Methods | |
| HasSignatures TypeclassDefinition [TypeSignature] # | |
Defined in Axel.AST Methods | |
data TypeSynonym #
Constructors
| TypeSynonym | |
Fields | |
Instances
| Eq TypeSynonym # | |
Defined in Axel.AST | |
| Show TypeSynonym # | |
Defined in Axel.AST Methods showsPrec :: Int -> TypeSynonym -> ShowS # show :: TypeSynonym -> String # showList :: [TypeSynonym] -> ShowS # | |
| ToHaskell TypeSynonym # | |
Defined in Axel.AST Methods toHaskell :: TypeSynonym -> String # | |
| HasAlias TypeSynonym Expression # | |
Defined in Axel.AST Methods | |
| HasDefinition TypeSynonym Expression # | |
Defined in Axel.AST Methods | |
data Expression #
Constructors
Instances
Constructors
class HasMatches s a | s -> a where #
Instances
| HasMatches CaseBlock [(Expression, Expression)] # | |
Defined in Axel.AST Methods matches :: Lens' CaseBlock [(Expression, Expression)] # | |
class HasConstructors s a | s -> a where #
Methods
constructors :: Lens' s a #
Instances
| HasConstructors DataDeclaration [FunctionApplication] # | |
Defined in Axel.AST Methods constructors :: Lens' DataDeclaration [FunctionApplication] # | |
class HasTypeDefinition s a | s -> a where #
Methods
typeDefinition :: Lens' s a #
Instances
| HasTypeDefinition TypeSignature Expression # | |
Defined in Axel.AST Methods | |
| HasTypeDefinition NewtypeDeclaration TypeDefinition # | |
Defined in Axel.AST Methods | |
| HasTypeDefinition DataDeclaration TypeDefinition # | |
Defined in Axel.AST Methods | |
class HasArguments s a | s -> a where #
Instances
| HasArguments Lambda [Expression] # | |
| HasArguments FunctionDefinition [Expression] # | |
Defined in Axel.AST Methods | |
| HasArguments FunctionApplication [Expression] # | |
Defined in Axel.AST Methods | |
class HasFunction s a | s -> a where #
Instances
| HasFunction FunctionApplication Expression # | |
Defined in Axel.AST Methods | |
class HasBody s a | s -> a where #
Instances
| HasBody LetBlock Expression # | |
| HasBody Lambda Expression # | |
| HasBody FunctionDefinition Expression # | |
Defined in Axel.AST Methods | |
class HasName s a | s -> a where #
Instances
| HasName TypeSignature Identifier # | |
Defined in Axel.AST Methods | |
| HasName TypeclassDefinition Expression # | |
Defined in Axel.AST Methods | |
| HasName FunctionDefinition Identifier # | |
Defined in Axel.AST Methods | |
class HasWhereBindings s a | s -> a where #
Methods
whereBindings :: Lens' s a #
Instances
| HasWhereBindings FunctionDefinition [FunctionDefinition] # | |
Defined in Axel.AST Methods whereBindings :: Lens' FunctionDefinition [FunctionDefinition] # | |
class HasBindings s a | s -> a where #
Instances
| HasBindings RecordDefinition [(Identifier, Expression)] # | |
Defined in Axel.AST Methods bindings :: Lens' RecordDefinition [(Identifier, Expression)] # | |
| HasBindings LetBlock [(Expression, Expression)] # | |
Defined in Axel.AST Methods bindings :: Lens' LetBlock [(Expression, Expression)] # | |
class HasIfFalse s a | s -> a where #
Instances
| HasIfFalse IfBlock Expression # | |
class HasFunctionDefinition s a | s -> a where #
Methods
functionDefinition :: Lens' s a #
Instances
| HasFunctionDefinition MacroDefinition FunctionDefinition # | |
Defined in Axel.AST | |
class HasImports s a | s -> a where #
Instances
| HasImports RestrictedImport ImportSpecification # | |
Defined in Axel.AST Methods | |
| HasImports QualifiedImport ImportSpecification # | |
Defined in Axel.AST Methods | |
| HasImports MacroImport [Identifier] # | |
Defined in Axel.AST Methods imports :: Lens' MacroImport [Identifier] # | |
class HasModuleName s a | s -> a where #
Methods
moduleName :: Lens' s a #
Instances
| HasModuleName RestrictedImport Identifier # | |
Defined in Axel.AST Methods | |
| HasModuleName QualifiedImport Identifier # | |
Defined in Axel.AST Methods | |
| HasModuleName MacroImport Identifier # | |
Defined in Axel.AST Methods | |
class HasConstructor s a | s -> a where #
Methods
constructor :: Lens' s a #
Instances
| HasConstructor NewtypeDeclaration FunctionApplication # | |
Defined in Axel.AST Methods constructor :: Lens' NewtypeDeclaration FunctionApplication # | |
class HasPragmaSpecification s a | s -> a where #
Methods
pragmaSpecification :: Lens' s a #
Instances
| HasPragmaSpecification Pragma String # | |
class HasAlias s a | s -> a where #
Instances
| HasAlias TypeSynonym Expression # | |
Defined in Axel.AST Methods | |
| HasAlias QualifiedImport Identifier # | |
Defined in Axel.AST Methods | |
class HasFields s a | s -> a where #
Instances
| HasFields RecordType [(Identifier, Expression)] # | |
Defined in Axel.AST Methods fields :: Lens' RecordType [(Identifier, Expression)] # | |
class HasStatements s a | s -> a where #
Methods
statements :: Lens' s a #
Instances
| HasStatements TopLevel [Statement] # | |
class HasConstraints s a | s -> a where #
Methods
constraints :: Lens' s a #
Instances
| HasConstraints TypeclassDefinition [Expression] # | |
Defined in Axel.AST Methods | |
class HasSignatures s a | s -> a where #
Methods
signatures :: Lens' s a #
Instances
| HasSignatures TypeclassDefinition [TypeSignature] # | |
Defined in Axel.AST Methods | |
class HasDefinitions s a | s -> a where #
Methods
definitions :: Lens' s a #
Instances
| HasDefinitions TypeclassInstance [FunctionDefinition] # | |
Defined in Axel.AST Methods definitions :: Lens' TypeclassInstance [FunctionDefinition] # | |
class HasInstanceName s a | s -> a where #
Methods
instanceName :: Lens' s a #
Instances
| HasInstanceName TypeclassInstance Expression # | |
Defined in Axel.AST Methods | |
class HasDefinition s a | s -> a where #
Methods
definition :: Lens' s a #
Instances
| HasDefinition TypeSynonym Expression # | |
Defined in Axel.AST Methods | |