On Sun, Jul 27, 2008 at 07:27:50AM -0700, Carl Mäsak wrote: > * The error is all wrong. The class 'Failure' has got nothing to do with it. > * It feels like this could/should be intercepted at BEGIN time, just > like the `class DerivingClass is NotYetDefinedClass {}` error. In both > cases, it's a question of an undeclared bareword.
You're correct, Rakudo doesn't maintain a compile-time symbol table at the moment, and thus isn't detecting undeclared barewords yet. This is a _little_ bit trickier than it might seem at first, since Perl 6 assumes that unrecognized identifiers (barewords) can be post-declared listops. So, BEGIN may be a little too soon -- we may want to do it at CHECK time or something like that. Currently most refactors having to do with BEGIN/INIT/END/etc. are awaiting Parrot's merge of the concurrency/exceptions (pdd25cx) branch back into trunk. Pm