NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #551 most downloaded on pub.dev
Functional Programming in Dart. Purify your Dart code using efficient immutable data structures, monads, lenses and other FP tools.
Last release 5 years ago
no release in 18 months
Ships fairly regularly
a new release about every 3 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
75 releases · first in 2016
ALL additions in 0.10.1 were written by @cranst0n! (PRs #88, #91 and #93)
Updated changelog, readme and bumped version for 0.10.0 (Dart 2.12+, …
Updated changelog, readme and bumped version for 0.10.0 (Dart 2.12+, …
One column per quarter.
Updating dev_dependency plugin test to 0.17.1
Corrected signature of optionOf to A? => Option (issue #74, thanks @rich-j)
optionOf to A? => Option<A> (issue #74, thanks @rich-j)toNullable() to Option (issue #74, thanks @apiep)Requires Dart >= 2.12. Dart 1 is no longer supported at all.
mapXX and liftXX arities up to 20 on Option, Either and Free, courtesy of @cranst0n!
Updated changelog and bumped version
Updated changelog and bumped version
Type class hierarchy reworked to be implemented rather than extended
Nothing published for this version
Nothing published for this version
Lots of type fixes for Dart 2
Lots of type fixes for Dart 2
Nothing published for this version
Nothing published for this version
Nothing published for this version
Updated changelog and bumped version
Updated changelog and bumped version
- Dart 2.6.0 compatibility
Refined types on Task, for better Dart 2 support (issue #24, thanks @rlavolee)
Added asCons() and option to IList (issue #17, thanks @modulovalue)
Compatibility with Dart > 2.3.2 through workaround for https://github.com/dart-lang/sdk/issues/35097
value access on Some, Left and Right
Added transform, filter, where and partition to ISet
Preliminary Dart 2.2.0 compatibility
Added isLeft, isRight and swap to Either
Massive performance improvements for many operations on IMap on Dart 2
Bridge release with few breaking changes, full Dart 1 support and rudimentary Dart 2 support
IMap.fromPairs and IHashMap.fromPairs, for constructing maps from sequences of Tuple2
Corrected analyzer errors on recent Dart 2 dev releases
More useful types for eitherM()
Added curried versions of several Lens members (setC, modifyC and so on)
Added foldLeftWithIndexBetween and foldRightWithIndexBetween to IVector
Improved type safety for IMap and ISet
foldLeftBetween and foldRightBetween operations to AVLTree
I goofed up... the "efficient file reads" from 0.6.1 now actually work!
Way more efficient file reads using Free IO and Conveyor
Updated sdk requirement to >= 1.24.0
Added efficient operations related to lower/upper bounds to IMap:
'Gather' IO primitive for parallelizing IO operations
Slightly less efficient, but more correct/safe traverse for IList
Added modifyE to EvaluationMonad, for state updates that can fail
Reworked Free to be stack safe in more cases
Improved performance of set operation on IMap and IVector
Added experimental Lens implementation and example!
Swallowed a chunk of purist pride:
Added reverse to TraversableMonadPlus
Tightened types of some overrides and helpers
Added chunk to Pipe and Conveyor
Aggressive internal optimizations in IList, for speed and memory efficiency
Helpers for composing Free algebras and interpreters through coproduct nesting
New mini library, dartz_streaming!
foldLeftWithIndex and foldRightWithIndex on Foldable/FoldableOps
Improved resource safety of Conveyor primitives
repeatNotEmpty operation for Conveyor
Tee construct for combining Conveyors
Updated for the improvements to strong mode in Dart 1.19.0
Renamed Conveyor primitives (await -> consume, emit -> produce)
Conveyor, an experimental implementation of functional streams, based on work by Chiusano/Bjarnason (chapter 15 in FPIS)
Simplistic Task implementation, with MonadCatch instance
Fixed incompatibilities with dart2js
New TraversableMonadPlus type class, with partition operation
- Added Free IO example
liftOption operation for Evaluation
Your coding agent can read these notes before it upgrades. Set up the MCP server →