Re: Question on using eval...
"Ruud H.G. van Tol" <[email protected]>
| Newsgroups | gmane.comp.mathematics.pari.devel |
|---|---|
| Message-ID | <[email protected]> |
On 2023-01-03 12:11, Bill Allombert wrote: > On Tue, Jan 03, 2023 at 10:43:48AM +0100, Ruud H.G. van Tol wrote: >> The "symbolic equality" also needs to be defined first. >> >> ? f(a,b,c) = (a / b) + c; >> ? g(a,b,c) = a / b + c; >> ? h(a,b,c) = c + a / b; >> ? print([f == g, f == h, g == h, g == f, f === g]); >> [1, 0, 0, 1, 1] > Indeed, comparing closures means comparing the bytecode generated by the internal compiler. > The parser ignores useless parentheses so f and g are identical. How human ;) I would prefer it to (optionally?) generate the same bytecode (and maybe also a function-fingerprint or -identity) for either f,g,h though, or is that not a worthy goal? This assumes ignoring spurious rounding effects, but I think that is only good, as there are always cleaner ways to code those in. -- Ruud