Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <h1><a href="http://documentcloud.github.com/underscore/" rel="nofollow">Underscore.js</a></h1> <p>It's not a substitute for a completely functional <code>List</code> replacement, but:</p> <ul> <li>it does get you a long way,</li> <li>it's well designed,</li> <li>well documented (and has a very nicely "<a href="http://en.wikipedia.org/wiki/Literate_programming" rel="nofollow">literate</a>-<a href="http://www.literateprogramming.com/knuthweb.pdf" rel="nofollow">programming</a>"-style <a href="http://documentcloud.github.com/underscore/docs/underscore.html" rel="nofollow">annotated source</a>),</li> <li>easy to extend,</li> <li>lightweight.</li> </ul> <p>It has a nice expressiveness and power to memory footprint ratio.</p> <p><em>(Note that is was inspired by the two following libraries, <strong><a href="http://osteele.com/sources/javascript/functional/" rel="nofollow">FunctionalJS</a></strong> and <strong><a href="http://substance.io/michael/data-js" rel="nofollow">Data.js</a></strong>.)</em></p> <h1><a href="http://osteele.com/sources/javascript/functional/" rel="nofollow">FunctionalJS</a></h1> <p>It shares most of <strong><a href="http://documentcloud.github.com/underscore/" rel="nofollow">Underscore.js</a></strong>'s attributes, and is definitely more oriented towards functional programming. However:</p> <ul> <li>it is <a href="https://github.com/osteele/functional-javascript" rel="nofollow">less actively maintained</a>,</li> <li>it is slightly harder to use if you're not familiar with functional concepts.</li> </ul> <h1><a href="http://substance.io/michael/data-js" rel="nofollow">Data.js</a></h1> <p>More than a purely functional programming library like <strong><a href="http://osteele.com/sources/javascript/functional/" rel="nofollow">FunctionalJS</a></strong>, <strong><a href="http://substance.io/michael/data-js" rel="nofollow">Data.js</a></strong> also covers storage aspects, graph-like data-structures and other goodies.</p> <p><em>(It is funny to note that <strong><a href="http://substance.io/michael/data-js" rel="nofollow">Data.js</a></strong> now lists <strong><a href="http://documentcloud.github.com/underscore/" rel="nofollow">Underscore.js</a></strong> has an influence in its newer iteration, while <strong><a href="http://documentcloud.github.com/underscore/" rel="nofollow">Underscore.js</a></strong> already lists <strong><a href="http://substance.io/michael/data-js" rel="nofollow">Data.js</a></strong> as its own influence.)</em></p> <h1><a href="http://listjs.com/" rel="nofollow">List.js</a></h1> <p><strong><a href="http://listjs.com/" rel="nofollow">List.js</a></strong> is for manipulating HTML lists. It may not be what you want, but I thought of adding it here as well as it does its job very well and fits a nice niche in terms of briding data and UI management in one (not necessarily a good idea, but works for some cases).</p> <h1>Others...</h1> <p><a href="http://www.dojotoolkit.org/" rel="nofollow">Dojo</a> (and many other JS libraries nowadays) supports some of the newer JS APIs or provides substitute implementations if they are missing, with some of them <a href="http://lazutkin.com/blog/2008/jan/12/functional-fun-javascript-dojo/" rel="nofollow">fairly functional by nature</a> and design.</p> <p>However, they don't push the concept quite as far, and these libraries are more heavyweight, so I wouldn't recommend them if that's all you want out of them.</p> <p><a href="http://hugoware.net/projects/jlinq" rel="nofollow">jLinq</a>, as mentioned by JanusTroelsen in your question's comments, looks very promising as well but I would be more concerned about the maturity of the library and its memory footprint for what it is (but the code seems very "spaced", so a compressed version might be acceptable).</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload