Re: Lang.Net Symposium 2008
| From: | Rob Nicholson | Date: | Tue, 05 Feb 2008 11:40:15 +0000 |
| Subject: | Re: Lang.Net Symposium 2008 | ||
| References: | 1 2 3 | Groups: | php.on.dlr |
| Request: | Send a blank email to php-on-dlr+get-13@lists.php.net to get a copy of this message | ||
Hello all,
I've been reading the posts to this mailing list with considerable
interest. Wez's post today w.r.t a new implementation on DLR prompts me to
wonder about the extension interface.
I have to declare an interest. I am working on an implementation of PHP
which runs on a JVM. Like Phalanger, we wanted to make use of existing
PHP extensions so we were faced with the problem of attaching these
extensions to a managed runtime. We found that the interface between the
extensions and the engine is quite a wide one. In many cases extensions
read and write to the engine internal structures. It occurred to me that
it might be valuable to attempt to define a narrower, more abstract
extension interface.
If this were possible, then it would allow looser coupling between
extensions and the engine, allowing more scope for ZE2 optimization
without breaking extensions. It should also make the extension interface
simpler, more consistent and easier to use correctly. This would lead to
more extensions of higher quality and less breakage from release to
release. It would also allow extensions to be easily used with multiple
PHP runtimes without dragging in large parts of ZE2.
To be successful in this endeavour would clearly require buy-in from the
PHP internals community but seems to me that in the long run, the PHP
community at large benefit from there being multiple PHP runtimes. Having
multiple implementations can only broaden the applicability of PHP still
further. Other scripting languages already have first rate JVM and CLR
implementations which are embraced by relevant the language community.
It seems likely that multiple implementations can be used to cross check
each other, and indeed I have already seen this happening at php.net. I
know that the phalanger team found and reported many bugzillas to php.net
and we have been trying to do the same. There are lots of opportunities
for sharing tests too.
I'd be interested to hear from anyone who would like to take this idea
further or indeed has any opinion on this matter.
Rob Nicholson.
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU