> 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.


Reply via email to