You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are currently some unresolved bugs in type inference which impact the Java coder more than anything else. While the inference solution is "good enough" for most purposes, the Heisenbugs are standing in the way of a 1.0 release. Inference has been challenging to debug in the past due to the fact that unification strictly follows type inference: as we infer types from terms, we collect a set of type constraints, then unify over all of those constraints at once. This makes problems in any one inference rule hard to localize.
There is no reason unification needs to happen all at once; we can unify after each rule, and potentially spot problems sooner. Although inference doesn't actually fail in the case of these bugs (it just produces wrong answers), it will not hurt to have a smaller set of constraints to work with while debugging.
The text was updated successfully, but these errors were encountered:
In the sense of being bugs which seemingly disappear when you try to investigate them. As you decompose the problem into smaller problems, the interactions (between constraints from different rules/levels) which gave rise to the problem disappear.
There are currently some unresolved bugs in type inference which impact the Java coder more than anything else. While the inference solution is "good enough" for most purposes, the Heisenbugs are standing in the way of a 1.0 release. Inference has been challenging to debug in the past due to the fact that unification strictly follows type inference: as we infer types from terms, we collect a set of type constraints, then unify over all of those constraints at once. This makes problems in any one inference rule hard to localize.
There is no reason unification needs to happen all at once; we can unify after each rule, and potentially spot problems sooner. Although inference doesn't actually fail in the case of these bugs (it just produces wrong answers), it will not hurt to have a smaller set of constraints to work with while debugging.
The text was updated successfully, but these errors were encountered: