symantic-6.3.3.20190614: Library for Typed Tagless-Final Higher-Order Composable DSL

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Compiling.Grammar

Contents

Synopsis

Class Gram_Term_Name

class (Gram_Char g, Gram_Rule g, Gram_Alt g, Gram_Try g, Gram_App g, Gram_AltApp g, Gram_RegL g, Gram_CF g, Gram_Comment g, Gram_Op g, Gram_Mod g) => Gram_Term_Name g where Source #

Minimal complete definition

Nothing

Instances
Gram_Term_Name EBNF Source # 
Instance details

Defined in Language.Symantic.Compiling.Grammar

Gram_Term_Name RuleEBNF Source # 
Instance details

Defined in Language.Symantic.Compiling.Grammar

Gram_Term_Name g => Gram_Term_Name (CF g) Source # 
Instance details

Defined in Language.Symantic.Compiling.Grammar

Class Gram_Term_Type

class (Gram_Char g, Gram_Rule g, Gram_Alt g, Gram_AltApp g, Gram_App g, Gram_CF g, Gram_Comment g, Gram_Term_Name g, Gram_Type src g) => Gram_Term_Type src g where Source #

Minimal complete definition

Nothing

Type Error_Term_Gram

Class Gram_Term

class (Gram_Source src g, Gram_Error Error_Term_Gram g, Gram_Char g, Gram_Rule g, Gram_Alt g, Gram_App g, Gram_AltApp g, Gram_CF g, Gram_Comment g, Gram_Type src g, Gram_Term_Name g, Gram_Term_Type src g, Gram_Term_Atoms src ss g, Gram_State (Imports NameTe, Modules src ss) g) => Gram_Term src ss g where Source #

Minimal complete definition

Nothing

Methods

g_term :: CF g (AST_Term src ss) Source #

g_term_operators :: CF g (AST_Term src ss) Source #

g_term_atom :: CF g (AST_Term src ss) Source #

g_term_group :: CF g (AST_Term src ss) Source #

g_term_abst :: CF g (AST_Term src ss) Source #

g_term_abst_args_body :: CF g [(NameTe, AST_Type src)] -> CF g (AST_Term src ss) -> CF g ([(NameTe, AST_Type src)], AST_Term src ss) Source #

g_term_let :: CF g (AST_Term src ss) Source #

Instances
(Gram_Term_Atoms src ss RuleEBNF, Gram_Source src RuleEBNF, Constable ((->) :: Type -> Type -> Type), Constable (,), Constable []) => Gram_Term src ss RuleEBNF Source # 
Instance details

Defined in Language.Symantic.Compiling.Grammar

(Gram_Term_Atoms src ss EBNF, Gram_Source src EBNF, Constable ((->) :: Type -> Type -> Type), Constable (,), Constable []) => Gram_Term src ss EBNF Source # 
Instance details

Defined in Language.Symantic.Compiling.Grammar

(Gram_Term src ss g, Gram_Term_Atoms src ss (CF g)) => Gram_Term src ss (CF g) Source # 
Instance details

Defined in Language.Symantic.Compiling.Grammar

Methods

g_term :: CF (CF g) (AST_Term src ss) Source #

g_term_operators :: CF (CF g) (AST_Term src ss) Source #

g_term_atom :: CF (CF g) (AST_Term src ss) Source #

g_term_group :: CF (CF g) (AST_Term src ss) Source #

g_term_abst :: CF (CF g) (AST_Term src ss) Source #

g_term_abst_args_body :: CF (CF g) [(NameTe, AST_Type src)] -> CF (CF g) (AST_Term src ss) -> CF (CF g) ([(NameTe, AST_Type src)], AST_Term src ss) Source #

g_term_let :: CF (CF g) (AST_Term src ss) Source #

Class Gram_Term_Atoms

type Gram_Term_Atoms src ss g = Gram_Term_AtomsR src ss ss g Source #

Class Gram_Term_AtomsR

class Gram_Term_AtomsR src (ss :: [*]) (rs :: [*]) g where Source #

Methods

g_term_atomsR :: [CF g (AST_Term src ss)] Source #

Instances
Gram_Term_AtomsR src ss ([] :: [Type]) g Source # 
Instance details

Defined in Language.Symantic.Compiling.Grammar

Methods

g_term_atomsR :: [CF g (AST_Term src ss)] Source #

(Gram_Term_AtomsFor src ss g t, Gram_Term_AtomsR src ss rs g) => Gram_Term_AtomsR src ss (Proxy t ': rs) g Source # 
Instance details

Defined in Language.Symantic.Compiling.Grammar

Methods

g_term_atomsR :: [CF g (AST_Term src ss)] Source #

Class Gram_Term_AtomsFor

class Gram_Term_AtomsFor src ss g t where Source #

Minimal complete definition

Nothing

Methods

g_term_atomsFor :: [CF g (AST_Term src ss)] Source #

gram_term :: forall g. Gram_Term () '[Proxy (->), Proxy Integer] g => [CF g ()] Source #