2.9 KiB
Unreleased
Breaking changes
-
Change the semantics of the Semigroup instance for
InterleavedT
,AsyncT
andParallelT
. The new semantics are as follows:- For
InterleavedT
,<>
operation interleaves two streams - For
AsyncT
,<>
now concurrently merges two streams in a left biased manner using demand based concurrency. - For
ParallelT
, the<>
operation now concurrently meges the two streams in a fairly parallel manner.
To adapt to the new changes, replace
<>
withappend
wherever it is used for streams other thanStreamT
. - For
-
Change the semantics of
Alternative
instance. The<|>
operator now has a different behavior for each type. See the documentation for more details. To adapt to this change replace any usage of<|>
withparallel
andempty
withnil
. -
Streams now default to the
SerialT
type unless explicitly specified using a type combinator. This also means that you do not have to explicitly specify a stream type now, the default will be used. This changes reduces puzzling type errors for beginners. It includes the following two changes:- Change the type of all stream elimination functions to
SerialT
. This makes sure that the stream type is always fixed at all exits. - Change the type combinators to only fix the argument stream type and the resulting stream type remains polymorphic.
- Change the type of all stream elimination functions to
-
Change the type of
foldrM
to make it consistent withfoldrM
in base.
Deprecations
- Deprecate and rename the following symbols:
StreamT
toSerialT
runStreamT
torunSerialT
ZipStream
toZipSerial
runZipStream
torunZipSerial
AsyncT
toAParallelT
runAsyncT
torunAParallelT
asyncly
toaparallely
Streaming
toIsStream
runStreaming
torunStream
<=>
tointerleave
<|
toaparallel
each
tofromFoldable
scan
toscanx
foldl
tofoldx
foldlM
tofoldxM
Enhancements
- Add the following functions:
scanl'
strict left scanfoldl'
strict left foldfoldlM'
strict left fold with a monadic fold functionappend
run two streams serially one after the otherparallel
run two streams in parallel
0.1.2
Enhancements
- Add
iterate
,iterateM
stream operations
Bug Fixes
- Fixed a bug that casued unexpected behavior when
pure
was used to inject values in Applicative composition ofZipStream
andZipAsync
types.
0.1.1
Enhancements
- Make
cons
right associative and provide an operator form.:
for it - Add
null
,tail
,reverse
,replicateM
,scan
stream operations - Improve performance of some stream operations (
foldl
,dropWhile
)
Bug Fixes
- Fix the
product
operation. Earlier, it always returned 0 due to a bug - Fix the
last
operation, which returnedNothing
for singleton streams
0.1.0
- Initial release