-mkConcSm (bndr, (Case (Var scrut) b ty [(_, _, Var false), (con, _, Var true)])) =
- let
- cond_expr = (varToVHDLExpr scrut) AST.:=: (altconToVHDLExpr con)
- true_expr = (varToVHDLExpr true)
- false_expr = (varToVHDLExpr false)
- in
- return [mkCondAssign (Left bndr) cond_expr true_expr false_expr]
+mkConcSm (bndr, (Case (Var scrut) b ty [(_, _, Var false), (con, _, Var true)])) = do {
+ ; ty_state <- getA vsType
+ ; let { cond_expr = (varToVHDLExpr ty_state scrut) AST.:=: (altconToVHDLExpr con)
+ ; true_expr = (varToVHDLExpr ty_state true)
+ ; false_expr = (varToVHDLExpr ty_state false)
+ } ;
+ ; return [mkCondAssign (Left bndr) cond_expr true_expr false_expr]
+ }