summaryrefslogtreecommitdiff
path: root/src/GF/Compile/Optimize.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-10-28 17:44:50 +0000
committerkrasimir <krasimir@chalmers.se>2009-10-28 17:44:50 +0000
commitc330cac1db47bbf5d90fbfbb215797c1dda186ae (patch)
tree5533e1fa6489996cd2912ccbd44c82f3d5b4afc6 /src/GF/Compile/Optimize.hs
parentd130d30669e80eed8cbf2852d48315d4e5191f20 (diff)
check for cyclic parameters, operations and dependent types
Diffstat (limited to 'src/GF/Compile/Optimize.hs')
-rw-r--r--src/GF/Compile/Optimize.hs6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/GF/Compile/Optimize.hs b/src/GF/Compile/Optimize.hs
index eb3fc8383..85195b516 100644
--- a/src/GF/Compile/Optimize.hs
+++ b/src/GF/Compile/Optimize.hs
@@ -46,8 +46,7 @@ optimizeModule opts ms mo@(name,mi)
| mstatus mi == MSComplete = do
mo1 <- case mtype mi of
_ | isModRes mi -> do
- let deps = allOperDependencies name (jments mi)
- ids <- topoSortOpers deps
+ ids <- topoSortJments mo
if OptExpand `Set.member` optim
then do mi <- foldM evalOp mi ids
return (name,mi)
@@ -64,8 +63,7 @@ optimizeModule opts ms mo@(name,mi)
gr = MGrammar $ mo : ms
- evalOp mi i = do
- info <- lookupTree showIdent i (jments mi)
+ evalOp mi (i,info) = do
info' <- evalResInfo oopts gr (i,info)
return (updateModule mi i info')