>>>>> "Daniel" == Daniel Fischer <daniel.is.fisc...@web.de> writes:
Daniel> As a pre-alpha version: Daniel> ------------------------------------------------------------ Daniel> module Main (main) where Daniel> import Data.Char (isUpper, isLower, toLower) Daniel> main :: IO () main = interact unCamel Daniel> unCamel :: String -> String unCamel ('<':cs) = '<' : inTag Daniel> cs unCamel (a:bs@(b:cs)) | isLower a && isUpper b = a : Daniel> '_' : toLower b : unCamel cs | otherwise = a : unCamel bs Daniel> unCamel cs = cs Daniel> inTag :: String -> String inTag ('>':cs) = '>' : unCamel Daniel> cs inTag (a:cs) = a : inTag cs inTag [] = Daniel> [] ------------------------------------------------------------ Daniel> Compile, run with Daniel> ./unCamel < /path/to/HaddockOutput.html > Daniel> /path/to/Haddock_output.html Daniel> (or whatever Windows uses to redirect stdin and stdout) Daniel> This makes a few not-well-founded assumptions about Daniel> haddock's output. Try it on a couple of files, report Daniel> bugs. I tried it. I'm not all that happy with the resulting uncameling. For instance, Database.HaskellDB.Sql.PostgreSQL goes to Database.Haskell_dB.Sql.Postgre_sQL which is uglier than before. I.m not sure how I would write this going the other way, using Richard's hspp pre-processor. I'd want to write Database.Haskell_DB.Sql.Postgresql, but I'd guess I'd have to write it as Database.Haskell_DB.Sql.Postgre_s_q_l or just Database.Haskell_DB.Sql.PostgreSQL :-( Anyway, I'm having trouble with using Richard hspp. It changes ok_url to okUrl, but in fact the function concerned is named ok_url in Network.URL, so the pre-processor would have to be applied as part of cabal install for all packages. I don't think it's practical to edit all the .cabal packages as they come in to say: ghc-options: -F -pgmF hspp and cabal install does not recognize this line if I add to to my ~/.cabal/config file. Duncan, is there a way this can be done? -- Colin Adams Preston Lancashire _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe