diff options
| author | krasimir <krasimir@chalmers.se> | 2009-09-21 06:56:39 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-09-21 06:56:39 +0000 |
| commit | af831e01a7baf6de9ac3a475368f7315c99797a7 (patch) | |
| tree | 17e1bc841881069cb51a652489a8efb3e6f26db0 /src/GF/Grammar/Lookup.hs | |
| parent | 96786c1136332efa9a889227c524ef8fe4e47fe8 (diff) | |
refactoring in GF.Grammar.Macros
Diffstat (limited to 'src/GF/Grammar/Lookup.hs')
| -rw-r--r-- | src/GF/Grammar/Lookup.hs | 14 |
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) --- ] |
