core.logic

Prep's use of metadata needs to be extended to other objects in ClojureScript

Details

  • Type: Defect Defect
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Completed
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None

Description

The simple unifier and binding-map work great in the simple cases, but fail with more complicated unification.
The root cause is prep's use of metadata banging up against JS Objects.

For the cases that fail, see the current failing tests:
https://github.com/clojure/core.logic/blob/master/src/test/cljs/cljs/core/logic/tests.cljs#L871

Activity

Hide
David Nolen added a comment - - edited

I still don't understand. Is it failing because it's trying to add metadata to objects which don't support that? That doesn't really make sense given the unifications that are failing that you've highlighted.

Show
David Nolen added a comment - - edited I still don't understand. Is it failing because it's trying to add metadata to objects which don't support that? That doesn't really make sense given the unifications that are failing that you've highlighted.
Hide
Paul deGrandis added a comment -

That's correct - I couldn't determine what the Object was in the code. Whatever it is, it just needs the IWithMeta protocol extended to it.

I thought you might have more insight.

Show
Paul deGrandis added a comment - That's correct - I couldn't determine what the Object was in the code. Whatever it is, it just needs the IWithMeta protocol extended to it. I thought you might have more insight.
Hide
David Nolen added a comment -

Ok will look into it.

Show
David Nolen added a comment - Ok will look into it.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: