Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class ToHaskell a where Source #
Instances
type Identifier = String Source #
CaseBlock | |
|
data FunctionApplication Source #
Instances
Eq FunctionApplication Source # | |
Defined in Axel.AST (==) :: FunctionApplication -> FunctionApplication -> Bool # (/=) :: FunctionApplication -> FunctionApplication -> Bool # | |
Show FunctionApplication Source # | |
Defined in Axel.AST showsPrec :: Int -> FunctionApplication -> ShowS # show :: FunctionApplication -> String # showList :: [FunctionApplication] -> ShowS # | |
ToHaskell FunctionApplication Source # | |
HasFunction FunctionApplication Expression Source # | |
Defined in Axel.AST | |
HasConstructors DataDeclaration [FunctionApplication] Source # | |
Defined in Axel.AST | |
HasArguments FunctionApplication [Expression] Source # | |
Defined in Axel.AST |
TopLevel | |
|
data TypeDefinition Source #
Instances
Eq TypeDefinition Source # | |
Defined in Axel.AST (==) :: TypeDefinition -> TypeDefinition -> Bool # (/=) :: TypeDefinition -> TypeDefinition -> Bool # | |
Show TypeDefinition Source # | |
Defined in Axel.AST showsPrec :: Int -> TypeDefinition -> ShowS # show :: TypeDefinition -> String # showList :: [TypeDefinition] -> ShowS # | |
ToHaskell TypeDefinition Source # | |
HasTypeDefinition DataDeclaration TypeDefinition Source # | |
Defined in Axel.AST |
data DataDeclaration Source #
Instances
Eq DataDeclaration Source # | |
Defined in Axel.AST (==) :: DataDeclaration -> DataDeclaration -> Bool # (/=) :: DataDeclaration -> DataDeclaration -> Bool # | |
Show DataDeclaration Source # | |
Defined in Axel.AST showsPrec :: Int -> DataDeclaration -> ShowS # show :: DataDeclaration -> String # showList :: [DataDeclaration] -> ShowS # | |
ToHaskell DataDeclaration Source # | |
HasTypeDefinition DataDeclaration TypeDefinition Source # | |
Defined in Axel.AST | |
HasConstructors DataDeclaration [FunctionApplication] Source # | |
Defined in Axel.AST |
data FunctionDefinition Source #
FunctionDefinition | |
|
Instances
Eq FunctionDefinition Source # | |
Defined in Axel.AST (==) :: FunctionDefinition -> FunctionDefinition -> Bool # (/=) :: FunctionDefinition -> FunctionDefinition -> Bool # | |
Show FunctionDefinition Source # | |
Defined in Axel.AST showsPrec :: Int -> FunctionDefinition -> ShowS # show :: FunctionDefinition -> String # showList :: [FunctionDefinition] -> ShowS # | |
ToHaskell FunctionDefinition Source # | |
HasName FunctionDefinition Identifier Source # | |
Defined in Axel.AST | |
HasBody FunctionDefinition Expression Source # | |
Defined in Axel.AST | |
HasFunctionDefinition MacroDefinition FunctionDefinition Source # | |
Defined in Axel.AST | |
HasArguments FunctionDefinition [Expression] Source # | |
Defined in Axel.AST | |
HasDefinitions TypeclassInstance [FunctionDefinition] Source # | |
Defined in Axel.AST |
data ImportSpecification Source #
Instances
Eq ImportSpecification Source # | |
Defined in Axel.AST (==) :: ImportSpecification -> ImportSpecification -> Bool # (/=) :: ImportSpecification -> ImportSpecification -> Bool # | |
Show ImportSpecification Source # | |
Defined in Axel.AST showsPrec :: Int -> ImportSpecification -> ShowS # show :: ImportSpecification -> String # showList :: [ImportSpecification] -> ShowS # | |
ToHaskell ImportSpecification Source # | |
HasImports RestrictedImport ImportSpecification Source # | |
Defined in Axel.AST | |
HasImports QualifiedImport ImportSpecification Source # | |
Defined in Axel.AST |
Lambda | |
|
LetBlock | |
|
newtype MacroDefinition Source #
Instances
Eq MacroDefinition Source # | |
Defined in Axel.AST (==) :: MacroDefinition -> MacroDefinition -> Bool # (/=) :: MacroDefinition -> MacroDefinition -> Bool # | |
Show MacroDefinition Source # | |
Defined in Axel.AST showsPrec :: Int -> MacroDefinition -> ShowS # show :: MacroDefinition -> String # showList :: [MacroDefinition] -> ShowS # | |
ToHaskell MacroDefinition Source # | |
HasFunctionDefinition MacroDefinition FunctionDefinition Source # | |
Defined in Axel.AST |
data QualifiedImport Source #
Instances
Eq QualifiedImport Source # | |
Defined in Axel.AST (==) :: QualifiedImport -> QualifiedImport -> Bool # (/=) :: QualifiedImport -> QualifiedImport -> Bool # | |
Show QualifiedImport Source # | |
Defined in Axel.AST showsPrec :: Int -> QualifiedImport -> ShowS # show :: QualifiedImport -> String # showList :: [QualifiedImport] -> ShowS # | |
ToHaskell QualifiedImport Source # | |
HasModuleName QualifiedImport Identifier Source # | |
Defined in Axel.AST | |
HasImports QualifiedImport ImportSpecification Source # | |
Defined in Axel.AST | |
HasAlias QualifiedImport Identifier Source # | |
Defined in Axel.AST |
data RestrictedImport Source #
Instances
Eq RestrictedImport Source # | |
Defined in Axel.AST (==) :: RestrictedImport -> RestrictedImport -> Bool # (/=) :: RestrictedImport -> RestrictedImport -> Bool # | |
Show RestrictedImport Source # | |
Defined in Axel.AST showsPrec :: Int -> RestrictedImport -> ShowS # show :: RestrictedImport -> String # showList :: [RestrictedImport] -> ShowS # | |
ToHaskell RestrictedImport Source # | |
HasModuleName RestrictedImport Identifier Source # | |
Defined in Axel.AST | |
HasImports RestrictedImport ImportSpecification Source # | |
Defined in Axel.AST |
data TypeclassInstance Source #
Instances
Eq TypeclassInstance Source # | |
Defined in Axel.AST (==) :: TypeclassInstance -> TypeclassInstance -> Bool # (/=) :: TypeclassInstance -> TypeclassInstance -> Bool # | |
Show TypeclassInstance Source # | |
Defined in Axel.AST showsPrec :: Int -> TypeclassInstance -> ShowS # show :: TypeclassInstance -> String # showList :: [TypeclassInstance] -> ShowS # | |
ToHaskell TypeclassInstance Source # | |
HasInstanceName TypeclassInstance Expression Source # | |
Defined in Axel.AST | |
HasDefinitions TypeclassInstance [FunctionDefinition] Source # | |
Defined in Axel.AST |
data TypeSignature Source #
Instances
Eq TypeSignature Source # | |
Defined in Axel.AST (==) :: TypeSignature -> TypeSignature -> Bool # (/=) :: TypeSignature -> TypeSignature -> Bool # | |
Show TypeSignature Source # | |
Defined in Axel.AST showsPrec :: Int -> TypeSignature -> ShowS # show :: TypeSignature -> String # showList :: [TypeSignature] -> ShowS # | |
ToHaskell TypeSignature Source # | |
HasTypeDefinition TypeSignature Expression Source # | |
Defined in Axel.AST | |
HasName TypeSignature Identifier Source # | |
Defined in Axel.AST |
data TypeSynonym Source #
Instances
Eq TypeSynonym Source # | |
Defined in Axel.AST (==) :: TypeSynonym -> TypeSynonym -> Bool # (/=) :: TypeSynonym -> TypeSynonym -> Bool # | |
Show TypeSynonym Source # | |
Defined in Axel.AST showsPrec :: Int -> TypeSynonym -> ShowS # show :: TypeSynonym -> String # showList :: [TypeSynonym] -> ShowS # | |
ToHaskell TypeSynonym Source # | |
HasAlias TypeSynonym Expression Source # | |
Defined in Axel.AST | |
HasDefinition TypeSynonym Expression Source # | |
Defined in Axel.AST |
data Expression Source #
ECaseBlock CaseBlock | |
EEmptySExpression | |
EFunctionApplication FunctionApplication | |
EIdentifier Identifier | |
ELambda Lambda | |
ELetBlock LetBlock | |
ELiteral Literal |
Instances
class HasMatches s a | s -> a where Source #
Instances
HasMatches CaseBlock [(Expression, Expression)] Source # | |
Defined in Axel.AST matches :: Lens' CaseBlock [(Expression, Expression)] Source # |
class HasConstructors s a | s -> a where Source #
constructors :: Lens' s a Source #
Instances
HasConstructors DataDeclaration [FunctionApplication] Source # | |
Defined in Axel.AST |
class HasTypeDefinition s a | s -> a where Source #
typeDefinition :: Lens' s a Source #
Instances
HasTypeDefinition TypeSignature Expression Source # | |
Defined in Axel.AST | |
HasTypeDefinition DataDeclaration TypeDefinition Source # | |
Defined in Axel.AST |
class HasArguments s a | s -> a where Source #
Instances
HasArguments Lambda [Expression] Source # | |
HasArguments FunctionDefinition [Expression] Source # | |
Defined in Axel.AST | |
HasArguments FunctionApplication [Expression] Source # | |
Defined in Axel.AST |
class HasFunction s a | s -> a where Source #
Instances
HasFunction FunctionApplication Expression Source # | |
Defined in Axel.AST |
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 |
class HasName s a | s -> a where Source #
Instances
HasName TypeSignature Identifier Source # | |
Defined in Axel.AST | |
HasName FunctionDefinition Identifier Source # | |
Defined in Axel.AST |
class HasBindings s a | s -> a where Source #
Instances
HasBindings LetBlock [(Expression, Expression)] Source # | |
Defined in Axel.AST bindings :: Lens' LetBlock [(Expression, Expression)] Source # |
class HasFunctionDefinition s a | s -> a where Source #
functionDefinition :: Lens' s a Source #
Instances
HasFunctionDefinition MacroDefinition FunctionDefinition Source # | |
Defined in Axel.AST |
class HasPragmaSpecification s a | s -> a where Source #
pragmaSpecification :: Lens' s a Source #
class HasAlias s a | s -> a where Source #
Instances
HasAlias TypeSynonym Expression Source # | |
Defined in Axel.AST | |
HasAlias QualifiedImport Identifier Source # | |
Defined in Axel.AST |
class HasImports s a | s -> a where Source #
Instances
HasImports RestrictedImport ImportSpecification Source # | |
Defined in Axel.AST | |
HasImports QualifiedImport ImportSpecification Source # | |
Defined in Axel.AST |
class HasModuleName s a | s -> a where Source #
moduleName :: Lens' s a Source #
Instances
HasModuleName RestrictedImport Identifier Source # | |
Defined in Axel.AST | |
HasModuleName QualifiedImport Identifier Source # | |
Defined in Axel.AST |
class HasStatements s a | s -> a where Source #
statements :: Lens' s a Source #
class HasDefinitions s a | s -> a where Source #
definitions :: Lens' s a Source #
Instances
HasDefinitions TypeclassInstance [FunctionDefinition] Source # | |
Defined in Axel.AST |
class HasInstanceName s a | s -> a where Source #
instanceName :: Lens' s a Source #
Instances
HasInstanceName TypeclassInstance Expression Source # | |
Defined in Axel.AST |
class HasDefinition s a | s -> a where Source #
definition :: Lens' s a Source #
Instances
HasDefinition TypeSynonym Expression Source # | |
Defined in Axel.AST |