License | MIT |
---|---|
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
This module defines internal representation of Egison language.
Documentation
data ILoopRange Source #
Instances
Show ILoopRange Source # | |
Defined in Language.Egison.IExpr showsPrec :: Int -> ILoopRange -> ShowS # show :: ILoopRange -> String # showList :: [ILoopRange] -> ShowS # |
type IBindingExpr = (IPrimitiveDataPattern, IExpr) Source #
type IMatchClause = (IPattern, IExpr) Source #
type IPatternDef = (PrimitivePatPattern, IExpr, [(IPrimitiveDataPattern, IExpr)]) Source #
type IPrimitiveDataPattern = PDPatternBase Var Source #
Instances
Eq Var Source # | |
Show Var Source # | |
Generic Var Source # | |
Hashable Var Source # | |
Defined in Language.Egison.IExpr | |
type Rep Var Source # | |
Defined in Language.Egison.IExpr type Rep Var = D1 ('MetaData "Var" "Language.Egison.IExpr" "egison-4.1.3-AbSXwqf1eoC89Dna88zirU" 'False) (C1 ('MetaCons "Var" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Index (Maybe Var)]))) |
stringToVar :: String -> Var Source #
extractNameFromVar :: Var -> String Source #
Instances
extractSupOrSubIndex :: Index a -> Maybe a Source #
extractIndex :: Index a -> a Source #
data ConstantExpr Source #
CharExpr Char | |
StringExpr Text | |
BoolExpr Bool | |
IntegerExpr Integer | |
FloatExpr Double | |
SomethingExpr | |
UndefinedExpr |
Instances
Show ConstantExpr Source # | |
Defined in Language.Egison.AST showsPrec :: Int -> ConstantExpr -> ShowS # show :: ConstantExpr -> String # showList :: [ConstantExpr] -> ShowS # | |
Pretty ConstantExpr Source # | |
Defined in Language.Egison.Pretty pretty :: ConstantExpr -> Doc ann # prettyList :: [ConstantExpr] -> Doc ann # |
data PrimitivePatPattern Source #
PPWildCard | |
PPPatVar | |
PPValuePat String | |
PPInductivePat String [PrimitivePatPattern] | |
PPTuplePat [PrimitivePatPattern] |
Instances
Show PrimitivePatPattern Source # | |
Defined in Language.Egison.AST showsPrec :: Int -> PrimitivePatPattern -> ShowS # show :: PrimitivePatPattern -> String # showList :: [PrimitivePatPattern] -> ShowS # | |
Pretty PrimitivePatPattern Source # | |
Defined in Language.Egison.Pretty pretty :: PrimitivePatPattern -> Doc ann # prettyList :: [PrimitivePatPattern] -> Doc ann # |
data PDPatternBase var Source #
PDWildCard | |
PDPatVar var | |
PDInductivePat String [PDPatternBase var] | |
PDTuplePat [PDPatternBase var] | |
PDEmptyPat | |
PDConsPat (PDPatternBase var) (PDPatternBase var) | |
PDSnocPat (PDPatternBase var) (PDPatternBase var) | |
PDConstantPat ConstantExpr |