Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:18386 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 61640 invoked by uid 1010); 24 Aug 2005 23:18:51 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 61625 invoked from network); 24 Aug 2005 23:18:51 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Aug 2005 23:18:51 -0000 X-Host-Fingerprint: 80.74.107.235 mail.zend.com Linux 2.5 (sometimes 2.4) (4) Received: from ([80.74.107.235:43736] helo=mail.zend.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id B1/A1-28235-A500D034 for ; Wed, 24 Aug 2005 19:18:51 -0400 Received: (qmail 13107 invoked from network); 24 Aug 2005 23:18:46 -0000 Received: from localhost (HELO ANDI-NOTEBOOK.zend.com) (127.0.0.1) by localhost with SMTP; 24 Aug 2005 23:18:46 -0000 Message-ID: <6.2.3.4.2.20050824161757.05e7f940@localhost> X-Mailer: QUALCOMM Windows Eudora Version 6.2.3.4 Date: Wed, 24 Aug 2005 16:18:21 -0700 To: Michael Walter ,Zeev Suraski Cc: Stanislav Malyshev ,Marcus Boerger , internals@lists.php.net In-Reply-To: <877e9a1705082322241fc30bca@mail.gmail.com> References: <42FCE0E4.604@lerdorf.com> <4309DC9B.8020904@peda.net> <19310545471.20050822200017@marcus-boerger.de> <877e9a17050822231876308b57@mail.gmail.com> <5.1.0.14.2.20050823220004.07898ec0@localhost> <877e9a17050823215844e885c2@mail.gmail.com> <877e9a1705082322241fc30bca@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: Re: [PHP-DEV] Re: PHP 6.0 Wishlist From: andi@zend.com (Andi Gutmans) Michael, To your question, I don't want to encourage this style of programming. Andi At 10:24 PM 8/23/2005, Michael Walter wrote: >Zeev, > >On 8/24/05, Michael Walter wrote: > > On 8/23/05, Zeev Suraski wrote: > > > >"Real" anonymous functions (as in, closures) should be able to capture > > > >variables from its lexical environment, e.g.: > > > > > > create_function() accepts a string, and that string is constructed with > > > full access to the lexical scope of the creating function, so I'm not > > > exactly sure how it's different. My ML/LISP memory fails me. > >I misread. The obvious difference is that you're not creating code >strings in ML/LISP, so (1) you can avoid all kind of error-prone >marshalling and (2) you can compile the function at compile-time and >simply fill out its free variables when "instantiating" the closure >(using the current lexical environment), giving you syntax checks & >performance. > >I intentionally phrased that sentence to resemble object >instantiation: In fact it's pretty much the same thing with more less >verbose/local syntax! I.e. as I believe you said, it is certainly >*not* a question of how/whether we want that functionality, but >whether we want to encourage this particular style of programming. > >Cheers, >Michael > >-- >PHP Internals - PHP Runtime Development Mailing List >To unsubscribe, visit: http://www.php.net/unsub.php