<!-- 
RSS generated by JIRA (4.4#649-r158309) at Sun May 19 23:44:23 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/si/jira.issueviews:issue-xml/LOGIC-102/LOGIC-102.xml?field=key&field=summary
-->
<rss version="0.92" >
<channel>
    <title>Clojure JIRA</title>
    <link>http://dev.clojure.org/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>4.4</version>
        <build-number>649</build-number>
        <build-date>25-07-2011</build-date>
    </build-info>

<item>
            <title>[LOGIC-102] generalize the notion of hash for robustness</title>
                <link>http://dev.clojure.org/jira/browse/LOGIC-102</link>
                <project id="10020" key="LOGIC">core.logic</project>
                        <description>&lt;p&gt;The second nom/hash throws an exception, because the nom/hash constraint is ran before the predc one.&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;(is (= (run* [q]
         (nom/fresh [x]
           (fresh [y]
             (predc y nom? `nom?)
             (nom/hash y x)
             (== y &apos;foo))))
      ()))

(is (= (run* [q]
         (nom/fresh [x]
           (fresh [y]
             (nom/hash y x)
             (predc y nom? `nom?)
             (== y &apos;foo))))
      ()))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Perhaps, we can generalize the notion of hash.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15951">LOGIC-102</key>
            <summary>generalize the notion of hash for robustness</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="namin">Nada Amin</reporter>
                        <labels>
                    </labels>
                <created>Mon, 7 Jan 2013 09:47:24 -0600</created>
                <updated>Mon, 11 Mar 2013 12:30:03 -0500</updated>
                    <resolved>Mon, 7 Jan 2013 19:06:02 -0600</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="30391" author="dnolen" created="Mon, 7 Jan 2013 10:52:23 -0600"  >&lt;p&gt;Hmm but why throw in nom/hash like that instead of just failing?&lt;/p&gt;</comment>
                    <comment id="30393" author="dnolen" created="Mon, 7 Jan 2013 10:59:47 -0600"  >&lt;p&gt;Closed wrong ticket&lt;/p&gt;</comment>
                    <comment id="30395" author="namin" created="Mon, 7 Jan 2013 11:11:28 -0600"  >&lt;p&gt;ok, seems reasonable to fail.&lt;/p&gt;

&lt;p&gt;The fix to logic-101 is not entirely satisfactory, because we can now get constraints like _1#&lt;span class=&quot;error&quot;&gt;&amp;#91;_1&amp;#93;&lt;/span&gt;. so i think i also want to not use predc (but still use fixc), but have a custom constraint instead of the predc that takes the two rands into account.&lt;/p&gt;

&lt;p&gt;implementing this now.&lt;/p&gt;</comment>
                    <comment id="30397" author="namin" created="Mon, 7 Jan 2013 12:39:08 -0600"  >&lt;p&gt;The patch logic-102.diff gives up on predc and fixc, and instead does a lot of ugly special-casing to cover the new TDD test cases.&lt;/p&gt;

&lt;p&gt;Not too happy about this change...&lt;/p&gt;</comment>
                    <comment id="30398" author="dnolen" created="Mon, 7 Jan 2013 13:23:55 -0600"  >&lt;p&gt;Is there something we could do to make it easier to rely on `fixc` and `predc`? Or is there some lacking feature of constraints?&lt;/p&gt;</comment>
                    <comment id="30399" author="dnolen" created="Mon, 7 Jan 2013 13:52:23 -0600"  >&lt;p&gt;Also if you&apos;re OK w/ this patch, more than happy to move forward w/ this for now and it can be improved later.&lt;/p&gt;</comment>
                    <comment id="30400" author="namin" created="Mon, 7 Jan 2013 14:38:24 -0600"  >&lt;p&gt;OK, as discussed, please go ahead with the patch, and I&apos;ll think of some alternatives / refactoring soon.&lt;/p&gt;</comment>
                    <comment id="30405" author="dnolen" created="Mon, 7 Jan 2013 19:06:02 -0600"  >&lt;p&gt;fixed, &lt;a href=&quot;http://github.com/clojure/core.logic/commit/417246ad0d854f9f82ae3b5aeb566ea00249eb2c&quot;&gt;http://github.com/clojure/core.logic/commit/417246ad0d854f9f82ae3b5aeb566ea00249eb2c&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="30408" author="namin" created="Tue, 8 Jan 2013 07:04:05 -0600"  >&lt;p&gt;refactoring.diff refactors the logic a bit. Hopefully it&apos;s more readable.&lt;/p&gt;

&lt;p&gt;For now, it seems too much trouble for the gain to generalize hash or try to write it using more primitive constraints.&lt;/p&gt;</comment>
                    <comment id="30409" author="dnolen" created="Tue, 8 Jan 2013 07:12:15 -0600"  >&lt;p&gt;Makes sense will apply later today.&lt;/p&gt;</comment>
                    <comment id="30730" author="namin" created="Mon, 11 Mar 2013 12:27:10 -0500"  >&lt;p&gt;I am going to apply the refactoring to master. &lt;img class=&quot;emoticon&quot; src=&quot;http://dev.clojure.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                    <comment id="30731" author="namin" created="Mon, 11 Mar 2013 12:30:03 -0500"  >&lt;p&gt;Applied in &lt;a href=&quot;https://github.com/clojure/core.logic/commit/43d325bd8e3770f3483cc8be7d332adfae3a6a96&quot;&gt;https://github.com/clojure/core.logic/commit/43d325bd8e3770f3483cc8be7d332adfae3a6a96&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11797" name="logic-102.diff" size="5320" author="namin" created="Mon, 7 Jan 2013 12:39:08 -0600" />
                    <attachment id="11799" name="refactoring.diff" size="2171" author="namin" created="Tue, 8 Jan 2013 07:04:05 -0600" />
                </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>