Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:82219 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 32151 invoked from network); 9 Feb 2015 04:20:30 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Feb 2015 04:20:30 -0000 Authentication-Results: pb1.pair.com header.from=leverton@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=leverton@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.182 as permitted sender) X-PHP-List-Original-Sender: leverton@gmail.com X-Host-Fingerprint: 209.85.192.182 mail-pd0-f182.google.com Received: from [209.85.192.182] ([209.85.192.182:35662] helo=mail-pd0-f182.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id BB/B4-26926-D8538D45 for ; Sun, 08 Feb 2015 23:20:29 -0500 Received: by pdbfl12 with SMTP id fl12so3548095pdb.2 for ; Sun, 08 Feb 2015 20:20:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=SfNSEy9f7Fr4NGBsACQ3z0zu0RGlLzUM0Sxvg/mQfPg=; b=CH16920yP0IAXdcvWbyulQFkKYPocAXHS+CeegFFyBOq/sljoOTxWeM+z5KFVwyCuD F3WSt/L8aELiifc8gf8ZIA8QPhFGXUCWJXB2cSR1yDmgPOZDOVFwX4Ns64w5JlnBl6u4 sRoLCBlUa3d/jNFDif1u/LY6fs61BA8dLKTq5+Kdbob3WTgnm3GpkGVqViztZmWSq775 ZBnl5hcXzLQ/XLeCZI7jKa6yABzLil3LuZmJZKUQ7K/eS0tpZcX4n+LNHkuMFO2mjXks kZ/Hr03pfLF7nx/lZ3TS35F/LqmDv8gW0LDv4vV0QOcRwBXtlHtyWLHjGtWalPxLNIyO cT+A== MIME-Version: 1.0 X-Received: by 10.66.121.134 with SMTP id lk6mr25384789pab.71.1423455626222; Sun, 08 Feb 2015 20:20:26 -0800 (PST) Received: by 10.70.65.130 with HTTP; Sun, 8 Feb 2015 20:20:25 -0800 (PST) In-Reply-To: <0a344270616df2c33c8a1f5db2df08a0@mail.gmail.com> References: <8703B53E-2C4A-4AC6-95C4-D4F19C6D5221@ajf.me> <54D5659D.5000602@php.net> <54D7A6DB.3050209@seld.be> <0a344270616df2c33c8a1f5db2df08a0@mail.gmail.com> Date: Sun, 8 Feb 2015 22:20:25 -0600 Message-ID: To: Zeev Suraski Cc: PHP internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] [VOTE] Scalar Type Hints From: leverton@gmail.com (Matthew Leverton) On Sun, Feb 8, 2015 at 3:22 PM, Zeev Suraski wrote: > I'm well aware of it as I wrote that policy. The goal of the policy was to > prevent a situation where a temporary majority can introduce features into > the language that would later on be impossible to reverse. It's not by any > stretch a good mechanism to solve controversial votes, which again, should > ideally be avoided as much as possible. It's just that there isn't a better > mechanism. > I know I'm unfairly paraphrasing you, but it sounds like you are saying that for things that you don't have strong feelings about, then you're fine if the others vote amongst themselves. But for things that matter to you, you want to reserve the right to prevent change. Is there a way to fairly describe what you consider too controversial to vote on? The problem I see with votes for this type of feature is that you probably have a breakdown of something like: - 10% of people don't want scalar type hints - 20% of people want both, but 50% of them would vote for either weak or strong - 35% of people want strict, but 80% of them are fine with weak - 35% of people want weak, but 80% of them are fine with strong So if a strict-only vote happens first, you get 73% to say yes. If weak-only vote happens first, you get 73% to say yes. (I'm obviously just making up these numbers with no scientific basis, but I think the principle is valid.) The only way to be fair IMO is to hold a vote where you rank those four options (weak, strong, both, neither) and hold an instant run-off vote where the first majority wins. And if 'neither' wins, then agree that the topic cannot be revisited until next major version, so that everybody can rest for 5 years. ;) -- Matthew Leverton