dartz 0.5.6 copy "dartz: ^0.5.6" to clipboard
dartz: ^0.5.6 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, Lens 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 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
  • Basic type class structure and collection classes are relatively stable
  • Optimized for dart2js/node/v8, with performance on the dart vm being of distant secondary concern
  • Most things are stack safe and reasonably efficient, but there are a couple of exceptions and plenty of room for further optimizations
  • The streaming/conveyor stuff is highly experimental
  • The lens implementation is experimental and very bare bones
License/Disclaimer

See LICENSE

1265
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