X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=Flatten.hs;h=338a1ca1b1f91e39b0c968321a339b7417115f5b;hb=48b92d378f7a8ce1a3c41443a4c9ad957bcd59c4;hp=4194904c046ea211fbd83a6f0b7978f737415d80;hpb=e273d2759db01787f0599a1cbe9059864e1704d7;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git a/Flatten.hs b/Flatten.hs index 4194904..338a1ca 100644 --- a/Flatten.hs +++ b/Flatten.hs @@ -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 @@ -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 @@ -210,7 +210,7 @@ appToHsFunction ty f args = filterState :: SignalId -- | The signal id to look at -> HsValueUse -- | How is this signal used? - -> Maybe (Int, SignalId ) -- | 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) = @@ -222,7 +222,7 @@ filterState _ _ = Nothing stateList :: HsUseMap -> (SignalMap) - -> [(Int, SignalId)] + -> [(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.