Try SimpleInt / SimpleReal in context for lazy and !refl #1279
Labels
enhancement
interpreter
needs to be implemented in the interpreter (/interpreter, /runtime)
rir
concerns the R to RIR compiler, or RIR bytecode (/ir)
Sometimes we get a context flagged with SimpleInt, NoRefl, Lazy . This means we get a promise which is, most likely, just a variable lookup that is bound (eventually, after several promises in between) to a simple int. We would get a simple int as long this is not modified by reflection. Currently, when translating the context to the type of the arg, we ONLY set the type simpleInt when the argument is already Eager.
We could optimize for this missing case. For example, if the arguments are forced right away and are all flagged with 'NoRefl'. Then it's safe to assume we got an integer.
The text was updated successfully, but these errors were encountered: