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