On 25/03/2014, at 7:31 PM, Ivan Enderlin @ Hoa <
[email protected]> 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.
I imagine to start the specification at different levels:
* 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.
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.
I don't think the SAPI and extension parts should be part of a language specification. To me, those are implementation concerns.
Yes maybe. But it must be specified that PHP works behind a FastCGI server, and how variables and environment from the server and the system is set.
Language should be concerned with syntax, semantics and standard libraries.
Certainly.