effekt-lang / effekt-lang/effekt
Error messages referring to inferred capabilities are not helpful
- Dominant language
- Scala
- Stars
- 469
- Forks
- 41
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 23
Description
In the following example the generated error message refers to an implicitly inferred capability. It is never bound and impossible to understand:
```
effect Yield(): Unit
def foo() = {
var x in global = 42;
x = x + 1
def bar(): Unit / {} = do Yield();
println(x)
fun() { bar() }
}
def main() = try {
foo()
} with Yield { resume(()) }
```

The inferred type of `foo` also mentions the capability (which is equally hard to understand)

We need a proper way to refer to capabilities that are introduced for effects.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.