Skip to content
This repository has been archived by the owner on Jun 1, 2024. It is now read-only.

v6.0.1

Compare
Choose a tag to compare
@alexandru alexandru released this 30 Aug 10:43
· 49 commits to master since this release

The highlights of this release:

  • project is now modular
  • introduced IO<A>, probably the best Promise alternative in JavaScript's ecosystem
  • added Comonad and CoflatMap type-classes
  • made Eval implement Comonad, while removing error handling capabilities from it and now also has sequence and map2, map3, etc

Full list of changes:

  • PR #36: made project a "monorepo", splitting the main project into sub-projects, for à la carte dependency management, although you can still depend just on funfix and get everything; the new sub-projects are:
    • funfix-core
    • funfix-exec
    • funfix-effect
    • funfix-types
    • funfix
  • PR #37: added ExecutionModel (funfix-exec) for batched processing, see issue description for more details
  • PR #38: added IO<A> (in funfix-effect) as the lazy, lawful, Promise-alternative, which comes in addition to Future<A> (in funfix-exec), complementing it
  • PR #40: Eval<A> (in funfix-effect) no longer implements error handling capabilities, or MonadError (this is because Eval must now implement Comonad, which is incompatible with MonadError)
  • PR #43: added CoflatMap and Comonad type classes in funfix-effect, along with instances (Eval implements Comonad, whereas all other data types implement CoflatMap)
  • PR #44: removed Either.left() and Either.right(), because those are not total functions, being a booby-trap for beginners
  • PR #45: added Eval.sequence, along with map2, map3...map6