Properly save state propagated flat functions.
authorMatthijs Kooijman <m.kooijman@student.utwente.nl>
Thu, 9 Apr 2009 16:23:23 +0000 (18:23 +0200)
committerMatthijs Kooijman <m.kooijman@student.utwente.nl>
Thu, 9 Apr 2009 16:23:23 +0000 (18:23 +0200)
Previously, the propagated state was not properly saved, resulting in
stateful functions being defined, while stateless versions were
instantiated.

Translator.hs

index c4bcdbdf02084e9ad8ee8d1c2faf320873e983eb..071e9d296dc5f416b6da9d1bfc2ed93a00e07742 100644 (file)
@@ -176,7 +176,7 @@ flattenBind hsfunc bind@(NonRec var expr) = do
   -- Propagate state variables
   let flatfunc' = propagateState hsfunc flatfunc
   -- Store the flat function in the session
-  modA tsFlatFuncs (Map.insert hsfunc flatfunc)
+  modA tsFlatFuncs (Map.insert hsfunc flatfunc')
   -- Flatten any functions used
   let used_hsfuncs = Maybe.mapMaybe usedHsFunc (flat_defs flatfunc')
   mapM_ resolvFunc used_hsfuncs