All Versions
4
Latest Version
Avg Release Cycle
106 days
Latest Release
1861 days ago

Changelog History

  • v0.5.0-alpha Changes

    September 12, 2016

    Monads

    📚 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 applyping "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