-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pattern matcher support for dead clauses #127
Comments
Hmm, I seem to be running into this error using your example (with the minor modification of importing cur/stdlib/sugar):
But yeah, the behaviour you describe would definitely have problems as is... One approach could be to determine this beforehand when some parameterized type, e.g. E.g. What do you think about this approach? Any pitfalls? Again, I'm worried that this doesn't work in the general case since I'm not too familiar with the syntax, and what is considered legal behaviour in define-datatype. |
You'll need to pull/reset on master (we finally merged everything!). I "fixed" that bug. That sounds about right. I don't see the potential performance issue though. I'd probably try to write a type "equivalence" (not really equivalence, but unification, but I don't want a general, global unification system) procedure, then ensure that there is a branch for each constructor whose type (instantiated with all the right arguments) that is "equal" (in the above sense) to the type of the target of the pattern match. |
Are you familiar with this issue?
It seems to be present in any file using |
Yes, you'll need to update to Turnstile's main branch. You can probably do this by uninstalling turnstile etc, then just do |
The following ought to type check, since there are no other constructors whose type (index) matches the input type:
I fear this requires non-trivial changes.
@pwang347, interested?
The text was updated successfully, but these errors were encountered: