<!-- 
RSS generated by JIRA (4.4#649-r158309) at Sat May 25 23:26:59 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/CLJ-709/CLJ-709.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>[CLJ-709] Add a way to test/detect promise objects</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-709</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;I&apos;d like a predicate to determine whether an object is a (promise). Currently promises are implemented as a reify of IFn and IDeref, meaning there is no meaningful superclass to test for. It seems to me the simplest solution would be to create an IPromise interface extending IDeref; then (defn promise? &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; (instance? IPromise x)) is a simple solution. Even an empty &quot;tagging&quot; interface for IPromise would do, but it might also be nice to add a delivered? predicate for promises so that it&apos;s possible to test whether they&apos;re delivered without blocking or catching the &quot;multiple deliver&quot; exception; that would make the IPromise interface more meaningful as well.&lt;/p&gt;

&lt;p&gt;This is fairly simple stuff, so I&apos;ll start plugging away at a patch and hope nobody objects.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14318">CLJ-709</key>
            <summary>Add a way to test/detect promise objects</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="amalloy">Alan Malloy</reporter>
                        <labels>
                    </labels>
                <created>Sun, 9 Jan 2011 02:47:21 -0600</created>
                <updated>Sat, 3 Sep 2011 22:05:51 -0500</updated>
                    <resolved>Sat, 3 Sep 2011 22:05:51 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26110" author="amalloy" created="Sun, 9 Jan 2011 02:55:35 -0600"  >&lt;p&gt;Um, just noticed &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-680&quot;&gt;http://dev.clojure.org/jira/browse/CLJ-680&lt;/a&gt; but I don&apos;t know how to close this issue as a duplicate of that one. The only thing his patch doesn&apos;t have that I&apos;d like is:&lt;/p&gt;

&lt;p&gt;(defn promise? &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; (instance? IPromiseImpl x))&lt;br/&gt;
(defn has-value? &lt;span class=&quot;error&quot;&gt;&amp;#91;^IPromiseImpl x&amp;#93;&lt;/span&gt; (.hasValue x))&lt;/p&gt;</comment>
                    <comment id="26759" author="cemerick" created="Sat, 3 Sep 2011 22:05:51 -0500"  >&lt;p&gt;Closed per request from Alan Malloy.&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>