Re: What do we need strict scalar type hints for?
| From: | Andrey Andreev | Date: | Wed, 04 Feb 2015 11:15:16 +0000 |
| Subject: | Re: What do we need strict scalar type hints for? | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-81809@lists.php.net to get a copy of this message | ||
Hi,
On Wed, Feb 4, 2015 at 1:02 PM, Florian Margaine <florian@margaine.com> wrote:
> Hi Leigh,
>
> Le 4 févr. 2015 11:50, "Leigh" <leight@gmail.com> a écrit :
>>
>> What was wrong with:
>>
>> function x(int $y, string $z) { // strict
>> function x((int) $y, (string) $z) { // casting
>>
>> This was the best suggestion I've seen that covers the requirements of
>> both camps, and is still very clear how data is going to be handled.
>>
>> Authors who want their APIs to adhered to strictly can do that,
>> authors who want to accept anything and have it end up as their
>> desired type can do that too.
>
> Because it is then the callee who decides, not the caller, whether or not
> he wants strict typing.
>
... and apparently, this is the root of all evil. :)
I am baffled by how the two-syntaxes suggestion is always so easily
dismissed by that argument. I'd argue that most people who support the
current proposal don't fully understand what declare(strict_type=1)
really does. As I've previously said - putting the caller in control
(and really the caller, not in a per-file context) makes it a
debugging tool, not support for strict typing.
Cheers,
Andrey.