Semi-serious functional programming library.
Alpha documentation is found here
squishyAttempt;// Outputs: 2
squishyOption;// Outputs: 2
squishyPromise;// Outputs: 2
squishyStream;// Outputs: Tuple2(2, 0), Tuple2(3, 1), Tuple2(4, 2), Tuple2(5, 3)
- Array methods
- Check (similar to ScalaCheck and QuickCheck)
- FO - Fantasy Overloading
- Tuples (from 2 to 5)
Install the development dependencies with npm:
Run the tests with npm:
Run the tests with grunt:
Set the number of tasks to run parallel, the
--numOfParallel is optional, setting no value will set
it to run
2 tasks in parallel.
Obviously the number of tasks to be run in parallel depends on the type of CPU and the number of cores available.
grunt par --numOfParallel=4
If you're looking for a serious functional programming library one that derives a lot from Haskell and Category Theory then consider looking into bilby.js. A lot of the ideas in bilby.js are also found in squishy-pants, but differ in some implementation types.
If a tree falls in the woods, does it make a sound?
If a pure function mutates some local data in order to produce an immutable return value, is that ok?
Rich Hickey at http://clojure.org/transients
Squishy-pants assumes that it is ok to mutate local data as long as that local data is not exposed and if the result is immutable.