Author: lwall Date: 2009-05-09 03:19:04 +0200 (Sat, 09 May 2009) New Revision: 26735
Modified: docs/Perl6/Spec/S14-roles-and-parametric-types.pod Log: [S14] note (again) that macro syntax must be lexically scoped Modified: docs/Perl6/Spec/S14-roles-and-parametric-types.pod =================================================================== --- docs/Perl6/Spec/S14-roles-and-parametric-types.pod 2009-05-09 01:11:19 UTC (rev 26734) +++ docs/Perl6/Spec/S14-roles-and-parametric-types.pod 2009-05-09 01:19:04 UTC (rev 26735) @@ -11,8 +11,8 @@ Contributions: Tim Nelson <wayl...@wayland.id.au> Jonathan Worthington <jn...@jnthn.net> Date: 24 Feb 2009, extracted from S12-objects.pod - Last Modified: 3 May 2009 - Version: 5 + Last Modified: 8 May 2009 + Version: 6 =head1 Overview @@ -413,6 +413,13 @@ do any extra shenanigans. The compiler won't call it for you at run time like it would at compile time. +Note that the declarations above are insufficient to install new trait +auxilliaries or verbs into the user's grammar, since macro definitions +are lexically scoped, and in the declarations above extend only to +the end of the role definition. The user's lexical scope must somehow +have processed (or imported) a proto declaration introducing the new +syntax before it can be parsed correctly. (This doesn't apply to +pre-existing syntax such as C<is>, of course.) =head1 Parametric Roles