Home  |  Linux  | Mysql  | PHP  | XML
From:Tomas Petricek Date:Sun Feb 17 18:04:59 2008
Subject:RE: Re: Lang.Net Symposium 2008
Hi,
This is an interesting discussion and I'm glad to read various views on this
topic from the community. The decision whether to use Phalanger or start a
new implementation from scratch clearly depends on the people who want to be
involved in the project and I don't want to "push" you in any direction,
though I would be of course very glad if PHP community wanted to be involved
in Phalanger! So, let me react to some comments and add some information
about future plans of the folks involved in the project currently:

>> (...) we can take some ideas from phalanger but it's always 
>> easier to write shiny new code than to try to hack out bad bits of old 
>> code.  The sustainable thing is always an issue as well, the code needs 
>> to be clean enough that new people can pick it up rapidly (...)

This is actually a good point - the current Phalanger support for
Silverlight was done in a hurry and there is a need to do a lot of
refactoring. I wouldn't however say that the only option is to start from
scratch. We're planning to do this refactoring anyway and I believe that it
is a good option for those interested in Phalanger to join the development
team. Currently, there is also a lack of documentation, so in order to make
it possible for others to contribute to the project, we'd like to invest
some time in writing decent documentation as well.

>> However, the mostly-done status makes it harder and probably a bit 
>> less appealing to someone that wants to try their hand at developing 
>> a language implementation

In my opinion this would be absolutely valid point before the DLR. Now the
situation is a bit different, because we want to re-implement a large part
of the core library using DLR. The most reasonable way to do this is IMHO
developing it as a new components (with using those Phalanger components
that can't be simplified using DLR) and when a component is ready it could
replace the old one (note that there are currently some things that can't be
done with DLR, so it is likely that it will take some time before the DLR
implementation could replace the current one).

This means that there is actually a lot of work to do, which is reasonably
independent to other components. Actually, the two key components are using
the DLR expression trees (which requires translating the PHP AST to an AST
provided by DLR) and using dynamic sites both require writing a lot of code
almost from scratch. 

Also, another option is to start a parallel project as a "playground" where
people could prototype their code, learn how the DLR works and later we
could take parts from this project and incorporate them into Phalanger. This
"playground" project shouldn't be that hard to build, because it could use
some existing code from Phalanger (e.g. parser & lexer and some basic PHP
functions). It would be certainly very limited, but it should be good enough
to provide the space for learning how DLR works and prototyping ideas for
the "full" version.

Looking forward to more comments!
Tomas
Navigate in group php.on.dlr at sever news.php.net
Previous Next




  
© No Copyright
You are free to use Anything
Site Maintained by PHP Developer
Powered By PHP Consultants