jerry gay wrote:
seems to me this is trying to test whether there's a defined value in
$!.
Testing truth falls back to definedness, yes.
however, you've jumped straight into blaming parrot's Exception
PMC, without considering the expected perl 6 behavior.
Well, I was more blaming the *change* in Parrot's Exception PMC for
something failing that did work before, and was interested in the
rationale behind the change (which I now have and agree with). I wasn't
claiming that the current way we did things in Rakudo was correct, and
if I thought this was as simple as a bug in the Exception PMC rather
than something needing discussion I'd have written a patch, not a post
on the mailing list. :-)
does Exception inherit from Object,
At this point, no, and I tried making that happen earlier on today
before asking about this, but it doesn't solve the problem..
and if so, doesn't Object's .true method by default return .defined?
Yes, but we're calling the get_bool vtable method. Which is why making
it "inherit" from Object doesn't help. :-(
if so, then we should be wrapping Exception PMCs in perl 6 objects, and the
inherited .true method will make this test work.
Perhaps. I'm not sure exactly where the answer lies, but we need to be
able to somehow handle exceptions coming from other languages too.
Trying to wrap any exceptions that aren't Perl 6 ones into a more Perl
6-ish kinda thing may be a solution, though I'm not sure how robust it is.
Thanks,
Jonathan