Equality constraints meta issue
Equality constraints are sort of hard to encode systematically:
- what about mutually recursive classes + eq constraints?
- F* syntactically disallow defining 2+ mutually recursive typeclasses, but using plain records it's possible:
[@@FStar.Tactics.Typeclass.tcclass] type foo t = {f : t -> int} and bar t = {g : t -> int} - but then the constraints are not possible to define (we cannot destruct fields of mutually dependent types, see if it's easy to extend F*, see how this behaves in Coq/Lean)
- F* syntactically disallow defining 2+ mutually recursive typeclasses, but using plain records it's possible:
- can we detect casts? that is, when
A = B, andxhas typeAin a position whereBis expected, can we insert explicitlycast_using [[A=B]] x?
We also need a bunch of examples.
This issue has been marked as stale due to a lack of activity for 60 days. If you believe this issue is still relevant, please provide an update or comment to keep it open. Otherwise, it will be closed in 7 days.
Still relevant
This issue has been marked as stale due to a lack of activity for 60 days. If you believe this issue is still relevant, please provide an update or comment to keep it open. Otherwise, it will be closed in 7 days.
This issue has been marked as stale due to a lack of activity for 60 days. If you believe this issue is still relevant, please provide an update or comment to keep it open. Otherwise, it will be closed in 7 days.
Still an issue
This issue has been marked as stale due to a lack of activity for 60 days. If you believe this issue is still relevant, please provide an update or comment to keep it open. Otherwise, it will be closed in 7 days.