summaryrefslogtreecommitdiff
path: root/src/GF/Canon/Look.hs
diff options
context:
space:
mode:
authoraarne <unknown>2005-01-11 15:06:12 +0000
committeraarne <unknown>2005-01-11 15:06:12 +0000
commit87b55df10f00fd23d89a89bfb7c4354ff455d83d (patch)
tree91d46e3592a49de8cf7b6b3917fcc0077df1dbd6 /src/GF/Canon/Look.hs
parentbb3d2e1d42e662a3add785670f289787d2e492e2 (diff)
-val optimization
Diffstat (limited to 'src/GF/Canon/Look.hs')
-rw-r--r--src/GF/Canon/Look.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/GF/Canon/Look.hs b/src/GF/Canon/Look.hs
index 8dfd4b3fb..615557a88 100644
--- a/src/GF/Canon/Look.hs
+++ b/src/GF/Canon/Look.hs
@@ -151,6 +151,12 @@ ccompute cnc = comp []
T ty rs -> liftM (T ty . map (uncurry Cas)) $
mapPairsM compt [(l,r) | Cas l r <- rs]
+ V ptyp ts -> do
+ vs0 <- allParamValues cnc ptyp
+ vs <- mapM term2patt vs0
+ let cc = [Cas [p] u | (p,u) <- zip vs ts]
+ compt $ T ptyp cc
+
Con c xs -> liftM (Con c) $ mapM compt xs
K (KS []) -> return E --- should not be needed