mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-17 17:25:01 +00:00
![]() Previously, a program like ``` main = f = n = 1 \{} -[#lam]-> n # suppose lambda set = #lam f {} ``` would be transformed to ``` main = n = 1 f = \{} -[#lam]-> n f {} ``` However, the IR lowering procedure is such that we would then associate `f` as definining the procedure given the lambda set `#lam`. This is not correct, as `f` is really a function pointer in this circumstance, rather than the definer of `#lam`. Instead, the transformation we want to perform is ``` main = n = 1 #lam = \{} -[#lam]-> n f = #lam f {} ``` Which is what this patch does Closes #2403 |
||
---|---|---|
.. | ||
generated | ||
src | ||
Cargo.toml |