genSignalUses ::
Type.Type
- -> FlattenState SignalUseMap
+ -> FlattenState (SignalUseMap UnnamedSignal)
genSignalUses ty = do
typeMapToUseMap tymap
typeMapToUseMap ::
HsValueMap Type.Type
- -> FlattenState SignalUseMap
+ -> FlattenState (SignalUseMap UnnamedSignal)
typeMapToUseMap (Single ty) = do
id <- genSignalId
flattenExpr ::
BindMap
-> CoreExpr
- -> FlattenState ([SignalDefMap], SignalUseMap)
+ -> FlattenState ([SignalDefMap UnnamedSignal], (SignalUseMap UnnamedSignal))
flattenExpr binds lam@(Lam b expr) = do
-- Find the type of the binder
-> Var.Var -- The scrutinee
-> CoreBndr -- The binder to bind the scrutinee to
-> CoreAlt -- The single alternative
- -> FlattenState ( [SignalDefMap], SignalUseMap)
+ -> FlattenState ( [SignalDefMap UnnamedSignal], SignalUseMap UnnamedSignal)
-- See expandExpr
flattenSingleAltCaseExpr binds v b alt@(DataAlt datacon, bind_vars, expr) =
if not (DataCon.isTupleCon datacon)