Hi all,
I wonder what to do with the PHP Language Specification[1]. Apparently,
the repo is abandoned (last commit was more than a year ago, although
PHP 8 changed quite some stuff). If we don't have the bandwidth to
maintain it, we should mark it as unmaintained, and maybe some of the
information could be moved to the PHP manual (I quite like the strict
syntax specification, which the manual almost completely lacks).
Thoughts?
[1] https://github.com/php/php-langspec
--
Christoph M. Becker
czw., 6 maj 2021, 16:01 użytkownik Christoph M. Becker cmbecker69@gmx.de
napisał:
Hi all,
I wonder what to do with the PHP Language Specification[1]. Apparently,
the repo is abandoned (last commit was more than a year ago, although
PHP 8 changed quite some stuff). If we don't have the bandwidth to
maintain it, we should mark it as unmaintained, and maybe some of the
information could be moved to the PHP manual (I quite like the strict
syntax specification, which the manual almost completely lacks).Thoughts?
How much effort would it require?
Is there potentially someone who could help with reviews?
Cheers,
Michał Marcin Brzuchalski
On Thu, May 6, 2021 at 10:10 AM Michał Marcin Brzuchalski <
michal.brzuchalski@gmail.com> wrote:
czw., 6 maj 2021, 16:01 użytkownik Christoph M. Becker cmbecker69@gmx.de
napisał:I wonder what to do with the PHP Language Specification[1]. Apparently,
the repo is abandoned (last commit was more than a year ago, although
PHP 8 changed quite some stuff). If we don't have the bandwidth to
maintain it, we should mark it as unmaintained, and maybe some of the
information could be moved to the PHP manual (I quite like the strict
syntax specification, which the manual almost completely lacks).How much effort would it require?
Is there potentially someone who could help with reviews?
Which part? Getting it up to date and keeping it there? Or moving the parts
we most care about to the manual then abandoning it?
I'm actually fairly happy either way, but it does need some TLC. Some
brave soul to step up and yes, "YES! I WILL DEFEND THE LANGUAGE
SPECIFICATION!" Someone with the courage to do the dirty work. WHO WILL
STAND AND FIGHT?!*
-Sara
- I just got my second dose of the vaccine and evidently it's making me a
bit goofy, but don't let that stop anyone from stepping up. We all make
PHP better together.
czw., 6 maj 2021, 17:23 użytkownik Sara Golemon pollita@php.net napisał:
On Thu, May 6, 2021 at 10:10 AM Michał Marcin Brzuchalski <
michal.brzuchalski@gmail.com> wrote:czw., 6 maj 2021, 16:01 użytkownik Christoph M. Becker <cmbecker69@gmx.de
napisał:
I wonder what to do with the PHP Language Specification[1]. Apparently,
the repo is abandoned (last commit was more than a year ago, although
PHP 8 changed quite some stuff). If we don't have the bandwidth to
maintain it, we should mark it as unmaintained, and maybe some of the
information could be moved to the PHP manual (I quite like the strict
syntax specification, which the manual almost completely lacks).How much effort would it require?
Is there potentially someone who could help with reviews?Which part? Getting it up to date and keeping it there? Or moving the
parts we most care about to the manual then abandoning it?I'm actually fairly happy either way, but it does need some TLC. Some
brave soul to step up and yes, "YES! I WILL DEFEND THE LANGUAGE
SPECIFICATION!" Someone with the courage to do the dirty work. WHO WILL
STAND AND FIGHT?!*
I can do this.
I love language nuances and clear explanations.
Possibly that would not be fast from my side but I believe this kind of
project doesn't have to reflect language changes immediately when it comes
to interpreter. Also a lot of time would spend on new content quality but I
believe when I ask for a help with not my native English language can
always find it.
At least I'm brave enough to pick up the gauntlet.
What do you say?
Cheers,
Michał Marcin Brzuchalski
czw., 6 maj 2021, 17:23 użytkownik Sara Golemon pollita@php.net napisał:
On Thu, May 6, 2021 at 10:10 AM Michał Marcin Brzuchalski <
michal.brzuchalski@gmail.com> wrote:czw., 6 maj 2021, 16:01 użytkownik Christoph M. Becker <cmbecker69@gmx.de
napisał:
I wonder what to do with the PHP Language Specification[1]. Apparently,
the repo is abandoned (last commit was more than a year ago, although
PHP 8 changed quite some stuff). If we don't have the bandwidth to
maintain it, we should mark it as unmaintained, and maybe some of the
information could be moved to the PHP manual (I quite like the strict
syntax specification, which the manual almost completely lacks).How much effort would it require?
Is there potentially someone who could help with reviews?Which part? Getting it up to date and keeping it there? Or moving the
parts we most care about to the manual then abandoning it?I'm actually fairly happy either way, but it does need some TLC. Some
brave soul to step up and yes, "YES! I WILL DEFEND THE LANGUAGE
SPECIFICATION!" Someone with the courage to do the dirty work. WHO WILL
STAND AND FIGHT?!*I can do this.
I love language nuances and clear explanations.
Possibly that would not be fast from my side but I believe this kind of
project doesn't have to reflect language changes immediately when it comes
to interpreter. Also a lot of time would spend on new content quality but I
believe when I ask for a help with not my native English language can
always find it.At least I'm brave enough to pick up the gauntlet.
What do you say?
IMHO it is okay if the language specification doesn't reflect languages
changes "immediately", but still not reflecting some PHP 7.1 changes[1]
makes it pretty useless to me. And of course, this raises the question
which PHP version shoud be documented? Different branches for each
version, or maybe add comments/changelog entries?
And then there is the even more general question regarding "conforming
implementations". How many are there? The language specification has
mostly been written to clarify the supposed behavior for different PHP
implementations, but that doesn't seem to really matter nowadays. Note
that the test suite has been intended to be used by all conforming
implementations, but in practice isn't used by anybody.
[1] https://github.com/php/php-langspec/issues/204
--
Christoph M. Becker
On Thu, May 6, 2021 at 10:10 AM Michał Marcin Brzuchalski <
michal.brzuchalski@gmail.com> wrote:czw., 6 maj 2021, 16:01 użytkownik Christoph M. Becker cmbecker69@gmx.de
napisał:I wonder what to do with the PHP Language Specification[1]. Apparently,
the repo is abandoned (last commit was more than a year ago, although
PHP 8 changed quite some stuff). If we don't have the bandwidth to
maintain it, we should mark it as unmaintained, and maybe some of the
information could be moved to the PHP manual (I quite like the strict
syntax specification, which the manual almost completely lacks).How much effort would it require?
Is there potentially someone who could help with reviews?Which part? Getting it up to date and keeping it there? Or moving the parts
we most care about to the manual then abandoning it?I'm actually fairly happy either way, but it does need some TLC. Some
brave soul to step up and yes, "YES! I WILL DEFEND THE LANGUAGE
SPECIFICATION!" Someone with the courage to do the dirty work. WHO WILL
STAND AND FIGHT?!*-Sara
- I just got my second dose of the vaccine and evidently it's making me a
bit goofy, but don't let that stop anyone from stepping up. We all make
PHP better together.
Having an independent specification is a good thing, but as you say it needs people. It also needs a commitment from the core dev process to include updating it in the process. That was always the missing link, IIRC. Documentation already suffers from the same problem (updates for docs are left for "someone else to do later" when an RFC is proposed), but at least there the demand for Someone(tm) to Do Something(tm) is large enough and the barrier to entry low enough that it mostly happens eventually, mostly. Neither of those is the case for the spec, which is why it just doesn't happen.
Is it going to be supported by people working on core? Fantastic. If not, it's going to get and stay out of date and offer not enough value for anyone to bother stepping up to pick up that slack. (As we've seen.)
I agree it needs to be either promoted to euthanized, one or the other.
--Larry Garfield
Is it going to be supported by people working on core? Fantastic. If not, it's going to get and stay out of date and offer not enough value for anyone to bother stepping up to pick up that slack. (As we've seen.)
I think we should require RFCs that propose new or updated syntax to
include in the body of the RFC the relevant grammar for updating the
langspec and possibly a related PR to the php-langspec repo, as well.
Cheers,
Ben
Hi!
I wonder what to do with the PHP Language Specification[1]. Apparently,
the repo is abandoned (last commit was more than a year ago, although
PHP 8 changed quite some stuff). If we don't have the bandwidth to
maintain it, we should mark it as unmaintained, and maybe some of the
information could be moved to the PHP manual (I quite like the strict
syntax specification, which the manual almost completely lacks).
The old stuff I think is still valid, but would be nice if somebody took
on themselves to update it. I think the spec and the manual are
different documents, for different audiences, so having separate spec
would be a good thing. However, we should have clear demarcation which
parts applies to which version and which parts are missing.
--
Stas Malyshev
smalyshev@gmail.com
On Thu, May 6, 2021 at 4:01 PM Christoph M. Becker cmbecker69@gmx.de
wrote:
Hi all,
I wonder what to do with the PHP Language Specification[1]. Apparently,
the repo is abandoned (last commit was more than a year ago, although
PHP 8 changed quite some stuff). If we don't have the bandwidth to
maintain it, we should mark it as unmaintained, and maybe some of the
information could be moved to the PHP manual (I quite like the strict
syntax specification, which the manual almost completely lacks).
To offer a counter-opinion to what others said: Yes, we should absolutely
discontinue the language specification.
The thing is, this is a project without purpose, or at least no purpose
that I am able to discern. Without a very significant amount of effort, the
language specification is so far removed from being either accurate or
complete, that it is of very limited usefulness to alternative
implementations of PHP. The grammar is probably the only part that's
somewhat accurate -- and I think people can get similar mileage from just
looking at zend_language_parser.y directly, which happens to reflect the
ground truth and never get outdated.
I think the only real usefulness the language specification has right now
is that we're able to say "we have a specification".
Now, if someone does want to pick up maintenance, be my guest, but I think
requiring RFC authors or core developers to update the spec is a
misallocation of resources: If we want to include "writing documentation"
as part of the change process, then it would be much more valuable to write
documentation for php.net, which is used by hundreds of thousands of
developers, rather than the language specification, which is used by a
handful at best.
Regards,
Nikita
If we want to include "writing documentation"
as part of the change process, then it would be much more valuable to write
documentation for php.net, which is used by hundreds of thousands of
developers, rather than the language specification, which is used by a
handful at best.
I agree with this.
The reality is, the specification is just another form of documentation.
When it was written, there was a realistic prospect of two competing
implementations needing to agree on new features, but that never
happened, so if the spec doesn't agree with the implementation, it's
always the spec that's wrong.
If we want the behaviour of the language to be better documented, we
have existing places for that:
- Incorporate formal descriptions from the language spec into the
manual. Maybe we need a way of embedding grammar snippets into
appropriate chapters. - Document behaviour in edge cases - defaults, error conditions,
interactions of options, etc. You don't have to be writing an
implementation to want to know that stuff. - Encourage, or require, contributors to write some basic documentation
of new features. We have bundled functions and options without even a
single sentence in the manual. - Write tests, and label them clearly. If anyone wants to write an
alternative implementation, they can run the test suite against it.
Regards,
--
Rowan Tommins
[IMSoP]