Changeset 16627 for src/Pugs/CodeGen.hs
- Timestamp:
- 06/04/07 10:08:30 (18 months ago)
- Files:
-
- 1 modified
-
src/Pugs/CodeGen.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/CodeGen.hs
r15297 r16627 25 25 import qualified Data.Map as Map 26 26 27 type Generator = Eval Val27 type Generator = FilePath -> Eval Val 28 28 29 29 generators :: Map String Generator … … 43 43 , ("Parse-YAML", genParseYAML) 44 44 , ("Parse-HsYAML",genParseHsYAML) 45 , ("Parse-Pretty", fmap (VStr . (++"\n") . pretty) (asks envBody))45 , ("Parse-Pretty",const $ fmap (VStr . (++"\n") . pretty) (asks envBody)) 46 46 -- , ("XML", genXML) 47 47 ] … … 85 85 key -> Map.lookup key generators 86 86 87 codeGen :: String -> Env -> IO String88 codeGen s env = do87 codeGen :: String -> FilePath -> Env -> IO String 88 codeGen s file env = do 89 89 gen <- catchIO (doLookup s) . const $ do 90 fail $ "Cannot generate code for " ++ s 91 rv <- runEvalIO env gen90 fail $ "Cannot generate code for " ++ s ++ ": " ++ file 91 rv <- runEvalIO env (gen file) 92 92 case rv of 93 93 VStr str -> return str
