News for hackers. Stuff that matters.
Re:Whats New in PHP 8.2 by cestith on Monday April 25, 2022 @10:57AM (#31155770)
Oh, it makes sense. It would just make more sense to me if the unit type for an error or failure was called "error" or "failure". They're sort of overloading the idea of true/false here with the historical baggage of returning a value that evaluates to false-ish for failure, then codifying that in a new type rather than taking the chance to make the new type a clean break from that in-band concept.
Re:Whats New in PHP 8.2 by kijin on Monday April 25, 2022 @12:05PM (#31156819)
What else do you expect, PHP has its roots in a bunch of wrappers around C functions with in-band error signaling. Those functions are like grandpa's old watch that you just can't bring yourself to throw away even though it doesn't match any of your new outfits. Mama WordPress would be mad. :)
Re:Whats New in PHP 8.2 by cestith on Monday April 25, 2022 @01:28PM (#31158045)
I appreciate the humor.

On a little more serious note, Perl is an earlier language and even more closely tied to C tradition. Many (but not all) of its built-ins and library functions and methods return undef rather than 0 for failure.

Re:Whats New in PHP 8.2 by kijin on Monday April 25, 2022 @09:18PM (#31162921)
PHP functions don't return 0, either. They return `false` which is easy to distinguish from other false-ish values using the `===` operator. They're still overloading `false` with failure, of course, but it would be unfair to say that PHP conflates all the false-ish values.