Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:44725 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 79273 invoked from network); 6 Jul 2009 22:03:55 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Jul 2009 22:03:55 -0000 Authentication-Results: pb1.pair.com header.from=mls@pooteeweet.org; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=mls@pooteeweet.org; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain pooteeweet.org from 88.198.8.16 cause and error) X-PHP-List-Original-Sender: mls@pooteeweet.org X-Host-Fingerprint: 88.198.8.16 bigtime.backendmedia.com Linux 2.6 Received: from [88.198.8.16] ([88.198.8.16:56436] helo=bigtime.backendmedia.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 0B/1A-51746-9C4725A4 for ; Mon, 06 Jul 2009 18:03:54 -0400 Received: from localhost (unknown [127.0.0.1]) by bigtime.backendmedia.com (Postfix) with ESMTP id 1B3EB4144061; Mon, 6 Jul 2009 22:04:57 +0000 (UTC) X-Virus-Scanned: amavisd-new at backendmedia.com Received: from bigtime.backendmedia.com ([127.0.0.1]) by localhost (bigtime.backendmedia.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jpq3kldZkwKE; Tue, 7 Jul 2009 00:04:56 +0200 (CEST) Received: from [192.168.0.151] (84-72-88-166.dclient.hispeed.ch [84.72.88.166]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: mls@pooteeweet.org) by bigtime.backendmedia.com (Postfix) with ESMTP id EA132414405A; Tue, 7 Jul 2009 00:04:55 +0200 (CEST) Cc: Paul Biggar , PHP Internals Message-ID: To: Lukas Kahwe Smith In-Reply-To: <5E12256D-40D0-4115-91C6-B5C35ABBF10D@pooteeweet.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 7 Jul 2009 00:03:48 +0200 References: <5A834C9A-6D1B-49B7-88E6-FF047B084AB6@pooteeweet.org> <9B8C39B7-A5F8-4E61-BD7E-2069E584290D@pooteeweet.org> <5E12256D-40D0-4115-91C6-B5C35ABBF10D@pooteeweet.org> X-Mailer: Apple Mail (2.935.3) Subject: Re: [PHP-DEV] weak and strict type checking RFC From: mls@pooteeweet.org (Lukas Kahwe Smith) On 04.07.2009, at 22:08, Lukas Kahwe Smith wrote: > > On 04.07.2009, at 21:10, Paul Biggar wrote: > >> On Sat, Jul 4, 2009 at 7:12 PM, Lukas Kahwe =20 >> Smith wrote: >>>> I can't see the difference between your proposal and the =20 >>>> conclusion I >>>> reached yesterday? >>>> >>>> (which was that there is a near consensus around strict checks by >>>> default, with casts allowed with some syntax). >>> >>> Well to me it Sounded like you wanted to Rely on Standard Type =20 >>> juggling and >>> what i am proposing is more strict than that. More over i am Not =20 >>> convinced >>> that strict should Be the Default. >> >> I don't know what you mean by standard type-juggling. Your proposal >> really does not outline what you want very much, just what you're >> against. As for strictness, if your proposal suggests that strict >> typing is the default, I cannot see where. > > I did Not specify what doesnt Match in the RFC. I will fix that =20 > omission on monday. I assumed it was clear that i tried to Provide =20 > Complete examples for what will Pass. So Passung a String with =20 > anything but 1 or 0 would Not Pass =E0 Bool Type check. Ok, I have updated the RFC now with a table that shows that I expect =20 to pass and fail. Its fairly late, so I might have missed something. =20 In general what I am proposing is more lax than is_*() for the most =20 part. Especially when it comes to checking strings. I do not understand why its suddenly so urgent to get this feature =20 in(*), that people already speak about frustration over the process =20 after just a few days. We dont need years and usually not months, but =20= this is not the addition of some function. Its an extension to the =20 language syntax, so I think its totally normal that we talk about this =20= for at least a month. Though we do not of course need a daily exchange =20= of 100 emails about this in this period. Obviously things can still be =20= refined after the commit, but we should stuff give everybody a bit of =20= time to let this stuff sink in before we do the initial commit. Also =20 remember that plenty of people that contribute a fair bit to PHP =20 internals do not read internals actively every week. So again a month =20= isn't such a bad idea to have between the initial proposal and a =20 commit of the feature. regards, Lukas Kahwe Smith mls@pooteeweet.org (*) even if the patch Ilia proposed doesn't break binary compatibility =20= anymore, do we really want to start adding such stuff in 5.3.2? =20 shouldn't we rather talk about finding a better release process (maybe =20= build on top of recent developments in the version control world) that =20= enables us to more quickly get x.y releases out without preventing =20 bigger features like unicode from ever maturing?