Safe Haskell | None |
---|
The definitions related to jhc core
- data Comb = Comb {}
- combBody_u :: (E -> E) -> Comb -> Comb
- combHead_u :: (TVr -> TVr) -> Comb -> Comb
- combRules_u :: ([Rule] -> [Rule]) -> Comb -> Comb
- combBody_s :: E -> Comb -> Comb
- combHead_s :: TVr -> Comb -> Comb
- combRules_s :: [Rule] -> Comb -> Comb
- emptyComb :: Comb
- combIdent :: Comb -> Id
- combArgs :: Comb -> [TVr]
- combABody :: Comb -> E
- combBind :: Comb -> (TVr, E)
- bindComb :: (TVr, E) -> Comb
- combTriple :: Comb -> (TVr, [TVr], E)
- combTriple_s :: (TVr, [TVr], E) -> Comb -> Comb
- data RuleType
- data Rule = Rule {}
- data ARules = ARules {
- aruleFreeVars :: IdSet
- aruleRules :: [Rule]
- data Lit e t
- data ESort
- data E
- type TVr = TVr' E
- data TVr' e = TVr {}
- tvrInfo_u :: (Info -> Info) -> TVr' e -> TVr' e
- tvrType_u :: (t -> e) -> TVr' t -> TVr' e
- tvrInfo_s :: Info -> TVr' e -> TVr' e
- tvrType_s :: e -> TVr' t -> TVr' e
- data Alt e = Alt (Lit TVr e) e
- altHead :: Alt E -> Lit () ()
- litHead :: Lit a b -> Lit () ()
- litBinds :: Lit t t1 -> [t]
- patToLitEE :: Lit TVr E -> E
- caseBodies :: E -> [E]
- casePats :: E -> [Lit TVr E]
- caseBinds :: E -> [TVr]
- fromAp :: E -> (E, [E])
- fromPi :: E -> (E, [TVr])
- fromLam :: E -> (E, [TVr])
- litCons :: Lit e t
- eStar :: E
- eHash :: E
- tVr :: Id -> e -> TVr' e
- tvr :: TVr' E
- isLitCons :: forall e_1629242703 t_1629242704. Lit e_1629242703 t_1629242704 -> Bool
- isLitInt :: forall e_1629242703 t_1629242704. Lit e_1629242703 t_1629242704 -> Bool
- isESortNamed :: ESort -> Bool
- isEStarStar :: ESort -> Bool
- isEHashHash :: ESort -> Bool
- isETuple :: ESort -> Bool
- isEHash :: ESort -> Bool
- isEBang :: ESort -> Bool
- isEStar :: ESort -> Bool
- isECase :: E -> Bool
- isEError :: E -> Bool
- isEPrim :: E -> Bool
- isELetRec :: E -> Bool
- isELit :: E -> Bool
- isESort :: E -> Bool
- isUnknown :: E -> Bool
- isEVar :: E -> Bool
- isEPi :: E -> Bool
- isELam :: E -> Bool
- isEAp :: E -> Bool
- fromECase :: E -> (E, E, TVr' E, [Alt E], Maybe E, IntjectionSet Id)
- fromEError :: E -> ([Char], E)
- fromEPrim :: E -> (Prim, [E], E)
- fromELetRec :: E -> ([(TVr' E, E)], E)
- fromELit :: E -> Lit E E
- fromESort :: E -> ESort
- fromUnknown :: E -> ()
- fromEVar :: E -> TVr' E
- fromEPi :: E -> (TVr' E, E)
- fromELam :: E -> (TVr' E, E)
- fromEAp :: E -> (E, E)
Documentation
combBody_s :: E -> Comb -> CombSource
combHead_s :: TVr -> Comb -> CombSource
combRules_s :: [Rule] -> Comb -> CombSource
Eq Rule | |
Show Rule | |
Binary Rule | |
FreeVars Rule IdSet | we delete the free variables of the heads of a rule from the rule's free variables. the reason for doing this is that the rule cannot fire if all its heads are in scope, and if it were not done then many functions seem recursive when they arn't actually. |
FreeVars Rule [Id] |
ARules | |
|
EAp E E | |
ELam TVr E | |
EPi TVr E | |
EVar TVr | |
Unknown | |
ESort ESort | |
ELit !(Lit E E) | |
ELetRec | |
EPrim Prim [E] E | |
EError String E | |
ECase | |
|
Eq TVr | |
Eq E | |
Ord TVr | |
Ord E | |
Show E | |
Binary TVr | |
Binary E | |
Tuple E | |
HasSize E | |
ConNames E | |
TypeNames E | |
HasInfo TVr | |
HasProperties TVr | |
ToCmmTy E | |
CanType TVr | |
CanType E | |
ToVal TVr | |
FreeVars E t => FreeVars TVr t | |
FreeVars TVr IdSet | determine free variables of a binding site |
FreeVars E IdSet | |
PPrint String E | |
DocLike d => PPrint d TVr | |
PPrint Doc E | |
Expression E E | |
FreeVars E [Id] | |
FreeVars E [TVr] | |
FreeVars E (IdMap (Maybe E)) | |
FreeVars E (IdMap TVr) | |
PPrint String (Lit E E) | |
FreeVars (Alt E) IdSet | |
FreeVars (Alt E) (IdMap TVr) | |
ConNames (Lit E E) | |
FreeVars E x => FreeVars (Lit TVr E) x |
Eq TVr | |
Functor TVr' | |
Ord TVr | |
Foldable TVr' | |
Traversable TVr' | |
Binary TVr | |
HasInfo TVr | |
HasProperties TVr | |
CanType TVr | |
ToVal TVr | |
FreeVars E t => FreeVars TVr t | |
FreeVars TVr IdSet | determine free variables of a binding site |
DocLike d => PPrint d TVr | |
FreeVars E [TVr] | |
FreeVars E (IdMap TVr) | |
Show a => Show (TVr' a) | |
FreeVars (Alt E) (IdMap TVr) | |
FreeVars E x => FreeVars (Lit TVr E) x |
caseBodies :: E -> [E]Source
isESortNamed :: ESort -> BoolSource
isEStarStar :: ESort -> BoolSource
isEHashHash :: ESort -> BoolSource
fromEError :: E -> ([Char], E)Source
fromUnknown :: E -> ()Source