Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:62598 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 25713 invoked from network); 30 Aug 2012 11:16:33 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Aug 2012 11:16:33 -0000 Authentication-Results: pb1.pair.com smtp.mail=lester@lsces.co.uk; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=lester@lsces.co.uk; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lsces.co.uk from 213.123.26.185 cause and error) X-PHP-List-Original-Sender: lester@lsces.co.uk X-Host-Fingerprint: 213.123.26.185 c2beaomr07.btconnect.com Received: from [213.123.26.185] ([213.123.26.185:38225] helo=mail.btconnect.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id BE/10-24899-D8B4F305 for ; Thu, 30 Aug 2012 07:16:30 -0400 Received: from host81-138-11-136.in-addr.btopenworld.com (EHLO _10.0.0.5_) ([81.138.11.136]) by c2beaomr07.btconnect.com with ESMTP id IVD29270; Thu, 30 Aug 2012 12:16:26 +0100 (BST) Message-ID: <503F4B89.1020606@lsces.co.uk> Date: Thu, 30 Aug 2012 12:16:25 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120604 Firefox/13.0 SeaMonkey/2.10 MIME-Version: 1.0 To: PHP internals References: <20120829162147.QQCM24459.aamtaout04-winn.ispmail.ntl.com@p2> <88dcbc07-1e8a-42a5-9816-462f4700f2ab@email.android.com> In-Reply-To: <88dcbc07-1e8a-42a5-9816-462f4700f2ab@email.android.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Mirapoint-IP-Reputation: reputation=Good-1, source=Queried, refid=tid=0001.0A0B0301.503F4B8A.0049, actions=tag X-Junkmail-Premium-Raw: score=8/50, refid=2.7.2:2012.8.30.103624:17:8.129, ip=81.138.11.136, rules=__MOZILLA_MSGID, __HAS_MSGID, __SANE_MSGID, __HAS_FROM, __USER_AGENT, __MIME_VERSION, __TO_MALFORMED_2, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __SUBJ_ALPHA_END, __CT, __CT_TEXT_PLAIN, __CTE, __ANY_URI, __URI_NO_WWW, __CP_URI_IN_BODY, BODY_ENDS_IN_URL, SUPERLONG_LINE, BODY_SIZE_1500_1599, BODYTEXTP_SIZE_3000_LESS, __MIME_TEXT_ONLY, RDNS_GENERIC_POOLED, HTML_00_01, HTML_00_10, BODY_SIZE_5000_LESS, RDNS_SUSP_GENERIC, RDNS_SUSP, BODY_SIZE_2000_LESS, BODY_SIZE_7000_LESS X-Junkmail-Status: score=10/50, host=c2beaomr07.btconnect.com X-Junkmail-Signature-Raw: score=unknown, refid=str=0001.0A0B0209.503F4B8A.0171:SCFSTAT14830815,ss=1,re=-4.000,fgs=0, ip=0.0.0.0, so=2011-07-25 19:15:43, dmn=2011-05-27 18:58:46, mode=multiengine X-Junkmail-IWF: false Subject: Re: [PHP-DEV] [VOTE] Generators From: lester@lsces.co.uk (Lester Caine) Andrew Faulds wrote: > > Derick Rethans wrote: >> >Nothing shows that they are. In any example I saw, I don't even see any >> > >> >OO syntax/functionality. For me, "yield" is a core syntax*keyword*, >> >and >> >hence: no exceptions. >> > > I was unware PHP was a purist, non-OOP language. What is "OO syntax" anyway? Why can the core not use high-level language constructs too? > > Yield is core syntax, but it produces a function returning a generator, which is an object, and since Iterators use Exceptions, it would be stupid for Generators, which*are* a class of Iterator, not to. Actually - shouldn't the discussion on use of Exceptions be sorted out prior to adding them piecemeal into new functions. If I had a vote I'd certainly ask that any implementation of generators respected the 'core' code practices. Iterators are simply an add-on in my design manual and can be avoided - as can yield - but yield is being brought in at a level where it is more invasive? Error handling is another growing minefield and needs to be tidied up before this sort of creep makes it impossible to remove if that is the preferred option? There needs to be a formal agreement on Exceptions before they are pushed out further. -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk Rainbow Digital Media - http://rainbowdigitalmedia.co.uk