Hi

On 2026-07-08 02:49, Pierre Joye wrote:
> If injectivity were the real goal, none of Java, Rust, or Temporal
> would be usable APIs by that standard, they're explicitly
> non-injective by design, and that hasn't stopped them from being the
> reference implementations you're citing as inspiration.

Yes, *inspiration*. We looked at those to see how others approach the
problem, but of course built our own list of requirements and/or goals
based on constraints imposed by PHP and also based on our experience of
working with dates and times both in PHP and other programming
languages.

I wonder, what are the constraints php has for this proposal? And how
PHP doing something different than almost any other language is the
result of these constraints?

Lack of method overloading would be one thing, see also: https://news-web.php.net/php.internals/131391.

As for the specific case of “the constructors should be injective functions”, you missed the second half of the quoted sentence: “and also based on our experience of working with dates and times both in PHP and other programming languages”, although native support for fixed-point decimals would certainly made the API nicer.

Best regards
Tim Düsterhus

Reply via email to