1
0
forked from GitHub/gf-core

compilation of functors

This commit is contained in:
aarne
2005-11-11 22:24:33 +00:00
parent 3684eca40b
commit 387572ecb3
6 changed files with 42 additions and 31 deletions

View File

@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
-- > CVS $Date: 2005/04/21 16:22:21 $
-- > CVS $Author: bringert $
-- > CVS $Revision: 1.6 $
-- > CVS $Date: 2005/11/11 23:24:34 $
-- > CVS $Author: aarne $
-- > CVS $Revision: 1.7 $
--
-- Creating and using lock fields in reused resource grammars.
--
@@ -26,8 +26,8 @@ import GF.Data.Operations
lockRecType :: Ident -> Type -> Err Type
lockRecType c t@(RecType rs) =
let lab = lockLabel c in
return $ if elem lab (map fst rs)
then t --- don't add an extra copy of the lock field
return $ if elem lab (map fst rs) || elem (prt c) ["String","Int"]
then t --- don't add an extra copy of lock field, nor predef cats
else RecType (rs ++ [(lockLabel c, RecType [])])
lockRecType c t = plusRecType t $ RecType [(lockLabel c, RecType [])]