<!--
RSS generated by JIRA (4.4#649-r158309) at Sat May 18 03:07:16 CDT 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://dev.clojure.org/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=labels+%3D+%220.8.0%22&tempMax=1000&field=key&field=summary
-->
<!-- If you wish to do custom client-side styling of RSS, uncomment this:
<?xml-stylesheet href="http://dev.clojure.org/jira/styles/jiraxml2html.xsl" type="text/xsl"?>
-->
<rss version="0.92">
    <channel>
        <title>Clojure JIRA</title>
        <link>http://dev.clojure.org/jira/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=labels+%3D+%220.8.0%22</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="4" total="4"/>
                <build-info>
            <version>4.4</version>
            <build-number>649</build-number>
            <build-date>25-07-2011</build-date>
        </build-info>
<item>
            <title>[LOGIC-116] ClassCastException in core.logic depending on ordering</title>
                <link>http://dev.clojure.org/jira/browse/LOGIC-116</link>
                <project id="10020" key="LOGIC">core.logic</project>
                        <description>&lt;p&gt;I have two files:&lt;br/&gt;
1 -&lt;a href=&quot;https://github.com/m0smith/LogicPuzzles/blob/master/src/logicpuzzles/coresucceed.clj&quot;&gt;https://github.com/m0smith/LogicPuzzles/blob/master/src/logicpuzzles/coresucceed.clj&lt;/a&gt;&lt;br/&gt;
2 -&lt;a href=&quot;https://github.com/m0smith/LogicPuzzles/blob/master/src/logicpuzzles/corefail.clj&quot;&gt;https://github.com/m0smith/LogicPuzzles/blob/master/src/logicpuzzles/corefail.clj&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first one compiles and runs fine.  The second throws a ClassCastException.  The only difference is that rule-0 is moved in the second file.&lt;/p&gt;</description>
                <environment></environment>
            <key id="16067">LOGIC-116</key>
            <summary>ClassCastException in core.logic depending on ordering</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="dnolen">David Nolen</assignee>
                                <reporter username="m0smith">Matthew O. Smith</reporter>
                        <labels>
                        <label>0.8.0</label>
                        <label>bug</label>
                    </labels>
                <created>Fri, 8 Mar 2013 13:47:44 -0600</created>
                <updated>Sun, 17 Mar 2013 18:29:49 -0500</updated>
                    <resolved>Sun, 17 Mar 2013 18:29:49 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="30724" author="dnolen" created="Mon, 11 Mar 2013 07:40:03 -0500"  >&lt;p&gt;There&apos;s far too much context here. Do you have a minimal case? Thanks much!&lt;/p&gt;</comment>
                    <comment id="30726" author="m0smith" created="Mon, 11 Mar 2013 09:15:57 -0500"  >&lt;p&gt;Here is the stack trace.  I will try to narrow it down further.&lt;/p&gt;

&lt;p&gt;java.lang.ClassCastException: clojure.lang.PersistentList cannot be cast to clojure.lang.IPersistentSet&lt;br/&gt;
 at clojure.core$disj.invoke (core.clj:1420)&lt;br/&gt;
    clojure.core.logic.ConstraintStore/fn (logic.clj:339)&lt;br/&gt;
    clojure.lang.ArrayChunk.reduce (ArrayChunk.java:58)&lt;br/&gt;
    clojure.core.protocols/fn (protocols.clj:94)&lt;br/&gt;
    clojure.core.protocols$fn_&lt;em&gt;5854$G&lt;/em&gt;&lt;em&gt;5849&lt;/em&gt;_5863.invoke (protocols.clj:19)&lt;br/&gt;
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)&lt;br/&gt;
    clojure.core.protocols/fn (protocols.clj:60)&lt;br/&gt;
    clojure.core.protocols$fn_&lt;em&gt;5828$G&lt;/em&gt;&lt;em&gt;5823&lt;/em&gt;_5841.invoke (protocols.clj:13)&lt;br/&gt;
    clojure.core$reduce.invoke (core.clj:6030)&lt;br/&gt;
    clojure.core.logic.ConstraintStore.remc (logic.clj:338)&lt;br/&gt;
    clojure.core.logic$remcg$fn__3272.invoke (logic.clj:2374)&lt;br/&gt;
    clojure.core.logic$&lt;em&gt;BANG$reify&lt;/em&gt;_3422.invoke (logic.clj:2719)&lt;br/&gt;
    clojure.core.logic$composeg$fn__2569.invoke (logic.clj:1141)&lt;br/&gt;
    clojure.core.logic$composeg$fn__2569.invoke (logic.clj:1142)&lt;br/&gt;
    clojure.core.logic$run_constraint$fn__3285.invoke (logic.clj:2397)&lt;br/&gt;
    clojure.core.logic$fix_constraints.invoke (logic.clj:2424)&lt;br/&gt;
    clojure.core.logic$run_constraints$fn__3290.invoke (logic.clj:2434)&lt;br/&gt;
    clojure.core.logic.Substitutions.bind (logic.clj:612)&lt;br/&gt;
    clojure.core.logic$run_constraints_STAR_$fn__3296.invoke (logic.clj:2444)&lt;br/&gt;
    clojure.core.logic.Substitutions.bind (logic.clj:612)&lt;br/&gt;
    clojure.core.logic$run_constraints_STAR_$fn__3296.invoke (logic.clj:2446)&lt;br/&gt;
    clojure.core.logic$&lt;em&gt;EQ&lt;/em&gt;&lt;em&gt;EQ&lt;/em&gt;$fn__2647.invoke (logic.clj:1255)&lt;br/&gt;
    clojure.core.logic.Substitutions.bind (logic.clj:612)&lt;br/&gt;
    clojure.core.logic$rembero$fn_&lt;em&gt;3465$_inc&lt;/em&gt;&lt;em&gt;3466$fn&lt;/em&gt;&lt;em&gt;3475$fn&lt;/em&gt;&lt;em&gt;3476$_inc&lt;/em&gt;&lt;em&gt;3477$fn&lt;/em&gt;&lt;em&gt;3478$_inc&lt;/em&gt;_3479.invoke (logic.clj:2790)&lt;br/&gt;
    clojure.core.logic$eval2628$fn_&lt;em&gt;2633$_inc&lt;/em&gt;_2634.invoke (logic.clj:1223)&lt;br/&gt;
    clojure.core.logic$eval2628$fn_&lt;em&gt;2633$_inc&lt;/em&gt;_2634.invoke (logic.clj:1223)&lt;br/&gt;
    clojure.core.logic$eval2628$fn_&lt;em&gt;2637$_inc&lt;/em&gt;_2638.invoke (logic.clj:1220)&lt;br/&gt;
    clojure.core.logic$eval2628$fn_&lt;em&gt;2633$_inc&lt;/em&gt;_2634.invoke (logic.clj:1223)&lt;br/&gt;
    clojure.core.logic$eval2628$fn_&lt;em&gt;2633$_inc&lt;/em&gt;_2634.invoke (logic.clj:1223)&lt;br/&gt;
    clojure.core.logic$eval2628$fn_&lt;em&gt;2633$_inc&lt;/em&gt;_2634.invoke (logic.clj:1223)&lt;br/&gt;
    clojure.core.logic$eval2628$fn_&lt;em&gt;2637$_inc&lt;/em&gt;_2638.invoke (logic.clj:1220)&lt;br/&gt;
    clojure.core.logic$eval2628$fn_&lt;em&gt;2633$_inc&lt;/em&gt;_2634.invoke (logic.clj:1223)&lt;br/&gt;
    clojure.core.logic$eval2628$fn_&lt;em&gt;2637$_inc&lt;/em&gt;_2638.invoke (logic.clj:1220)&lt;br/&gt;
    clojure.core.logic$eval2628$fn_&lt;em&gt;2629$fn&lt;/em&gt;_2630.invoke (logic.clj:1225)&lt;br/&gt;
    clojure.lang.LazySeq.sval (LazySeq.java:42)&lt;br/&gt;
    clojure.lang.LazySeq.seq (LazySeq.java:67)&lt;br/&gt;
    clojure.lang.RT.seq (RT.java:473)&lt;br/&gt;
    clojure.core$seq.invoke (core.clj:133)&lt;br/&gt;
    clojure.core$take$fn__4112.invoke (core.clj:2501)&lt;br/&gt;
    clojure.lang.LazySeq.sval (LazySeq.java:42)&lt;br/&gt;
    clojure.lang.LazySeq.seq (LazySeq.java:60)&lt;br/&gt;
    clojure.lang.LazySeq.first (LazySeq.java:82)&lt;br/&gt;
    clojure.lang.RT.first (RT.java:566)&lt;br/&gt;
    clojure.core$first.invoke (core.clj:55)&lt;br/&gt;
    clojure.pprint$pprint_reader_macro.invoke (dispatch.clj:50)&lt;br/&gt;
    clojure.pprint$pprint_list.invoke (dispatch.clj:77)&lt;br/&gt;
    clojure.lang.MultiFn.invoke (MultiFn.java:163)&lt;br/&gt;
    clojure.pprint$write_out.invoke (pprint_base.clj:194)&lt;br/&gt;
    clojure.pprint$pprint_vector$fn__7949.invoke (dispatch.clj:83)&lt;br/&gt;
    clojure.pprint$pprint_vector.invoke (dispatch.clj:82)&lt;br/&gt;
    clojure.lang.MultiFn.invoke (MultiFn.java:163)&lt;br/&gt;
    clojure.pprint$write_out.invoke (pprint_base.clj:194)&lt;br/&gt;
    clojure.pprint$pprint$fn__7359.invoke (pprint_base.clj:250)&lt;br/&gt;
    clojure.pprint$pprint.invoke (pprint_base.clj:248)&lt;br/&gt;
    clojure.pprint$pprint.invoke (pprint_base.clj:245)&lt;br/&gt;
    logicpuzzles.corefail$show.invoke (corefail.clj:9)&lt;br/&gt;
    logicpuzzles.corefail$eval3796.invoke (corefail.clj:153)&lt;br/&gt;
    clojure.lang.Compiler.eval (Compiler.java:6511)&lt;br/&gt;
    clojure.lang.Compiler.load (Compiler.java:6952)&lt;br/&gt;
    user$eval971.invoke (NO_SOURCE_FILE:1)&lt;br/&gt;
    clojure.lang.Compiler.eval (Compiler.java:6511)&lt;br/&gt;
    clojure.lang.Compiler.eval (Compiler.java:6477)&lt;br/&gt;
    clojure.core$eval.invoke (core.clj:2797)&lt;br/&gt;
    clojure.main$repl$read_eval_print__6405.invoke (main.clj:245)&lt;br/&gt;
    clojure.main$repl$fn__6410.invoke (main.clj:266)&lt;br/&gt;
    clojure.main$repl.doInvoke (main.clj:266)&lt;br/&gt;
    clojure.lang.RestFn.invoke (RestFn.java:1096)&lt;br/&gt;
    clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__544.invoke (interruptible_eval.clj:56)&lt;br/&gt;
    clojure.lang.AFn.applyToHelper (AFn.java:159)&lt;br/&gt;
    clojure.lang.AFn.applyTo (AFn.java:151)&lt;br/&gt;
    clojure.core$apply.invoke (core.clj:601)&lt;br/&gt;
    clojure.core$with_bindings_STAR_.doInvoke (core.clj:1771)&lt;br/&gt;
    clojure.lang.RestFn.invoke (RestFn.java:425)&lt;br/&gt;
    clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke (interruptible_eval.clj:41)&lt;br/&gt;
    clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn_&lt;em&gt;585$fn&lt;/em&gt;_587.invoke (interruptible_eval.clj:171)&lt;br/&gt;
    clojure.core$comp$fn__4034.invoke (core.clj:2278)&lt;br/&gt;
    clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__578.invoke (interruptible_eval.clj:138)&lt;br/&gt;
    clojure.lang.AFn.run (AFn.java:24)&lt;br/&gt;
    java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145)&lt;br/&gt;
    java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:615)&lt;br/&gt;
    java.lang.Thread.run (Thread.java:722)&lt;/p&gt;</comment>
                    <comment id="30727" author="m0smith" created="Mon, 11 Mar 2013 09:24:33 -0500"  >&lt;p&gt;I tightened up the fail case &lt;a href=&quot;https://github.com/m0smith/LogicPuzzles/blob/master/src/logicpuzzles/corefail.clj&quot;&gt;https://github.com/m0smith/LogicPuzzles/blob/master/src/logicpuzzles/corefail.clj&lt;/a&gt; .  Is that enough?&lt;/p&gt;</comment>
                    <comment id="30728" author="dnolen" created="Mon, 11 Mar 2013 10:17:02 -0500"  >&lt;p&gt;Thanks can you add the failing code to the ticket as an attachment? Thanks.&lt;/p&gt;</comment>
                    <comment id="30735" author="m0smith" created="Mon, 11 Mar 2013 18:23:09 -0500"  >&lt;p&gt;corefail.clj exhibits the error&lt;/p&gt;</comment>
                    <comment id="30782" author="dnolen" created="Sun, 17 Mar 2013 18:29:49 -0500"  >&lt;p&gt;fixed, &lt;a href=&quot;http://github.com/clojure/core.logic/commit/7e4d0b6b71707e248fd4d0de3f6c090b50a18624&quot;&gt;http://github.com/clojure/core.logic/commit/7e4d0b6b71707e248fd4d0de3f6c090b50a18624&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11907" name="corefail.clj" size="2837" author="m0smith" created="Mon, 11 Mar 2013 18:23:09 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[LOGIC-89] Allow application again in pattern matches</title>
                <link>http://dev.clojure.org/jira/browse/LOGIC-89</link>
                <project id="10020" key="LOGIC">core.logic</project>
                        <description>&lt;p&gt;Perhaps we can support simple function application in the following manner.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(defne substo [e &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a out]
  ([&apos;(&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; ~a) _ _ &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt;])
  ([&apos;(&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; ~y) _ _ &apos;(&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; ~y)] (nom/hash a y))
  ([&apos;(app ~rator ~rand) _ _ &apos;(app ~rator-res ~rand-res)]
     (substo rator &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a rator-res)
     (substo rand &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a rand-res))
  ([&apos;(lam ~(nom/tie c body)) _ _ &apos;(lam ~(nom/tie c body-res))]
     (nom/hash c a) (nom/hash c &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt;)
     (substo body &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a body-res)))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If we have a seq in an unquote then we know we have an application. All function symbols are left alone, all arguments are considered to be fresh vars or locals.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15934">LOGIC-89</key>
            <summary>Allow application again in pattern matches</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="dnolen">David Nolen</assignee>
                                <reporter username="dnolen">David Nolen</reporter>
                        <labels>
                        <label>0.8.0</label>
                    </labels>
                <created>Tue, 1 Jan 2013 12:30:19 -0600</created>
                <updated>Mon, 7 Jan 2013 11:24:04 -0600</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[LOGIC-88] disequality reification is broken</title>
                <link>http://dev.clojure.org/jira/browse/LOGIC-88</link>
                <project id="10020" key="LOGIC">core.logic</project>
                        <description>&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(run* [q]
  (fresh [x y]
    (!= [1 x] [y 2])
    (== q [x y])))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Does not return the following expected reified value:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(([_0 _1] :- (!= [_0 2] [_1 1])))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Even more bizarre things happen with the following:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(run* [q]
  (fresh [x y z]
    (!= [1 x z] [y 2 3])
    (== q [x y])))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;z leaks out in the reified value.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(run* [q]
  (fresh [x y z]
    (!= [1 x z] [y 2 3])
    (== q [x y z])))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;We only see one var constraint in the reified value.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15930">LOGIC-88</key>
            <summary>disequality reification is broken</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="1" iconUrl="http://dev.clojure.org/jira/images/icons/priority_blocker.gif">Blocker</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="dnolen">David Nolen</assignee>
                                <reporter username="dnolen">David Nolen</reporter>
                        <labels>
                        <label>0.8.0</label>
                    </labels>
                <created>Sat, 29 Dec 2012 10:33:18 -0600</created>
                <updated>Wed, 2 Jan 2013 18:43:40 -0600</updated>
                    <resolved>Wed, 2 Jan 2013 18:43:40 -0600</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="30358" author="dnolen" created="Wed, 2 Jan 2013 18:43:40 -0600"  >&lt;p&gt;fixed, &lt;a href=&quot;http://github.com/clojure/core.logic/commit/5a0eb2754dc744e60ea1c4ea3460b5429685ef59&quot;&gt;http://github.com/clojure/core.logic/commit/5a0eb2754dc744e60ea1c4ea3460b5429685ef59&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[LOGIC-53] core.logic converts defrecords to maps in it&apos;s query results</title>
                <link>http://dev.clojure.org/jira/browse/LOGIC-53</link>
                <project id="10020" key="LOGIC">core.logic</project>
                        <description>&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(defrecord Test [a b])

(run* [q]
  (== q (-&amp;gt;Test 1 2 )))

;; ({:a 1, :b 2})
;; Where&apos;s my record?&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>0.7.5 or 0.8-alpha</environment>
            <key id="15705">LOGIC-53</key>
            <summary>core.logic converts defrecords to maps in it&apos;s query results</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="1" iconUrl="http://dev.clojure.org/jira/images/icons/priority_blocker.gif">Blocker</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="dnolen">David Nolen</assignee>
                                <reporter username="martintrojer">Martin Trojer</reporter>
                        <labels>
                        <label>0.8.0</label>
                    </labels>
                <created>Tue, 18 Sep 2012 09:26:48 -0500</created>
                <updated>Wed, 2 Jan 2013 19:18:19 -0600</updated>
                    <resolved>Wed, 2 Jan 2013 19:18:19 -0600</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="29498" author="dnolen" created="Wed, 19 Sep 2012 12:02:58 -0500"  >&lt;p&gt;Records are IPersistentMaps. core.logic doesn&apos;t know anything about your custom type so it returns the type it knows how to unify. &lt;/p&gt;

&lt;p&gt;If you want core.logic to work with your record you need to implement the unification protocols for you record. But of course that&apos;s a little tedious if you have many different records.&lt;/p&gt;

&lt;p&gt;Open to better ideas. The relevant code where this unexpected behavior occurs is the implementation of IWalkTerm for the core Clojure data types.&lt;/p&gt;</comment>
                    <comment id="30359" author="dnolen" created="Wed, 2 Jan 2013 19:18:19 -0600"  >&lt;p&gt;fixed, &lt;a href=&quot;http://github.com/clojure/core.logic/commit/bd3f13a1cd3214e5e15e52383b49f0a54ec8a502&quot;&gt;http://github.com/clojure/core.logic/commit/bd3f13a1cd3214e5e15e52383b49f0a54ec8a502&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>
</channel>
</rss>