Re: Proposal: shorthand syntax for initializing arbitrary-precision("bigint") numbers?
| From: | Andrea Faulds | Date: | Sat, 08 Aug 2020 12:44:30 +0000 |
| Subject: | Re: Proposal: shorthand syntax for initializing arbitrary-precision("bigint") numbers? | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-111374@lists.php.net to get a copy of this message | ||
Hi Tyson,
tyson andre wrote:
What are your thoughts on makingWe could do that, but maybe this is a good opportunity to do something with a wider benefit than GMP by having a generalised solution? GMP is already special in some ways and it would be a shame to have even more functionality that privileges it. For example, what if we allowed string prefixes to have special user-defined meanings, like: n"123_456" // expands to: gmp_init('123_456') u"foo bar" // expands to: new UnicodeString("foo bar") (some class I made up) d"123.456" // expands to: new Decimal("123.456") (also an imaginary class) This would be a similar idea to JavaScript's template string tags: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals How you'd define the mappings from prefixes to executed code, I'm not sure, but we could just make it call a function by that name in the current namespace… though that would prompt the question “why not just write123_456_000_000_000_000_000_000na shorthand forgmp_init('123456000000000000000000')(or a call with equivalent results) (similar to existing backtick string syntax is a shorthand forshell_exec())
d("123.456"), which is already possible?” and I don't have a good answer to that :)
Regards,
Andrea