Mailing List Archive

ANNOUCE: Embperl 2.0a6
This is the first public alpha release of Embperl 2. There is still a lot of
work todo, but it's now ready for a review by more people.

You can download it from ftp://ftp.dev.ecos.de/pub/perl/embperl/2.0-alpha

Please make sure to read the README.v2. I append it below.

Enjoy

Gerald

P.S. I am out of office form 10.-14.7. so don't wonder if you don't get a
fast feedback


Hints for using Embperl 2.x
---------------------------

Embperl 2 contains nearly 7000 lines new (mostly C-) code. Also I
have done a lot of testing, don't expect it to work without errors!

Please report any weired behaviour to the embperl mailing list, but
be sure to read this whole README to understand what can't work so far.

The Embperl core now works in a totaly different way. It is devided into
smaller steps:

1 reading the source
2 parseing
3 compiling
4 executing
5 outputing

Further version will allow to replace every single step of this pipeline
with custom modules. Also it will be possible to cascade multiple
processors. This allows for example to have Embperl and SSI in one file
and to parse the file only once, feeding it first to the SSI processor and
afterwards to the Embperl processor. Also the parser will be exchangeable
in future version to allow for example to use an XML parser and an
XSLT stylesheet processor.

These new execution scheme is also faster, because html tags and
metacommands
are parsed only once (Perl code was also (and is still) cached in 1.x)
My first benchmarks show 25%-50% faster execution under mod_perl for pages
longer then 20K (For short pages ( < 5K ouput) you won't see a great
difference)

Another new feature is that the syntax of the Embperl parser is defined
with in the module HTML::Embperl::Syntax and can be modified as nessecary.
See the file Embperl/Syntax.pm how it looks like and

perldoc HTML::Embperl::Syntax

for a short description. A further verion will add an API to this syntax
module,
so custom syntaxes can be easily added, without modifiy Syntax.pm itself.

Also left for one of the next release is the caching of (parts of) the
output.


The following difference to Embperl 1.x apply:
------------------------------------------------------

- The following options can currently only set from the httpd.conf:
optRawInput, optKeepSpaces

- The following options are currently not supported:
optDisableHtmlScan, optDisableTableScan,
optDisableInputScan, optDisableMetaScan

- Nesting must be properly. I.e. you cannot put a <table> tag (for an
dynamic table) inside an if and the </table> inside another if.
(That still works for static tables)

- optUndefToEmptyValue is always set and cannot be disabled.

- [$ foreach $x (@x) $] requires now the bracket around the
array (like Perl)


The following things are not fully tested/working yet:
------------------------------------------------------

- [$ sub $] ... [$ endsub $]

- [- exit -]

- [- print OUT "foo" -]

- safe namespaces


Embperl 1.x compatibility flag
------------------------------

If you don't have a separate computer to make the test setup, you can
include

PerlSetEnv EMBPERL_EP1COMPAT 1

at the top level of your httpd.conf, then Embperl will behave just the same
like Embperl 1.3b3. In the directories where you make your tests, you
inlcude a

PerlSetEnv EMBPERL_EP1COMPAT 0

to enable the new engine.

but _DON'T_ use this one a production machine. While this compatibility mode
is tested and shows no problems for me, it's not so hard tested as 1.3b3
itself!



-------------------------------------------------------------
Gerald Richter ecos electronic communication services gmbh
Internetconnect * Webserver/-design/-datenbanken * Consulting

Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz
E-Mail: richter@ecos.de Voice: +49 6133 925151
WWW: http://www.ecos.de Fax: +49 6133 925152
-------------------------------------------------------------
RE: ANNOUCE: Embperl 2.0a6 [ In reply to ]
How does this affect the development of 1.3? Will a 'stable' 1.3 be released
or is its development stopped in favor of 2.0?

Regards,
Christian

> -----Original Message-----
> From: Gerald Richter [mailto:richter@ecos.de]
> Sent: Friday, July 07, 2000 2:56 PM
> To: Embperl@Perl. Apache. Org
> Subject: ANNOUCE: Embperl 2.0a6
>
>
>
>
> This is the first public alpha release of Embperl 2. There is
> still a lot
> of
> work todo, but it's now ready for a review by more people.
>
> You can download it from
> ftp://ftp.dev.ecos.de/pub/perl/embperl/2.0-alpha
>
> Please make sure to read the README.v2. I append it below.
>
> Enjoy
>
> Gerald
>
> P.S. I am out of office form 10.-14.7. so don't wonder if you
> don't get a
> fast feedback
>
>
> Hints for using Embperl 2.x
> ---------------------------
>
> Embperl 2 contains nearly 7000 lines new (mostly C-) code. Also I
> have done a lot of testing, don't expect it to work without errors!
>
> Please report any weired behaviour to the embperl mailing list, but
> be sure to read this whole README to understand what can't
> work so far.
>
> The Embperl core now works in a totaly different way. It is
> devided into
> smaller steps:
>
> 1 reading the source
> 2 parseing
> 3 compiling
> 4 executing
> 5 outputing
>
> Further version will allow to replace every single step of
> this pipeline
> with custom modules. Also it will be possible to cascade multiple
> processors. This allows for example to have Embperl and SSI
> in one file
> and to parse the file only once, feeding it first to the SSI
> processor and
> afterwards to the Embperl processor. Also the parser will be
> exchangeable
> in future version to allow for example to use an XML parser and an
> XSLT stylesheet processor.
>
> These new execution scheme is also faster, because html tags and
> metacommands
> are parsed only once (Perl code was also (and is still) cached in 1.x)
> My first benchmarks show 25%-50% faster execution under
> mod_perl for pages
> longer then 20K (For short pages ( < 5K ouput) you won't see a great
> difference)
>
> Another new feature is that the syntax of the Embperl parser
> is defined
> with in the module HTML::Embperl::Syntax and can be modified
> as nessecary.
> See the file Embperl/Syntax.pm how it looks like and
>
> perldoc HTML::Embperl::Syntax
>
> for a short description. A further verion will add an API to
> this syntax
> module,
> so custom syntaxes can be easily added, without modifiy
> Syntax.pm itself.
>
> Also left for one of the next release is the caching of (parts of) the
> output.
>
>
> The following difference to Embperl 1.x apply:
> ------------------------------------------------------
>
> - The following options can currently only set from the httpd.conf:
> optRawInput, optKeepSpaces
>
> - The following options are currently not supported:
> optDisableHtmlScan, optDisableTableScan,
> optDisableInputScan, optDisableMetaScan
>
> - Nesting must be properly. I.e. you cannot put a <table> tag (for an
> dynamic table) inside an if and the </table> inside another if.
> (That still works for static tables)
>
> - optUndefToEmptyValue is always set and cannot be disabled.
>
> - [$ foreach $x (@x) $] requires now the bracket around the
> array (like Perl)
>
>
> The following things are not fully tested/working yet:
> ------------------------------------------------------
>
> - [$ sub $] ... [$ endsub $]
>
> - [- exit -]
>
> - [- print OUT "foo" -]
>
> - safe namespaces
>
>
> Embperl 1.x compatibility flag
> ------------------------------
>
> If you don't have a separate computer to make the test setup, you can
> include
>
> PerlSetEnv EMBPERL_EP1COMPAT 1
>
> at the top level of your httpd.conf, then Embperl will behave
> just the same
> like Embperl 1.3b3. In the directories where you make your tests, you
> inlcude a
>
> PerlSetEnv EMBPERL_EP1COMPAT 0
>
> to enable the new engine.
>
> but _DON'T_ use this one a production machine. While this
> compatibility
> mode
> is tested and shows no problems for me, it's not so hard
> tested as 1.3b3
> itself!
>
>
>
> -------------------------------------------------------------
> Gerald Richter ecos electronic communication services gmbh
> Internetconnect * Webserver/-design/-datenbanken * Consulting
>
> Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz
> E-Mail: richter@ecos.de Voice: +49 6133 925151
> WWW: http://www.ecos.de Fax: +49 6133 925152
> -------------------------------------------------------------
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
> For additional commands, e-mail: embperl-help@perl.apache.org
>
RE: ANNOUCE: Embperl 2.0a6 [ In reply to ]
>
> How does this affect the development of 1.3? Will a 'stable' 1.3
> be released
> or is its development stopped in favor of 2.0?
>

There will be a stable 1.3. I will not change anything in the core Embperl,
but I add some features to EmbperlObject so it will get more usable. I plan
to do this very soon. (I had hoped to have out 1.3b4 before the conference,
but I am not sure if it will get ready soon enought)

Gerald



> Regards,
> Christian
>
> > -----Original Message-----
> > From: Gerald Richter [mailto:richter@ecos.de]
> > Sent: Friday, July 07, 2000 2:56 PM
> > To: Embperl@Perl. Apache. Org
> > Subject: ANNOUCE: Embperl 2.0a6
> >
> >
> >
> >
> > This is the first public alpha release of Embperl 2. There is
> > still a lot
> > of
> > work todo, but it's now ready for a review by more people.
> >
> > You can download it from
> > ftp://ftp.dev.ecos.de/pub/perl/embperl/2.0-alpha
> >
> > Please make sure to read the README.v2. I append it below.
> >
> > Enjoy
> >
> > Gerald
> >
> > P.S. I am out of office form 10.-14.7. so don't wonder if you
> > don't get a
> > fast feedback
> >
> >
> > Hints for using Embperl 2.x
> > ---------------------------
> >
> > Embperl 2 contains nearly 7000 lines new (mostly C-) code. Also I
> > have done a lot of testing, don't expect it to work without errors!
> >
> > Please report any weired behaviour to the embperl mailing list, but
> > be sure to read this whole README to understand what can't
> > work so far.
> >
> > The Embperl core now works in a totaly different way. It is
> > devided into
> > smaller steps:
> >
> > 1 reading the source
> > 2 parseing
> > 3 compiling
> > 4 executing
> > 5 outputing
> >
> > Further version will allow to replace every single step of
> > this pipeline
> > with custom modules. Also it will be possible to cascade multiple
> > processors. This allows for example to have Embperl and SSI
> > in one file
> > and to parse the file only once, feeding it first to the SSI
> > processor and
> > afterwards to the Embperl processor. Also the parser will be
> > exchangeable
> > in future version to allow for example to use an XML parser and an
> > XSLT stylesheet processor.
> >
> > These new execution scheme is also faster, because html tags and
> > metacommands
> > are parsed only once (Perl code was also (and is still) cached in 1.x)
> > My first benchmarks show 25%-50% faster execution under
> > mod_perl for pages
> > longer then 20K (For short pages ( < 5K ouput) you won't see a great
> > difference)
> >
> > Another new feature is that the syntax of the Embperl parser
> > is defined
> > with in the module HTML::Embperl::Syntax and can be modified
> > as nessecary.
> > See the file Embperl/Syntax.pm how it looks like and
> >
> > perldoc HTML::Embperl::Syntax
> >
> > for a short description. A further verion will add an API to
> > this syntax
> > module,
> > so custom syntaxes can be easily added, without modifiy
> > Syntax.pm itself.
> >
> > Also left for one of the next release is the caching of (parts of) the
> > output.
> >
> >
> > The following difference to Embperl 1.x apply:
> > ------------------------------------------------------
> >
> > - The following options can currently only set from the httpd.conf:
> > optRawInput, optKeepSpaces
> >
> > - The following options are currently not supported:
> > optDisableHtmlScan, optDisableTableScan,
> > optDisableInputScan, optDisableMetaScan
> >
> > - Nesting must be properly. I.e. you cannot put a <table> tag (for an
> > dynamic table) inside an if and the </table> inside another if.
> > (That still works for static tables)
> >
> > - optUndefToEmptyValue is always set and cannot be disabled.
> >
> > - [$ foreach $x (@x) $] requires now the bracket around the
> > array (like Perl)
> >
> >
> > The following things are not fully tested/working yet:
> > ------------------------------------------------------
> >
> > - [$ sub $] ... [$ endsub $]
> >
> > - [- exit -]
> >
> > - [- print OUT "foo" -]
> >
> > - safe namespaces
> >
> >
> > Embperl 1.x compatibility flag
> > ------------------------------
> >
> > If you don't have a separate computer to make the test setup, you can
> > include
> >
> > PerlSetEnv EMBPERL_EP1COMPAT 1
> >
> > at the top level of your httpd.conf, then Embperl will behave
> > just the same
> > like Embperl 1.3b3. In the directories where you make your tests, you
> > inlcude a
> >
> > PerlSetEnv EMBPERL_EP1COMPAT 0
> >
> > to enable the new engine.
> >
> > but _DON'T_ use this one a production machine. While this
> > compatibility
> > mode
> > is tested and shows no problems for me, it's not so hard
> > tested as 1.3b3
> > itself!
> >
> >
> >
> > -------------------------------------------------------------
> > Gerald Richter ecos electronic communication services gmbh
> > Internetconnect * Webserver/-design/-datenbanken * Consulting
> >
> > Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz
> > E-Mail: richter@ecos.de Voice: +49 6133 925151
> > WWW: http://www.ecos.de Fax: +49 6133 925152
> > -------------------------------------------------------------
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
> > For additional commands, e-mail: embperl-help@perl.apache.org
> >
>
>