Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:73404 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 71764 invoked from network); 25 Mar 2014 02:00:17 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 Mar 2014 02:00:17 -0000 Authentication-Results: pb1.pair.com smtp.mail=garyamort@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=garyamort@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.45 as permitted sender) X-PHP-List-Original-Sender: garyamort@gmail.com X-Host-Fingerprint: 209.85.192.45 mail-qg0-f45.google.com Received: from [209.85.192.45] ([209.85.192.45:51098] helo=mail-qg0-f45.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 02/F1-60997-E23E0335 for ; Mon, 24 Mar 2014 21:00:17 -0500 Received: by mail-qg0-f45.google.com with SMTP id j5so19330677qga.4 for ; Mon, 24 Mar 2014 19:00:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=YO+POAQLbuR5ZBp8BsSGYLrgfz/8NWPebVTQCnZypMY=; b=MX6DBoFRdJxwh/1Xi7aWsqudxSU+6MzpVmccHW/ZoOd13Hb1lcFbCC9FQsYkawDUpl BjYnixIMKVkpWb8ggLadkYR94CV2ytgPVk5QGYeyMxJVodL7AJrHkl6ZwV+NwVD9CNVs RicbmAuMbK67dzRMd9K8Ao5+emS5YeL/71MWYr6mJfcR7QP1QpRV/0QinlB/D1bamwLG HzHXoHXxRqWabkHLg11FZyvWyP8Az+o7HwPrYJqii7k6nnGkqHzC1fHMeQ1OcRaehZK8 jKWgMwhvmeX17DKqh44RDJrRIwATSxgyemf5BuGb4DF17/4Q54aaaIqrxVTCzsmYvEU9 a7oA== X-Received: by 10.229.53.136 with SMTP id m8mr39099765qcg.4.1395712812535; Mon, 24 Mar 2014 19:00:12 -0700 (PDT) Received: from ?IPv6:2604:2000:1118:4036:62a4:4cff:fea8:603d? ([2604:2000:1118:4036:62a4:4cff:fea8:603d]) by mx.google.com with ESMTPSA id 6sm19692884qgf.8.2014.03.24.19.00.11 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 24 Mar 2014 19:00:12 -0700 (PDT) Message-ID: <5330E32A.8090605@gmail.com> Date: Mon, 24 Mar 2014 22:00:10 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: internals@lists.php.net References: <532FF7B9.5040700@hoa-project.net> <1395653827.9365.9.camel@guybrush> <1395654744.9365.17.camel@guybrush> <1395655474.9365.25.camel@guybrush> In-Reply-To: <1395655474.9365.25.camel@guybrush> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] PHP Specification From: garyamort@gmail.com (Gary Mort) On 03/24/2014 06:04 AM, Johannes Schlüter wrote: > On Mon, 2014-03-24 at 10:55 +0100, Pierre Joye wrote: >> On Mon, Mar 24, 2014 at 10:52 AM, Johannes Schlüter >> wrote: >> >>> In my opinion it is a good thing that PHP is powerful enough to enable >>> frameworks etc. to innovate around the core language. The core language >>> has to be a reliable and stable. >> >> Agreed, but I was not clear. I refer to core features like what we can >> find in hhvm, hack, more recently the JVM compiler or similar >> projects. Many features which have nothing to do with the engine they >> use should have been available in the core since long. > > If anybody (being a contributor to a clone or some "user") sees anything > in any implementation that they want to be part of PHP they can under > the RFC process. > > If anybody thinks there is need for a specification they can start > writing it and look for help and review. What would be the process for that? The RFC process covers adding new features and removing deprecated features. The documentation process covers documenting how to use certain features. Neither of these processes seem to be a direct fit for specifying how certain features should handle undocumented features. If the RFC process is the correct one to follow for that, that would be great. From there it would then be up to those want to spend the time to create the RFC itself and then it would be welcome on this list to propose/advocate for it? Note: this same issue has also occurred with gcc. As the Clang compiler gains popularity, the Clang developers have been running test compiles of popular open source c/c++ code with it and they have discovered hundreds of bugs in those projects. Because of undocumented/broken features in gcc the source for those projects compiles and runs anyway. Obviously if gcc claims to be a "standards compliant" compiler then if it is allowing code which is not standards compliant to compile without generating any warnings gcc is 'broken'. However, they are naturally reluctant to "fix" a bug which will then break other people's projects. Alternative implementations are great for discovering bugs in the reference implementation.