Welcome! Please see the About page for a little more info on how this works.

+1 vote
ago in core.unify by

core.unify does not preserve want-occurs? when recursing from unify-variable-. That is, if unify-varable- calls garner-unifiers, it does not pass itself as the uv-fn parameter, so garner-unifiers will default to unify-variable (which includes an occurs? check). I'm not sure if this was intentional, but I found it surprising. If not intentional, then I believe calls to garner-unifiers in create-var-unification-fn should look like:
(garner-unifiers ~'var-unify ~varp vb# ~expr ~binds)

1 Answer

0 votes
ago by

Thanks for the report. Definitely not intentional.

Logged at https://clojure.atlassian.net/browse/UNIFY-12

...