Changeset 14491 for src/Pugs/Eval.hs
- Timestamp:
- 10/24/06 17:19:32 (2 years ago)
- Files:
-
- 1 modified
-
src/Pugs/Eval.hs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Eval.hs
r14489 r14491 109 109 return val 110 110 when (length val > 100) $ do 111 lift IO$ putStrLn "*** Warning: deep recursion"112 lift IO$ putStrLn ("***" ++ val ++ str ++ encodeUTF8 (pretty a))111 liftSTM . unsafeIOToSTM $ putStrLn "*** Warning: deep recursion" 112 liftSTM . unsafeIOToSTM $ putStrLn ("***" ++ val ++ str ++ encodeUTF8 (pretty a)) 113 113 114 114 evaluateMain :: Exp -> Eval Val … … 462 462 reduceSyn "but" [obj, block] = do 463 463 evalExp $ App (_Var "&Pugs::Internals::but_block") Nothing [obj, block] 464 465 reduceSyn "maybe" blocks = do 466 env <- ask 467 subs <- mapM fromCodeExp blocks 468 let runInSTM sub = runEvalSTM env (apply sub Nothing []) 469 guardSTM $ foldl1 orElse (map runInSTM subs) 464 470 465 471 reduceSyn "if" [cond, bodyIf, bodyElse] = do
