summaryrefslogtreecommitdiff
path: root/src/GF/Grammar/Lookup.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-09-21 06:56:39 +0000
committerkrasimir <krasimir@chalmers.se>2009-09-21 06:56:39 +0000
commitaf831e01a7baf6de9ac3a475368f7315c99797a7 (patch)
tree17e1bc841881069cb51a652489a8efb3e6f26db0 /src/GF/Grammar/Lookup.hs
parent96786c1136332efa9a889227c524ef8fe4e47fe8 (diff)
refactoring in GF.Grammar.Macros
Diffstat (limited to 'src/GF/Grammar/Lookup.hs')
-rw-r--r--src/GF/Grammar/Lookup.hs14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/GF/Grammar/Lookup.hs b/src/GF/Grammar/Lookup.hs
index a85f54c90..0d31b0a9e 100644
--- a/src/GF/Grammar/Lookup.hs
+++ b/src/GF/Grammar/Lookup.hs
@@ -111,7 +111,7 @@ lookupResType gr m c = do
CncCat _ _ _ -> return typeType
CncFun (Just (cat,(cont@(_:_),val))) _ _ -> do
val' <- lock cat val
- return $ mkProd (cont, val', [])
+ return $ mkProd cont val' []
CncFun _ _ _ -> lookFunType m m c
AnyInd _ n -> lookupResType gr n c
ResParam _ -> return $ typePType
@@ -137,8 +137,8 @@ lookupOverload gr m c = do
case info of
ResOverload os tysts -> do
tss <- mapM (\x -> lookupOverload gr x c) os
- return $ [(map (\(b,x,t) -> t) args,(val,tr)) |
- (ty,tr) <- tysts, Ok (args,val) <- [typeFormCnc ty]] ++
+ return $ [let (args,val) = typeFormCnc ty in (map (\(b,x,t) -> t) args,(val,tr)) |
+ (ty,tr) <- tysts] ++
concat tss
AnyInd _ n -> lookupOverload gr n c
@@ -279,14 +279,12 @@ opersForType gr orig val =
opers i m val =
[(f,ty) |
(f,ResOper (Just ty) _) <- tree2list $ jments m,
- Ok valt <- [valTypeCnc ty],
- elem valt [val,orig]
+ elem (valTypeCnc ty) [val,orig]
] ++
- let cat = err error snd (valCat orig) in --- ignore module
+ let cat = snd (valCat orig) in --- ignore module
[(f,ty) |
Ok a <- [abstractOfConcrete gr i >>= lookupModule gr],
(f, AbsFun (Just ty0) _ _) <- tree2list $ jments a,
let ty = redirectTerm i ty0,
- Ok valt <- [valCat ty],
- cat == snd valt ---
+ cat == snd (valCat ty) ---
]