3 ms·
Python, common lisp, and perl for starters.
by hansvm 4y ago
Python, common lisp, and perl for starters.
- webstrand 4y agoI didn't know python could do that, that's pretty cool. I gotta disagree on perl, though, even though it can represent numbers outside of the range of a double, it can't manipulate them without converting them into doubles.
- Sesse__ 4y ago“use bignum;” and you can.
- pacaro 4y agoAlso scheme and prolog The problem you can then run into is that a mathematical operation can OOM
- kazinator 4y agoI've not seen this in practice. You need some numeric accident involving a higher power operator like exponentiation. In TXR Lisp I made exponentiation n-ary: you can do (expt x y z ...). The associativity is right to left: it means ... z y x rather than the less useful cumulative exponentiation of the same base: yz... x which can easily be obtained as (expt x (* y z ..)). So, anyway, if you apply expt to small list of small operands, you can cons up a big number in rather a hurry. If it is important to prevent a problem like this, a limit can be imposed on bignums (say, large enough for common cryptography to still work).