Tags:
- [New Feature]
- [Bug Fix]
- [Breaking Change]
- [Documentation]
- [Internal]
- [Polish]
- [Experimental]
- [Deprecation]
Note: Gaps between patch versions are faulty/broken releases.
Note: A feature tagged as Experimental is in a high state of flux, you're at risk of it changing without notice.
The pipeable
module now exports a series of pipe
-able helpers that are useful when you build
a typeclass instance "on the fly".
Example
Here's a simple pipe
-line which validates a Person
struct
import * as E from 'fp-ts/Either'
import { pipe } from 'fp-ts/function'
const parseString = (u: unknown): E.Either<string, string> =>
typeof u === 'string' ? E.right(u) : E.left('not a string')
const parseNumber = (u: unknown): E.Either<string, number> =>
typeof u === 'number' ? E.right(u) : E.left('not a number')
interface Person {
readonly name: string
readonly age: number
}
const person = (name: string) => (age: number): Person => ({ name, age })
const parsePerson = (input: Record<string, unknown>): E.Either<string, Person> =>
pipe(E.of(person), E.ap(parseString(input.name)), E.ap(parseNumber(input.age)))
console.log(parsePerson({})) // => left('not a string')
As you can see the default ap
exported by the Either
module return only the first validation error.
You probably already know that if you want to get all validation errors you must create an Applicative
instance on the fly
import * as S from 'fp-ts/Semigroup'
import * as string from 'fp-ts/string'
const Applicative = E.getApplicativeValidation(pipe(string.Semigroup, S.intercalate(', ')))
The issue here is that Applicative.ap
is not pipe
-able and can't be used inside a pipe
-line
const parsePersonAll = (input: Record<string, unknown>): E.Either<string, Person> =>
pipe(
E.of(person),
Applicative.ap(parseString(input.name)), // <= error
Applicative.ap(parseNumber(input.age)) // <= error
)
That's when the new pipe
-able helpers come to handy
import * as P from 'fp-ts/pipeable'
// v--- this is `pipe`-able
const ap = P.ap(Applicative)
const parsePersonAll = (input: Record<string, unknown>): E.Either<string, Person> =>
pipe(
E.of(person),
ap(parseString(input.name)), // <= ok
ap(parseNumber(input.age)) // <= ok
)
console.log(parsePersonAll({})) // => left('not a string, not a number')
Changelog:
- New Feature
pipeable
- add pipeable helpers (@gcanti)
alt
ap
bimap
chain
compose
contramap
extend
filter
filterMap
filterMapWithIndex
filterWithIndex
foldMap
foldMapWithIndex
map
mapLeft
mapWithIndex
partition
partitionMap
partitionMapWithIndex
partitionWithIndex
promap
reduce
reduceRight
reduceRightWithIndex
reduceWithIndex
- add pipeable helpers (@gcanti)
- Polish
Writer
getChain
requires aSemigroup
instead of aMonoid
(@gcanti)
- Polish
Apply
- add
ap
overloadings, #1721 (@waynevanson)
- add
ReadonlyRecord
- fix
fromEntries
return type, closes #1745 (@gcanti)
- fix
TaskEither
- add
chainTaskOptionKW
, #1744 (@AmirabbasJ)
- add
- fix wrong type parameter order:
FromIO
chainIOK
FromTask
chainTaskK
chainFirstTaskK
Whiterable
FilterE1
TheseT
both
Either
apFirstW
apSecondW
IOEither
apFirstW
apSecondW
Reader
apFirstW
apSecondW
ReaderEither
apFirstW
apSecondW
ReaderTaskEither
apFirstW
apSecondW
StateReaderTaskEither
apFirstW
apSecondW
TaskEither
apFirstW
apSecondW
- Polish
ReadonlyRecord
/Record
- add
Applicative4
overloadings totraverse
/traverseWithIndex
, #1733 (@mlegenhausen)
- add
- Bug Fix
ReadonlyRecord
- fix
traverseWithIndex
implementation, #1704 (@waynevanson)
- fix
- New Feature
- add
IOOption
module (@gcanti) Array
- add
intercalate
, #1678 (@thewilkybarkid)
- add
Bounded
- add
clamp
(@gcanti) - add
reverse
(@gcanti)
- add
Either
- add
apFirstW
, #1564 (@DenisFrezzato) - add
apSecondW
, #1564 (@DenisFrezzato)
- add
EitherT
- add
chainNullableK
, #1619 (@cwstra) - add
fromNullable
, #1619 (@cwstra) - add
fromNullableK
, #1619 (@cwstra)
- add
FromEither
- add
chainFirstEitherK
(@gcanti)
- add
IOEither
- add
apFirstW
, #1564 (@DenisFrezzato) - add
apSecondW
, #1564 (@DenisFrezzato) - add
chainFirstEitherK
(@gcanti) - add
chainFirstEitherKW
(@gcanti) - add
orElseFirstIOK
, #1655 (@thewilkybarkid) - add
bracketW
, #1627 (@thomasvargiu)
- add
NonEmptyArray
- add
intercalate
, #1678 (@thewilkybarkid)
- add
Option
- add
chainFirstEitherK
(@gcanti)
- add
Ordering
- add
matchW
, #1535 (@mlegenhausen)
- add
Reader
- add
apFirstW
, #1564 (@DenisFrezzato) - add
apSecondW
, #1564 (@DenisFrezzato)
- add
ReaderEither
- add
apFirstW
, #1564 (@DenisFrezzato) - add
apSecondW
, #1564 (@DenisFrezzato) - add
chainFirstEitherK
(@gcanti) - add
chainFirstEitherKW
(@gcanti)
- add
ReaderTaskEither
- add
apFirstW
, #1564 (@DenisFrezzato) - add
apSecondW
, #1564 (@DenisFrezzato) - add
chainFirstEitherK
, #1562 (@DenisFrezzato) - add
chainFirstEitherKW
, #1562 (@DenisFrezzato) - add
bracketW
, #1627 (@thomasvargiu) - add
chainNullableK
(@gcanti) - add
fromNullable
(@gcanti) - add
fromNullableK
(@gcanti)
- add
ReadonlyArray
- add
intercalate
, #1678 (@thewilkybarkid)
- add
ReadonlyNonEmptyArray
- add
intercalate
, #1678 (@thewilkybarkid)
- add
ReadonlyRecord
- add
toEntries
, #1552 (@bravely) - add
fromEntries
, #1552 (@bravely)
- add
Record
- add
toEntries
, #1552 (@bravely) - add
fromEntries
, #1552 (@bravely)
- add
StateReaderTaskEither
- add
apFirstW
, #1564 (@DenisFrezzato) - add
apSecondW
, #1564 (@DenisFrezzato) - add
chainFirstEitherK
(@gcanti) - add
chainFirstEitherKW
(@gcanti)
- add
TaskEither
- add
apFirstW
, #1564 (@DenisFrezzato) - add
apSecondW
, #1564 (@DenisFrezzato) - add
chainFirstEitherK
, #1659 (@vinassefranche) - add
chainFirstEitherKW
, #1659 (@vinassefranche) - add
orElseFirstIOK
, #1655 (@thewilkybarkid) - add
orElseFirstTaskK
, #1655 (@thewilkybarkid) - add
bracketW
, #1627 (@thomasvargiu) - add
chainNullableK
, #1619 (@cwstra) - add
fromNullable
, #1619 (@cwstra) - add
fromNullableK
, #1619 (@cwstra)
- add
TaskOption
- add
fromEitherK
(@gcanti) - add
chainEitherK
(@gcanti) - add
chainFirstEitherK
(@gcanti)
- add
- add
- Polish
TaskEither
/TaskOption
- now
tryCatch
/tryCatchK
will catch synchronous errors too, #1676 (@thewilkybarkid)
- now
- Polish
- add
Refinement
overload to 'every' functions, #1681 (@mlegenhausen)
- add
- Polish
- Add missing pure annotations, #1658 (@OliverJAsh)
- Polish
- more
Functor.map
overloadings, closes #1623 (@gcanti)
- more
- Polish
ReaderEither
orElseFirstW
: intersect dependencies likeorElseW
(@gcanti)
ReaderTaskEither
orElseFirstW
: intersect dependencies likeorElseW
, #1635 (@OliverJAsh)
- Polish
- more curried
elem
overloads, #1602 (@ammut)
- more curried
- Polish
- fix
chainNullableK
signature, #1589 (@bwlt) - stack safety for
Task
via microtasks suspension, #1591 (@mikearnaldi)
- fix
- Polish
- pipe: fix v8 performance cliff for >10 case stmts, #1585 (@pbadenski)
- Polish
- Add/fix pure comments, #1555 (@OliverJAsh)
- Deprecation
Array
- deprecate
range
, useNonEmptyArray
module instead.
- deprecate
function
- deprecate
Endomorphism
, useEndomorphism
module instead. - deprecate
getEndomorphismMonoid
, useEndomorphism
module instead. - deprecate
Predicate
, usePredicate
module instead. - deprecate
not
, usePredicate
module instead. - deprecate
Refinement
, useRefinement
module instead.
- deprecate
Monoid
- deprecate
monoidVoid
, usevoid
module instead.
- deprecate
NonEmptyArray
- deprecate
groupSort
(it's justsort
followed bygroup
)
- deprecate
Option
- deprecate
getRefinement
, useRefinement
module instead. - deprecate
getFirstMonoid
, usegetMonoid
module instead. - deprecate
getLastMonoid
, usegetMonoid
module instead.
- deprecate
ReadonlyArray
- deprecate
range
, useReadonlyNonEmptyArray
module instead.
- deprecate
ReadonlyNonEmptyArray
- deprecate
groupSort
(it's justsort
followed bygroup
)
- deprecate
Record
/ReadonlyRecord
: deprecate overloads withoutOrd
constraint (@anthonyjoeseph):collect
reduce
foldMap
reduceRight
reduceWithIndex
foldMapWithIndex
reduceRightWithIndex
getShow
- deprecate
Foldable
in favour ofgetFoldable
(@anthonyjoeseph) - deprecate
FoldableWithIndex
in favour ofgetFoldableWithIndex
(@anthonyjoeseph) - deprecate
Traversable
in favour ofgetTraversable
(@anthonyjoeseph) - deprecate
TraversableWithIndex
in favour ofgetTraversableWithIndex
(@anthonyjoeseph) - deprecate
Witherable
in favour ofgetWitherable
(@anthonyjoeseph)
Semigroup
- deprecate
semigroupVoid
, usevoid
module instead.
- deprecate
- New Feature
- add
Endomorphism
module - add
Predicate
module - add
Refinement
module - add
FromState
module - add
FromThese
module - add
void
module - add
FromReader
module - add
NaturalTransformation
module - add
Zero
module Alt
- add
altAll
- add
Alternative
- add
altAll
- add
Array
- add
prependW
,appendW
(@thewilkybarkid) - add
fromOption
,fromPredicate
(@cdimitroulas) - add
filterE
- add
ChainRecDepthFirst
instance (@qlonik) - add
chainRecDepthFirst
- add
ChainRecBreadthFirst
instance (@qlonik) - add
chainRecBreadthFirst
- add
getUnionSemigroup
- add
getUnionMonoid
- add
getIntersectionSemigroup
- add
getDifferenceMagma
- add
fromEither
- add
FromEither
instance - add
fromEitherK
- make
isEmpty
a user defined guard - add
concat
/concatW
- add
match
,matchW
,matchLeftW
,matchRightW
- add
fromOptionK
- add
Zero
instance - add
guard
constructor - add
exists
alias
- add
boolean
- add
isBoolean
- add
Either
- add
chainOptionK
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
EitherT
- add
orElseFirst
- add
orLeft
- add
function
- add
SK
(@cdimitroulas) - add
apply
- add
IO
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
IOEither
- add
orElseFirst
/orElseFirstW
- add
orLeft
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
Magma
- add
reverse
- add
filterFirst
- add
filterSecond
- add
endo
- add
concatAll
- add
Map
- add
union
- add
intersection
- add
difference
- add
getUnionSemigroup
- add
getUnionMonoid
- add
getIntersectionSemigroup
- add
getDifferenceMagma
- add
getFoldable
- add
foldMap
- add
reduceRight
- add
reduceWithIndex
- add
foldMapWithIndex
- add
reduceRightWithIndex
- add
NonEmptyArray
- add
matchLeft
,matchRight
,modifyHead
,modifyLast
(@cdimitroulas) - add
union
- add
getUnionSemigroup
- add
makeBy
- add
range
- make
concat
pipeable
- add
number
- add
MagmaSub
- add
isNumber
- add
string
- add
isString
- add
Option
- add
FromEither
instance - add
fromEitherK
- add
chainEitherK
- add
Zero
instance - add
guard
constructor - add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
Ord
- add
trivial
instance - add
equals
- add
Reader
- add
asksReaderW
,asksReader
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
ReaderEither
- add
asksReaderEitherW
,asksReaderEither
- add
orElseFirst
/orElseFirstW
- add
orLeft
- add
chainReaderKW
- add
chainFirstReaderK
,chainFirstReaderKW
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
ReaderTask
- add
asksReaderTaskW
,asksReaderTask
- add
chainReaderKW
- add
chainFirstReaderK
,chainFirstReaderKW
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
ReaderTaskEither
- add
asksReaderTaskEitherW
,asksReaderTaskEither
- add
orElseFirst
/orElseFirstW
- add
orLeft
- add
fromReaderTaskK
- add
fromReaderEitherK
- add
chainReaderKW
- add
chainReaderTaskK
,chainReaderTaskKW
- add
chainFirstReaderK
,chainFirstReaderKW
- add
chainFirstReaderTaskK
,chainFirstReaderTaskKW
- add
chainReaderEitherK
,chainReaderEitherKW
- add
chainFirstReaderEitherK
,chainFirstReaderEitherKW
- add
chainFirstTaskEitherK
,chainFirstTaskEitherKW
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
ReadonlyArray
- add
prependW
,appendW
(@thewilkybarkid) - add
filterE
- add
ChainRecDepthFirst
instance (@qlonik) - add
chainRecDepthFirst
- add
ChainRecBreadthFirst
instance (@qlonik) - add
chainRecBreadthFirst
- add
getUnionSemigroup
- add
getUnionMonoid
- add
getIntersectionSemigroup
- add
getDifferenceMagma
- add
fromOption
- add
fromPredicate
- add
fromEither
- add
FromEither
instance - add
fromEitherK
- make
isEmpty
a user defined guard - add
concat
/concatW
- add
match
,matchW
,matchLeftW
,matchRightW
- add
fromOptionK
- add
Zero
instance - add
guard
constructor - add
exists
alias
- add
ReadonlyMap
- add
union
- add
intersection
- add
difference
- add
getUnionSemigroup
- add
getUnionMonoid
- add
getIntersectionSemigroup
- add
getDifferenceMagma
- add
reduce
- add
foldMap
- add
reduceRight
- add
reduceWithIndex
- add
foldMapWithIndex
- add
reduceRightWithIndex
- add
ReadonlyNonEmptyArray
- add
matchLeft
,matchRight
,modifyHead
,modifyLast
(@cdimitroulas) - add
union
- add
getUnionSemigroup
- add
makeBy
- add
range
- make
concat
pipeable
- add
ReadonlyRecord
- add
union
(@anthonyjoeseph) - add
intersection
(@anthonyjoeseph) - add
difference
(@anthonyjoeseph) - add
getUnionSemigroup
(@anthonyjoeseph) - add
getUnionMonoid
(@anthonyjoeseph) - add
getIntersectionSemigroup
(@anthonyjoeseph) - add
getDifferenceMagma
(@anthonyjoeseph)
- add
ReadonlySet
- add
getUnionSemigroup
- add
getDifferenceMagma
- add
Record
- add
union
- add
intersection
- add
difference
- add
getUnionSemigroup
- add
getUnionMonoid
- add
getIntersectionSemigroup
- add
getDifferenceMagma
- add
Set
- add
getUnionSemigroup
- add
getDifferenceMagma
- add
State
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
StateReaderTaskEither
- add
fromStateK
- add
chainStateK
- add
local
- add
asksStateReaderTaskEitherW
,asksStateReaderTaskEither
- add
chainReaderKW
- add
chainFirstReaderK
,chainFirstReaderKW
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
string
- add
toUpperCase
- add
toLowerCase
- add
replace
- add
split
- add
trim
- add
trimLeft
- add
trimRight
- add
includes
- add
startsWith
- add
endsWith
- add
slice
- add
struct
- add
evolve
- add
Task
- add
ApT
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
TaskEither
- add
fromTaskOption
(@thewilkybarkid) - add
fromTaskOptionK
- add
chainTaskOptionK
- add
orElseFirst
/orElseFirstW
- add
orLeft
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
TaskOption
- add
fromTaskEither
(@thewilkybarkid) - add
Zero
instance - add
guard
constructor - add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add missing
FromEither
instance
- add
TaskThese
- add
ApT
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
These
- add
elem
- add
exists
- add
ApT
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
Tree
- add
exists
- add
Witherable
- add
filterE
, #1458 (@vinassefranche) - add
wiltDefault
- add
witherDefault
- add
- add
- Polish
- remove unnecessary type parameters
Either
isLeft
isRight
Option
isNone
These
isLeft
isRight
- remove unnecessary type parameters
string
split
now returns aReadonlyNonEmptyArray
TaskOption
- add missing
FromEither
instance
- add missing
- some signature changes in
2.11.0-rc.1
caused type inference issuesArray
/ReadonlyArray
- revert
isOutOfBound
signature change - revert
isEmpty
signature change - revert
size
signature change
- revert
Either
- revert
exists
signature change - revert
elem
signature change
- revert
These
- revert
exists
signature change - revert
elem
signature change
- revert
NonEmptyArray
/ReadonlyNonEmptyArray
- revert
isOutOfBound
signature change
- revert
Set
/ReadonlySet
- revert
isEmpty
signature change - revert
size
signature change
- revert
Map
/ReadonlyMap
- revert
isEmpty
signature change - revert
size
signature change
- revert
- Deprecation
Array
- deprecate
range
, useNonEmptyArray
module instead.
- deprecate
function
- deprecate
Endomorphism
, useEndomorphism
module instead. - deprecate
getEndomorphismMonoid
, useEndomorphism
module instead. - deprecate
Predicate
, usePredicate
module instead. - deprecate
not
, usePredicate
module instead. - deprecate
Refinement
, useRefinement
module instead.
- deprecate
Monoid
- deprecate
monoidVoid
, usevoid
module instead.
- deprecate
NonEmptyArray
- deprecate
groupSort
(it's justsort
followed bygroup
)
- deprecate
Option
- deprecate
getRefinement
, useRefinement
module instead. - deprecate
getFirstMonoid
, usegetMonoid
module instead. - deprecate
getLastMonoid
, usegetMonoid
module instead.
- deprecate
ReadonlyArray
- deprecate
range
, useReadonlyNonEmptyArray
module instead.
- deprecate
ReadonlyNonEmptyArray
- deprecate
groupSort
(it's justsort
followed bygroup
)
- deprecate
Record
/ReadonlyRecord
: deprecate overloads withoutOrd
constraint (@anthonyjoeseph):collect
reduce
foldMap
reduceRight
reduceWithIndex
foldMapWithIndex
reduceRightWithIndex
getShow
- deprecate
Foldable
in favour ofgetFoldable
(@anthonyjoeseph) - deprecate
FoldableWithIndex
in favour ofgetFoldableWithIndex
(@anthonyjoeseph) - deprecate
Traversable
in favour ofgetTraversable
(@anthonyjoeseph) - deprecate
TraversableWithIndex
in favour ofgetTraversableWithIndex
(@anthonyjoeseph) - deprecate
Witherable
in favour ofgetWitherable
(@anthonyjoeseph)
Semigroup
- deprecate
semigroupVoid
, usevoid
module instead.
- deprecate
- New Feature
- add
Endomorphism
module - add
Predicate
module - add
Refinement
module - add
FromState
module - add
FromThese
module - add
void
module - add
FromReader
module - add
NaturalTransformation
module - add
Zero
module Alt
- add
altAll
- add
Alternative
- add
altAll
- add
Array
- add
prependW
,appendW
(@thewilkybarkid) - add
fromOption
,fromPredicate
(@cdimitroulas) - add
filterE
- add
ChainRecDepthFirst
instance (@qlonik) - add
chainRecDepthFirst
- add
ChainRecBreadthFirst
instance (@qlonik) - add
chainRecBreadthFirst
- add
getUnionSemigroup
- add
getUnionMonoid
- add
getIntersectionSemigroup
- add
getDifferenceMagma
- add
fromEither
- add
FromEither
instance - add
fromEitherK
- make
isEmpty
a user defined guard - add
concat
/concatW
- add
match
,matchW
,matchLeftW
,matchRightW
- add
fromOptionK
- add
Zero
instance - add
guard
constructor - add
exists
alias
- add
boolean
- add
isBoolean
- add
Either
- add
chainOptionK
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
EitherT
- add
orElseFirst
- add
orLeft
- add
function
- add
SK
(@cdimitroulas) - add
apply
- add
IO
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
IOEither
- add
orElseFirst
/orElseFirstW
- add
orLeft
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
Magma
- add
reverse
- add
filterFirst
- add
filterSecond
- add
endo
- add
concatAll
- add
Map
- add
union
- add
intersection
- add
difference
- add
getUnionSemigroup
- add
getUnionMonoid
- add
getIntersectionSemigroup
- add
getDifferenceMagma
- add
getFoldable
- add
foldMap
- add
reduceRight
- add
reduceWithIndex
- add
foldMapWithIndex
- add
reduceRightWithIndex
- add
NonEmptyArray
- add
matchLeft
,matchRight
,modifyHead
,modifyLast
(@cdimitroulas) - add
union
- add
getUnionSemigroup
- add
makeBy
- add
range
- make
concat
pipeable
- add
number
- add
MagmaSub
- add
isNumber
- add
string
- add
isString
- add
Option
- add
FromEither
instance - add
fromEitherK
- add
chainEitherK
- add
Zero
instance - add
guard
constructor - add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
Ord
- add
trivial
instance - add
equals
- add
Reader
- add
asksReaderW
,asksReader
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
ReaderEither
- add
asksReaderEitherW
,asksReaderEither
- add
orElseFirst
/orElseFirstW
- add
orLeft
- add
chainReaderKW
- add
chainFirstReaderK
,chainFirstReaderKW
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
ReaderTask
- add
asksReaderTaskW
,asksReaderTask
- add
chainReaderKW
- add
chainFirstReaderK
,chainFirstReaderKW
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
ReaderTaskEither
- add
asksReaderTaskEitherW
,asksReaderTaskEither
- add
orElseFirst
/orElseFirstW
- add
orLeft
- add
fromReaderTaskK
- add
fromReaderEitherK
- add
chainReaderKW
- add
chainReaderTaskK
,chainReaderTaskKW
- add
chainFirstReaderK
,chainFirstReaderKW
- add
chainFirstReaderTaskK
,chainFirstReaderTaskKW
- add
chainReaderEitherK
,chainReaderEitherKW
- add
chainFirstReaderEitherK
,chainFirstReaderEitherKW
- add
chainFirstTaskEitherK
,chainFirstTaskEitherKW
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
ReadonlyArray
- add
prependW
,appendW
(@thewilkybarkid) - add
filterE
- add
ChainRecDepthFirst
instance (@qlonik) - add
chainRecDepthFirst
- add
ChainRecBreadthFirst
instance (@qlonik) - add
chainRecBreadthFirst
- add
getUnionSemigroup
- add
getUnionMonoid
- add
getIntersectionSemigroup
- add
getDifferenceMagma
- add
fromOption
- add
fromPredicate
- add
fromEither
- add
FromEither
instance - add
fromEitherK
- make
isEmpty
a user defined guard - add
concat
/concatW
- add
match
,matchW
,matchLeftW
,matchRightW
- add
fromOptionK
- add
Zero
instance - add
guard
constructor - add
exists
alias
- add
ReadonlyMap
- add
union
- add
intersection
- add
difference
- add
getUnionSemigroup
- add
getUnionMonoid
- add
getIntersectionSemigroup
- add
getDifferenceMagma
- add
reduce
- add
foldMap
- add
reduceRight
- add
reduceWithIndex
- add
foldMapWithIndex
- add
reduceRightWithIndex
- add
ReadonlyNonEmptyArray
- add
matchLeft
,matchRight
,modifyHead
,modifyLast
(@cdimitroulas) - add
union
- add
getUnionSemigroup
- add
makeBy
- add
range
- make
concat
pipeable
- add
ReadonlyRecord
- add
union
(@anthonyjoeseph) - add
intersection
(@anthonyjoeseph) - add
difference
(@anthonyjoeseph) - add
getUnionSemigroup
(@anthonyjoeseph) - add
getUnionMonoid
(@anthonyjoeseph) - add
getIntersectionSemigroup
(@anthonyjoeseph) - add
getDifferenceMagma
(@anthonyjoeseph)
- add
ReadonlySet
- add
getUnionSemigroup
- add
getDifferenceMagma
- add
Record
- add
union
- add
intersection
- add
difference
- add
getUnionSemigroup
- add
getUnionMonoid
- add
getIntersectionSemigroup
- add
getDifferenceMagma
- add
Set
- add
getUnionSemigroup
- add
getDifferenceMagma
- add
State
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
StateReaderTaskEither
- add
fromStateK
- add
chainStateK
- add
local
- add
asksStateReaderTaskEitherW
,asksStateReaderTaskEither
- add
chainReaderKW
- add
chainFirstReaderK
,chainFirstReaderKW
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
string
- add
toUpperCase
- add
toLowerCase
- add
replace
- add
split
- add
trim
- add
trimLeft
- add
trimRight
- add
includes
- add
startsWith
- add
endsWith
- add
slice
- add
struct
- add
evolve
- add
Task
- add
ApT
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
TaskEither
- add
fromTaskOption
(@thewilkybarkid) - add
fromTaskOptionK
- add
chainTaskOptionK
- add
orElseFirst
/orElseFirstW
- add
orLeft
- add
flattenW
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
TaskOption
- add
fromTaskEither
(@thewilkybarkid) - add
Zero
instance - add
guard
constructor - add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
TaskThese
- add
ApT
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
traverseReadonlyNonEmptyArrayWithIndexSeq
- add
traverseReadonlyArrayWithIndexSeq
- add
These
- add
elem
- add
exists
- add
ApT
- add
traverseReadonlyNonEmptyArrayWithIndex
- add
traverseReadonlyArrayWithIndex
- add
Tree
- add
exists
- add
Witherable
- add
filterE
, #1458 (@vinassefranche) - add
wiltDefault
- add
witherDefault
- add
- add
- Polish
- remove unnecessary type parameters
Either
exists
isLeft
isRight
elem
Option
isNone
These
isLeft
isRight
Set
/ReadonlySet
isEmpty
size
Array
/ReadonlyArray
isEmpty
isOutOfBound
size
Map
/ReadonlyMap
isEmpty
size
NonEmptyArray
/ReadonlyNonEmptyArray
isOutOfBound
- remove unnecessary type parameters
- Bug Fix
StateT
- fix typo in
fromF
, #1503 (@DKurilo)
- fix typo in
- Bug Fix
altW
left type is too wide inEither
-based data types, #1488 (@wmaurer)
- Bug Fix
StateReaderTaskEither
traverseArrayWithIndex
does not pass the output state from each step to the subsequent step, #1486
- Bug Fix
Record
hasOwnProperty
should be an alias ofReadonlyRecord.hasOwnProperty
- Bug Fix
- rename
hasOwnProperty
ininternal
module, #1481 (@OliverJAsh)
- rename
- Deprecations
- deprecate
pipeable
module, use the specific helpers instead - deprecate
ValidationT
module, useEitherT
instead - deprecate "mega instances", use small, specific instances instead
- deprecate the old monad transformers, use the specific helpers instead
Applicative
- deprecate
getApplicativeComposition
, useap
helper instead
- deprecate
Array
- deprecate
prependToAll
, useprependAll
instead - deprecate
cons
in favour ofprepend
- deprecate
snoc
in favour ofappend
- deprecate
empty
- deprecate
BooleanAlgebra
- deprecate
booleanAlgebraBoolean
, useboolean.BooleanAlgebra
instead - deprecate
getFunctionBooleanAlgebra
, usefunction.getBooleanAlgebra
instead - deprecate
getDualBooleanAlgebra
, usereverse
instead
- deprecate
Bounded
- deprecate
boundedNumber
, usenumber.Bounded
instead
- deprecate
Choice
- deprecate
splitChoice
in favour ofsplit
- deprecate
fanin
in favour offanIn
- deprecate
Compactable
- deprecate
getCompactableComposition
, usecompact
,separate
helpers instead - deprecate
Separated
, useSeparated.Separated
instead
- deprecate
Either
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getValidationSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getValidationMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getValidation
, usegetApplicativeValidation
andgetAltValidation
instead - deprecate
Json
type, use theJson
module instead - deprecate
parseJSON
type, use theJson
module instead - deprecate
stringifyJSON
type, use theJson
module instead
- deprecate
Eq
- deprecate
eqBoolean
, useboolean.Eq
instead - deprecate
eqString
, usestring.Eq
instead - deprecate
eqNumber
, usenumber.Eq
instead - deprecate
eqDate
, useDate.Eq
instead - deprecate
getStructEq
, usestruct
instead - deprecate
getTupleEq
, usetuple
instead
- deprecate
Filterable
- deprecate
getFilterableComposition
, usefilter
,filterMap
,partition
,partitionMap
helpers instead
- deprecate
Foldable
- deprecate
toArray
in favour oftoReadonlyArray
- deprecate
getFoldableComposition
, usereduce
,foldMap
,reduceRight
helpers instead
- deprecate
FoldableWithIndex
- deprecate
getFoldableWithIndexComposition
, usereduceWithIndex
,foldMapWithIndex
,reduceRightWithIndex
helpers instead
- deprecate
Functor
- deprecate
getFunctorComposition
, usemap
helper instead
- deprecate
FunctorWithIndex
- deprecate
getFunctorWithIndexComposition
, usemapWithIndex
helper instead
- deprecate
IO
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
fromIO
- deprecate
IOEither
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- daprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getIOValidation
, usegetApplicativeIOValidation
andgetAltIOValidation
instead
- deprecate
Map
- deprecate
insertAt
in favour ofupsertAt
- deprecate
empty
- deprecate
Monoid
- deprecate
monoidAll
, useboolean.MonoidAll
instead - deprecate
monoidAny
, useboolean.MonoidAny
instead - deprecate
getFunctionMonoid
, usefunction.getMonoid
instead - deprecate
getEndomorphismMonoid
, usefunction.getEndomorphismMonoid
instead (Note. The execution order infunction.getEndomorphismMonoid
is reversed) - deprecate
monoidString
, usestring.Monoid
instead - deprecate
monoidSum
, usenumber.MonoidSum
instead - deprecate
monoidProduct
, usenumber.MonoidProduct
instead - deprecate
fold
, useconcatAll
instead - deprecate
getMeetMonoid
, usemin
instead - deprecate
getJoinMonoid
, usemax
instead - deprecate
getDualMonoid
, usereverse
instead - deprecate
getStructMonoid
, usestruct
instead - deprecate
getTupleMonoid
, usetuple
instead
- deprecate
NonEmptyArray
- deprecate
fold
, useconcatAll
instead - deprecate
prependToAll
, useprependAll
instead - deprecate
cons
in favour ofprepend
- deprecate
snoc
in favour ofappend
- deprecate
uncons
in favour ofunprepend
- deprecate
unsnoc
in favour ofunappend
- deprecate
filter
in favour ofArray
'sfilter
- deprecate
filterWithIndex
in favour ofArray
'sfilterWithIndex
- deprecate
Option
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
Ord
- deprecate
ordBoolean
, useboolean.Ord
instead - deprecate
ordString
, usestring.Ord
instead - deprecate
ordNumber
, usenumber.Ord
instead - deprecate
ordDate
, useDate.Ord
instead - deprecate
getDualOrd
, usereverse
instead - deprecate
getTupleOrd
, usetuple
instead
- deprecate
Ordering
- deprecate
eqOrdering
, useEq
instead - deprecate
monoidOrdering
, useMonoid
instead - deprecate
invert
in favour ofreverse
- deprecate
Ring
- deprecate
getFunctionRing
, usefunction.getRing
instead
- deprecate
Reader
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
ReaderEither
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getReaderValidation
, usegetApplicativeReaderValidation
andgetAltReaderValidation
instead - deprecate
local
, UseReader
'slocal
instead
- deprecate
ReaderTask
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
run
- deprecate
local
, UseReader
'slocal
instead
- deprecate
ReaderTaskEither
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getReaderTaskValidation
, usegetApplicativeReaderTaskValidation
andgetAltReaderTaskValidation
instead - deprecate
run
- deprecate
local
, UseReader
'slocal
instead
- deprecate
ReaderTaskEither
- deprecate
run
- deprecate
ReadonlyArray
- deprecate
prependToAll
, useprependAll
instead - deprecate
cons
in favour ofprepend
- deprecate
snoc
in favour ofappend
- deprecate
ReadonlyNonEmptyArray
- deprecate
fold
, useconcatAll
instead - deprecate
prependToAll
, useprependAll
instead - deprecate
insertAt
, UseReadonlyArray
'sinsertAt
instead - deprecate
cons
in favour ofprepend
- deprecate
snoc
in favour ofappend
- deprecate
uncons
in favour ofunprepend
- deprecate
unsnoc
in favour ofunappend
- deprecate
filter
in favour ofReadonlyArray
'sfilter
- deprecate
filterWithIndex
in favour ofReadonlyArray
'sfilterWithIndex
- deprecate
ReadonlyMap
- deprecate
insertAt
in favour ofupsertAt
- deprecate
ReadonlyRecord
- deprecate
hasOwnProperty
, usehas
instead - deprecate
insertAt
in favour ofupsertAt
- deprecate
ReadonlySet
- deprecate
fromArray
in favour offromReadonlyArray
- deprecate
ReadonlyTuple
- deprecate
mapLeft
in favour ofmapSnd
- deprecate
map
in favour ofmapFst
- deprecate
Record
- deprecate
hasOwnProperty
, usehas
instead - deprecate
insertAt
in favour ofupsertAt
- deprecate
empty
- deprecate
Ring
- deprecate
getTupleRing
, usetuple
instead
- deprecate
Semigroup
- deprecate
semigroupAll
, useboolean.SemigroupAll
instead - deprecate
semigroupAny
, useboolean.SemigroupAny
instead - deprecate
getFunctionSemigroup
, usefunction.getSemigroup
instead - deprecate
semigroupString
, usestring.Semigroup
instead - deprecate
semigroupSum
, usenumber.SemigroupSum
instead - deprecate
semigroupProduct
, usenumber.SemigroupProduct
instead - deprecate
fold
, useconcatAll
instead - deprecate
getIntercalateSemigroup
, useintercalate
instead - deprecate
getMeetSemigroup
, usemin
instead - deprecate
getJoinSemigroup
, usemax
instead - deprecate
getDualSemigroup
, usereverse
instead - deprecate
getStructSemigroup
, usestruct
instead - deprecate
getTupleSemigroup
, usetuple
instead - deprecate
getFirstSemigroup
, usefirst
instead - deprecate
getLastSemigroup
, uselast
instead - deprecate
getObjectSemigroup
, useassign
instead
- deprecate
Set
- deprecate
subset
in favour ofisSubset
- deprecate
Show
- deprecate
showBoolean
, useboolean.Show
instead - deprecate
showString
, usestring.Show
instead - deprecate
showNumber
, usenumber.Show
instead - deprecate
getStructShow
, usestruct
instead - deprecate
getTupleShow
, usetuple
instead
- deprecate
Strong
- deprecate
splitStrong
in favour ofsplit
- deprecate
fanout
in favour offanOut
- deprecate
Task
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
fromTask
- deprecate
TaskEither
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getTaskValidation
, usegetApplicativeTaskValidation
andgetAltTaskValidation
instead
- deprecate
TaskThese
- deprecate
functorTaskThese
instance in favour ofFunctor
- deprecate
bifunctorTaskThese
instance in favour ofBifunctor
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
toTuple
in favour oftoTuple2
- deprecate
These
- deprecate
toTuple
in favour oftoTuple2
- deprecate
Traversable
- deprecate
getTraversableComposition
, usetraverse
,sequence
helpers instead
- deprecate
Tuple
- deprecate
mapLeft
in favour ofmapSnd
- deprecate
map
in favour ofmapFst
- deprecate
- deprecate
- New Feature
- add
Pointed
type class - add
FromEither
type class - add
FromIO
type class - add
FromTask
type class - add
TaskOption
module - add
string
module - add
number
module - add
Separated
module (@YBogomolov) - add
Json
module Apply
- add
ap
helper - add
apS
helper - add
apFirst
helper - add
apSecond
helper - add
getApplySemigroup
- add
Applicative
- add
getApplicativeMonoid
- add
Array
- add
Pointed
instance - add
Apply
instance - add
matchLeft
alias - add
matchRight
alias - add
size
- better
unsafeInsertAt
signature - better
chunksOf
signature - add
getSemigroup
- add
boolean
- add
foldW
- add
match
alias - add
matchW
alias - add
Eq
instance - add
BooleanAlgebra
instance - add
SemigroupAll
instance - add
SemigroupAny
instance - add
MonoidAll
instance - add
MonoidAny
instance - add
Ord
instance - add
Show
instance
- add
BooleanAlgebra
- add
reverse
- add
Chain
- add
bind
helper - add
chainFirst
helper
- add
Compactable
- add
compact
helper - add
separate
helper - add
separated
constructor
- add
Date
- add
Eq
instance - add
Ord
instance
- add
Filterable
- add
filter
helper - add
filterMap
helper - add
partition
helper - add
partitionMap
helper
- add
Foldable
- add
reduce
helper - add
foldaMap
helper - add
reduceRight
helper
- add
FoldableWithIndex
- add
reduceWithIndex
helper - add
foldaMapWithIndex
helper - add
reduceRightWithIndex
helper
- add
function
- add
getBooleanAlgebra
- add
getSemigroup
- add
getMonoid
- add
getSemiring
- add
getRing
- add
getEndomorphismMonoid
- add
Functor
- add
map
helper - add
bindTo
helper - add
flap
derivable, #1393 (@williamareynolds)
- add
FunctorWithIndex
- add
mapWithIndex
helper
- add
Either
- add
Pointed
instance - add
Apply
instance - add
getCompactable
- add
getFilterable
- add
FromEither
instance - add
toUnion
, closes #1362 - add
foldW
- add
match
alias - add
matchW
alias - add
orElseW
- add
tryCatchK
- add
fromOptionK
- add
chainOptionK
- add
EitherT
- split
getEitherM
into separated functions
- split
Eq
- add
getSemigroup
- add
struct
- add
tuple
- add
Identity
- add
Pointed
instance - add
Apply
instance
- add
IO
- add
Pointed
instance - add
Apply
instance - add
FromIO
instance
- add
IOEither
- add
Pointed
instance - add
getCompactable
- add
FromIO
instance - add
FromEither
instance - add
tryCatchK
combinator - add
toUnion
- add
foldW
- add
match
alias - add
matchW
alias - add
orElseW
- add
fromOptionK
- add
chainOptionK
- add
Map
- add
filterWithIndex
combinator - add
filterMapWithIndex
combinator - add
partitionWithIndex
combinator - add
partitionMapWithIndex
combinator - add
getTraversableWithIndex
instance - add
getFoldableWithIndex
instance
- add
Monoid
- add
concatAll
- add
min
- add
max
- add
reverse
- add
struct
- add
tuple
- add
NonEmptyArray
- add
Pointed
instance - add
Apply
instance - add
concatAll
- add
isNonEmpty
guard - add
fromReadonlyNonEmptyArray
constructor - add
chainWithIndex
combinator - add
chop
- add
splitAt
- add
chunksOf
- add
Option
- add
Pointed
instance - add
Apply
instance - add
foldW
- add
match
alias - add
matchW
alias - add
tryCatchK
- add
OptionT
- split
getOptionM
into separated functions
- split
Ord
- add
equalsDefault
- add
reverse
- add
tuple
- add
Ordering
- add
Eq
instance - add
Semigroup
instance - add
Monoid
instance - add
match
- add
Random
- add
randomElem
- add
Reader
- add
Pointed
instance - add
Apply
instance - export
first
,second
,left
,right
- add
ReaderT
- split
getReaderM
into separated functions
- split
ReaderEither
- add
Pointed
instance - add
Apply
instance - add
FromEither
instance - add
getCompactable
- add
getFilterable
- add
toUnion
- add
foldW
- add
match
alias - add
matchW
alias - add
orElseW
- add
fromOptionK
- add
chainOptionK
- add
ReaderTask
- add
Pointed
instance - add
ApplyPar
instance - add
ApplySeq
instance - add
FromIO
instance - add
FromTask
instance - add
traverseSeqArrayWithIndex
- add
traverseSeqArray
- add
sequenceSeqArray
- export
Chain
instance - export
Monad
instance - export
MonadIO
instance - export
MonadTask
instance
- add
ReaderTaskEither
- add
Pointed
instance - add
ApplyPar
instance - add
ApplySeq
instance - add
FromIO
instance - add
FromTask
instance - add
FromEither
instance - add
getCompactable
- add
getFilterable
- add
toUnion
- add
foldW
- add
match
alias - add
matchW
alias - add
orElseW
- add
fromOptionK
- add
chainOptionK
- export
Chain
instance - export
Monad
instance - export
MonadIO
instance - export
MonadTask
instance - export
MonadThrow
instance
- add
ReadonlyArray
- add
Pointed
instance - add
Apply
instance - add
getSemigroup
- add
matchLeft
instance - add
matchRight
instance - add
size
- better
unsafeInsertAt
signature - better
chunksOf
signature, closes #1407
- add
ReadonlyMap
- add
filterWithIndex
combinator - add
filterMapWithIndex
combinator - add
partitionWithIndex
combinator - add
partitionMapWithIndex
combinator - add
getFunctorWithIndex
- add
getFoldable
- add
getFoldableWithIndex
- add
getTraversable
- add
getTraversableWithIndex
- add
ReadonlyNonEmptyArray
- add
Pointed
instance - add
Apply
instance - add
concatAll
- add
isNonEmpty
- add
chainWithIndex
- add
chop
- add
splitAt
- add
chunksOf
- add
ReadonlySet
- add
isEmpty
- add
size
- add
toggle
- add
Ring
- add
tuple
- add
Set
- add
isEmpty
- add
size
- add
Semigroup
- add
constant
- add
concatAll
- add
intercalate
- add
min
- add
max
- add
struct
- add
tuple
- add
first
- add
last
- add
assign
- add
Show
- add
struct
- add
tuple
- add
State
- add
Pointed
instance - add
Apply
instance
- add
StateT
- split
getStateM
into separated functions
- split
StateReaderTaskEither
- add
Pointed
instance - add
Apply
instance - add
Monad
instance - add
FromIO
instance - add
FromTask
instance - add
FromEither
instance - add
fromOptionK
- add
chainOptionK
- export
MonadIO
instance - export
MonadTask
instance - export
MonadThrow
instance
- add
Task
- add
Pointed
instance - add
ApplyPar
instance - add
ApplySeq
instance - add
FromIO
instance - add
FromTask
instance - export
Chain
instance - export
Monad
instance - export
MonadIO
instance - export
MonadTask
instance
- add
TaskEither
- add
Pointed
instance - add
ApplyPar
instance - add
ApplySeq
instance - add
getCompactable
- add
FromIO
instance - add
FromTask
instance - add
FromEither
instance - add
toUnion
- add
foldW
- add
match
alias - add
matchW
alias - add
orElseW
- add
fromOptionK
- add
chainOptionK
- export
Chain
instance - export
Monad
instance - export
MonadIO
instance - export
MonadTask
instance - export
MonadThrow
instance
- add
TaskThese
- add
Functor
instance - add
Pointed
instance - add
Bifunctor
instance - add
toTuple2
- add
getApply
- add
FromIO
instance - add
FromTask
instance - add
fromEither
function - add
FromEither
instance - add
getChain
instance - add
foldW
- add
match
alias - add
matchW
alias - add
fromOption
- add
fromOptionK
- add
fromPredicate
- add
These
- add
Pointed
instance - add
of
function - add
getApply
- add
toTuple2
- add
FromEither
instance - add
fromOption
constructor - add
foldW
- add
match
alias - add
matchW
alias - add
fromOptionK
- add
TaskOption
- export
Chain
instance - export
Monad
instance
- export
TheseT
- split
getTheseM
into separated functions
- split
Traversable
- add
traverse
helper - add
sequence
helper
- add
Tree
- add
Pointed
instance - add
Apply
instance
- add
Writer
- add
getPointed
- add
getApply
- add
getApplicative
- add
getChain
- add
- add
- Bug Fix
ReadonlyRecord
/Record
: removeextends string
constraints insingleton
/insertAt
, closes #1413TaskOption
- fix
getOrElseW
signature
- fix
- Internal
- add
internal
module
- add
- Polish
- the scope in
bindTo
,bind
,bindW
,apS
,apSW
is now correctlyreadonly
- fix
FromEither
type parameter order Array
/ReadonlyArray
- assert arrays as non-empty when using
some
, #1424 (@thewilkybarkid) - fix
matchLeft
,matchRight
type parameter order
- assert arrays as non-empty when using
EitherT
- add overloads for
Kind2
,Kind3
,Kind4
- add overloads for
OptionT
- add overloads for
Kind2
,Kind3
,Kind4
- add overloads for
ReaderT
- add overloads for
Kind2
,Kind3
,Kind4
- add overloads for
ReadonlyMap
- sort keys in
getShow
- sort keys in
ReadonlySet
- sort keys in
getShow
- sort keys in
StateT
- add overloads for
Kind2
,Kind3
- add overloads for
TheseT
- add overloads for
Kind2
,Kind3
,Kind4
- add overloads for
- the scope in
- Polish
- the scope in
bindTo
,bind
,bindW
,apS
,apSW
is now correctlyreadonly
- fix
FromEither
type parameter order
- the scope in
- Breaking Change (with respect to
2.10.0-rc
)- rename module
object
tostruct
- rename module
- Bug Fix
ReadonlyNonEmptyArray
- remove circular dependency on
NonEmptyArray
, closes #1443
- remove circular dependency on
- Breaking Change (with respect to
2.10.0-rc
)EitherT
- rename
match
tomatchE
and addmatch
- rename
IOEither
- rename
match
/matchW
tomatchE
/matchWE
and addmatch
/matchW
- rename
OptionT
- rename
match
tomatchE
and addmatch
- rename
ReaderEither
- rename
match
/matchW
tomatchE
/matchWE
and addmatch
/matchW
- rename
ReaderTaskEither
- rename
match
/matchW
tomatchE
/matchWE
and addmatch
/matchW
- rename
TheseT
- rename
match
tomatchE
and addmatch
- rename
TaskEither
- rename
match
/matchW
tomatchE
/matchWE
and addmatch
/matchW
- rename
TaskOption
- rename
match
/matchW
tomatchE
/matchWE
and addmatch
/matchW
- rename
TaskThese
- rename
match
/matchW
tomatchE
/matchWE
and addmatch
/matchW
- rename
- Bug Fix
TaskOption
- fix
getOrElseW
signature
- fix
- Breaking Change (with respect to
2.10.0-rc
)OptionT
- rename
none
tozero
and change signature
- rename
ReaderT
- remove
ask
,asks
(they will be derived from theFromReader
type-class in2.11
)
- remove
Semigroup
- move
assign
toobject
module and rename togetAssignSemigroup
- move
ReaderT
- remove
get
,put
,modify
,gets
(they will be derived from theFromState
type-class in2.11
)
- remove
- Deprecation
Tuple
- deprecate
mapLeft
in favour ofmapSnd
- deprecate
map
in favour ofmapFst
- deprecate
ReadonlyTuple
- deprecate
mapLeft
in favour ofmapSnd
- deprecate
map
in favour ofmapFst
- deprecate
- Polish
Array
/ReadonlyArray
- assert arrays as non-empty when using
some
, #1424 (@thewilkybarkid) - fix
matchLeft
,matchRight
type parameter order
- assert arrays as non-empty when using
EitherT
- add overloads for
Kind2
,Kind3
,Kind4
- add overloads for
OptionT
- add overloads for
Kind2
,Kind3
,Kind4
- add overloads for
ReaderT
- add overloads for
Kind2
,Kind3
,Kind4
- add overloads for
ReadonlyMap
- sort keys in
getShow
- sort keys in
ReadonlySet
- sort keys in
getShow
- sort keys in
StateT
- add overloads for
Kind2
,Kind3
- add overloads for
TheseT
- add overloads for
Kind2
,Kind3
,Kind4
- add overloads for
- Internal
- add
internal
module
- add
- Deprecations
Array
- deprecate
empty
- deprecate
Map
- deprecate
empty
- deprecate
NonEmptyArray
- deprecate
filter
in favour ofArray
'sfilter
- deprecate
filterWithIndex
in favour ofArray
'sfilterWithIndex
- deprecate
ReadonlyNonEmptyArray
- deprecate
filter
in favour ofReadonlyArray
'sfilter
- deprecate
filterWithIndex
in favour ofReadonlyArray
'sfilterWithIndex
- deprecate
Record
- deprecate
empty
- deprecate
- Polish
NonEmptyArray
- remove duplicated
append
,prepend
,isNonEmpty
- remove duplicated
ReadonlyNonEmptyArray
- remove duplicated
append
,prepend
,isNonEmpty
- remove duplicated
- Deprecations
Array
- deprecate
cons
in favour ofprepend
- deprecate
snoc
in favour ofappend
- deprecate
Ordering
- deprecate
invert
in favour ofreverse
- deprecate
ReadonlyMap
- deprecate
insertAt
in favour ofupsertAt
- deprecate
ReadonlyRecord
- deprecate
insertAt
in favour ofupsertAt
- deprecate
Map
- deprecate
insertAt
in favour ofupsertAt
- deprecate
NonEmptyArray
- deprecate
cons
in favour ofprepend
- deprecate
snoc
in favour ofappend
- deprecate
uncons
in favour ofunprepend
- deprecate
unsnoc
in favour ofunappend
- deprecate
Record
- deprecate
insertAt
in favour ofupsertAt
- deprecate
ReadonlyArray
- deprecate
cons
in favour ofprepend
- deprecate
snoc
in favour ofappend
- deprecate
ReadonlyNonEmptyArray
- deprecate
insertAt
, UseReadonlyArray
'sinsertAt
instead - deprecate
cons
in favour ofprepend
- deprecate
snoc
in favour ofappend
- deprecate
uncons
in favour ofunprepend
- deprecate
unsnoc
in favour ofunappend
- deprecate
ReadonlySet
- deprecate
fromArray
in favour offromReadonlyArray
- deprecate
Set
- deprecate
subset
in favour ofisSubset
- deprecate
- New Feature
Array
- add
size
- better
unsafeInsertAt
signature - better
chunksOf
signature - add
getSemigroup
- add
Map
- add
filterWithIndex
combinator - add
filterMapWithIndex
combinator - add
partitionWithIndex
combinator - add
partitionMapWithIndex
combinator - add
getTraversableWithIndex
instance - add
getFoldableWithIndex
instance
- add
NonEmptyArray
- add
isNonEmpty
guard - add
fromReadonlyNonEmptyArray
constructor - add
chainWithIndex
combinator - add
chop
- add
splitAt
- add
chunksOf
- add
Ordering
- add
match
- add
ReadonlyArray
- add
size
- better
unsafeInsertAt
signature - better
chunksOf
signature, closes #1407
- add
ReadonlyNonEmptyArray
- add
isNonEmpty
- add
chainWithIndex
- add
chop
- add
splitAt
- add
chunksOf
- add
ReadonlySet
- add
isEmpty
- add
size
- add
toggle
- add
Set
- add
isEmpty
- add
size
- add
string
- add
empty
- add
isEmpty
- add
size
- add
- Bug Fix
ReadonlyRecord
/Record
: removeextends string
constraints insingleton
/insertAt
, closes #1413
- Deprecations
Choice
- deprecate
splitChoice
in favour ofsplit
- deprecate
fanin
in favour offanIn
- deprecate
Strong
- deprecate
splitStrong
in favour ofsplit
- deprecate
fanout
in favour offanOut
- deprecate
- New Feature
Reader
- export
first
,second
,left
,right
- export
ReaderTask
- export
Chain
instance - export
Monad
instance - export
MonadIO
instance - export
MonadTask
instance
- export
ReaderTaskEither
- export
Chain
instance - export
Monad
instance - export
MonadIO
instance - export
MonadTask
instance - export
MonadThrow
instance
- export
StateReaderTaskEither
- export
MonadIO
instance - export
MonadTask
instance - export
MonadThrow
instance
- export
Task
- export
Chain
instance - export
Monad
instance - export
MonadIO
instance - export
MonadTask
instance
- export
TaskEither
- export
Chain
instance - export
Monad
instance - export
MonadIO
instance - export
MonadTask
instance - export
MonadThrow
instance
- export
TaskOption
- export
Chain
instance - export
Monad
instance
- export
- Polish
Compactable
- split
compact
/separate
constraints
- split
- Deprecations
- deprecate
pipeable
module, use the specific helpers instead - deprecate
ValidationT
module, useEitherT
instead - deprecate "mega instances", use small, specific instances instead
- deprecate the old monad transformers, use the specific helpers instead
Applicative
- deprecate
getApplicativeComposition
, useap
helper instead
- deprecate
Array
- deprecate
prependToAll
, useprependAll
instead
- deprecate
BooleanAlgebra
- deprecate
booleanAlgebraBoolean
, useboolean.BooleanAlgebra
instead - deprecate
getFunctionBooleanAlgebra
, usefunction.getBooleanAlgebra
instead - deprecate
getDualBooleanAlgebra
, usereverse
instead
- deprecate
Bounded
- deprecate
boundedNumber
, usenumber.Bounded
instead
- deprecate
Compactable
- deprecate
getCompactableComposition
, usecompact
,separate
helpers instead - deprecate
Separated
, useSeparated.Separated
instead
- deprecate
Either
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getValidationSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getValidationMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getValidation
, usegetApplicativeValidation
andgetAltValidation
instead - deprecate
Json
type, use theJson
module instead - deprecate
parseJSON
type, use theJson
module instead - deprecate
stringifyJSON
type, use theJson
module instead
- deprecate
Eq
- deprecate
eqBoolean
, useboolean.Eq
instead - deprecate
eqString
, usestring.Eq
instead - deprecate
eqNumber
, usenumber.Eq
instead - deprecate
eqDate
, useDate.Eq
instead - deprecate
getStructEq
, usestruct
instead - deprecate
getTupleEq
, usetuple
instead
- deprecate
Filterable
- deprecate
getFilterableComposition
, usefilter
,filterMap
,partition
,partitionMap
helpers instead
- deprecate
Foldable
- deprecate
toArray
in favour oftoReadonlyArray
- deprecate
getFoldableComposition
, usereduce
,foldMap
,reduceRight
helpers instead
- deprecate
FoldableWithIndex
- deprecate
getFoldableWithIndexComposition
, usereduceWithIndex
,foldMapWithIndex
,reduceRightWithIndex
helpers instead
- deprecate
Functor
- deprecate
getFunctorComposition
, usemap
helper instead
- deprecate
FunctorWithIndex
- deprecate
getFunctorWithIndexComposition
, usemapWithIndex
helper instead
- deprecate
IO
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
fromIO
- deprecate
IOEither
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getIOValidation
, usegetApplicativeIOValidation
andgetAltIOValidation
instead
- deprecate
Monoid
- deprecate
monoidAll
, useboolean.MonoidAll
instead - deprecate
monoidAny
, useboolean.MonoidAny
instead - deprecate
getFunctionMonoid
, usefunction.getMonoid
instead - deprecate
getEndomorphismMonoid
, usefunction.getEndomorphismMonoid
instead (Note. The execution order infunction.getEndomorphismMonoid
is reversed) - deprecate
monoidString
, usestring.Monoid
instead - deprecate
monoidSum
, usenumber.MonoidSum
instead - deprecate
monoidProduct
, usenumber.MonoidProduct
instead - deprecate
fold
, useconcatAll
instead - deprecate
getMeetMonoid
, usemin
instead - deprecate
getJoinMonoid
, usemax
instead - deprecate
getDualMonoid
, usereverse
instead - deprecate
getStructMonoid
, usestruct
instead - deprecate
getTupleMonoid
, usetuple
instead
- deprecate
NonEmptyArray
- deprecate
fold
, useconcatAll
instead - deprecate
prependToAll
, useprependAll
instead
- deprecate
Option
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
Ord
- deprecate
ordBoolean
, useboolean.Ord
instead - deprecate
ordString
, usestring.Ord
instead - deprecate
ordNumber
, usenumber.Ord
instead - deprecate
ordDate
, useDate.Ord
instead - deprecate
getDualOrd
, usereverse
instead - deprecate
getTupleOrd
, usetuple
instead
- deprecate
Ordering
- deprecate
eqOrdering
, useEq
instead - deprecate
monoidOrdering
, useMonoid
instead
- deprecate
Ring
- deprecate
getFunctionRing
, usefunction.getRing
instead
- deprecate
Reader
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
ReaderEither
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getReaderValidation
, usegetApplicativeReaderValidation
andgetAltReaderValidation
instead - deprecate
local
, UseReader
'slocal
instead
- deprecate
ReaderTask
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
run
- deprecate
local
, UseReader
'slocal
instead
- deprecate
ReaderTaskEither
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getReaderTaskValidation
, usegetApplicativeReaderTaskValidation
andgetAltReaderTaskValidation
instead - deprecate
run
- deprecate
local
, UseReader
'slocal
instead
- deprecate
ReaderTaskEither
- deprecate
run
- deprecate
ReadonlyArray
- deprecate
prependToAll
, useprependAll
instead
- deprecate
ReadonlyNonEmptyArray
- deprecate
fold
, useconcatAll
instead - deprecate
prependToAll
, useprependAll
instead
- deprecate
ReadonlyRecord
- deprecate
hasOwnProperty
, usehas
instead
- deprecate
Record
- deprecate
hasOwnProperty
, usehas
instead
- deprecate
Ring
- deprecate
getTupleRing
, usetuple
instead
- deprecate
Semigroup
- deprecate
semigroupAll
, useboolean.SemigroupAll
instead - deprecate
semigroupAny
, useboolean.SemigroupAny
instead - deprecate
getFunctionSemigroup
, usefunction.getSemigroup
instead - deprecate
semigroupString
, usestring.Semigroup
instead - deprecate
semigroupSum
, usenumber.SemigroupSum
instead - deprecate
semigroupProduct
, usenumber.SemigroupProduct
instead - deprecate
fold
, useconcatAll
instead - deprecate
getIntercalateSemigroup
, useintercalate
instead - deprecate
getMeetSemigroup
, usemin
instead - deprecate
getJoinSemigroup
, usemax
instead - deprecate
getDualSemigroup
, usereverse
instead - deprecate
getStructSemigroup
, usestruct
instead - deprecate
getTupleSemigroup
, usetuple
instead - deprecate
getFirstSemigroup
, usefirst
instead - deprecate
getLastSemigroup
, uselast
instead - deprecate
getObjectSemigroup
, useassign
instead
- deprecate
Show
- deprecate
showBoolean
, useboolean.Show
instead - deprecate
showString
, usestring.Show
instead - deprecate
showNumber
, usenumber.Show
instead - deprecate
getStructShow
, usestruct
instead - deprecate
getTupleShow
, usetuple
instead
- deprecate
Task
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
fromTask
- deprecate
TaskEither
- deprecate
getApplySemigroup
in favour ofApply.getApplySemigroup
- deprecate
getApplyMonoid
in favour ofApplicative.getApplicativeMonoid
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
getTaskValidation
, usegetApplicativeTaskValidation
andgetAltTaskValidation
instead
- deprecate
TaskThese
- deprecate
functorTaskThese
instance in favour ofFunctor
- deprecate
bifunctorTaskThese
instance in favour ofBifunctor
- deprecate
getSemigroup
in favour ofApply.getApplySemigroup
- deprecate
toTuple
in favour oftoTuple2
- deprecate
These
- deprecate
toTuple
in favour oftoTuple2
- deprecate
Traversable
- deprecate
getTraversableComposition
, usetraverse
,sequence
helpers instead
- deprecate
- deprecate
- New Feature
- add
Pointed
type class - add
FromEither
type class - add
FromIO
type class - add
FromTask
type class - add
TaskOption
module - add
string
module - add
number
module - add
Separated
module (@YBogomolov) - add
Json
module Apply
- add
ap
helper - add
apS
helper - add
apFirst
helper - add
apSecond
helper - add
getApplySemigroup
- add
Applicative
- add
getApplicativeMonoid
- add
Array
- add
Pointed
instance - add
Apply
instance - add
matchLeft
alias - add
matchRight
alias
- add
boolean
- add
foldW
- add
match
alias - add
matchW
alias - add
Eq
instance - add
BooleanAlgebra
instance - add
SemigroupAll
instance - add
SemigroupAny
instance - add
MonoidAll
instance - add
MonoidAny
instance - add
Ord
instance - add
Show
instance
- add
BooleanAlgebra
- add
reverse
- add
Chain
- add
bind
helper - add
chainFirst
helper
- add
Compactable
- add
compact
helper - add
separate
helper - add
separated
constructor
- add
Date
- add
Eq
instance - add
Ord
instance
- add
Filterable
- add
filter
helper - add
filterMap
helper - add
partition
helper - add
partitionMap
helper
- add
Foldable
- add
reduce
helper - add
foldaMap
helper - add
reduceRight
helper
- add
FoldableWithIndex
- add
reduceWithIndex
helper - add
foldaMapWithIndex
helper - add
reduceRightWithIndex
helper
- add
function
- add
getBooleanAlgebra
- add
getSemigroup
- add
getMonoid
- add
getSemiring
- add
getRing
- add
getEndomorphismMonoid
- add
Functor
- add
map
helper - add
bindTo
helper - add
flap
derivable, #1393 (@williamareynolds)
- add
FunctorWithIndex
- add
mapWithIndex
helper
- add
Either
- add
Pointed
instance - add
Apply
instance - add
getCompactable
- add
getFilterable
- add
FromEither
instance - add
toUnion
, closes #1362 - add
foldW
- add
match
alias - add
matchW
alias - add
orElseW
- add
tryCatchK
- add
fromOptionK
- add
chainOptionK
- add
EitherT
- split
getEitherM
into separated functions
- split
Eq
- add
getSemigroup
- add
struct
- add
tuple
- add
Identity
- add
Pointed
instance - add
Apply
instance
- add
IO
- add
Pointed
instance - add
Apply
instance - add
FromIO
instance
- add
IOEither
- add
Pointed
instance - add
getCompactable
- add
FromIO
instance - add
FromEither
instance - add
tryCatchK
combinator - add
toUnion
- add
foldW
- add
match
alias - add
matchW
alias - add
orElseW
- add
fromOptionK
- add
chainOptionK
- add
Monoid
- add
concatAll
- add
min
- add
max
- add
reverse
- add
struct
- add
tuple
- add
NonEmptyArray
- add
Pointed
instance - add
Apply
instance - add
concatAll
- add
Option
- add
Pointed
instance - add
Apply
instance - add
foldW
- add
match
alias - add
matchW
alias - add
tryCatchK
- add
OptionT
- split
getOptionM
into separated functions
- split
Ord
- add
equalsDefault
- add
reverse
- add
tuple
- add
Ordering
- add
Eq
instance - add
Semigroup
instance - add
Monoid
instance
- add
Random
- add
randomElem
- add
Reader
- add
Pointed
instance - add
Apply
instance
- add
ReaderT
- split
getReaderM
into separated functions
- split
ReaderEither
- add
Pointed
instance - add
Apply
instance - add
FromEither
instance - add
getCompactable
- add
getFilterable
- add
toUnion
- add
foldW
- add
match
alias - add
matchW
alias - add
orElseW
- add
fromOptionK
- add
chainOptionK
- add
ReaderTask
- add
Pointed
instance - add
ApplyPar
instance - add
ApplySeq
instance - add
FromIO
instance - add
FromTask
instance - add
traverseSeqArrayWithIndex
- add
traverseSeqArray
- add
sequenceSeqArray
- add
ReaderTaskEither
- add
Pointed
instance - add
ApplyPar
instance - add
ApplySeq
instance - add
FromIO
instance - add
FromTask
instance - add
FromEither
instance - add
getCompactable
- add
getFilterable
- add
toUnion
- add
foldW
- add
match
alias - add
matchW
alias - add
orElseW
- add
fromOptionK
- add
chainOptionK
- add
ReadonlyArray
- add
Pointed
instance - add
Apply
instance - add
getSemigroup
- add
matchLeft
instance - add
matchRight
instance
- add
ReadonlyMap
- add
filterWithIndex
combinator - add
filterMapWithIndex
combinator - add
partitionWithIndex
combinator - add
partitionMapWithIndex
combinator - add
getFunctorWithIndex
- add
getFoldable
- add
getFoldableWithIndex
- add
getTraversable
- add
getTraversableWithIndex
- add
ReadonlyNonEmptyArray
- add
Pointed
instance - add
Apply
instance - add
concatAll
- add
Ring
- add
tuple
- add
Semigroup
- add
constant
- add
concatAll
- add
intercalate
- add
min
- add
max
- add
struct
- add
tuple
- add
first
- add
last
- add
assign
- add
Show
- add
struct
- add
tuple
- add
State
- add
Pointed
instance - add
Apply
instance
- add
StateT
- split
getStateM
into separated functions
- split
StateReaderTaskEither
- add
Pointed
instance - add
Apply
instance - add
Monad
instance - add
FromIO
instance - add
FromTask
instance - add
FromEither
instance - add
fromOptionK
- add
chainOptionK
- add
Task
- add
Pointed
instance - add
ApplyPar
instance - add
ApplySeq
instance - add
FromIO
instance - add
FromTask
instance
- add
TaskEither
- add
Pointed
instance - add
ApplyPar
instance - add
ApplySeq
instance - add
getCompactable
- add
FromIO
instance - add
FromTask
instance - add
FromEither
instance - add
toUnion
- add
foldW
- add
match
alias - add
matchW
alias - add
orElseW
- add
fromOptionK
- add
chainOptionK
- add
TaskThese
- add
Functor
instance - add
Pointed
instance - add
Bifunctor
instance - add
toTuple2
- add
getApply
- add
FromIO
instance - add
FromTask
instance - add
fromEither
function - add
FromEither
instance - add
getChain
instance - add
foldW
- add
match
alias - add
matchW
alias - add
fromOption
- add
fromOptionK
- add
fromPredicate
- add
These
- add
Pointed
instance - add
of
function - add
getApply
- add
toTuple2
- add
FromEither
instance - add
fromOption
constructor - add
foldW
- add
match
alias - add
matchW
alias - add
fromOptionK
- add
TheseT
- split
getTheseM
into separated functions
- split
Traversable
- add
traverse
helper - add
sequence
helper
- add
Tree
- add
Pointed
instance - add
Apply
instance
- add
Writer
- add
getPointed
- add
getApply
- add
getApplicative
- add
getChain
- add
- add
- Polish
Array
,ReadonlyArray
: changescanLeft
andscanRight
to returnNonEmptyArray
,ReadonlyNonEmptyArray
, #1391 (@willheslam)
- Bug Fix
- fix
filter
overloads inNonEmptyArray
/ReadonlyNonEmptyArray
, closes #1388 (@gcanti)
- fix
- Polish
- add more
/*#__PURE__*/
comments to improve tree shaking, #1370 (@OliverJAsh)
- add more
- Polish
- add more
/*#__PURE__*/
comments to improve tree shaking, #1368 (@OliverJAsh)
- add more
- Polish
Array
/ReadonlyArray
sort
: return the input when length <= 1, closes #1357 (@gcanti)uniq
: return the input when length <= 1 (@gcanti)
-
New Feature
Array
- add
altW
(@gcanti) - add
intersperse
(@marcotoniut) - add
prependToAll
(@marcotoniut) - add
every
(@gcanti) - add
some
(@gcanti) - add
Do
(@gcanti)
- add
Either
- add
altW
(@gcanti) - add
fromNullableK
(@gcanti) - add
chainNullableK
(@gcanti) - add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
Do
(@gcanti) - add
filterOrElseW
(@gcanti)
- add
Identity
- add
altW
(@gcanti) - add
Do
(@gcanti)
- add
IO
- add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
Do
(@gcanti)
- add
IOEither
- add
altW
(@gcanti) - add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
traverseSeqArrayWithIndex
(@mohaalak @iamomiid) - add
traverseSeqArray
(@mohaalak @iamomiid) - add
sequenceSeqArray
(@mohaalak @iamomiid) - add
Do
(@gcanti) - add
filterOrElseW
(@gcanti)
- add
NonEmptyArray
- add
altW
(@gcanti) - add
uncons
(@marcotoniut) - add
unsnoc
(@marcotoniut) - add
intersperse
(@marcotoniut) - add
prependToAll
(@marcotoniut) - add
Do
(@gcanti)
- add
Option
- add
altW
(@gcanti) - add
fromNullableK
(@gcanti) - add
chainNullableK
(@gcanti) - add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
Do
(@gcanti)
- add
Reader
- add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
Do
(@gcanti)
- add
ReaderEither
- add
altW
(@gcanti) - add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
Do
(@gcanti) - add
filterOrElseW
(@gcanti)
- add
ReaderTask
- add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
traverseSeqArrayWithIndex
(@mohaalak @iamomiid) - add
traverseSeqArray
(@mohaalak @iamomiid) - add
sequenceSeqArray
(@mohaalak @iamomiid) - add
Do
(@gcanti)
- add
ReaderTaskEither
- add
altW
(@gcanti) - add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
traverseSeqArrayWithIndex
(@mohaalak @iamomiid) - add
traverseSeqArray
(@mohaalak @iamomiid) - add
sequenceSeqArray
(@mohaalak @iamomiid) - add
Do
(@gcanti) - add
filterOrElseW
(@gcanti)
- add
ReadonlyArray
- add
altW
(@gcanti) - add
intersperse
(@marcotoniut) - add
prependToAll
(@marcotoniut) - add
every
(@gcanti) - add
some
(@gcanti) - add
Do
(@gcanti)
- add
ReadonlyNonEmptyArray
- add
altW
(@gcanti) - add
uncons
(@marcotoniut) - add
unsnoc
(@marcotoniut) - add
intersperse
(@marcotoniut) - add
prependToAll
(@marcotoniut) - add
Do
(@gcanti)
- add
State
- add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid)
- add
StateReaderTaskEither
- add
altW
(@gcanti) - add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
filterOrElseW
(@gcanti)
- add
Task
- add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
traverseSeqArrayWithIndex
(@mohaalak @iamomiid) - add
traverseSeqArray
(@mohaalak @iamomiid) - add
sequenceSeqArray
(@mohaalak @iamomiid) - add
Do
(@gcanti)
- add
TaskEither
- add
altW
(@gcanti) - add
traverseArrayWithIndex
(@mohaalak @iamomiid) - add
traverseArray
(@mohaalak @iamomiid) - add
sequenceArray
(@mohaalak @iamomiid) - add
traverseSeqArrayWithIndex
(@mohaalak @iamomiid) - add
traverseSeqArray
(@mohaalak @iamomiid) - add
sequenceSeqArray
(@mohaalak @iamomiid) - add
Do
(@gcanti) - add
filterOrElseW
(@gcanti)
- add
Tree
- add
Do
(@gcanti)
- add
-
Deprecation
Option
- deprecate
mapNullable
in favour ofchainNullableK
(@gcanti)
- deprecate
StateReaderTaskEither
- deprecate
stateReaderTaskEitherSeq
because is useless,stateReaderTaskEither
is already sequential (@gcanti)
- deprecate
- Bug Fix
- fix #1350 (@gcanti)
- Polish
IOEither
- export missing
of
function (@gcanti)
- export missing
ReaderEither
- export missing
of
function (@gcanti)
- export missing
- Polish
IOEither
- add
ApplicativePar
instance (@gcanti) - add
ApplicativeSeq
instance (@gcanti)
- add
- Deprecation
IOEither
- deprecate
Applicative
in favour ofApplicativePar
(@gcanti)
- deprecate
- Polish
Reader
- export
Strong
instance (@urgent) - export
Choice
instance (@gcanti)
- export
- Polish
- increase the supported number of arguments of pipe function (@heka1024)
- Bug fix
- revert
groupBy
change in #1286 (@gcanti)
- revert
- Internal
- define all non-pipeable internal functions in terms of the corresponding pipeable versions (@gcanti)
- Polish
- fix
HKT
typings duplication (which might break module augmentation)
- fix
- New Feature
- expose
fp-ts
modules without lib/es6 prefix, #1241 (@StefanoMagrassi) Array
- add
apS
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti)
- add
Either
- add
apW
(@gcanti) - add
apS
(@gcanti) - add
apSW
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - add
bindW
(@gcanti) - add
chainFirstW
, #1273 (@leemhenson) - add
getFilterable
(@gcanti)
- add
Foldable
- add
toArray
, #1272 (@newswim) - add
reduceM
(@gcanti)
- add
Identity
- add
apS
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti)
- add
IO
- add
apS
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti)
- add
IOEither
- add
apS
(@gcanti) - add
apSW
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - add
bindW
(@gcanti) - add
chainFirstW
, #1273 (@leemhenson)
- add
NonEmptyArray
- add
apS
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - relax
group
signature (@gcanti) - relax
groupBy
signature (@gcanti) - relax
groupSort
signature (@gcanti) - relax
sort
signature (@gcanti)
- add
Option
- add
apS
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti)
- add
Reader
- add
apW
(@gcanti) - add
apS
(@gcanti) - add
apSW
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - add
bindW
(@gcanti)
- add
ReaderEither
- add
apS
(@gcanti) - add
apSW
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - add
bindW
(@gcanti) - add
chainFirstW
, #1273 (@leemhenson)
- add
ReaderTask
- add
apS
(@gcanti) - add
apSW
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - add
bindW
(@gcanti)
- add
ReaderTaskEither
- add
apS
(@gcanti) - add
apSW
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - add
bindW
(@gcanti) - add
chainFirstW
, #1273 (@leemhenson)
- add
ReadonlyArray
- add
apS
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti)
- add
ReadonlyNonEmptyArray
- add
apS
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - relax
group
signature (@gcanti) - relax
groupBy
signature (@gcanti) - relax
groupSort
signature (@gcanti) - relax
sort
signature (@gcanti)
- add
State
- add
apS
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - add
evaluate
(@gcanti) - add
execute
(@gcanti)
- add
StateReaderTaskEither
- add
apS
(@gcanti) - add
apSW
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - add
bindW
(@gcanti) - add
chainFirstW
, #1273 (@leemhenson) - add
evaluate
(@gcanti) - add
execute
(@gcanti)
- add
Task
- add
apS
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti)
- add
TaskEither
- add
apS
(@gcanti) - add
apSW
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti) - add
bindW
(@gcanti) - add
chainFirstW
, #1273 (@leemhenson)
- add
Tree
- add
apS
(@gcanti) - add
bind
(@gcanti) - add
bindTo
(@gcanti)
- add
Writer
- add
evaluate
(@gcanti) - add
execute
(@gcanti)
- add
- expose
- Deprecation
Foldable
- deprecate
foldM
in favour ofreduceM
(@gcanti)
- deprecate
State
- deprecate
evalState
in favour ofevaluate
(@gcanti) - deprecate
execState
in favour ofexecute
(@gcanti)
- deprecate
StateReaderTaskEither
- deprecate
evalState
in favour ofevaluate
(@gcanti) - deprecate
execState
in favour ofexecute
(@gcanti)
- deprecate
Writer
- deprecate
evalWriter
in favour ofevaluate
(@gcanti) - deprecate
execWriter
in favour ofexecute
(@gcanti)
- deprecate
- Bug Fix
ReadonlyArray
- fix
FunctorWithIndex
instance name (@gcanti) - fix
Functor
instance name (@gcanti)
- fix
- Polish
Array
- relax
sort
signature (@gcanti) - relax
sortBy
signature (@gcanti)
- relax
Map
- export
mapWithIndex
(@gcanti)
- export
ReadonlyArray
- relax
sort
signature (@gcanti) - relax
sortBy
signature (@gcanti)
- relax
ReadonlyMap
- export
mapWithIndex
(@gcanti)
- export
- Bug Fix
These
- fix
ap
implementation ingetMonad
function (@gcanti)
- fix
- Polish
- improve performance of sequenceT and sequenceS, fix #1255 (@gcanti)
- New Feature
function
- add
hole
(type hole simulation) (@gcanti)
- add
Array
- add
chainWithIndex
, #1256 (@OliverJAsh) - add
Functor
instance (@gcanti) - add
FunctorWithIndex
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Unfoldable
instance (@gcanti) - add
Alt
instance (@gcanti) - add
Alternative
instance (@gcanti) - add
Extend
instance (@gcanti) - add
Compactable
instance (@gcanti) - add
Filterable
instance (@gcanti) - add
FilterableWithIndex
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
FoldableWithIndex
instance (@gcanti) - add
Traversable
instance (@gcanti) - add
TraversableWithIndex
instance (@gcanti) - add
Witherable
instance (@gcanti)
- add
Const
- add
Functor
instance (@gcanti) - add
Contravariant
instance (@gcanti) - add
Bifunctor
instance (@gcanti)
- add
Either
- add
getApplicativeValidation
constrained instance (@gcanti) - add
getAltValidation
constrained instance (@gcanti) - add
Functor
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
Traversable
instance (@gcanti) - add
Bifunctor
instance (@gcanti) - add
Alt
instance (@gcanti) - add
Extend
instance (@gcanti) - add
ChainRec
instance (@gcanti) - add
MonadThrow
instance (@gcanti)
- add
Eq
- add
Contravariant
instance (@gcanti)
- add
Identity
- add
Functor
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
Traversable
instance (@gcanti) - add
Alt
instance (@gcanti) - add
Comonad
instance (@gcanti) - add
ChainRec
instance (@gcanti)
- add
IO
- add
Functor
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
MonadIO
instance (@gcanti) - add
ChainRec
instance (@gcanti)
- add
IOEither
- add
getApplicativeIOValidation
constrained instance (@gcanti) - add
getAltIOValidation
constrained instance (@gcanti) - add
Functor
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Bifunctor
instance (@gcanti) - add
Alt
instance (@gcanti) - add
MonadIO
instance (@gcanti) - add
MonadThrow
instance (@gcanti)
- add
Map
- add
Functor
instance (@gcanti) - add
Compactable
instance (@gcanti) - add
Filterable
instance (@gcanti)
- add
NonEmptyArray
- add
Functor
instance (@gcanti) - add
FunctorWithIndex
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
FoldableWithIndex
instance (@gcanti) - add
Traversable
instance (@gcanti) - add
TraversableWithIndex
instance (@gcanti) - add
Alt
instance (@gcanti) - add
Comonad
instance (@gcanti)
- add
Option
- add
Functor
instance (@gcanti) - add
Applicativ
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
Alt
instance (@gcanti) - add
Alternative
instance (@gcanti) - add
Extend
instance (@gcanti) - add
Compactable
instance (@gcanti) - add
Filterable
instance (@gcanti) - add
Traversable
instance (@gcanti) - add
Witherable
instance (@gcanti) - add
MonadThrow
instance (@gcanti)
- add
Ord
- add
ContravariantOrd
instance (@gcanti)
- add
Reader
- add
Functor
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Profunctor
instance (@gcanti) - add
Category
instance (@gcanti) - add
String
instance (@gcanti) - add
Choice
instance (@gcanti)
- add
ReaderEither
- add
getApplicativeReaderValidation
constrained instance (@gcanti) - add
getAltReaderValidation
constrained instance (@gcanti) - add
Functor
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Bifunctor
instance (@gcanti) - add
Alt
instance (@gcanti) - add
MonadThrow
instance (@gcanti)
- add
ReaderTask
- add
Functor
instance (@gcanti) - add
ApplicativePar
instance (@gcanti) - add
ApplicativeSeq
instance (@gcanti)
- add
ReaderTaskEither
- add
getApplicativeReaderTaskValidation
constrained instance (@gcanti) - add
getAltReaderTaskValidation
constrained instance (@gcanti) - add
Functor
instance (@gcanti) - add
ApplicativePar
instance (@gcanti) - add
ApplicativeSeq
instance (@gcanti) - add
Bifunctor
instance (@gcanti) - add
Alt
instance (@gcanti)
- add
ReadonlyArray
- add
chainWithIndex
, #1256 (@OliverJAsh) - add
Functor
instance (@gcanti) - add
FunctorWithIndex
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Unfoldable
instance (@gcanti) - add
Alt
instance (@gcanti) - add
Alternative
instance (@gcanti) - add
Extend
instance (@gcanti) - add
Compactable
instance (@gcanti) - add
Filterable
instance (@gcanti) - add
FilterableWithIndex
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
FoldableWithIndex
instance (@gcanti) - add
Traversable
instance (@gcanti) - add
TraversableWithIndex
instance (@gcanti) - add
Witherable
instance (@gcanti)
- add
ReadonlyMap
- add
Functor
instance (@gcanti) - add
Compactable
instance (@gcanti) - add
Filterable
instance (@gcanti)
- add
ReadonlyNonEmptyArray
- add
Functor
instance (@gcanti) - add
FunctorWithIndex
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
FoldableWithIndex
instance (@gcanti) - add
Traversable
instance (@gcanti) - add
TraversableWithIndex
instance (@gcanti) - add
Alt
instance (@gcanti) - add
Comonad
instance (@gcanti)
- add
ReadonlyRecord
- add
Functor
instance (@gcanti) - add
FunctorWithIndex
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
Compactable
instance (@gcanti) - add
Filterable
instance (@gcanti) - add
FilterableWithIndex
instance (@gcanti) - add
Traversable
instance (@gcanti) - add
TraversableWithIndex
instance (@gcanti) - add
Witherable
instance (@gcanti)
- add
ReadonlyTuple
- add
Functor
instance (@gcanti) - add
Bifunctor
instance (@gcanti) - add
Semigroupoid
instance (@gcanti) - add
Comonad
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
Traversable
instance (@gcanti)
- add
Record
- add
Functor
instance (@gcanti) - add
FunctorWithIndex
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
Compactable
instance (@gcanti) - add
Filterable
instance (@gcanti) - add
FilterableWithIndex
instance (@gcanti) - add
Traversable
instance (@gcanti) - add
TraversableWithIndex
instance (@gcanti) - add
Witherable
instance (@gcanti)
- add
State
- add
Functor
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti)
- add
Store
- add
Functor
instance (@gcanti) - add
Comonad
instance (@gcanti)
- add
StateReaderTaskEither
- add
Functor
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Bifunctor
instance (@gcanti) - add
Alt
instance (@gcanti)
- add
Task
- add
Functor
instance (@gcanti) - add
ApplicativePar
instance (@gcanti) - add
ApplicativeSeq
instance (@gcanti)
- add
TaskEither
- add
getApplicativeTaskValidation
constrained instance (@gcanti) - add
getAltTaskValidation
constrained instance (@gcanti) - add
Functor
instance (@gcanti) - add
ApplicativePar
instance (@gcanti) - add
ApplicativeSeq
instance (@gcanti) - add
Bifunctor
instance (@gcanti) - add
Alt
instance (@gcanti)
- add
TaskThese
- add
Functor
instance (@gcanti) - add
Bifunctor
instance (@gcanti)
- add
These
- add
getApplicative
constrained instance (@gcanti) - add
Functor
instance (@gcanti) - add
Bifunctor
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
Traversable
instance (@gcanti)
- add
Traced
- rename
traced
toFunctor
for consistency (@gcanti)
- rename
Tree
- add
Functor
instance (@gcanti) - add
Applicative
instance (@gcanti) - add
Monad
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
Traversable
instance (@gcanti) - add
Comonad
instance (@gcanti)
- add
Writer
- add
Functor
instance (@gcanti)
- add
Tuple
- add
Functor
instance (@gcanti) - add
Bifunctor
instance (@gcanti) - add
Semigroupoid
instance (@gcanti) - add
Comonad
instance (@gcanti) - add
Foldable
instance (@gcanti) - add
Traversable
instance (@gcanti)
- add
- Polish
- refine
Either.parseJSON
return type, #1252 (@OliverJAsh) - add missing
chainW
toReaderTask
, #1254 (@adameier)
- refine
- Polish
Array
- export
unfold
(@gcanti) - make
lookup
data-last (@gcanti) - make
elem
data-last (@gcanti) - make
difference
data-last (@gcanti) - make
intersection
data-last (@gcanti) - make
union
data-last (@gcanti) - make
zip
data-last (@gcanti) - make
cons
data-last (@gcanti)
- export
Map
- make
member
data-last (@gcanti) - make
elem
data-last (@gcanti) - make
lookup
data-last (@gcanti) - make
lookupWithKey
data-last (@gcanti) - make
isSubmap
data-last (@gcanti)
- make
NonEmptyArray
- make
zip
data-last (@gcanti)
- make
ReadonlyArray
- export
unfold
(@gcanti) - make
lookup
data-last (@gcanti) - make
elem
data-last (@gcanti) - make
difference
data-last (@gcanti) - make
intersection
data-last (@gcanti) - make
union
data-last (@gcanti) - make
zip
data-last (@gcanti) - make
cons
data-last (@gcanti)
- export
ReadonlyMap
- make
member
data-last (@gcanti) - make
elem
data-last (@gcanti) - make
lookup
data-last (@gcanti) - make
lookupWithKey
data-last (@gcanti) - make
isSubmap
data-last (@gcanti)
- make
ReadonlyNonEmptyArray
- make
zip
data-last (@gcanti)
- make
ReadonlyRecord
- make
isSubrecord
data-last (@gcanti) - make
lookup
data-last (@gcanti) - make
elem
data-last (@gcanti)
- make
ReadonlySet
- make
isSubset
data-last (@gcanti) - make
elem
data-last (@gcanti) - make
union
data-last (@gcanti) - make
intersection
data-last (@gcanti) - make
difference
data-last (@gcanti)
- make
Record
- make
isSubrecord
data-last (@gcanti) - make
lookup
data-last (@gcanti) - make
elem
data-last (@gcanti)
- make
Set
- make
subset
data-last (@gcanti) - make
elem
data-last (@gcanti) - make
union
data-last (@gcanti) - make
intersection
data-last (@gcanti) - make
difference
data-last (@gcanti)
- make
Semigroup
- make
fold
data-last (@gcanti)
- make
- Polish
- export a pipeable
wither
function from all modules which admit aWitherable
instance (@gcanti) - export a pipeable
wilt
function from all modules which admit aWitherable
instance (@gcanti)
- export a pipeable
- Bug Fix
ReadonlyMap
traverseWithIndex
should sort the keys (@gcanti)
ReadonlyRecord
traverseWithIndex
should sort the keys (@gcanti)
- Polish
- change
ReadonlyNonEmptyArray
definition to get better type inference (@gcanti) - move
pipe
tofunction
module (@gcanti) - export
sequence
from all modules which admit aTraversable
instance (@gcanti) - export a pipeable
traverse
function from all modules which admit aTraversable
instance (@gcanti) - export a pipeable
traverseWithIndex
function from all modules which admit aTraversableWithIndex
instance (@gcanti) - remove monad transformers imports from all modules (@gcanti)
- change
The goal of this release is to make fp-ts
more "tree shaking" friendly.
- Polish
- add
/*@__PURE__*/
comments to pipeables (@gcanti) - add
/*@__PURE__*/
comments to transformers (@gcanti) - remove
pipeable.ts
module imports (@gcanti)
- add
- New Feature
- add W variants, closes #904 (@gcanti)
Const
- add missing instances, #1201 (@gcanti)
Date
- add
eqDate
,eqMonth
,eqYear
(@gcanti)
- add
Either
- add
getOrElseW
(@gcanti) - add
chainW
(@gcanti)
- add
Eq
- add
getMonoid
(@gcanti)
- add
IOEither
- add
getOrElseW
(@gcanti) - add
chainW
(@gcanti) - add
chainEitherKW
(@giogonzo)
- add
Option
- add
getOrElseW
(@gcanti)
- add
Reader
- add
chainW
(@gcanti)
- add
ReaderEither
- add
getOrElseW
(@gcanti) - add
chainW
(@gcanti) - add
chainEitherKW
(@giogonzo)
- add
ReaderTaskEither
- add
getOrElseW
(@gcanti) - add
chainW
(@gcanti) - add
chainEitherKW
(@giogonzo) - add
chainTaskEitherKW
(@giogonzo) - add
chainIOEitherKW
(@giogonzo)
- add
StateReaderTaskEither
- add
chainW
(@gcanti) - add
chainEitherKW
(@giogonzo) - add
chainTaskEitherKW
(@giogonzo) - add
chainReaderTaskEitherKW
(@giogonzo) - add
chainIOEitherKW
(@giogonzo)
- add
TaskEither
- add
getOrElseW
(@gcanti) - add
chainW
(@gcanti) - add
chainEitherKW
(@giogonzo) - add
chainIOEitherKW
(@giogonzo)
- add
Tree
- add
fold
function (@gcanti)
- add
- Polish
StateT
- add missing
StateM2C
andStateM3C
(@qlonik)
- add missing
- Polish
Either
- add missing instances to
getValidation
(@gcanti)
- add missing instances to
IOEither
- relax
Bifunctor2C
toBifunctor2
ingetIOValidation
(@gcanti)
- relax
ReaderEither
- relax
Bifunctor3C
toBifunctor3
ingetReaderValidation
(@gcanti)
- relax
ReaderTaskEither
- relax
Bifunctor3C
toBifunctor3
ingetReaderTaskValidation
(@gcanti)
- relax
TaskEither
- relax
Bifunctor2C
toBifunctor2
ingetTaskValidation
(@gcanti)
- relax
- New Feature
Eq
- add
eqStrict
, closes #965 (@gcanti)
- add
NonEmptyArray
- add
fold
(@vicrac) - add
zip
,zipWith
andunzip
, closes #1109 (@gcanti)
- add
Semigroup
- add
getIntercalateSemigroup
(@gcanti)
- add
Set
- add
toggle
(@ryota-ka)
- add
TaskEither
- add
tryCatchK
(@DenisFrezzato)
- add
These
- add missing
MonadThrow
instance (@gcanti)
- add missing
ReaderTaskEither
- add missing
leftReaderTask
,rightReaderTask
functions (@gcanti)
- add missing
StateReaderTaskEither
- add missing
Bifunctor
,Alt
instances (@gcanti)
- add missing
- Experimental
- add
ReadonlyArray
module (@gcanti) - add
ReadonlyNonEmptyArray
module (@gcanti) - add
ReadonlySet
module (@gcanti) - add
ReadonlyMap
module (@gcanti) - add
ReadonlyRecord
module (@gcanti) - add
ReadonlyTuple
module (@gcanti)
- add
- Polish
- add missing
MonadIO4
(@mlegenhausen) - add missing
MonadTask4
(@mlegenhausen) StateReaderTaskEither
- add missing
MonadTask4
instance (@mlegenhausen) - add missing
filterOrElse
,fromPredicate
combinators (@mlegenhausen)
- add missing
- add missing
- Bug Fix
- don't set
target: es6
intsconfig.build-es6.json
, fix #1110 (@gcanti)
- don't set
- Bug Fix
- fix
Invariant
definition (@gcanti)
- fix
- Polish
NonEmptyArray
- add overloading to
group
managing non empty arrays, closes #831 (@gcanti) foldMap
andfoldMapWithIndex
now require aSemigroup
instead of aMonoid
(@gcanti)
- add overloading to
- New Feature
- add
WriterT
module, closes #1050 (@gcanti) - add
TheseT
module (@gcanti) - add
TaskThese
module (@gcanti) function
- add
tupled
,untupled
functions, closes #1062 (@gcanti)
- add
IOEither
- add
fromEitherK
,chainEitherK
(@gcanti)
- add
ReaderEither
- add
fromEitherK
,chainEitherK
(@gcanti)
- add
ReaderTask
- add
run
(@gcanti) - add
fromIOK
,chainIOK
,fromTaskK
,chainTaskK
(@gcanti)
- add
ReaderTaskEither
- add
fromEitherK
,chainEitherK
,fromIOEitherK
,chainIOEitherK
,fromTaskEitherK
,chainTaskEitherK
(@gcanti)
- add
These
- add
swap
(@gcanti)
- add
Ord
- add
getMonoid
(@vicrac)
- add
Ordering
- add
monoidOrdering
(@gcanti)
- add
StateReaderTaskEither
- add
fromEitherK
,chainEitherK
,fromIOEitherK
,chainIOEitherK
,fromTaskEitherK
,chainTaskEitherK
,fromReaderTaskEitherK
,chainReaderTaskEitherK
(@gcanti)
- add
Task
- add
fromIOK
,chainIOK
(@gcanti)
- add
TaskEither
- add
fromEitherK
,chainEitherK
,fromIOEitherK
,chainIOEitherK
(@gcanti)
- add
- add
- Deprecation
Ord
- deprecate
getSemigroup
in favor ofgetMonoid
(@gcanti)
- deprecate
Ordering
- deprecate
semigroupOrdering
in favor ofmonoidOrdering
(@gcanti)
- deprecate
- Internal
- use native
Promise.race
inTask.getRaceMonoid
(@gcanti)
- use native
- Bug Fix
Array.ts
- fix
sortBy
failing on empty list of ords, #1046 (@vicrac)
- fix
- New Feature
- add
ReaderTask
module (@sledorze) ReaderTaskEither
- add
getReaderTaskValidation
(@sledorze)
- add
ReaderEither
- add
getReaderValidation
(@gcanti)
- add
TaskEither
- improve
getTaskValidation
(@gcanti)
- improve
IOEither
- improve
getIOValidation
(@gcanti)
- improve
- add
- New Feature
- add
boolean
module, closes #930 (@giogonzo) - add
ChainRec
instance toIO
(@gcanti) NonEmptyArray
- add
init
(@steida) - add
Alt
instance (@gcanti)
- add
- add
- Internal
- add new 3C variants and related overloads (@sledorze)
- Bug Fix
fromNullable
now usesNonNullable
in its return type, fixes #1004 (@gcanti)
- Bug Fix
- add
sequenceT
andsequenceS
overload signatures forKind4
, fixes #969 (@pfgray)
- add
- New Feature
- add constrained
Filterable
instance toIOEither
,TaskEither
, #959 (@giogonzo)
- add constrained
- Bug Fix
- fix
PipeableApply2C
definition (@gcanti)
- fix
- Polish
ReaderTaskEither
- add missing
bracket
function (@mlegenhausen)
- add missing
- Bug Fix
- fix
sequenceT
,sequenceS
implementations, closes #914 (@gcanti)
- fix
- Bug Fix
- add
reduce
toFoldableComposition2C1
(@anilanar)
- add
- Bug Fix
- fix
PipeableBifunctor
definition (@gcanti) - fix
chunksOf
implementation, #897 (@gcanti)
- fix
- Breaking Change
- remove deprecated APIs (@gcanti)
- remove classes (@gcanti)
- remove all phantom fields (@gcanti)