dartz 0.3.5 copy "dartz: ^0.3.5" to clipboard
dartz: ^0.3.5 copied to clipboard

outdatedDart 1 only

Functional Programming in Dart.

dartz #

Functional programming in Dart

  • Type class hierarchy in the spirit of scalaz and the standard Haskell libraries
  • Immutable, persistent collections, including IVector, IList, IMap, IHashMap, ISet and AVLTree
  • Option, Either, State, Tuple, Free and other tools for programming in a functional style
  • Evaluation, a Reader+Writer+State+Either+Future swiss army knife monad
  • Type class instances (Monoids, Traversable Functors, Monads and so on) for included types, as well as for several standard Dart types
  • Conveyor, an ultra experimental implementation of pure functional streaming
  • Examples, showcasing core concepts
New to functional programming?

A good place to start learning is the excellent Functional Programming in Scala by Paul Chiusano and Rúnar Bjarnason. I can not recommend this book highly enough.

Status
  • Super experimental!
  • Somewhat exotic structure/API, since dartz is trying to jam type classes for higher kinded types into a language that lacks support for real type classes and higher kinded types... At least we have basic parametric polymorphism for functions/methods now!!!
  • Most things are stack safe and reasonably efficient, but there are a couple of exceptions and plenty of room for further optimizations
License/Disclaimer

See LICENSE

1276
likes
0
pub points
99%
popularity

Publisher

unverified uploader

Functional Programming in Dart.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

More

Packages that depend on dartz