Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23735 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 35108 invoked by uid 1010); 28 May 2006 00:39:31 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 35092 invoked from network); 28 May 2006 00:39:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 May 2006 00:39:31 -0000 X-PHP-List-Original-Sender: andi@zend.com X-Host-Fingerprint: 80.74.107.235 mail.zend.com Linux 2.5 (sometimes 2.4) (4) Received: from ([80.74.107.235:39326] helo=mail.zend.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 07/C6-17316-341F8744 for ; Sat, 27 May 2006 20:39:31 -0400 Received: (qmail 7384 invoked from network); 28 May 2006 00:39:08 -0000 Received: from localhost (HELO ANDI-NOTEBOOK.zend.com) (127.0.0.1) by localhost with SMTP; 28 May 2006 00:39:08 -0000 Message-ID: <7.0.1.0.2.20060527173708.03b3bd18@zend.com> X-Mailer: QUALCOMM Windows Eudora Version 7.0.1.0 Date: Sat, 27 May 2006 17:39:21 -0700 To: Marcus Boerger ,Zeev Suraski Cc: internals@lists.php.net, Pavlo Shelyazhenko In-Reply-To: <772458214.20060527001909@marcus-boerger.de> References: <138663365.20060514205903@marcus-boerger.de> <038d01c676f8$ab9b3380$6602a8c0@foxbox> <44685D24.2000801@php.net> <1147708994.14148.23.camel@notebook.local> <16710545416.20060515202714@marcus-boerger.de> <1147721541.14148.47.camel@notebook.local> <4468DB43.1020005@emini.dk> <7.0.1.0.2.20060515194051.02b32ef8@zend.com> <1148496966.19173.79.camel@notebook.local> <454303585.20060524213714@marcus-boerger.de> <44765279.8000601@akbkhome.com> <7.0.1.0.2.20060526040633.086814a0@zend.com> <4476608C.6070503@akbkhome.com> <7.0.1.0.2.20060526050422.08680c20@zend.com> <1376291629.20060526040801@marcus-boerger.de> <7.0.1.0.2.20060526120130.03c51060@zend.com> <772458214.20060527001909@marcus-boerger.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: Re: [PHP-DEV] planning future BC Breaks - was Re: [PHP-DEV] fatal static call in php 6.0? From: andi@zend.com (Andi Gutmans) I think a preprocessor is one of the worst things that can ever happen to PHP. It can be done as a Summer of Code project for academic reasons but I would never be in favor of adding it to PHP. I think there's very little use in a language like PHP and it will lead to the same maintenance/debugging problems as with C. If someone really needs a pre-processor then they should use it in their private environment and can even use cpp if they want. I can't believe Marcus that you are in favor of something like this. In any case, it doesn't matter. Nothing can stop the student from doing something like this and dumping it in pecl or something, but I'd never want to see a pre-processor in PHP itself. Andi At 03:19 PM 5/26/2006, Marcus Boerger wrote: >Hello Zeev, > > actually there was plenty of discussion prior to selecting the summer >of code projects. Nonetheless we will see how it will work out. For example >#line can easily be aded to the lexer already and doesn't >require a full blown preprocessor. Versioning is very different since it >should either be a real preprocessor and thus not doing any harm to php >or it is a language feature and then a bunch of stuff probably has to be >changed. Though maybe even then it is a simple additional state in the >lexer - those tools can be so easy. > >Anyway you might want to contact the student. > >marcus > >Friday, May 26, 2006, 11:04:30 AM, you wrote: > > > Yeah I heard, but it doesn't mean it'll become a part of the language > > (doesn't mean that it would not, but as usual, no discussion ;). > > > What Alan suggested is already a part of the language, bares no > > additional overhead (both CPU cycles and brain cycles), and also > > (least important point) is very easy to implement. > > > Zeev > > > > > At 05:08 26/05/2006, Marcus Boerger wrote: > >>Hello Zeev, > >> > >> actually there is a student working on a pre-processor for his summer > >>of code project. And that will most likely cover versioning, too. > >> > >>best regards > >>marcus > >> > >>Friday, May 26, 2006, 4:06:00 AM, you wrote: > >> > >> > I read it as if it was declare() ;) > >> > >> > I agree with Pierre that the best way to handle BC break is not to > >> > introduce it, but since that's not always 100% possible, this may > >> > make sense. Of course, it'll only work with stuff that is > >> > syntax-compliant with the currently running PHP version, but that > >> > covers most BC breakage. > >> > >> > Zeev > >> > >> > At 04:57 26/05/2006, Alan Knowles wrote: > >> >>actaully it should have been declare() - as I think the syntax for that > >> >>almost works already, but yes, code doesnt get compiled if it's inside a > >> >>block. > >> >> > >> >>Regards > >> >>Alan > >> >> > >> >>Zeev Suraski wrote: > >> >> > At 03:57 26/05/2006, Alan Knowles wrote: > >> >> >> Can we start concentrating on finding a real solution to BC breaks > >> >> >> rather than throwing them out there and everyone complaining? > >> >> >> > >> >> >> define(php5) { > >> >> >> stuff that breaks in php6 > >> >> >> } > >> >> >> define(php6) { > >> >> >> stuff that doesnt work in PHP5 > >> >> >> } > >> >> > > >> >> > What's the semantics of that? The code inside doesn't get > executed if > >> >> > it's not the define()'d PHP version? > >> >> > > >> >> > Zeev > >> > >> > >> > >> > >>Best regards, > >> Marcus > > > > >Best regards, > Marcus > >-- >PHP Internals - PHP Runtime Development Mailing List >To unsubscribe, visit: http://www.php.net/unsub.php