A collection of functions and monads for functional programming in dart.


  • Function extensions - chain and compose.
  • Option
  • Either
  • Task
  • TaskEither
  • TaskOption
  • State
  • Reader
  • ReaderTask
  • ReaderTaskEither
  • StateReaderTaskEither
  • Immutable data structures, thanks to: https://pub.dev/packages/fast_immutable_collections
  • Iterable extension helpers
  • Unit
  • StateMachine and StateRTEMachine to help with interop.

Note that the API will be unstable until version 0.1.0 is reached.


API docs: https://pub.dev/documentation/fpdt/latest/

Not every function is documented (help is welcome!), but progress is being made.

The example/ and test/ directories are also useful for seeing how this library can be used.