<!-- 
RSS generated by JIRA (4.4#649-r158309) at Thu May 23 22:22:19 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/ALGOM-7/ALGOM-7.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>[ALGOM-7] maybe-m breaks the monad laws.</title>
                <link>http://dev.clojure.org/jira/browse/ALGOM-7</link>
                <project id="10072" key="ALGOM">algo.monads</project>
                        <description>&lt;p&gt;One of the monad laws is that (m-bind (m-result v) f) should be the same as (f v). However, this is not the case in maybe-m:&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (with-monad maybe-m (m-bind (m-result nil) nil?))&lt;br/&gt;
nil&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (nil? nil)&lt;br/&gt;
true&lt;/p&gt;

&lt;p&gt;The crux of the problem is that in algo.monad&apos;s maybe-m, there is no way to wrap a nil in a Just-like container.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15700">ALGOM-7</key>
            <summary>maybe-m breaks the monad laws.</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="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="khinsen">Konrad Hinsen</assignee>
                                <reporter username="sgeo">Seth J. Gold</reporter>
                        <labels>
                    </labels>
                <created>Sat, 15 Sep 2012 15:00:36 -0500</created>
                <updated>Sat, 15 Sep 2012 15:27:03 -0500</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="29453" author="sgeo" created="Sat, 15 Sep 2012 15:27:03 -0500"  >&lt;p&gt;Just realized that that demonstration doesn&apos;t actually work, because the function passed to m-bind is supposed to return a monadic value. Here&apos;s a better one:&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (with-monad maybe-m (m-bind (m-result nil) (comp m-result nil?)))&lt;br/&gt;
nil&lt;br/&gt;
user=&amp;gt; (with-monad maybe-m ((comp m-result nil?) nil))&lt;br/&gt;
true&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>