Changeset 16375
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Eval.hs
r16373 r16375 413 413 reduceSyn :: String -> [Exp] -> Eval Val 414 414 415 reduceSyn "" [ ] = do415 reduceSyn "" [Syn "block" [Val (VCode code)]] = do 416 416 -- Reclose all global pads! 417 417 glob <- asks envGlobal … … 420 420 pad' <- reclosePad pad 421 421 writeMPad glob pad' 422 return undef422 fmap VCode (recloseCode code) 423 423 424 424 reduceSyn "()" [exp] = reduce exp … … 468 468 started <- if isCompileTime env then return Nothing else fmap Just (stm $ newTVar False) 469 469 inner <- clonePad (subInnerPad sub) 470 (lpads, outer) <- cloneLexPads (envLexPads env)470 -- (lpads, outer) <- cloneLexPads (envLexPads env) 471 471 return $ VCode sub 472 472 { subCont = cont 473 , subOuterPads = lpads473 -- , subOuterPads = lpads 474 474 , subInnerPad = inner 475 475 -- , subLexical = outer `mappend` inner -
src/Pugs/Monads.hs
r16374 r16375 22 22 enterFrame, assertFrame, emptyFrames, 23 23 24 reclosePad, 24 reclosePad, recloseCode, 25 25 26 26 MaybeT, runMaybeT, -
src/Pugs/Parser/Program.hs
r16374 r16375 189 189 190 190 -- Force a reclose-pad evaluation here by way of unsafeEvalExp. 191 unsafeEvalExp $ Syn "" []191 main' <- unsafeEvalExp $ Syn "" [unwrap main] 192 192 193 193 env' <- getRuleEnv 194 194 return $ env' 195 { envBody = App mainNothing [] -- _Var "@*ARGS"]195 { envBody = App (Syn "block" [main']) Nothing [] -- _Var "@*ARGS"] 196 196 , envPackage = envPackage env 197 197 }
