summaryrefslogtreecommitdiff
path: root/src/GF/Devel/Compile/Optimize.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-12-07 21:00:24 +0000
committeraarne <aarne@cs.chalmers.se>2007-12-07 21:00:24 +0000
commite90ccb500287de7e5a335340b23e7d1b6d76ffa4 (patch)
treefe9af8f0b1a3bb0ed5baa2466422c6bcb432aded /src/GF/Devel/Compile/Optimize.hs
parentd9521d2f4c8fa0eb515beefbe07bab4d16b6a543 (diff)
a couple of fixes in new Optimize
Diffstat (limited to 'src/GF/Devel/Compile/Optimize.hs')
-rw-r--r--src/GF/Devel/Compile/Optimize.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/GF/Devel/Compile/Optimize.hs b/src/GF/Devel/Compile/Optimize.hs
index 9ed2860fd..1d5024714 100644
--- a/src/GF/Devel/Compile/Optimize.hs
+++ b/src/GF/Devel/Compile/Optimize.hs
@@ -37,17 +37,19 @@ import GF.Data.Operations
import Control.Monad
import Data.List
+import qualified Data.Map as Map
import Debug.Trace
optimizeModule :: Options -> GF -> SourceModule -> Err SourceModule
-optimizeModule opts gf sm@(m,mo) = case mtype mo of
+optimizeModule opts gf0 sm@(m,mo) = case mtype mo of
MTConcrete _ -> opt sm
MTInstance _ -> opt sm
MTGrammar -> opt sm
_ -> return sm
where
+ gf = gf0 {gfmodules = Map.insert m mo (gfmodules gf0)}
opt (m,mo) = do
mo' <- termOpModule (computeTerm gf) mo
return (m,mo')