All Versions
4
Avg Release Cycle
106 days
Latest Release
2927 days ago

Changelog History

• v0.5.0-alpha Changes

September 12, 2016

๐ Finally, monads! Still could use more documentation, but they're here and they work ๐

``````[1, 2, 3] \>\>\> fn x -\> [x + 1] \>\>\> fn y -\> [y \* x, y \* 10, x - 1] endend#=\> [2, 20, 0, 6, 30, 1, 12, 40, 2][1, 2, 3]\>\>\> fn x -\> [x + 1] end\>\>\> fn y -\> [y \* 10, y - 1] end#=\> [20, 1, 30, 2, 40, 3]
``````

Of course they work on things other than lists. I'll will be moving the ADT-specifc implementations to Algae, so if you want `Maybe`, `Either`, and friends, please use it in conjunction with that library.

Major Reorganization

Still a bunch more to do, but this is already much better. Merging to master, and will continue to tighten stuff up and work through the roadmap.

• v0.3.0 Changes

January 12, 2016

Applicative Functors are here!

Things to note:

• `wrap` (i.e.: pure) & `apply` are here!
• Operator for `apply`: `<<~` and `~>>`
• Reversed operator arrow direction for consistence with Elixir
• ie: in Haskell we think about `apply`ping "over" things (`apply [(+1)] [1,2,3]`)
• In Elixir, we're piping thing into the application (`[1,2,3] ~>> [&(&1 + 1)]`)
• Can still write in the Haskell order, with reversed operators:
• Haskell: `(\x y -> x + y) <\$> [1,2,3] <*> [4,5,6]`
• Elixir: `&(&1 + &2) <~ [1,2,3] <<~ [4,5,6]`
• Have to exclude `Kernel.apply` for modules
• In the future, we will either need to create a `use`, or rename `apply` (probably the later)
• v0.2.0 Changes

November 08, 2015

Functor protocol, functions, and spot-check helpers

• Only the covariant functor, more varieties will follow
• v0.1.0 Changes

October 29, 2015

First draft of the `Monoid` protocol