-
Notifications
You must be signed in to change notification settings - Fork 37
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
No deref on HO variable when unifying? #232
Comments
Surely a bug |
Not a bug, but a missing feature. It seems move needs to do no restriction, but instead checks if doing it would be deterministic, and it would be not (but is also unnecessary) |
I want to submit a further example where this would be useful, and not involving a beta reduction: type subst any -> any -> o.
subst X TX :- T X = TX. %% X is not dereferenced
main :- pi x \ subst x (foo x). with the slightly different The more general use case is the following. Given a ground term |
This one is not a bug, since T sees X twice (one copy is passed, but T is also generated under the pi...).
|
This makes sense, thanks for catching that. |
This code does not work:
Error msg:
Anomaly: Non deterministic pruning, delay to be implemented: t=A1 (≪.X0≫_0 c1), delta=0
I would expect that after
p1
,p2
becomespi x\ f x = A x
, so thatA := (x\ f x)
or betterA := f
The text was updated successfully, but these errors were encountered: