summaryrefslogtreecommitdiff
path: root/src-3.0/GF/Grammar/Lookup.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src-3.0/GF/Grammar/Lookup.hs')
-rw-r--r--src-3.0/GF/Grammar/Lookup.hs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src-3.0/GF/Grammar/Lookup.hs b/src-3.0/GF/Grammar/Lookup.hs
index 36cd2101c..c8c07069b 100644
--- a/src-3.0/GF/Grammar/Lookup.hs
+++ b/src-3.0/GF/Grammar/Lookup.hs
@@ -116,9 +116,11 @@ lookupOverload gr m c = do
ModMod mo -> do
info <- lookupIdentInfo mo c
case info of
- ResOverload os tysts ->
- return [(map snd args,(val,tr)) |
- (ty,tr) <- tysts, Ok (args,val) <- [typeFormCnc ty]]
+ ResOverload os tysts -> do
+ tss <- mapM (\x -> lookupOverload gr x c) os
+ return $ [(map snd args,(val,tr)) |
+ (ty,tr) <- tysts, Ok (args,val) <- [typeFormCnc ty]] ++
+ concat tss
AnyInd _ n -> lookupOverload gr n c
_ -> Bad $ prt c +++ "is not an overloaded operation"