summaryrefslogtreecommitdiff
path: root/src/GF/Compile
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-10-28 17:10:43 +0000
committerkrasimir <krasimir@chalmers.se>2009-10-28 17:10:43 +0000
commitd130d30669e80eed8cbf2852d48315d4e5191f20 (patch)
treec081434c5a5dde323c03235ae8bfd576ef11251f /src/GF/Compile
parent980844a4ad13c0423a3223f0e89e43d6e9be1ba3 (diff)
refactoring in GF.Grammar.Lookup
Diffstat (limited to 'src/GF/Compile')
-rw-r--r--src/GF/Compile/Optimize.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/GF/Compile/Optimize.hs b/src/GF/Compile/Optimize.hs
index c4ea4ae34..eb3fc8383 100644
--- a/src/GF/Compile/Optimize.hs
+++ b/src/GF/Compile/Optimize.hs
@@ -166,7 +166,10 @@ mkLinDefault gr typ = do
let T _ cs = mkWildCases t'
return $ T (TWild p) cs
Sort s | s == cStr -> return $ Vr varStr
- QC q p -> lookupFirstTag gr q p
+ QC q p -> do vs <- lookupParamValues gr q p
+ case vs of
+ v:_ -> return v
+ _ -> Bad (render (text "no parameter values given to type" <+> ppIdent p))
RecType r -> do
let (ls,ts) = unzip r
ts' <- mapM mkDefField ts