From 86d17827ee8f04e4f9e7ac63017ef2ad3105b222 Mon Sep 17 00:00:00 2001 From: hallgren Date: Fri, 28 Sep 2012 12:38:26 +0000 Subject: [PATCH] GF shell, show_operations: nicer looking types for linearization functions Adding a lock field to the result type of linearization functions. TODO: figure out how to add a lock field to the argument types too. --- src/compiler/GF/Grammar/Lookup.hs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/compiler/GF/Grammar/Lookup.hs b/src/compiler/GF/Grammar/Lookup.hs index 25c9b75a0..9148104fd 100644 --- a/src/compiler/GF/Grammar/Lookup.hs +++ b/src/compiler/GF/Grammar/Lookup.hs @@ -204,8 +204,14 @@ allOpers gr = ResOper (Just ltyp) _ -> [ltyp] ResValue ltyp -> [ltyp] ResOverload _ tytrs -> [ltyp | (ltyp,_) <- tytrs] - CncFun (Just (i,ctx,typ)) _ _ _ -> [L NoLoc (mkProdSimple ctx typ)] + CncFun (Just (i,ctx,typ)) _ _ _ -> + [L NoLoc (mkProdSimple ctx (lock' i typ))] _ -> [] + + lock' i typ = case lock i typ of + Ok t -> t + _ -> typ + reachable = case greatestResource gr of Just r -> allExtendSpecs gr r _ -> []