From 8d98fec81eb0bc54cbc8b210c4045a52a0c09d79 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 3 Jun 2008 09:21:24 +0000 Subject: overload extension: syntax overload OldModule* {def*} --- src-3.0/GF/Grammar/Lookup.hs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src-3.0/GF/Grammar/Lookup.hs') 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" -- cgit v1.2.3