<< Back to previous view

[LOGIC-169] equality of non-unique lvars broken for clojure 1.7 Created: 25/Jun/15  Updated: 02/Jul/15

Status: Open
Project: core.logic
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Trivial
Reporter: Maik Sch√ľnemann Assignee: David Nolen
Resolution: Unresolved Votes: 0
Labels: clojure-1.7

Attachments: Text File 0001-alter-equality-of-non-unique-lvars-for-clojure-1.7.patch    
Patch: Code and Test

 Description   

clojure 1.7 changes the interning of strings when creating symbols, as is described here
https://github.com/clojure/clojure/blob/master/changes.md#23-keyword-and-symbol-construction

Therefore, two non-unique lvars with the same name don't have to be equal anymore with the current
Lvar equality method which checks (identical? name (:name o)).

This is causing expresso, which relies on non-unique lvars for the rule engine to fail with clojure 1.7

changing the identical? to a = fixes the issue.



 Comments   
Comment by David Nolen [ 02/Jul/15 6:14 PM ]

When I apply this patch two tests fail. Can we fix these tests? Thanks!





Generated at Sat Jul 04 12:20:58 CDT 2015 using JIRA 4.4#649-r158309.