On Sun, Nov 26, 2017 at 11:06 PM,  <encla...@safe-mail.net> wrote:
> I am proposing a patch (see attachment)
>
php.net mailing lists don't like attachments (virus paranoia and
similar).  If you have a patch, the best thing to do is submit it as a
PR on github.  Then, we can all link to parts and add comments and
it's generally a better place to discuss implementation.

> to bring C++-like function-try-block
> shorthand syntax 
> (http://en.cppreference.com/w/cpp/language/function-try-block)
> for whole-function try-catch-finally blocks:
>
It's a pretty minor bit of syntactic sugar that I use in C++
occasionally and it can reduce cognitive overhead by some fraction of
a percent at the cost of a little extra complexity in the parser and
no compiler/runtime changes.  Overall I'm only +0 on it as it does add
complexity to the parser for a very very tiny benefit.

Consider the following already legal syntax:

function fuu($foo, $bar): void {try
{
  may_throw($foo);
  may_throw($bar);
} catch (FuuException $e) {
  echo $e->getMessage();
}}

Same effect and very nearly same visual scan as the block you pasted,
but with no need for additional syntax.

> Since PHP is partially influenced by C++, I believe this syntax would be
> a meaningful step in making PHP a little bit more intuitively compatible
> with C++ practices, which may prove useful for people who come to PHP from
> the C++ world (such as myself.)  The expected benefit is PHP becomes yet
> more familiar and comfortable for C++ programmers.
>
I'm not sure this statement is entirely accurate.  PHP's fundamental
inspirations come from perl and C.  It's OOP layer was inspired in
part from C++, but also from Java.  This mixed ancestry doesn't
necessarily indicate a push toward any one of those syntaxes.  PHP is
PHP, it's best when it steals the parts of other languages which make
sense for it to steal.

> I submitted my patch via the bugtracker: https://bugs.php.net/bug.php?id=75576
>
Ah, disregard my initial comment above then (though PRs do have advantages).
At a glance, your patch makes sense. 👍

-Sara

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to