diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-03 09:21:24 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-03 09:21:24 +0000 |
| commit | 8d98fec81eb0bc54cbc8b210c4045a52a0c09d79 (patch) | |
| tree | 2e578bb28f7f04528cf2fccd710ff6a1e1749013 /src-3.0/GF/Grammar/Lookup.hs | |
| parent | 9dbf9c56609132c7a3731819b53e73045c430e3b (diff) | |
overload extension: syntax overload OldModule* {def*}
Diffstat (limited to 'src-3.0/GF/Grammar/Lookup.hs')
| -rw-r--r-- | src-3.0/GF/Grammar/Lookup.hs | 8 |
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" |
