During investigation a different issue has been found. Currently, e.g. when checking args to a method call, if there's an error then inference variable remains free. It allows to continue typechecking without spurious additional errors triggered by former ones, but with this approach all relations must gracefully handle free vars, and it's more difficult to avoid "no type". There's an alternative to always assign to inference var a type at hand, even it doesn't pass checks -- but then there're more unneccessary errors. Both approaches seem valid, no action is taken now. |
||
|---|---|---|
| .. | ||
| fitch | ||
| lambdacalc | ||
| mpscore | ||