but maybe I'm stupid
it's entirely possible that somebody else has either done this or proven it infeasible/impossible, in which case feel free to laugh at me
re: PL rant, long
the Scheme standard (R5RS at least) already gets away with the statement "All objects have unlimited extent, no object is ever destroyed" - and it heavily implies that the idealized semantics would extend this with "memory is infinite"
that applies to all languages with automatic memory management - that's basically the point, at least the "infinite memory" part
"Implementation limits" would essentially become part of the approximation ruleset, as would things like floating-point arithmetic (treating inexact approximations as ideal is just wrong)
I want to see a compiler that can optimize for accuracy, and it seems like this kind of split is the clearest way to accomplish that
If a language outright prohibits folding sqrt(2)*sqrt(2) into exactly 2 something is wrong, whether a given compiler is smart enough to actually do that in a given case is completely irrelevant
Compilers keep getting smarter, and I want to see that put in service of something other than mindless speed for a change
A Mastodon instance for users who like the study of programming languages, formal semantics, types, or linguistics.