Fix comment indent.
[matthijs/master-project/cλash.git] / Flatten.hs
index 115460c19e975da9311f600dad3d0283fa2a57a8..338a1ca1b1f91e39b0c968321a339b7417115f5b 100644 (file)
@@ -28,7 +28,7 @@ dataConAppArgs dc args =
 
 genSignals ::
   Type.Type
-  -> FlattenState (SignalMap UnnamedSignal)
+  -> FlattenState SignalMap
 
 genSignals ty =
   -- First generate a map with the right structure containing the types, and
@@ -37,13 +37,13 @@ genSignals ty =
 
 -- | Marks a signal as the given SigUse, if its id is in the list of id's
 --   given.
-markSignals :: SigUse -> [UnnamedSignal] -> (UnnamedSignal, SignalInfo) -> (UnnamedSignal, SignalInfo)
+markSignals :: SigUse -> [SignalId] -> (SignalId, SignalInfo) -> (SignalId, SignalInfo)
 markSignals use ids (id, info) =
   (id, info')
   where
     info' = if id `elem` ids then info { sigUse = use} else info
 
-markSignal :: SigUse -> UnnamedSignal -> (UnnamedSignal, SignalInfo) -> (UnnamedSignal, SignalInfo)
+markSignal :: SigUse -> SignalId -> (SignalId, SignalInfo) -> (SignalId, SignalInfo)
 markSignal use id = markSignals use [id]
 
 -- | Flatten a haskell function
@@ -54,11 +54,11 @@ flattenFunction ::
 
 flattenFunction _ (Rec _) = error "Recursive binders not supported"
 flattenFunction hsfunc bind@(NonRec var expr) =
-  FlatFunction args res apps conds sigs''''
+  FlatFunction args res defs sigs''''
   where
-    init_state        = ([], [], [], 0)
+    init_state        = ([], [], 0)
     (fres, end_state) = State.runState (flattenExpr [] expr) init_state
-    (apps, conds, sigs, _)  = end_state
+    (defs, sigs, _)   = end_state
     (args, res)       = fres
     arg_ports         = concat (map Foldable.toList args)
     res_ports         = Foldable.toList res
@@ -74,7 +74,7 @@ flattenFunction hsfunc bind@(NonRec var expr) =
 flattenExpr ::
   BindMap
   -> CoreExpr
-  -> FlattenState ([SignalMap UnnamedSignal], (SignalMap UnnamedSignal))
+  -> FlattenState ([SignalMap], SignalMap)
 
 flattenExpr binds lam@(Lam b expr) = do
   -- Find the type of the binder
@@ -132,7 +132,7 @@ flattenExpr binds app@(App _ _) = do
         appArgs = arg_ress,
         appRes  = res
       }
-      addApp app
+      addDef app
       return ([], res)
     -- | Check a flattened expression to see if it is valid to use as a
     --   function argument. The first argument is the original expression for
@@ -165,7 +165,7 @@ flattenExpr binds expr@(Case (Var v) b _ alts) =
       -> Var.Var                -- The scrutinee
       -> CoreBndr               -- The binder to bind the scrutinee to
       -> CoreAlt                -- The single alternative
-      -> FlattenState ( [SignalMap UnnamedSignal], SignalMap UnnamedSignal)
+      -> FlattenState ( [SignalMap], SignalMap)
                                            -- See expandExpr
     flattenSingleAltCaseExpr binds v b alt@(DataAlt datacon, bind_vars, expr) =
       if not (DataCon.isTupleCon datacon) 
@@ -208,9 +208,9 @@ appToHsFunction ty f args =
 -- | Filters non-state signals and returns the state number and signal id for
 --   state values.
 filterState ::
-  UnnamedSignal                  -- | The signal id to look at
+  SignalId                       -- | The signal id to look at
   -> HsValueUse                  -- | How is this signal used?
-  -> Maybe (Int, UnnamedSignal ) -- | The state num and signal id, if this
+  -> Maybe (StateId, SignalId )  -- | The state num and signal id, if this
                                  --   signal was used as state
 
 filterState id (State num) = 
@@ -221,8 +221,8 @@ filterState _ _ = Nothing
 --   signals in the given maps.
 stateList ::
   HsUseMap
-  -> (SignalMap UnnamedSignal)
-  -> [(Int, UnnamedSignal)]
+  -> (SignalMap)
+  -> [(StateId, SignalId)]
 
 stateList uses signals =
     Maybe.catMaybes $ Foldable.toList $ zipValueMapsWith filterState signals uses
@@ -231,7 +231,7 @@ stateList uses signals =
 getOwnStates ::
   HsFunction                      -- | The function to look at
   -> FlatFunction                 -- | The function to look at
-  -> [(Int, SignalInfo, SignalInfo)]   
+  -> [(StateId, SignalInfo, SignalInfo)]   
         -- | The state signals. The first is the state number, the second the
         --   signal to assign the current state to, the last is the signal
         --   that holds the new state.