mirror of
https://github.com/roc-lang/roc.git
synced 2025-12-10 19:19:19 +00:00
Programs like
```
after : ({} -> a), ({} -> b) -> ({} -> b)
fx = after (\{} -> {}) \{} -> if Bool.true then fx {} else {}
```
are legal because they always decay to functions, even if they may not
look like functions syntactically. Rather than using a syntactic check
to check for illegally-recursive functions, we should only perform such
checks after we know the types of values.
Closes #4291
|
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| Cargo.toml | ||