Store the Haskell Type in SignalInfo.
[matthijs/master-project/cλash.git] / Flatten.hs
index 1297793356dfa8e17223fd034086202ace7584be..cd515859f0879755d9d7f6e704bfb241271d9fbc 100644 (file)
@@ -38,7 +38,7 @@ typeMapToUseMap ::
   -> FlattenState (SignalMap UnnamedSignal)
 
 typeMapToUseMap (Single ty) = do
-  id <- genSignalId
+  id <- genSignalId ty
   return $ Single id
 
 typeMapToUseMap (Tuple tymaps) = do
@@ -53,12 +53,12 @@ flattenFunction ::
 
 flattenFunction _ (Rec _) = error "Recursive binders not supported"
 flattenFunction hsfunc bind@(NonRec var expr) =
-  FlatFunction args res apps conds []
+  FlatFunction args res apps conds sigs
   where
-    init_state        = ([], [], 0)
+    init_state        = ([], [], [], 0)
     (fres, end_state) = State.runState (flattenExpr [] expr) init_state
     (args, res)       = fres
-    (apps, conds, _)  = end_state
+    (apps, conds, sigs, _)  = end_state
 
 flattenExpr ::
   BindMap