Safe Haskell | None |
---|---|
Language | Haskell98 |
- cvObtainTerm :: HscEnv -> Int -> Bool -> RttiType -> HValue -> IO Term
- cvReconstructType :: HscEnv -> Int -> GhciType -> HValue -> IO (Maybe Type)
- improveRTTIType :: HscEnv -> RttiType -> RttiType -> Maybe TvSubst
- data Term
- = Term { }
- | Prim { }
- | Suspension { }
- | NewtypeWrap { }
- | RefWrap {
- ty :: RttiType
- wrapped_term :: Term
- isTerm :: Term -> Bool
- isSuspension :: Term -> Bool
- isPrim :: Term -> Bool
- isFun :: Term -> Bool
- isFunLike :: Term -> Bool
- isNewtypeWrap :: Term -> Bool
- isFullyEvaluated :: DynFlags -> a -> IO Bool
- isFullyEvaluatedTerm :: Term -> Bool
- termType :: Term -> RttiType
- mapTermType :: (RttiType -> Type) -> Term -> Term
- termTyVars :: Term -> TyVarSet
- foldTerm :: TermFold a -> Term -> a
- data TermFold a = TermFold {
- fTerm :: TermProcessor a a
- fPrim :: RttiType -> [Word] -> a
- fSuspension :: ClosureType -> RttiType -> HValue -> Maybe Name -> a
- fNewtypeWrap :: RttiType -> Either String DataCon -> a -> a
- fRefWrap :: RttiType -> a -> a
- foldTermM :: Monad m => TermFoldM m a -> Term -> m a
- data TermFoldM m a = TermFoldM {
- fTermM :: TermProcessor a (m a)
- fPrimM :: RttiType -> [Word] -> m a
- fSuspensionM :: ClosureType -> RttiType -> HValue -> Maybe Name -> m a
- fNewtypeWrapM :: RttiType -> Either String DataCon -> a -> m a
- fRefWrapM :: RttiType -> a -> m a
- idTermFold :: TermFold Term
- pprTerm :: TermPrinter -> TermPrinter
- cPprTerm :: Monad m => CustomTermPrinter m -> Term -> m SDoc
- cPprTermBase :: forall m. Monad m => CustomTermPrinter m
- type CustomTermPrinter m = TermPrinterM m -> [Precedence -> Term -> m (Maybe SDoc)]
- data Closure = Closure {}
- getClosureData :: DynFlags -> a -> IO Closure
- data ClosureType
- isConstr :: ClosureType -> Bool
- isIndirection :: ClosureType -> Bool
Documentation
improveRTTIType :: HscEnv -> RttiType -> RttiType -> Maybe TvSubst Source
Term | |
Prim | |
Suspension | |
NewtypeWrap | |
RefWrap | |
|
isSuspension :: Term -> Bool Source
isNewtypeWrap :: Term -> Bool Source
isFullyEvaluated :: DynFlags -> a -> IO Bool Source
isFullyEvaluatedTerm :: Term -> Bool Source
mapTermType :: (RttiType -> Type) -> Term -> Term Source
termTyVars :: Term -> TyVarSet Source
TermFold | |
|
TermFoldM | |
|
cPprTerm :: Monad m => CustomTermPrinter m -> Term -> m SDoc Source
Takes a list of custom printers with a explicit recursion knot and a term, and returns the output of the first successful printer, or the default printer
cPprTermBase :: forall m. Monad m => CustomTermPrinter m Source
type CustomTermPrinter m = TermPrinterM m -> [Precedence -> Term -> m (Maybe SDoc)] Source
getClosureData :: DynFlags -> a -> IO Closure Source
data ClosureType Source
isConstr :: ClosureType -> Bool Source
isIndirection :: ClosureType -> Bool Source