lemonad

JavaScript functional programming library, inspired by the Clojure, ML, Haskell and Forth. Built on Underscore and its contrib library.

npm install lemonad
1 downloads in the last day
88 downloads in the last week
177 downloads in the last month

lemonad

A functional programming library for JavaScript inspired by Clojure, Haskell, SML and Forth.

lemonad

Using

Add the following to your 'package.json' file in the "dependencies" section:

"lemonad": "0.7.4"

Currently available functions

[ '$',
  'CAS',
  'CASMixin',
  'L',
  'Hole',
  'RefMixin',
  'VERSION',
  'WatchableMixin',
  'actions',
  'addWatch',
  'checker',
  'compareAndSwap',
  'ctor',
  'curry',
  'curry2',
  'curry3',
  'curry4',
  'dec',
  'dispatcher',
  'eq',
  'filter',
  'gt',
  'gte',
  'invokeAll',
  'is',
  'isArguments',
  'isArray',
  'isObject',
  'isReference',
  'isString',
  'lift',
  'lt',
  'lte',
  'map',
  'meth',
  'invoker',
  'walterWhite',
  'mix',
  'nth',
  'partial1',
  'partial2',
  'pipeline',
  'rcurry',
  'rcurry2',
  'rcurry3',
  'rcurry4',
  'reduce', 
  'removeWatch',
  'rot',
  'setValue',
  'swap', 
  'typed' ]

Influences / References

Todo

  • The rest of the things
  • Promises/A-compatible functions (http://wiki.commonjs.org/wiki/Promises/A)
  • Moar monadology
  • Logic vars?
  • Unification?
  • Other things that I can't think of right now
  • Generators / iterators?
  • Futures?
  • Laziness?
  • Badass memoize
  • Some data generators?
  • merges
  • walking
  • rel alg
  • into for objects
  • make sure that anything that works for array also works for arguments
  • Make sure I say, sequence on input and array on output
  • yggdrasil
  • undermine
  • reb
  • cljs
  • tables
  • bach.js
  • datalog
  • poems
  • shape decls
  • cheatsheet
  • site

License

This software is provided as-is under the MIT license.

npm loves you