Changeset 14275 for src/Pugs/Eval.hs
- Timestamp:
- 10/12/06 02:11:27 (2 years ago)
- Files:
-
- 1 modified
-
src/Pugs/Eval.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Eval.hs
r14210 r14275 148 148 trapVal val (return val) 149 149 Nothing -> do 150 val <- local (\e -> e{ envBody = exp }) (reduce exp)150 val <- reduce exp 151 151 trapVal val (return val) 152 152 … … 309 309 _ -> enterContext cxtVoid 310 310 val <- withCxt (reduce this) 311 let writeEnv = do 311 trapVal val $ case rest of 312 Syn "continuation" [] -> callCC $ \cc -> do 312 313 env <- ask 313 writeVar (cast "$*_") val 314 return . VControl $ ControlEnv env 315 trapVal val $ case rest of 316 Ann _ (Syn "env" []) -> writeEnv 317 Syn "env" [] -> writeEnv 314 return . VControl $ ControlContinuation env val cc 318 315 _ -> reduce rest 319 316 … … 404 401 retItem $ castV (key, val) 405 402 406 reduceSyn " env" [] =do403 reduceSyn "continuation" [] = callCC $ \cc -> do 407 404 env <- ask 408 -- writeVar "$*_" val 409 return . VControl $ ControlEnv env 405 return . VControl $ ControlContinuation env undef cc 410 406 411 407 reduceSyn "block" [exp]
