> The first question I have...What is "HPL"? That puzzled me the most,
> and I don't believe it is at all obvious.
HPL is another Perl embeded in HTML, where some resources, like the HTML
block, that exists in Class::HPLOO, were ported (simplier), to Class::HPLOO.
Also the arguments definition:
sub ( $arg , \%hash , [EMAIL PROTECTED] , @more ) {...}
Already exists in HPL, soo I need to make the syntax equal.
The idea of Class::HPLOO is to write the ./lib modules of a web site in a
syntax similar to HPL, and easier. What I saw is that the developer don't
like to create OO Perl Modules, since is harder than use just HPL modules
definition. Soo, I made Class::HPLOO.
> The semantics "return 0 makes the creation of the object return undef"
> can be prone to nonobvious errors. For example, looking at your
> included classtest.pm example,
>
> class Foo extends Bar , Baz {
> sub Foo {
> $this->{attr} = $_[0] ;
> }
> ...
> }
>
Yes, you are right, and thanks for the advice. Maybe use some constant for
that, that makes a reference to something, and if the constant is returned
make the constructor return undef:
class Foo {
sub Foo {
return UNDEF ;
}
...
}
Where UNDEF is:
sub UNDEF { \"" }
About, Perl6::Classes, it has a lot of bugs and a complex syntax, since has
a lot of resources for methods, attributes, etc... The most of the bugs of
Perl6::Classes, are from Text::Balanced, that make a big problem with the
place holder syntax. Since they use for the place holder of the quoted
strings:
$;XXXX$;
where XXXX are chars from 0 to 255, and represent a binary number of 4
digits. But this tell to use that XXXX can have any character, and this
characters can broke the syntax, since they accept:
# @ $ % \n \r
And is common to use this characters above in our filters! Soo, I insert
another place holder to fix that.
Other bug is with
q|qq|qr|qw|qx|tr|y|s|m.
Text::Balanced will think that this are quoted strings or patterns:
$this->{y} ;
$this->{q} ;
$this->{s} ;
sub ($q) { ... }
Soo, Text::Balanced still have a lot of work to fix that!
Thanks for the interest.
Regards,
Graciliano M. P.