Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
This module uses GHC API to elaborate the resolves expressions
Documentation
fixExprToHsExpr :: HashSet Symbol -> Expr -> LHsExpr GhcPs Source #
Embed fixpoint expressions into parsed haskell expressions. It allows us to bypass the GHC parser and use arbitrary symbols for identifiers (compared to using the string API)
elaborateSpecType :: (CoreExpr -> Expr) -> (CoreExpr -> TcRn CoreExpr) -> SpecType -> TcRn SpecType Source #
Orphan instances
Corecursive (RType c tv r) Source # | |
embed :: Base (RType c tv r) (RType c tv r) -> RType c tv r # ana :: (a -> Base (RType c tv r) a) -> a -> RType c tv r # apo :: (a -> Base (RType c tv r) (Either (RType c tv r) a)) -> a -> RType c tv r # postpro :: Recursive (RType c tv r) => (forall b. Base (RType c tv r) b -> Base (RType c tv r) b) -> (a -> Base (RType c tv r) a) -> a -> RType c tv r # gpostpro :: (Recursive (RType c tv r), Monad m) => (forall b. m (Base (RType c tv r) b) -> Base (RType c tv r) (m b)) -> (forall c0. Base (RType c tv r) c0 -> Base (RType c tv r) c0) -> (a -> Base (RType c tv r) (m a)) -> a -> RType c tv r # | |
Recursive (RType c tv r) Source # | |
project :: RType c tv r -> Base (RType c tv r) (RType c tv r) # cata :: (Base (RType c tv r) a -> a) -> RType c tv r -> a # para :: (Base (RType c tv r) (RType c tv r, a) -> a) -> RType c tv r -> a # gpara :: (Corecursive (RType c tv r), Comonad w) => (forall b. Base (RType c tv r) (w b) -> w (Base (RType c tv r) b)) -> (Base (RType c tv r) (EnvT (RType c tv r) w a) -> a) -> RType c tv r -> a # prepro :: Corecursive (RType c tv r) => (forall b. Base (RType c tv r) b -> Base (RType c tv r) b) -> (Base (RType c tv r) a -> a) -> RType c tv r -> a # gprepro :: (Corecursive (RType c tv r), Comonad w) => (forall b. Base (RType c tv r) (w b) -> w (Base (RType c tv r) b)) -> (forall c0. Base (RType c tv r) c0 -> Base (RType c tv r) c0) -> (Base (RType c tv r) (w a) -> a) -> RType c tv r -> a # |