From: Wolfgang T. <wth...@us...> - 2005-07-29 03:39:53
|
Update of /cvsroot/hoc/hoc/HOC/HOC In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5525/HOC/HOC Modified Files: Arguments.hs TH.hs Added Files: NameCaseChange.hs Log Message: Improve Enum support (mostly untested) Index: TH.hs =================================================================== RCS file: /cvsroot/hoc/hoc/HOC/HOC/TH.hs,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- TH.hs 6 Dec 2004 03:46:51 -0000 1.1 +++ TH.hs 29 Jul 2005 03:39:44 -0000 1.2 @@ -3,6 +3,7 @@ mkNameG_v, mkNameG_tc, mkNameG_d, + whereQ ) where import Language.Haskell.TH @@ -11,3 +12,8 @@ instance Functor Q where fmap f q = q >>= return . f +whereQ :: ([Q Dec] -> Q a) -> Q [Dec] -> Q a +header `whereQ` declsQ = do + decls <- declsQ + header (map return decls) + Index: Arguments.hs =================================================================== RCS file: /cvsroot/hoc/hoc/HOC/HOC/Arguments.hs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Arguments.hs 26 Jul 2005 05:25:42 -0000 1.3 +++ Arguments.hs 29 Jul 2005 03:39:44 -0000 1.4 @@ -49,11 +49,6 @@ |] return [argInst] -whereQ :: ([Q Dec] -> Q a) -> Q [Dec] -> Q a -header `whereQ` declsQ = do - decls <- declsQ - header (map return decls) - -- to avoid overlapping instance ObjCIMPType (IO ()) below... data EvilDummyForUnit instance Storable EvilDummyForUnit where --- NEW FILE: NameCaseChange.hs --- module HOC.NameCaseChange where import Data.Char ( toUpper, toLower, isUpper ) nameToUppercase ('_':ame) = nameToUppercase ame nameToUppercase ('n':'s':n:ame) | isUpper n = 'N':'S':n:ame nameToUppercase (n:ame) = toUpper n : ame nameToLowercase ('N':'S':n:ame) | isUpper n = 'n':'s':n:ame nameToLowercase (n:ame) = toLower n : ame |