Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module is kind of half-assed. I don't have any references and it depends on the inliner.
Synopsis
- closedModule :: Declarations () (StackType ()) (StackType ()) -> MonoM (Declarations () (StackType ()) (StackType ()))
- type MonoM = StateT RenameEnv (Either (Error ()))
- runMonoM :: Int -> MonoM a -> Either (Error ()) (a, (Int, SizeEnv))
- flattenModule :: Declarations () (StackType ()) (StackType ()) -> MonoM (Declarations () (ConsAnn MonoStackType) (StackType ()))
- tryMono :: MonadError (Error ()) m => StackType () -> m MonoStackType
- data ConsAnn a = ConsAnn {}
- closure :: Ord b => (Declarations a b b, ModuleMap a b b) -> Set (Name b, b)
- mkModuleMap :: Declarations a c b -> ModuleMap a c b
Documentation
closedModule :: Declarations () (StackType ()) (StackType ()) -> MonoM (Declarations () (StackType ()) (StackType ())) Source #
flattenModule :: Declarations () (StackType ()) (StackType ()) -> MonoM (Declarations () (ConsAnn MonoStackType) (StackType ())) Source #
Call closedModule
and perform any necessary renamings
tryMono :: MonadError (Error ()) m => StackType () -> m MonoStackType Source #
Annotation carried on constructors to keep size information through the IR generation phase.
Instances
Benchmark
mkModuleMap :: Declarations a c b -> ModuleMap a c b Source #