All Versions
4
Latest Version
Avg Release Cycle
106 days
Latest Release
2927 days ago
Changelog History
Changelog History
-
v0.5.0-alpha Changes
September 12, 2016Monads
๐ 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, 2016Applicative 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]
- Haskell:
- Operator for
- Have to exclude
Kernel.apply
for modules- In the future, we will either need to create a
use
, or renameapply
(probably the later)
- In the future, we will either need to create a
-
v0.2.0 Changes
November 08, 2015Functor protocol, functions, and spot-check helpers
- Only the covariant functor, more varieties will follow
-
v0.1.0 Changes
October 29, 2015First draft of the
Monoid
protocol