Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:73422 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 31203 invoked from network); 25 Mar 2014 12:52:54 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 Mar 2014 12:52:54 -0000 Authentication-Results: pb1.pair.com header.from=davidkmuir@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=davidkmuir@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.169 as permitted sender) X-PHP-List-Original-Sender: davidkmuir@gmail.com X-Host-Fingerprint: 209.85.192.169 mail-pd0-f169.google.com Received: from [209.85.192.169] ([209.85.192.169:62119] helo=mail-pd0-f169.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 93/40-29088-52C71335 for ; Tue, 25 Mar 2014 07:52:54 -0500 Received: by mail-pd0-f169.google.com with SMTP id fp1so398931pdb.0 for ; Tue, 25 Mar 2014 05:52:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=AaylSTLiAt2IMXXdF4SdAxHfGL2tyOaVZTu7bcvWkfw=; b=g2N7z9+fMH9tkzBy5ZQsmTeQNPWH16yTbhU1zF03YwDyOkHslh2rfcJZ0WtV/QqfuO UvbB9sdgU/+Um8AtZS1yCiB5z2oPkrNu/ANRT/R/o1RRHAiXqU25BB3Ct1hPiEBdORby 00JmQswlrwaJ4P2KzkJXOib1oPr3jIUMfgRAggHwxvvQAuYkodj5NLHph+Q4+CoMSreR 6WJbprQe0WkY7OTP0twqdd1fjopnTJ1YqHRkX1wjOBqJSN20g5DOcCNo1C30Dgkq3ME2 652iDCrRe46jS2KcgtCaMKxE9WenX9TbyT/lkuy+OSP+aehk4oC+DmvIhC7YmHwJqHEv qUGQ== X-Received: by 10.68.161.101 with SMTP id xr5mr9368582pbb.168.1395751970763; Tue, 25 Mar 2014 05:52:50 -0700 (PDT) Received: from [192.168.0.3] (115-64-165-88.static.tpgi.com.au. [115.64.165.88]) by mx.google.com with ESMTPSA id ug9sm44370422pbc.11.2014.03.25.05.52.48 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 25 Mar 2014 05:52:49 -0700 (PDT) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) In-Reply-To: <53313EE6.4000806@hoa-project.net> Date: Tue, 25 Mar 2014 23:52:12 +1100 Cc: internals@lists.php.net Content-Transfer-Encoding: quoted-printable Message-ID: References: <532FF7B9.5040700@hoa-project.net> <5330582B.1020604@hoa-project.net> <5330661B.80202@garfieldtech.com> <5330E334.7060109@gmail.com> <53313EE6.4000806@hoa-project.net> To: Ivan Enderlin @ Hoa X-Mailer: Apple Mail (2.1510) Subject: Re: [PHP-DEV] PHP Specification From: davidkmuir@gmail.com (David Muir) On 25/03/2014, at 7:31 PM, Ivan Enderlin @ Hoa = wrote: > I am not sure to understand your proposal well, but instead of = producing a full complete specification at first, we should focus on = important features than other implementations do not support. Typically, = the fact the `php` binary reads from its stdin is missing most of the = time. >=20 > I imagine to start the specification at different levels: >=20 > * the syntax, which is not easy since PHP grammars is ambigious but = it's feasible in a reasonable time, > * the semantics, very very important, it will describe how data are = represented, objects etc., how they behaves, it will clarify a lot of = things > * the tool, i.e. the PHP architecture through SAPI, one of the most = clever feature of PHP, > * the extension, how are they split in different directories, how to = load them etc. (still from the user point of view) > * then the standard library, which includes ext/core, ext/standard, = ext/stream etc. >=20 > The goal is not, at first, to specify the behavior of all functions. = This would be totally crazy. PHP has a big tests suite to check that. = Before, the most important thing (for me) is to specify the langage = (syntax, semantics and tool). This is a good start and a nice task since = types, auto-boxing, generators etc., will be described in those parts. >=20 I don't think the SAPI and extension parts should be part of a language = specification. To me, those are implementation concerns. Language should be concerned with syntax, semantics and standard = libraries. Cheers, David=