Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Perl 6 allows for handling exception in a same-scope CATCH block, so you can try to recover. It can probably be mixed with their phasers[1] in interesting ways. Also of interest might be control exceptions[2].

1: http://perlcabal.org/syn/S04.html#Phasers

2: http://perlcabal.org/syn/S04.html#Control_Exceptions



Here is an interesting perl6 example which works in Rakudo:

  $ perl6

  > $*PERL<name>;
  rakudo

  > $*PERL<compiler><ver>;
  2014.03.01

  > { CONTROL { print 1; $_.resume }; print 2; warn; say 3 }
  213
ref: https://news.ycombinator.com/item?id=7192294

For a perl5 Condition System see this implementation - https://metacpan.org/pod/ConditionSystem


That one's still exception based. You wanted

http://p3rl.org/Worlogog::Incident http://p3rl.org/Worlogog::Restart

which uses Return::MultiLevel to do stack unwinds that can pass through try/catch constructs.


perl6: super hyperdimensional prototype future programming language

"It's not Lisp!"




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: