Show
Ignore:
Timestamp:
01/16/06 18:57:28 (3 years ago)
Author:
audreyt
Message:

* Support for $+var as shorthand for $CALLER::var.
* CALLER now only sees lexical variables in the outer dynamic

scope declared with the "env" scope specifier.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/AST/Internals.hs-drift

    r8701 r8705  
    630630    {-!derive: Perl5, JSON!-} 
    631631 
    632 data Scope = SState | SMy | SOur | SLet | STemp | SGlobal -- ^ Global 
     632data Scope = SState | SLet | STemp | SEnv | SMy | SOur | SGlobal 
    633633    {-!derive: YAML, JSON, Perl5!-} 
    634634 
     
    11321132    , envLValue  :: !Bool                -- ^ Are we in an LValue context? 
    11331133    , envLexical :: !Pad                 -- ^ Lexical pad for variable lookup 
     1134    , envImplicit:: !(Map Var ())        -- ^ Set of implicit variables 
    11341135    , envGlobal  :: !(TVar Pad)          -- ^ Global pad for variable lookup 
    11351136    , envPackage :: !String              -- ^ Current package 
    11361137    , envClasses :: !ClassTree           -- ^ Current class tree 
    11371138    , envEval    :: !(Exp -> Eval Val)   -- ^ Active evaluator 
    1138     , envCaller  :: !(Maybe Env)         -- ^ Caller's env 
     1139    , envCaller  :: !(Maybe Env)         -- ^ Caller's "env" pad 
    11391140    , envOuter   :: !(Maybe Env)         -- ^ Outer block's env 
    11401141    , envBody    :: !Exp                 -- ^ Current AST expression