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.
Language should be concerned with syntax, semantics and standard libraries.
Cheers,
David
Maybe it's a stupid question, but putting the current documentation into a proper format wouldn't it be a specification of the PHP language? Maybe not a complete specification and with some overhead, but it would provide all information for third party implementations, or not?
Nop :-). We have already answered to this question in this thread :-).