From ba9db76063e9eb676f29704972e485bfcc67b258 Mon Sep 17 00:00:00 2001 From: hallgren Date: Fri, 23 Nov 2012 19:59:39 +0000 Subject: [PATCH] gf -server: support overloaded opers in gfse --- src/compiler/SimpleEditor/Convert.hs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/compiler/SimpleEditor/Convert.hs b/src/compiler/SimpleEditor/Convert.hs index 6368772aa..1f0eacde0 100644 --- a/src/compiler/SimpleEditor/Convert.hs +++ b/src/compiler/SimpleEditor/Convert.hs @@ -6,7 +6,7 @@ import Data.List(sortBy) import Data.Function(on) import qualified Data.Map as Map import Text.JSON(encode,makeObj) -import Text.PrettyPrint(render) +import Text.PrettyPrint(render,text,(<+>)) -- 4 extra imports just to deal with the ByteString mess... import qualified Data.ByteString.Char8 as BS(pack) @@ -126,7 +126,13 @@ convCncJment (name,jment) = ResOper oltyp (Just lterm) -> return $ Op $ Oper lhs rhs where lhs = i++maybe "" ((" : "++) . render . ppTerm q 0 . unLoc) oltyp - rhs = " = "++render (ppTerm q 0 (unLoc lterm)) + rhs = render (text " ="<+>ppTerm q 0 (unLoc lterm)) + ResOverload [] defs -> return $ Op $ Oper lhs rhs + where + lhs = i + rhs = render $ text " = overload"<+>ppTerm q 0 r + r = R [(lab,(Just ty,fu)) | (L _ ty,L _ fu) <-defs] + lab = ident2label name CncFun _ (Just ldef) pprn _ -> -- ignores printname !! do let (xs,e') = getAbs (unLoc ldef) lin = render $ ppTerm q 0 e'