<!--
RSS generated by JIRA (4.4#649-r158309) at Tue May 21 18:55:38 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=project+%3D+CLJS+AND+created%3E%3D-1w+ORDER+BY+created+DESC&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=project+%3D+CLJS+AND+created%3E%3D-1w+ORDER+BY+created+DESC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="26" total="26"/>
                <build-info>
            <version>4.4</version>
            <build-number>649</build-number>
            <build-date>25-07-2011</build-date>
        </build-info>
<item>
            <title>[CLJS-22] closures act like js not clojure</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-22</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;(loop &lt;span class=&quot;error&quot;&gt;&amp;#91;i 0 j ()&amp;#93;&lt;/span&gt;&lt;br/&gt;
      (if (&amp;lt; i 5)&lt;br/&gt;
        (recur (inc i) (conj j (fn [] i)))&lt;br/&gt;
        (map #(%) j)))&lt;/p&gt;

&lt;p&gt;In Clojure, this returns: `(4 3 2 1 0)`&lt;/p&gt;

&lt;p&gt;In ClojureScript it returns: `(5 5 5 5 5)`&lt;/p&gt;

&lt;p&gt;Imported from github issue #85&lt;/p&gt;</description>
                <environment></environment>
            <key id="14515">CLJS-22</key>
            <summary>closures act like js not clojure</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="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 19 Jul 2020 00:00:00 -0500</created>
                <updated>Fri, 22 Jul 2011 12:25:00 -0500</updated>
                    <resolved>Fri, 22 Jul 2011 12:24:59 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26626" author="chouser@n01se.net" created="Sun, 19 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by richhickey, Tue Jul 19 14:41:05 2011:&lt;/p&gt;

&lt;p&gt;in loops&lt;/p&gt;</comment>
                    <comment id="26627" author="chouser@n01se.net" created="Sun, 19 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by Chouser, Tue Jul 19 18:50:18 2011:&lt;/p&gt;

&lt;p&gt;Claggett and I wrote a patch, producing this for the snippet above:&lt;/p&gt;

&lt;p&gt;    (function (){&lt;br/&gt;
      var G__1061,repeat1054;&lt;br/&gt;
      var i__10521055 = 0;&lt;br/&gt;
      var j__10531056 = cljs.core.List.EMPTY;&lt;br/&gt;
      var G_&lt;em&gt;1060 = function(i&lt;/em&gt;&lt;em&gt;1052,j&lt;/em&gt;_1053){&lt;br/&gt;
        repeat1054 = false;&lt;br/&gt;
        cljs.user.&lt;em&gt;PLUS&lt;/em&gt;.call(null,55);&lt;br/&gt;
        if(cljs.core.truth_(cljs.user.&lt;em&gt;LT&lt;/em&gt;.call(null,i__1052,5)))&lt;br/&gt;
        {&lt;br/&gt;
          {&lt;br/&gt;
            repeat1054  = true;&lt;br/&gt;
            i_&lt;em&gt;10521055 = cljs.user.inc.call(null,i&lt;/em&gt;_1052);&lt;br/&gt;
            j__10531056 = cljs.user.conj.call(&lt;br/&gt;
              null,j__1053, (function (){ return i__1052; }));  &lt;br/&gt;
          }&lt;br/&gt;
        }&lt;br/&gt;
        else&lt;br/&gt;
        {&lt;br/&gt;
          return cljs.user.map.call(&lt;br/&gt;
            null,(function (p1_&lt;em&gt;1049_SHARP&lt;/em&gt;){ return p1__1049_SHARP_.call(null); }),j__1053);&lt;br/&gt;
        }&lt;br/&gt;
      };&lt;br/&gt;
      do{G__1061 = G__1060(i__10521055,j__10531056)}while(repeat1054);&lt;br/&gt;
      return G__1061;&lt;br/&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>[CLJS-23] Inconsistent munging of namespaces with dashes</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-23</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;When creating a file with a namespace like `foo.bar-baz` the compiled file will have a dash in the `goog.provide` but then use underscores within the code.&lt;/p&gt;

&lt;p&gt;    goog.provide(&apos;foo.bar-baz&apos;);&lt;br/&gt;
    foo.bar_baz.something = ....&lt;/p&gt;

&lt;p&gt;When requiring this namespace in another file the `goog.require` and the code both use dashes.&lt;/p&gt;

&lt;p&gt;    goog.require(&apos;foo.bar-baz&apos;);&lt;br/&gt;
    var x = foo.bar-baz.something();&lt;/p&gt;

&lt;p&gt;Assuming that file names must use underscores instead of dashes, as in Clojure on the JVM, there is a related issue in the `cljs.closure` namespace where it incorrectly creates file names from namespaces with dashes. The first line in the let form of the `get-compiled-cljs` function is the problem and can be replaced with a call to something like:&lt;/p&gt;

&lt;p&gt;```clj&lt;br/&gt;
(defn ns-&amp;gt;file-name &lt;span class=&quot;error&quot;&gt;&amp;#91;s&amp;#93;&lt;/span&gt;&lt;br/&gt;
  (let [ns (name s)&lt;br/&gt;
        path (string/replace (munge ns) \. java.io.File/separatorChar)]&lt;br/&gt;
    (str path &quot;.cljs&quot;)))&lt;br/&gt;
```&lt;/p&gt;

&lt;p&gt;Imported from github issue #86&lt;/p&gt;</description>
                <environment></environment>
            <key id="14516">CLJS-23</key>
            <summary>Inconsistent munging of namespaces with dashes</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</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="1">Completed</resolution>
                                <assignee username="brentonashworth">Brenton Ashworth</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 19 Jul 2020 00:00:00 -0500</created>
                <updated>Thu, 28 Jul 2011 08:15:18 -0500</updated>
                    <resolved>Thu, 28 Jul 2011 08:15:18 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26646" author="brentonashworth" created="Mon, 25 Jul 2011 07:28:15 -0500"  >&lt;p&gt;I think this is fixed.&lt;/p&gt;

&lt;p&gt;Munge emitted var names and emitted names in goog.provide and goog.require.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/clojure/clojurescript/commit/389b7289391413104574a5f4c4d94d01098abf8d&quot;&gt;https://github.com/clojure/clojurescript/commit/389b7289391413104574a5f4c4d94d01098abf8d&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create the correct file name for namespaces with dashes.&lt;/p&gt;

&lt;p&gt;Munge the namespace names which are output to a dependency file.&lt;/p&gt;

&lt;p&gt;Fix the get-compiled-cljs function so that it will only compile files on the classpath. The purpose of get-compiled-cljs is to compile ClojureScript dependencies. All ClojureScript dependencies should be on the classpath. Compiled files are stored in the output directory. If a file exists in the output directory then it will not be compiled but will instead be read from that location. Before this fix, compiled files from the user&apos;s project were being read from the output directory by this function. When dashes were used in the namespace this caused duplicates to appear in the final list of files which is sent to the Closure compiler. In the new version, get-compiled-cljs will only be passed files which are on the classpath.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/clojure/clojurescript/commit/184e6d838326be9895434a3517b34742cffba0c4&quot;&gt;https://github.com/clojure/clojurescript/commit/184e6d838326be9895434a3517b34742cffba0c4&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10004">Screened</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJS-21] implement memoize</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-21</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Imported from github issue #84&lt;/p&gt;</description>
                <environment></environment>
            <key id="14514">CLJS-21</key>
            <summary>implement memoize</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</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="1">Completed</resolution>
                                <assignee username="ffailla">Frank Failla</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 18 Jul 2020 00:00:00 -0500</created>
                <updated>Mon, 25 Jul 2011 22:02:51 -0500</updated>
                    <resolved>Mon, 25 Jul 2011 22:02:41 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26625" author="chouser@n01se.net" created="Sat, 18 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by ffailla, Mon Jul 18 14:32:00 2011:&lt;/p&gt;

&lt;p&gt;also implemented rand so that i can test memoize.  changes are on the 84-memoize branch&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>[CLJS-20] Implement rem, mod, quot</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-20</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;rem, mod, and quot might be useful for the demo app.&lt;/p&gt;


&lt;p&gt;Imported from github issue #83&lt;/p&gt;</description>
                <environment></environment>
            <key id="14513">CLJS-20</key>
            <summary>Implement rem, mod, quot</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="devn">Devin Walters</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 18 Jul 2020 00:00:00 -0500</created>
                <updated>Thu, 28 Jul 2011 12:52:28 -0500</updated>
                    <resolved>Thu, 28 Jul 2011 12:52:28 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26661" author="devn" created="Thu, 28 Jul 2011 12:52:28 -0500"  >&lt;p&gt;rem, mod, and quot are all present in core.cljs and have adequate tests around them.&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>[CLJS-17] move to public clojure org repo</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-17</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Clone current repo.  Needs to be live with talk Wed night&lt;/p&gt;

&lt;p&gt;Will wiki and other things move automatically?&lt;/p&gt;

&lt;p&gt;Imported from github issue #70&lt;/p&gt;</description>
                <environment></environment>
            <key id="14510">CLJS-17</key>
            <summary>move to public clojure org repo</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 15 Jul 2020 00:00:00 -0500</created>
                <updated>Fri, 22 Jul 2011 06:42:38 -0500</updated>
                    <resolved>Fri, 22 Jul 2011 06:42:38 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26621" author="chouser@n01se.net" created="Wed, 15 Jul 2020 00:00:00 -0500"  >&lt;p&gt;release-night&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>[CLJS-19] Record Wednesdays talk</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-19</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Bring in Zi8, charger, tripod(s), and extra storage&lt;/p&gt;

&lt;p&gt;Imported from github issue #74&lt;/p&gt;</description>
                <environment></environment>
            <key id="14512">CLJS-19</key>
            <summary>Record Wednesdays talk</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 15 Jul 2020 00:00:00 -0500</created>
                <updated>Fri, 22 Jul 2011 06:43:59 -0500</updated>
                    <resolved>Fri, 22 Jul 2011 06:43:59 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26624" author="chouser@n01se.net" created="Wed, 15 Jul 2020 00:00:00 -0500"  >&lt;p&gt;release-night&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>[CLJS-18] Live Stream Talk</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-18</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;ul&gt;
	&lt;li&gt;Bring an HD webcam to ClojureNYC meeting&lt;/li&gt;
	&lt;li&gt;Live stream Rich&apos;s talk&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Imported from github issue #73&lt;/p&gt;</description>
                <environment></environment>
            <key id="14511">CLJS-18</key>
            <summary>Live Stream Talk</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 15 Jul 2020 00:00:00 -0500</created>
                <updated>Fri, 22 Jul 2011 06:43:04 -0500</updated>
                    <resolved>Fri, 22 Jul 2011 06:43:04 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26622" author="chouser@n01se.net" created="Wed, 15 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by alandipert, Fri Jul 15 06:44:16 2011:&lt;/p&gt;

&lt;p&gt;This is where the live stream will be: &lt;a href=&quot;http://www.ustream.tv/channel/clojurenyc&quot;&gt;http://www.ustream.tv/channel/clojurenyc&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="26623" author="chouser@n01se.net" created="Wed, 15 Jul 2020 00:00:00 -0500"  >&lt;p&gt;release-night&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>[CLJS-15] compare, comparator, sort, sort-by</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-15</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Imported from github issue #68&lt;/p&gt;</description>
                <environment></environment>
            <key id="14508">CLJS-15</key>
            <summary>compare, comparator, sort, sort-by</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="1">Completed</resolution>
                                <assignee username="stu">Stuart Halloway</assignee>
                                <reporter username="stu">Stuart Halloway</reporter>
                        <labels>
                    </labels>
                <created>Tue, 14 Jul 2020 00:00:00 -0500</created>
                <updated>Fri, 29 Jul 2011 08:41:13 -0500</updated>
                    <resolved>Fri, 29 Jul 2011 08:41:13 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26620" author="chouser@n01se.net" created="Wed, 15 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by stuarthalloway, Thu Jul 14 10:20:05 2011:&lt;/p&gt;

&lt;p&gt;Review requested. Please see &lt;a href=&quot;https://github.com/relevance/clojurescript/wiki/Comparators&quot;&gt;https://github.com/relevance/clojurescript/wiki/Comparators&lt;/a&gt; for explanation of the approach I took.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJS-16] amap, areduce, aclone, into-array, make-array, object-array, to-array-2d</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-16</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Implement the valid array functions.&lt;/p&gt;

&lt;p&gt;Imported from github issue #69&lt;/p&gt;</description>
                <environment></environment>
            <key id="14509">CLJS-16</key>
            <summary>amap, areduce, aclone, into-array, make-array, object-array, to-array-2d</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="fogus">Fogus</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 14 Jul 2020 00:00:00 -0500</created>
                <updated>Sat, 21 Apr 2012 11:31:41 -0500</updated>
                    <resolved>Sat, 21 Apr 2012 11:31:41 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="28078" author="dnolen" created="Wed, 4 Apr 2012 21:54:27 -0500"  >&lt;p&gt;Quite a few of these are done. Is there a reason we want to implement object-array or make-array?&lt;/p&gt;</comment>
                    <comment id="28216" author="dnolen" created="Sat, 21 Apr 2012 11:31:41 -0500"  >&lt;p&gt;fixed, &lt;a href=&quot;https://github.com/clojure/clojurescript/commit/0b7d04bad801f49db9a7c3bf3004184c07fe6843&quot;&gt;https://github.com/clojure/clojurescript/commit/0b7d04bad801f49db9a7c3bf3004184c07fe6843&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>[CLJS-14] (quot)</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-14</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Implement (quot)&lt;/p&gt;

&lt;p&gt;Imported from github issue #67&lt;/p&gt;</description>
                <environment></environment>
            <key id="14507">CLJS-14</key>
            <summary>(quot)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</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="3">Duplicate</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Jul 2020 00:00:00 -0500</created>
                <updated>Fri, 22 Jul 2011 08:27:40 -0500</updated>
                    <resolved>Fri, 22 Jul 2011 08:27:39 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26629" author="devn" created="Fri, 22 Jul 2011 08:27:10 -0500"  >&lt;p&gt;See: &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJS-20&quot;&gt;http://dev.clojure.org/jira/browse/CLJS-20&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>[CLJS-12] Implement delays</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-12</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;The implementation of Delay objects, the `delay` macro, and the `delay?` predicate (probably a good excuse to implement `realized?` also, but probably as part of a different ticket) should be fairly straight-forward to implement.&lt;/p&gt;


&lt;p&gt;Imported from github issue #65&lt;/p&gt;</description>
                <environment></environment>
            <key id="14505">CLJS-12</key>
            <summary>Implement delays</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</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="1">Completed</resolution>
                                <assignee username="ffailla">Frank Failla</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 12 Jul 2020 00:00:00 -0500</created>
                <updated>Thu, 28 Jul 2011 15:08:09 -0500</updated>
                    <resolved>Thu, 28 Jul 2011 15:08:02 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26616" author="chouser@n01se.net" created="Thu, 16 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by ffailla, Fri Jul 15 06:16:20 2011:&lt;/p&gt;

&lt;p&gt;i&apos;ll take a stab at this.&lt;/p&gt;</comment>
                    <comment id="26617" author="chouser@n01se.net" created="Thu, 16 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by ffailla, Fri Jul 15 06:31:45 2011:&lt;/p&gt;

&lt;p&gt;I have an implementation of this in the 65-delay branch.  Can someone please review before I merge into master.&lt;/p&gt;</comment>
                    <comment id="26618" author="chouser@n01se.net" created="Thu, 16 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by ffailla, Fri Jul 15 19:57:34 2011:&lt;/p&gt;

&lt;p&gt;Implemented realized? via an IRealized protocol as well.  Also in this branch&lt;/p&gt;</comment>
                    <comment id="26619" author="chouser@n01se.net" created="Thu, 16 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by ffailla, Sat Jul 16 07:33:01 2011:&lt;/p&gt;

&lt;p&gt;merged into master&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>[CLJS-13] Implement ratios</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-13</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Clojure.java contains support for Ratio types.  It would be nice to have them in Clojurescript as well, but as far as I can tell this would be new development (please comment if I&apos;m wrong).  That is, there is no implementation of Ratio types in GClosure so this feature would need to be implemented from the ground up.  In additional to the Ratio type, the following corresponding functions would also need implementations:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;`ratio?`&lt;/li&gt;
	&lt;li&gt;`numerator`&lt;/li&gt;
	&lt;li&gt;`denominator`&lt;/li&gt;
	&lt;li&gt;`rationalize`&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Plus the ratio type would need to be rolled into the existing mathematical frameworkings.&lt;/p&gt;





&lt;p&gt;Imported from github issue #66&lt;/p&gt;</description>
                <environment></environment>
            <key id="14506">CLJS-13</key>
            <summary>Implement ratios</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="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="stu">Stuart Halloway</reporter>
                        <labels>
                    </labels>
                <created>Sun, 12 Jul 2020 00:00:00 -0500</created>
                <updated>Mon, 3 Sep 2012 15:30:19 -0500</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="26926" author="dnolen" created="Mon, 10 Oct 2011 22:12:42 -0500"  >&lt;p&gt;What approach do you envision here given that we can&apos;t reliably detect integers in JavaScript?&lt;/p&gt;</comment>
                    <comment id="29346" author="bbloom" created="Mon, 3 Sep 2012 15:30:19 -0500"  >&lt;p&gt;See &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJS-370&quot; title=&quot;Incorrect behavior of integer? for integral floating point expressions&quot;&gt;&lt;del&gt;CLJS-370&lt;/del&gt;&lt;/a&gt; for more reliable integer detection&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>[CLJS-10] Supported Closure Compiler options</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-10</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Currently the interface to the Closure compiler in cljs.closure supports only two compiler options:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;optimizations&lt;/li&gt;
	&lt;li&gt;pretty-print&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;From the repl it looks like this:&lt;/p&gt;

&lt;p&gt;    (-compile &apos;(defn add-one &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; (inc x)) {:optimizations :advanced :flags #{:pretty-print}})&lt;/p&gt;

&lt;p&gt;Do we want to support all options are just a subset?&lt;/p&gt;

&lt;p&gt;Whatever we decide to support, said support will need to be added to cljs.closure.&lt;/p&gt;

&lt;p&gt;See:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/relevance/clojurescript/blob/master/src/clj/cljs/closure.clj#L110&quot;&gt;https://github.com/relevance/clojurescript/blob/master/src/clj/cljs/closure.clj#L110&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/javascript/jscomp/CommandLineRunner.java&quot;&gt;http://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/javascript/jscomp/CommandLineRunner.java&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/javascript/jscomp/CompilerOptions.java&quot;&gt;http://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/javascript/jscomp/CompilerOptions.java&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;Externs&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Currently all default externs are loaded. If we decide to go with a subset of options we may want to follow the lead of CommandLineRunner and allow an option to provide custom externs and one to only use the custom externs.&lt;/p&gt;

&lt;p&gt;Imported from github issue #62&lt;/p&gt;</description>
                <environment></environment>
            <key id="14503">CLJS-10</key>
            <summary>Supported Closure Compiler options</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="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="brentonashworth">Brenton Ashworth</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Jul 2020 00:00:00 -0500</created>
                <updated>Fri, 16 Sep 2011 08:31:25 -0500</updated>
                    <resolved>Fri, 16 Sep 2011 08:29:27 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26628" author="richhickey" created="Fri, 22 Jul 2011 07:03:03 -0500"  >&lt;p&gt;May be needed for #cljs-25&lt;/p&gt;</comment>
                    <comment id="26731" author="alen" created="Wed, 24 Aug 2011 05:17:52 -0500"  >&lt;p&gt;I&apos;ve attached two patch versions for Externs support, one that includes support for directory paths `0001-CLJS10.patch` and another, simpler, version `0002-CLJS10.patch` that has support for only js source file paths. Version 0001 could maybe do with some cleanup if necessary in the letfn form section.&lt;/p&gt;

&lt;p&gt;Noteworthy:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Supported options: `externs`, `use-only-custom-externs`, `target`&lt;/li&gt;
	&lt;li&gt;The java.io.FileNotFoundException is thrown implicitly via the call to js-source-file when js source file does not exist&lt;/li&gt;
	&lt;li&gt;Single js source file paths as well as directories are supported&lt;/li&gt;
	&lt;li&gt;Supports only absolute paths and not relative (context class-loader based) paths. (The thought is that classpath is for defaults and special extern files provided by ClojureScript)&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    <comment id="26818" author="brentonashworth" created="Wed, 14 Sep 2011 15:41:44 -0500"  >&lt;p&gt;I have applied this patch to the externs branch. If I hear no objections, I will merge this change into master later this week or early next week.&lt;/p&gt;

&lt;p&gt;Thanks for the patch.&lt;/p&gt;</comment>
                    <comment id="26819" author="jli" created="Wed, 14 Sep 2011 17:17:55 -0500"  >&lt;p&gt;I just tested with the original repo, and it works for me. Whoo!&lt;/p&gt;</comment>
                    <comment id="26827" author="brentonashworth" created="Fri, 16 Sep 2011 08:31:25 -0500"  >&lt;p&gt;Support for externs has been added. There are many other options we can support. I will close this issue and we can add new issues when we believe an additional option should be added.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10315" name="0001-CLJS10.patch" size="2063" author="alen" created="Wed, 24 Aug 2011 05:17:52 -0500" />
                    <attachment id="10316" name="0002-CLJS10.patch" size="1614" author="alen" created="Wed, 24 Aug 2011 05:17:52 -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>[CLJS-11] Command line build tool</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-11</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;First, do we want one? Now that we can build from the repl with cljs.closure/build, do we want to provide a command line tool? Build time will be much faster from the repl as there is no JVM startup time and only a one time loading of resources (which is significant).&lt;/p&gt;

&lt;p&gt;If we do want one then will it be a bash script or a main class that we package in a jar? In either case we will have to make something to convert command line args into a Clojure map of options.&lt;/p&gt;

&lt;p&gt;Imported from github issue #63&lt;/p&gt;</description>
                <environment></environment>
            <key id="14504">CLJS-11</key>
            <summary>Command line build tool</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="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="stu">Stuart Halloway</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Jul 2020 00:00:00 -0500</created>
                <updated>Tue, 29 Nov 2011 06:30:45 -0600</updated>
                    <resolved>Fri, 16 Sep 2011 08:43:51 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26829" author="brentonashworth" created="Fri, 16 Sep 2011 08:43:51 -0500"  >&lt;p&gt;We have a command-line build tool. Create specific issues for improvements to this tool.&lt;/p&gt;</comment>
                    <comment id="27362" author="bjconlan" created="Tue, 29 Nov 2011 06:30:45 -0600"  >&lt;p&gt;nailgun solves the jvm loading issue. I have successfully used it in an ad hoc way to compile my project on change (while mingling rake and livereload) into the mix.&lt;/p&gt;

&lt;p&gt;Here is the gist of it: &lt;a href=&quot;https://gist.github.com/1399995&quot;&gt;https://gist.github.com/1399995&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is by no means a perfect solution but might help in identifying some ways to solve problems or do things better (ie a way to have closure&apos;s require tree updated incrementally).&lt;/p&gt;</comment>
                    <comment id="26611" author="chouser@n01se.net" created="Thu, 9 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by bobby, Fri Jul  8 11:54:30 2011:&lt;/p&gt;

&lt;p&gt;Could this be a good use-case for cljs as a scripting language?  I have not thought it through more than asking the question, but it seems worth asking.&lt;/p&gt;</comment>
                    <comment id="26612" author="chouser@n01se.net" created="Thu, 9 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by brentonashworth, Fri Jul  8 13:16:52 2011:&lt;/p&gt;

&lt;p&gt;Issue #52 has to do with shebang style scripting which is a little more involved and could make use of a command-line build tool. But yes, this could be used to do &quot;scripting&quot; in the same way you would in C or Haskell. i.e. compile source to a fast running executable.&lt;/p&gt;

&lt;p&gt;It may be worth considering adding an output option to cljs.closure/build that produces JavaScript which is runnable from the command-line.&lt;/p&gt;</comment>
                    <comment id="26613" author="chouser@n01se.net" created="Thu, 9 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by bobby, Fri Jul  8 20:18:08 2011:&lt;/p&gt;

&lt;p&gt;I was thinking more that the build script itself would be implemented in cljs as the scripting language, rather than bash/make/java -jar/whathaveyou.  Thoughts?  Possible?&lt;/p&gt;</comment>
                    <comment id="26614" author="chouser@n01se.net" created="Thu, 9 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by Chouser, Sat Jul  9 19:55:53 2011:&lt;/p&gt;

&lt;p&gt;Are you talking about writing the compiler in ClojureScript instead of Clojure so that it can be started up more quickly? Rich said that&apos;s a non-goal, at least for now.&lt;/p&gt;</comment>
                    <comment id="26615" author="chouser@n01se.net" created="Thu, 9 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by bobby, Sat Jul  9 20:10:56 2011:&lt;/p&gt;

&lt;p&gt;No, the compiler would stay in Clojure.  I was thinking more in the way of a small build DSL written in ClojureScript that would lash all of the build steps together for cljs projects, a la Leiningen.  One of the tasks/targets would be compile, and the cljs script would call out to the compiler to do its thing, but then other tasks would be to combine the various compiled scripts into a single JavaScript, running the optimizer on it, gzipping, etc.  I was mostly suggesting that instead of using bash, we use ClojureScript to do the things bash would have done, leaving the rest of the infrastructure in place.  Again, I don&apos;t know if this is possible yet, as I&apos;ve just jumped in the past week or so, but doing so might help support our case that ClojureScript can be a viable command-line scripting tool.&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>[CLJS-8] clojure.string</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-8</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Port clojure.string to cljs&lt;/p&gt;

&lt;p&gt;Imported from github issue #47&lt;/p&gt;</description>
                <environment></environment>
            <key id="14501">CLJS-8</key>
            <summary>clojure.string</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="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="brentonashworth">Brenton Ashworth</assignee>
                                <reporter username="stu">Stuart Halloway</reporter>
                        <labels>
                    </labels>
                <created>Wed, 1 Jul 2020 00:00:00 -0500</created>
                <updated>Sat, 6 Aug 2011 09:40:41 -0500</updated>
                    <resolved>Sat, 6 Aug 2011 09:40:41 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26689" author="brentonashworth" created="Mon, 1 Aug 2011 12:04:06 -0500"  >&lt;p&gt;All functions have implementations. Added string tests from JVM Clojure plus some new tests. All tests pass in advanced mode.&lt;/p&gt;

&lt;p&gt;Clojure.string needs a code review. Also, nil handling is not being tested and may not work the same way as JVM Clojure. This still needs to be investigated.&lt;/p&gt;</comment>
                    <comment id="26692" author="juergenhoetzel" created="Wed, 3 Aug 2011 10:38:30 -0500"  >&lt;p&gt;replace can leverage native JavaScript instead of doing a Reimplementation in Clojure (Patch enclosed).&lt;/p&gt;

&lt;p&gt;I just did some profiling using Google Chrome (reversing 50000 long strings): &lt;br/&gt;
Performance improved from 3 to 0.5 seconds.&lt;/p&gt;</comment>
                    <comment id="26699" author="brentonashworth" created="Sat, 6 Aug 2011 09:40:11 -0500"  >&lt;p&gt;J&#252;rgen,&lt;/p&gt;

&lt;p&gt;Thank you for looking into this and for the patch. However, we can&apos;t apply this patch because you have not signed a CA. Please see:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://clojure.org/contributing&quot;&gt;http://clojure.org/contributing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I know it&apos;s a lot of work for one small patch but if you send in a CA then hopefully you will be able to send in more patches like this in the future.&lt;/p&gt;

&lt;p&gt;I am going to close this issue because it was mainly about implementing clojure.string. If you could please open a new issue about the performance of (reverse), that would be awesome.&lt;/p&gt;</comment>
                    <comment id="26604" author="chouser@n01se.net" created="Tue, 7 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by bobby, Thu Jul  7 20:29:32 2011:&lt;/p&gt;

&lt;p&gt;To continue development on cljs.string, this issue requires support for both regular expressions (#54) and refer-clojure (#64) in the ns declaration.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10303" name="0001-clojure.string.reverse-Use-a-native-idiomatic-JavaSc.patch" size="993" author="juergenhoetzel" created="Wed, 3 Aug 2011 10:39:11 -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>[CLJS-7] document diffs from Clojure</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-7</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;section by section comparison with Clojure, documenting what is different or absent&lt;/p&gt;

&lt;p&gt;Imported from github issue #40&lt;/p&gt;</description>
                <environment></environment>
            <key id="14500">CLJS-7</key>
            <summary>document diffs from Clojure</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="fogus">Fogus</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 1 Jul 2020 00:00:00 -0500</created>
                <updated>Fri, 29 Jul 2011 09:43:30 -0500</updated>
                    <resolved>Fri, 29 Jul 2011 09:43:30 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26602" author="chouser@n01se.net" created="Fri, 17 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by stuarthalloway, Sun Jul 17 19:55:03 2011:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/relevance/clojurescript/wiki/Differences-from-Clojure&quot;&gt;https://github.com/relevance/clojurescript/wiki/Differences-from-Clojure&lt;/a&gt;]]&lt;/p&gt;</comment>
                    <comment id="26603" author="chouser@n01se.net" created="Fri, 17 Jul 2020 00:00:00 -0500"  >&lt;p&gt;docs&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJS-9] Create Sample Application</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-9</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Remaining items:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;host the application somewhere&lt;/li&gt;
	&lt;li&gt;links to compiled code&lt;/li&gt;
	&lt;li&gt;someone other than Brenton should review the code (is this a good example of how to write ClojureScript?)&lt;/li&gt;
	&lt;li&gt;could use a little more design work&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Since I (Brenton) won&apos;t be able to do any of these things, I am relinquishing this task to someone who can.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14502">CLJS-9</key>
            <summary>Create Sample Application</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="2" iconUrl="http://dev.clojure.org/jira/images/icons/priority_critical.gif">Critical</priority>
                    <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="richhickey">Rich Hickey</reporter>
                        <labels>
                    </labels>
                <created>Wed, 1 Jul 2020 00:00:00 -0500</created>
                <updated>Sat, 7 Apr 2012 20:31:52 -0500</updated>
                    <resolved>Sat, 7 Apr 2012 20:31:52 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="26635" author="brentonashworth" created="Fri, 22 Jul 2011 21:58:18 -0500"  >&lt;p&gt;links to ClojureScript&lt;br/&gt;
docs and links to source/compiled code&lt;br/&gt;
leaderboard (make sure it doesn&apos;t consume API calls)&lt;br/&gt;
how to deal with/explain missing icons on inner ring&lt;br/&gt;
better evidence of activity (particularly when blocked by twitter api)&lt;/p&gt;

&lt;p&gt;clean up the code (people will follow this example so it should be good)&lt;/p&gt;</comment>
                    <comment id="26660" author="brentonashworth" created="Thu, 28 Jul 2011 08:27:59 -0500"  >&lt;p&gt;Some progress has been made. We now load missing images in subsequent queries and the status box shows activity.&lt;/p&gt;

&lt;p&gt;Remaining items:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;links to ClojureScript&lt;/li&gt;
	&lt;li&gt;docs and links to source/compiled code&lt;/li&gt;
	&lt;li&gt;clean up the code (people will follow this example so it should be good)&lt;/li&gt;
	&lt;li&gt;add the view history slider (shows off immutable data structures)&lt;/li&gt;
	&lt;li&gt;additional browser support&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Complete:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;leaderboard (make sure it doesn&apos;t consume API calls)&lt;/li&gt;
	&lt;li&gt;how to deal with/explain missing icons on inner ring&lt;/li&gt;
	&lt;li&gt;better evidence of activity (particularly when blocked by twitter api)&lt;/li&gt;
&lt;/ul&gt;

</comment>
                    <comment id="26663" author="neotyk" created="Fri, 29 Jul 2011 04:38:25 -0500"  >&lt;p&gt;Access to HTML5 LocalStorage via goog is dependent on &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJS-35&quot; title=&quot;Run against recent closure-library&quot;&gt;&lt;del&gt;CLJS-35&lt;/del&gt;&lt;/a&gt;, as latest release of closure-library doesn&apos;t support it yet.&lt;/p&gt;</comment>
                    <comment id="26688" author="brentonashworth" created="Sat, 30 Jul 2011 15:43:14 -0500"  >&lt;p&gt;The code has been cleaned up and links have been added to ClojureScript, documentation and Source code.&lt;/p&gt;

&lt;p&gt;Remaining items:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;host the application somewhere&lt;/li&gt;
	&lt;li&gt;links to compiled code&lt;/li&gt;
	&lt;li&gt;someone other than Brenton should review the code (is this a good example of how to write ClojureScript?)&lt;/li&gt;
	&lt;li&gt;could use a little more design work&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Since I (Brenton) won&apos;t be able to do any of these things, I am relinquishing this task to someone who can.&lt;/p&gt;</comment>
                    <comment id="26807" author="jli" created="Wed, 14 Sep 2011 01:55:26 -0500"  >&lt;p&gt;This could be hosted on Github with Github Pages: &lt;a href=&quot;http://pages.github.com/&quot;&gt;http://pages.github.com/&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="28088" author="brentonashworth" created="Sat, 7 Apr 2012 20:31:52 -0500"  >&lt;p&gt;This has been done. &lt;/p&gt;

&lt;p&gt;Twitterbuzz was the sample application. If there are issues with Twitterbuzz that someone would like to address then those should be separate issues.&lt;/p&gt;</comment>
                    <comment id="26605" author="chouser@n01se.net" created="Sat, 18 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by richhickey, Fri Jul  1 08:28:01 2011:&lt;/p&gt;

&lt;p&gt;Must not have any other deps (other than goog)&lt;/p&gt;</comment>
                    <comment id="26606" author="chouser@n01se.net" created="Sat, 18 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by fogus, Fri Jul  1 08:34:57 2011:&lt;/p&gt;

&lt;p&gt;Here is an example of a simple TODO: &lt;a href=&quot;http://nowdothis.com/&quot;&gt;http://nowdothis.com/&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="26607" author="chouser@n01se.net" created="Sat, 18 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by bobby, Fri Jul  1 11:45:05 2011:&lt;/p&gt;

&lt;p&gt;Here are two other sample Todo apps for popular JavaScript libraries:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Backbone.js: &lt;a href=&quot;http://documentcloud.github.com/backbone/examples/todos/index.html&quot;&gt;http://documentcloud.github.com/backbone/examples/todos/index.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Sproutcore: &lt;a href=&quot;http://getting-started.strobeapp.com/&quot;&gt;http://getting-started.strobeapp.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    <comment id="26608" author="chouser@n01se.net" created="Sat, 18 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by jessmartin, Fri Jul 15 08:46:12 2011:&lt;/p&gt;

&lt;p&gt;Here&apos;s a wiki page describing a proposed Sample App: &lt;a href=&quot;https://github.com/relevance/clojurescript/wiki/Demo-Application&quot;&gt;https://github.com/relevance/clojurescript/wiki/Demo-Application&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="26609" author="chouser@n01se.net" created="Sat, 18 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by richhickey, Mon Jul 18 09:50:55 2011:&lt;/p&gt;

&lt;p&gt;I&apos;m working on a simulated annealing based layout&lt;/p&gt;</comment>
                    <comment id="26610" author="chouser@n01se.net" created="Sat, 18 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by Chouser, Mon Jul 18 21:13:43 2011:&lt;/p&gt;

&lt;p&gt;Still to be done for the graph:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Stop looping when graph settles&lt;/li&gt;
	&lt;li&gt;Add margin so avatars aren&apos;t clipped&lt;/li&gt;
	&lt;li&gt;Filter out islands&lt;/li&gt;
	&lt;li&gt;Hook up to live data&lt;/li&gt;
	&lt;li&gt;Figure out if there&apos;s any way to make the results less ugly and/or useless.&lt;/li&gt;
&lt;/ul&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>[CLJS-6] range</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-6</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;You know, the function.&lt;/p&gt;

&lt;p&gt;Imported from github issue #39&lt;/p&gt;</description>
                <environment></environment>
            <key id="14499">CLJS-6</key>
            <summary>range</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</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="1">Completed</resolution>
                                <assignee username="aredington">Alexander Redington</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 29 Jun 2020 00:00:00 -0500</created>
                <updated>Fri, 29 Jul 2011 09:42:57 -0500</updated>
                    <resolved>Fri, 29 Jul 2011 09:42:21 -0500</resolved>
                                                                    <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="26657" author="arthurulfeldt" created="Wed, 27 Jul 2011 03:51:46 -0500"  >&lt;p&gt;implements the range function in core.cljs&lt;/p&gt;</comment>
                    <comment id="26682" author="aredington" created="Fri, 29 Jul 2011 09:42:21 -0500"  >&lt;p&gt;I added some tests to test-stuff, thank you for the patch Arthur!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10294" name="add-range-function.diff" size="1070" author="arthurulfeldt" created="Wed, 27 Jul 2011 03:51:46 -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>[CLJS-5] Compiler should emit optional source maps</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-5</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;== New Notes ==&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/&quot;&gt;http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source map support will be landing in Chrome in 6 weeks.&lt;/p&gt;

&lt;p&gt;== Old Notes ==&lt;/p&gt;

&lt;p&gt;Google&apos;s debugging tooling consists of at least these two big pieces:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;The `--create_source_map` compiler flag, which generates a table mapping source JS to compiled JS&lt;/li&gt;
	&lt;li&gt;The &lt;span class=&quot;error&quot;&gt;&amp;#91;Closure Inspector&amp;#93;&lt;/span&gt;(&lt;a href=&quot;http://code.google.com/closure/compiler/docs/inspector.html&quot;&gt;http://code.google.com/closure/compiler/docs/inspector.html&lt;/a&gt;), a Firefox plugin that uses the source maps to provide error messages pointing to original code instead of compiled code&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Open Questions&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;What does integrating with Closure Inspector look like?&lt;/li&gt;
	&lt;li&gt;Can we use code from gclosure to generate our own cljs &#65533;&#65533;&#65533; compiled JS mappings?&lt;/li&gt;
	&lt;li&gt;Would we need to modify Closure Inspector?&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Imported from github issue #31&lt;/p&gt;</description>
                <environment></environment>
            <key id="14498">CLJS-5</key>
            <summary>Compiler should emit optional source maps</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="3" iconUrl="http://dev.clojure.org/jira/images/icons/status_inprogress.gif">In Progress</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="dnolen">David Nolen</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 24 Jun 2020 00:00:00 -0500</created>
                <updated>Sat, 22 Dec 2012 16:29:56 -0600</updated>
                                                                            <due></due>
                    <votes>4</votes>
                        <watches>4</watches>
                        <comments>
                    <comment id="28084" author="dnolen" created="Fri, 6 Apr 2012 15:03:11 -0500"  >&lt;p&gt;There&apos;s a patch for Clojure, here &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-960&quot; title=&quot;Capture :column metadata (needed for ClojureScript source maps)&quot;&gt;&lt;del&gt;CLJ-960&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Related, &lt;a href=&quot;https://github.com/brandonbloom/clojurescript/compare/clojure:master...brandonbloom:track-pos&quot;&gt;https://github.com/brandonbloom/clojurescript/compare/clojure:master...brandonbloom:track-pos&lt;/a&gt; &lt;/p&gt;</comment>
                    <comment id="28674" author="dnolen" created="Fri, 1 Jun 2012 08:49:05 -0500"  >&lt;p&gt;wip here &lt;a href=&quot;http://github.com/clojure/clojurescript/tree/source-map&quot;&gt;http://github.com/clojure/clojurescript/tree/source-map&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="28693" author="dnolen" created="Sun, 3 Jun 2012 11:03:19 -0500"  >&lt;p&gt;Related ticket (tracking line &amp;amp; col during emission) that was resolved - &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJS-176&quot;&gt;http://dev.clojure.org/jira/browse/CLJS-176&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="26601" author="chouser@n01se.net" created="Wed, 24 Jun 2020 00:00:00 -0500"  >&lt;p&gt;Later&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>[CLJS-4] Try compiler macros for math ops</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-4</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;I&apos;ve made it so macro expansion stops when expansion does not differ from source form. This combined with the fact that we have separate Clojure namespaces for macros means that ordinary macros can act as compiler macros in cljs. Just define a macro with the same name as the function.&lt;/p&gt;

&lt;p&gt;Note that you will need the complete definition of the function as well - it will be used when the function is used as a value, or via some alias. The macro will only come into play when compiler sees call by original name.&lt;/p&gt;

&lt;p&gt;Try this on e.g. * and report back.&lt;/p&gt;

&lt;p&gt;Imported from github issue #15&lt;/p&gt;</description>
                <environment></environment>
            <key id="14497">CLJS-4</key>
            <summary>Try compiler macros for math ops</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="alan@thinkrelevance.com">Alan Dipert</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2020 00:00:00 -0500</created>
                <updated>Fri, 23 Sep 2011 11:58:18 -0500</updated>
                    <resolved>Fri, 23 Sep 2011 11:58:17 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26848" author="dnolen" created="Fri, 23 Sep 2011 09:15:16 -0500"  >&lt;p&gt;I&apos;ve started on this, &lt;a href=&quot;https://github.com/clojure/clojurescript/tree/4-math-op-macros&quot;&gt;https://github.com/clojure/clojurescript/tree/4-math-op-macros&lt;/a&gt;. Seems to works as advertised, however for some reason function printing gets borked.&lt;/p&gt;</comment>
                    <comment id="26849" author="dnolen" created="Fri, 23 Sep 2011 11:58:18 -0500"  >&lt;p&gt;Fixed, &lt;a href=&quot;https://github.com/clojure/clojurescript/commit/8e5662d9311c580f76a64b49c0b3422c598ee2c2&quot;&gt;https://github.com/clojure/clojurescript/commit/8e5662d9311c580f76a64b49c0b3422c598ee2c2&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="26600" author="chouser@n01se.net" created="Wed, 24 Jun 2020 00:00:00 -0500"  >&lt;p&gt;Later&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>[CLJS-3] testing spike (assert, test.generative)</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-3</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Things we will need to have/work around:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;clojure.walk&lt;/li&gt;
	&lt;li&gt;rethink deep-take (simple approach: omit)
	&lt;ul&gt;
		&lt;li&gt;or have a bindable var for compare-depth&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;fully qualified name hack&lt;/li&gt;
	&lt;li&gt;eval (macro time only?)&lt;/li&gt;
	&lt;li&gt;atoms&lt;/li&gt;
	&lt;li&gt;binding&lt;/li&gt;
	&lt;li&gt;development time namespace walking, or some other way to find tests&lt;/li&gt;
	&lt;li&gt;math fns&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Imported from github issue #12&lt;/p&gt;</description>
                <environment></environment>
            <key id="14496">CLJS-3</key>
            <summary>testing spike (assert, test.generative)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Jun 2020 00:00:00 -0500</created>
                <updated>Tue, 23 Aug 2011 17:38:39 -0500</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26597" author="chouser@n01se.net" created="Wed, 24 Jun 2020 00:00:00 -0500"  >&lt;p&gt;Comment by stuarthalloway, Thu Jun 16 00:37:49 2011:&lt;/p&gt;

&lt;p&gt;Can I import the goog libraries when and as necessary to implement core fns? I assume I will need some math support for test.generative.&lt;/p&gt;</comment>
                    <comment id="26598" author="chouser@n01se.net" created="Wed, 24 Jun 2020 00:00:00 -0500"  >&lt;p&gt;Comment by richhickey, Thu Jun 16 04:45:01 2011:&lt;/p&gt;

&lt;p&gt;Yes, you should be able to require them, depends on #8&lt;/p&gt;</comment>
                    <comment id="26599" author="chouser@n01se.net" created="Wed, 24 Jun 2020 00:00:00 -0500"  >&lt;p&gt;Later&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>[CLJS-2] Implement apply</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-2</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;The time for `apply` is nigh.  &lt;/p&gt;

&lt;p&gt;Is it as simple as emitting `afn.apply(ctx, args...)`?&lt;/p&gt;


&lt;p&gt;Imported from github issue #11&lt;/p&gt;</description>
                <environment></environment>
            <key id="14495">CLJS-2</key>
            <summary>Implement apply</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="fogus">Fogus</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 15 Jun 2020 00:00:00 -0500</created>
                <updated>Fri, 29 Jul 2011 08:37:21 -0500</updated>
                    <resolved>Fri, 29 Jul 2011 08:37:21 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26681" author="fogus" created="Fri, 29 Jul 2011 08:37:21 -0500"  >&lt;p&gt;Merged into master.  Work performed by mf and ss&lt;/p&gt;</comment>
                    <comment id="26590" author="chouser@n01se.net" created="Mon, 20 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by richhickey, Wed Jun 15 05:35:44 2011:&lt;/p&gt;

&lt;p&gt;Nope. Issues are:&lt;/p&gt;

&lt;p&gt;laziness - apply is lazy when called with a lazy seq and a fn which consumes the &amp;amp; argument lazily&lt;br/&gt;
js apply expects an array, not a seq&lt;br/&gt;
we&apos;d like our apply to work on all js functions, not just our fns&lt;/p&gt;

&lt;p&gt;One approach:&lt;br/&gt;
Our variadic fns indicate they are such by the presence of applyTo (possibly by implementing IVariadicFn protocol? - probably not, as they are of type Function). Rather than handle all arities in applyTo, this applyTo need only handle the variadic method (if the fn is arity overloaded). The variadic fn further provides maxFixedArity. We&apos;ll need a boundedLength/count fn (which counts a seq, but only up to a limit). If we are putting applyTo and maxFixedArity on the function objects, they should be scoped names, e.g. cljs$lang&amp;amp;applyTo &lt;/p&gt;

&lt;p&gt;The recipe then is:&lt;br/&gt;
check fn for applyTo, if not present dump the argseq into an array and call JS apply&lt;br/&gt;
else is variadic, call (bounded-count argseq (maxFixedArity fn))&lt;br/&gt;
if &amp;lt;= maxFixedArity, dump into array and call JS apply&lt;br/&gt;
else call applyTo&lt;/p&gt;</comment>
                    <comment id="26591" author="chouser@n01se.net" created="Mon, 20 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by richhickey, Fri Jun 24 05:25:53 2011:&lt;/p&gt;

&lt;p&gt;maxFixedArity as implemented ends up being a code-removal blocker for gclosure compiler. I&apos;m not sure if there is another impl approach that will work, or if we need another strategy. Also, let&apos;s please avoid dynamic defns in our code.&lt;/p&gt;</comment>
                    <comment id="26592" author="chouser@n01se.net" created="Mon, 20 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by stuartsierra, Fri Jul  1 14:24:47 2011:&lt;/p&gt;

&lt;p&gt;Laziness defeats me. The trick is making sure that every fn has an `applyTo` property, even if it only has one arity.&lt;/p&gt;</comment>
                    <comment id="26593" author="chouser@n01se.net" created="Mon, 20 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by stuartsierra, Mon Jul  4 12:35:00 2011:&lt;/p&gt;

&lt;p&gt;There are 4 cases to deal with:&lt;/p&gt;

&lt;p&gt;1. Single-arity function, non-variadic. These can stay as they are.&lt;br/&gt;
2. Multiple-arity function, non-variadic. These can stay as they are.&lt;br/&gt;
3. Single-arity variadic function.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Need to add `applyTo`&lt;/li&gt;
	&lt;li&gt;Only one code path for invocation&lt;br/&gt;
4. Multiple-arity variadic function.&lt;/li&gt;
	&lt;li&gt;Need to add `maxFixedArgs` and `applyTo`&lt;/li&gt;
	&lt;li&gt;Different code paths when invoked with more or less than `maxFixedArgs`&lt;/li&gt;
	&lt;li&gt;There can be only one variadic fn body!&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Case 3 is complicated by the fact that single-arity functions are currently emitted in such a way that additional properties cannot be set on the Function object.&lt;/p&gt;</comment>
                    <comment id="26594" author="chouser@n01se.net" created="Mon, 20 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by fogus, Sat Jul 16 07:42:59 2011:&lt;/p&gt;

&lt;p&gt;This may not make the 7/20 demo.  There is a lot conspiring against a solid (and minifiable) implementation.  Apply works as always, it&apos;s a little smarter about gen&apos;ing the right code in the correct contexts, but it&apos;s still not lazy.  I believe the problem lies elsewhere, but have not tracked the issue yet.  I have a branch at 11-apply-mf if anyone is interested in exploring.&lt;/p&gt;</comment>
                    <comment id="26595" author="chouser@n01se.net" created="Mon, 20 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by stuartsierra, Sat Jul 16 20:22:06 2011:&lt;/p&gt;

&lt;p&gt;For one thing, I think the definition of `apply` should say `(&amp;lt;= (bounded-count args (inc fixed-arity)) fixed-arity)` instead of `(&amp;lt;= (bounded-count args fixed-arity) fixed-arity)`. As written now, the condition is always true.&lt;/p&gt;

&lt;p&gt;Changing this on master breaks `apply` in some cases because `cljs$lang$applyTo` is not correctly defined.&lt;/p&gt;</comment>
                    <comment id="26596" author="chouser@n01se.net" created="Mon, 20 Jul 2020 00:00:00 -0500"  >&lt;p&gt;Comment by fogus, Sun Jul 17 07:15:53 2011:&lt;/p&gt;

&lt;p&gt;Right. You&apos;ll notice I fixed the trivial case of apply to do (effectively) that in my branch, but ran out of time to find the source of full realization that it hitting us later on.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10013">Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJS-509] Spurious warning about symbol not being a protocol</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-509</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;&quot;lein cljsbuild&quot; generates &quot;Symbol X is not a protocol&quot; warning. The following code snippet reproduces the issue. Renaming &quot;my.foo&quot; namespace to &quot;foo&quot; compiles with no warning.&lt;/p&gt;

&lt;p&gt;;; &lt;a href=&quot;file::&quot;&gt;file::&lt;/a&gt; foo.cljs&lt;br/&gt;
(ns my.foo)&lt;/p&gt;

&lt;p&gt;(defprotocol IFoo&lt;br/&gt;
  (bar&lt;span class=&quot;error&quot;&gt;&amp;#91;this&amp;#93;&lt;/span&gt;))&lt;/p&gt;

&lt;p&gt;;; file: fubar.cljs&lt;br/&gt;
(ns fubar&lt;br/&gt;
  (:require&lt;br/&gt;
   &lt;span class=&quot;error&quot;&gt;&amp;#91;my.foo :as foo&amp;#93;&lt;/span&gt;))&lt;/p&gt;

&lt;p&gt;(deftype FuBar []&lt;br/&gt;
  foo/IFoo&lt;br/&gt;
  (bar &lt;span class=&quot;error&quot;&gt;&amp;#91;this&amp;#93;&lt;/span&gt;))&lt;/p&gt;

&lt;p&gt;cljs output:&lt;br/&gt;
WARNING: Symbol foo/IFoo is not a protocol at line 5 src/fubar.cljs&lt;/p&gt;
</description>
                <environment>Clojure 1.5.1, ClojureScript, cljsbuild 0.3.2</environment>
            <key id="16196">CLJS-509</key>
            <summary>Spurious warning about symbol not being a protocol</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="praki">Praki Prakash</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 May 2013 09:22:44 -0500</created>
                <updated>Tue, 21 May 2013 09:22:44 -0500</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="12001" name="foo.cljs" size="46" author="praki" created="Tue, 21 May 2013 09:22:44 -0500" />
                    <attachment id="12002" name="fubar.cljs" size="90" author="praki" created="Tue, 21 May 2013 09:22:44 -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>[CLJS-508] Missing IReduce implementations and typo in clojure.core.reducers/append!</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-508</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;1) IReduce protocol is missing implementation for array and List.&lt;br/&gt;
2) append! uses (.add array), while the correct array method name is push&lt;/p&gt;

&lt;p&gt;Patch attached.&lt;/p&gt;

&lt;p&gt;Note: what is your experience with array.push performance? ClojureScript reducers/foldcat uses arrays for append! / cat implementation. My experience was that (into [] ...) using conj! and TransientVector was at least 5 times faster than reducers/foldcat using array and push. The reason is probably inefficient push implementation in Chrome/V8&lt;/p&gt;</description>
                <environment>Fresh CLJS checkout from github</environment>
            <key id="16195">CLJS-508</key>
            <summary>Missing IReduce implementations and typo in clojure.core.reducers/append!</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="skardan">Daniel Skarda</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 May 2013 05:51:11 -0500</created>
                <updated>Tue, 21 May 2013 10:03:02 -0500</updated>
                    <resolved>Tue, 21 May 2013 10:03:02 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="31124" author="dnolen" created="Tue, 21 May 2013 09:59:26 -0500"  >&lt;p&gt;Thanks for the patch. I doubt that array push is inefficient, but I imagine the regularity of TransientVector operations is something that V8 likes.&lt;/p&gt;</comment>
                    <comment id="31125" author="dnolen" created="Tue, 21 May 2013 10:03:02 -0500"  >&lt;p&gt;fixed, &lt;a href=&quot;http://github.com/clojure/clojurescript/commit/30bb0b9e55fb77cdfe952fbf5df763a25c4a25c5&quot;&gt;http://github.com/clojure/clojurescript/commit/30bb0b9e55fb77cdfe952fbf5df763a25c4a25c5&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="12000" name="reducers.patch" size="2281" author="skardan" created="Tue, 21 May 2013 05:51:11 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJS-507] Persistent Data Structure Benchmark</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-507</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Put together an easy to run series of persistent data structure benchmarks that can be easily run. For example we would like to submit to this Mozilla ticket &lt;a href=&quot;http://bugzilla.mozilla.org/show_bug.cgi?id=874174&quot;&gt;http://bugzilla.mozilla.org/show_bug.cgi?id=874174&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="16194">CLJS-507</key>
            <summary>Persistent Data Structure Benchmark</summary>
                <type id="3" iconUrl="http://dev.clojure.org/jira/images/icons/task.gif">Task</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="-1">Unassigned</assignee>
                                <reporter username="dnolen">David Nolen</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 May 2013 14:35:42 -0500</created>
                <updated>Mon, 20 May 2013 14:35:42 -0500</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>[CLJS-506] Flag to disable minification in advanced mode</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-506</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;Problem:&lt;br/&gt;
Some code has different semantics when compiled in advanced mode.&lt;br/&gt;
Clojurescript tries to minimize those cases, but examples are usage of aget or forgotten externs files.&lt;br/&gt;
There exits closure compiler options to generate names based on original expressions, even with advanced optimizations.&lt;br/&gt;
However, there exists no clojurescript compiler option for that.&lt;/p&gt;

&lt;p&gt;Proposal:&lt;br/&gt;
Add a :debug compiler option to clojurescript, which can be set to true to turn the following closure compiler options on:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;generatePseudoNames true&lt;/li&gt;
	&lt;li&gt;anonymousFunctionNaming AnonymousFunctionNamingPolicy/UNMAPPED&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Attached patch implements this, as a result the compiled test suite is indeed quite readable.&lt;/p&gt;</description>
                <environment></environment>
            <key id="16193">CLJS-506</key>
            <summary>Flag to disable minification in advanced mode</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="-1">Unassigned</assignee>
                                <reporter username="bendlas">Herwig Hochleitner</reporter>
                        <labels>
                    </labels>
                <created>Sun, 19 May 2013 10:09:08 -0500</created>
                <updated>Sun, 19 May 2013 10:11:15 -0500</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="31115" author="bendlas" created="Sun, 19 May 2013 10:11:15 -0500"  >&lt;p&gt;Patch 0001 depends on patches 0001 and 0002 from &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJS-480&quot; title=&quot;*cljs-data-readers* is bound to *data-readers* inconsistently&quot;&gt;CLJS-480&lt;/a&gt; because of changes to the test script.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11998" name="0001-CLJS-506-Add-a-debug-flag-to-the-compiler-options.patch" size="2171" author="bendlas" created="Sun, 19 May 2013 10:11:15 -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>
</channel>
</rss>