Changeset 9052 for src/Pugs/Prim/Eval.hs
- Timestamp:
- 02/18/06 17:56:59 (3 years ago)
- Files:
-
- 1 modified
-
src/Pugs/Prim/Eval.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Prim/Eval.hs
r8288 r9052 1 {-# OPTIONS_GHC -fglasgow-exts #-} 1 2 module Pugs.Prim.Eval ( 2 3 -- used by Pugs.Prim 3 op1EvalHaskell, 4 op1EvalHaskell, op1EvalP6Y, 4 5 opEval, opEvalFile, 5 6 opRequire, requireInc, … … 15 16 import Pugs.Pretty 16 17 import Pugs.Prim.Keyed 18 import qualified Data.FastPackedString as Str 19 import DrIFT.YAML 20 import Data.Yaml.Syck 21 22 type Str = Str.FastString 23 17 24 18 25 data EvalError = EvalErrorFatal … … 88 95 , evalResult=EvalResultLastValue} 89 96 97 op1EvalP6Y :: Val -> Eval Val 98 op1EvalP6Y f = do 99 fn <- fromVal f 100 str <- liftIO $ Str.readFile fn 101 yml <- liftIO $ parseYamlFS str 102 case yml of 103 Right (Just yml') -> do 104 (glob, ast) <- liftIO $ fromYAML yml' 105 env <- ask 106 -- xxx high bogosity warning 107 globRef <- liftSTM $ do 108 glob' <- readTVar $ envGlobal env 109 newTVar (glob `unionPads` glob') 110 --runEnv env{ envBody = ast, envGlobal = globRef, envDebug = Nothing } 111 (envEval env) ast 112 _ -> fail "failed" 113 90 114 opEval :: EvalStyle -> FilePath -> String -> Eval Val 91 115 opEval style path str = enterCaller $ do
