Default Real (Float) kind?

If constant folding works, the execution would only be “conceptually” deferred whenever it is an argument in a function call where precision can be determined. In fact it would be determined at compile time.

In Julia it is generally not a good idea to defer compilation, and it isn’t easy either. The whole language is built around AOT compilation after all.

Perhaps you did not read the code sketch I wrote above? The proposed specs are pretty much like IrrationalExpressions.jl.

Precisely. That’s why I don’t want to do it at all :wink:

I think that for most applications of scientific computing (which is the comparative advantage of Julia), RRA has the wrong cost/benefit profile. Sure, it is cute for a calculator in Android, but even there I would just go with a Common-Lisp style promotion on demand to BigInt and plain vanilla 64-bit floats otherwise. From a practical perspective, this was a perfect example of nerdsniping.