| Safe Haskell | None | 
|---|---|
| Language | Haskell98 | 
Language.Haskell.Liquid.Desugar.DsBinds
- dsTopLHsBinds :: LHsBinds Id -> DsM (OrdList (Id, CoreExpr))
 - dsLHsBinds :: LHsBinds Id -> DsM ([Id], [(Id, CoreExpr)])
 - decomposeRuleLhs :: [Var] -> CoreExpr -> Either SDoc ([Var], Id, [CoreExpr])
 - dsSpec :: Maybe CoreExpr -> Located TcSpecPrag -> DsM (Maybe (OrdList (Id, CoreExpr), CoreRule))
 - dsHsWrapper :: HsWrapper -> CoreExpr -> DsM CoreExpr
 - dsTcEvBinds :: TcEvBinds -> DsM [CoreBind]
 - dsTcEvBinds_s :: [TcEvBinds] -> DsM [CoreBind]
 - dsEvBinds :: Bag EvBind -> DsM [CoreBind]
 - dsMkUserRule :: Module -> Bool -> RuleName -> Activation -> Name -> [CoreBndr] -> [CoreExpr] -> CoreExpr -> DsM CoreRule
 
Documentation
dsTopLHsBinds :: LHsBinds Id -> DsM (OrdList (Id, CoreExpr)) Source #
Desugar top level binds, strict binds are treated like normal binds since there is no good time to force before first usage.
dsLHsBinds :: LHsBinds Id -> DsM ([Id], [(Id, CoreExpr)]) Source #
Desugar all other kind of bindings, Ids of strict binds are returned to later be forced in the binding gorup body, see Note [Desugar Strict binds]