Changeset 11266 for src/Pugs/Eval

Show
Ignore:
Timestamp:
07/07/06 19:40:30 (2 years ago)
Author:
audreyt
Message:

* szbalint++ requested that Perl5-land errors should be

propagated as full SVs, not strings, in Perl6-land.

Implement this by making an instance of (MonadError? Eval Val)
and make throwError the Val-throwing variant of the
String-throwing "fail"

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Eval/Var.hs

    r11208 r11266  
    215215                    subSV   <- vstrToSV $ tail name 
    216216                    invokePerl5 subSV sv svs envSV (enumCxt $ envContext env) 
    217                 return $ case rv of 
    218                     [sv]    -> PerlSV sv 
    219                     _       -> VList (map PerlSV rv) 
     217                case rv of 
     218                    Right [x]   -> return $ PerlSV x 
     219                    Right xs    -> return $ VList (map PerlSV xs) 
     220                    Left err    -> throwError $ PerlSV err 
    220221            } 
    221222    possiblyBuildMetaopVCode :: String -> Eval (Maybe VCode)