On Thu, 19 Sep 2002, John Williams wrote:
> So, if I put the MSP lexer on CPAN, should I call it MasonX::Lexer::MSP?
Um, I think so. Or HTML::MasonX? But that sounds dumb.
> A few comments on the discussion:
> Have we rejected both </& comp> and <%-- comment --%>? That leaves the
> users with no good way to mark their </&> tags when they are nested or far
> from the start tag.
> My preference would be to implement </& comp>, but only if it
> tries to validate that it matches up with the start tag. The <%# comment
> tag %> option is a bit fragile, since having a line feed in it results in
> a syntax error, as someone has pointed out before.
But there's too many problems with </& comp>, as the discussion way back
when on the dev list brought up. There's no _intuitive_ way to do it. Do
you match the comp, the part before the comma, the whole thing?
I'm not sure why you think <%# %> would have problems with newlines. We'd
parse it different from a substitution tag if it was implemented. I still
like <# #>, just for consistency, but Jon won't go for it.
> If we change the namespace to Mason::whatever, is it possible to also
> install stubs in HTML::Mason::whatever which would do nothing except
> inherit from the real modules? This would provide backward-compatibility.
Yep, we could do something like this:
*HTML::Mason::Interp = *Mason::Interp;
*HTML::Mason::ApacheHandler = *Mason::ApacheHandler;
> If we *ever* change the Mason syntax, it would probably be wise to do it
> at the same time we change the namespace.
I was also thinking of other possible 2.0-worthy changes, like supporting
only mod_perl 2.0 or something like that that we might consider in the
> One more wild idea (inspired by perl6): would it be possible to support
> two different syntaxes, and be able to select them via an interp parameter
> (to set the site default) OR via a setting in the <%flags> section (so
> 3rd-party modules can be sure they are being parse correctly)? If the
> syntax for the <%flags> tag was different, we would have to check for both
> versions before starting the parse.
Having multiple lexer's right now is pretty simple, you'd just need
multiple interpreter's. Having it set via a flag is obviously trickier,
but not that hard.
I don't think encouraging people to use two different syntaxes (or more)
on one application/site is a good idea though ;)
we await the New Sun