Changeset 14210 for src/Pugs/Eval.hs

Show
Ignore:
Timestamp:
10/11/06 05:36:29 (2 years ago)
Author:
audreyt
Message:

* Pugs.Eval: Make &yield a special construct like &return

so it can handle capture-like semantics without us actually
having general Captures yet.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Eval.hs

    r14156 r14210  
    948948        val  <- op0Zip vals 
    949949        retVal val 
     950    , "&yield"     ... \args -> do 
     951        (op1Yield . retControl . ControlLeave (<= SubRoutine) 0) =<< 
     952            case args of 
     953                []      -> retEmpty 
     954                [arg]   -> evalExp arg 
     955                args    -> evalExp (Syn "," args) 
    950956    , "&return"     ... \args -> do 
    951957        (op1Return . retControl . ControlLeave (<= SubRoutine) 0) =<<