Harendra Kumar
e249c4da2d
Use StreamD by default, expose StreamK as separate module
...
Basically remove depdency on GHC rewrite rules. The reason for
separating StreamD and StreamK instead of using rewrite rules:
* Separate types provide better reasoning for the programmer about
performance. Each type has its own pros and cons and the programmer
can choose the best one based on the use case.
* rewrite rules are fragile, led to broken performance in the past dues
to change in GHC.
* Rewrite rules lead to optimization problems, blocking fusion in some
cases, specifically when combining multiple operations e.g. (filter . drop).
* Rewrite rules lead to problems when calling a function recursively. For
example, the StreamD version of foldBreak cannot be used recursively when
wrapped in rewrite rules because each recursive call adds a roundtrip
conversion from D to K and back to D. We can use the StreamK versions of
these though because the rewrite rule gets eliminated in that case.
* If we have a unified module, we need two different versions of several
operations e.g. appendK and appendD, both are useful in different cases.
2023-02-06 22:09:26 +05:30
Ranjeet Ranjan
81bfdec224
Update packdiff and streamly-process version in cabal.project.* ( #2239 )
...
* Remove Data.Array.Stream benchmark (hanging)
2023-01-19 18:28:09 +05:30
Ranjeet Ranjan
75a174f3ea
Add benchmark for sepBy1 ( #2237 )
2023-01-17 17:41:34 +05:30
Ranjeet Ranjan
944dbbac6e
Fix benchmark error in Data.Array.Stream ( #2230 )
2023-01-15 10:21:14 +05:30
Harendra Kumar
dabe66ceaa
Fix test and benchmarks for concurrent module changes
2023-01-13 16:44:36 +05:30
Ranjeet Ranjan
030499eb7e
Fix dev flag build, test, benchmarks issues ( #2206 )
...
* Fix dev flag build, test, benchmarks issues
* Add no-charts flag when compiling bench-report
Co-authored-by: Harendra Kumar <harendra@composewell.com>
2023-01-07 14:32:31 +05:30
Harendra Kumar
94f3134643
Change the argument order of put/modifyIndex
2022-12-30 19:03:28 +05:30
Harendra Kumar
6ca9d80006
Refactor Fold.Container and expose some container ops
...
Make the container operations less polymorphic.
2022-12-28 17:21:48 +05:30
Harendra Kumar
1f9dbb8d8a
Rename Stream.Extra module to Stream.Container
2022-12-27 08:10:45 +05:30
Harendra Kumar
a6e62aec7e
Refactor Stream.Top, move transformers, containers ops
...
Keep only those operation that depend only on "base" package, move out
operations that depend on transformers, containers to Stream.Extra.
Add crossWith for cross product operation
Rename, refactor, document set-like, join ops
2022-12-26 08:13:42 +05:30
Harendra Kumar
ccbf1e4059
Rename the Unfold apply functions
...
To make them consistent with corresponding stream functions.
2022-12-17 15:45:06 +05:30
Harendra Kumar
6bffc845bc
Rename concatPairsWith to mergeMapWith and expose it
2022-12-17 15:45:06 +05:30
Harendra Kumar
ffcb268a4c
Rename hoist/generally to morphInner/generalizeInner
...
Release morphInner, update docs
2022-12-17 15:44:44 +05:30
Ranjeet Ranjan
45e21892bc
Rename unicode internal modules ( #2164 )
2022-12-11 00:23:43 +05:30
Ranjeet Kumar Ranjan
8cca012534
Rename eqBy to streamEqBy in parsers
2022-12-07 14:09:08 +05:30
Harendra Kumar
3f82f0035a
Measure cps ops embedded in direct streams
2022-12-01 18:53:55 +05:30
Ranjeet Ranjan
001b874234
Rename rights, lefts, both to catRights, catLefts, catEithers ( #2139 )
...
Co-authored-by: Harendra Kumar <harendra@composewell.com>
2022-12-01 16:28:37 +05:30
Ranjeet Ranjan
add9565306
Rename getCrossStream to unCrossStream ( #2140 )
2022-11-30 16:18:11 +05:30
Ranjeet Kumar Ranjan
3a21b44607
Make parser result type either everywhere
...
* Change remaining parse/parseBreak/parseIterate functions
* Fix benchmarks
* Fix tests
2022-11-25 19:09:34 +05:30
Harendra Kumar
ac2ee38449
Rename concatM to concatEffect and expose it
2022-11-20 17:20:06 +05:30
Harendra Kumar
2e4b883be1
Remove monad instances from StreamD/StreamK
2022-11-20 17:20:06 +05:30
Harendra Kumar
8c8b9c34ee
Remove the Monad instance from SerialT/Stream type
...
Transfer the removed instances to the CrossStream type.
2022-11-20 17:20:06 +05:30
Harendra Kumar
449d48d379
Remove deepseq and mtl dependencies from streamly-core
2022-11-17 16:57:57 +05:30
Harendra Kumar
c156fe2f77
Fix bench targets, array read instance benchmark
2022-11-17 13:15:39 +05:30
Harendra Kumar
d7d4613a27
Prefix par to concurrent APIs
...
So that we can import these along with the normal/serial streaming APIs
and distinguish them clearly.
2022-11-17 11:57:03 +05:30
Ranjeet Kumar Ranjan
297574d7f1
Rename Array.Stream module to Stream.Chunked
2022-11-15 15:18:38 +05:30
Adithya Kumar
eecc006bdc
Rename serial_ to split_
2022-11-07 19:11:27 +05:30
Adithya Kumar
0d3c63aeae
Rename serialWith to splitWith
2022-11-07 19:11:27 +05:30
Ranjeet Kumar Ranjan
4eda9d0c1f
Rename Data.Array.Unboxed
2022-11-04 16:00:48 +05:30
Ranjeet Kumar Ranjan
64d337474b
Move Data.Array to Data.Array.Generic
2022-11-04 16:00:48 +05:30
Adithya Kumar
239e3311eb
Change "Parser m a b" to "Parser a m b"
2022-11-03 04:28:59 +05:30
Harendra Kumar
703823b3d5
Update Fold docs, move containers ops to streamly pkg
...
Move the container dependent code from streamly-core to streamly
Rename some functions.
Release some functions.
2022-11-02 20:25:26 +05:30
Harendra Kumar
0902a1587f
Rename bracket_ etc to bracketUnsafe etc
2022-10-28 01:55:31 +05:30
Harendra Kumar
799531f687
Increase build mem for Data.Array benchmark
2022-10-27 17:26:06 +05:30
Adithya Kumar
41fb0734bc
Use explicit arguments in the concurrency config options
2022-10-27 15:32:41 +05:30
Adithya Kumar
1fb51c42ae
Replace Unboxed with Unbox and remove the Unboxed type alias
2022-10-27 01:11:34 +05:30
Harendra Kumar
fc8e9dfd29
Move lifted Unfold exceptions to "streamly" package
...
Implement IO based combinators in streamly-core
Move IOFinalizer lifted implementation to streamly
2022-10-26 11:41:52 +05:30
Harendra Kumar
fd681d62e8
Use MonadIO stream monad in core exception operations
2022-10-26 11:41:52 +05:30
Harendra Kumar
230e7e334a
Keep IO exceptions in streamly-core and lifted in streamly
2022-10-26 11:41:52 +05:30
Adithya Kumar
af85f62f8d
Deprecate internal polymorphic stream modules
2022-10-21 03:33:32 +05:30
Adithya Kumar
5327f181db
Deprecate Streamly.Prelude & S.Internal.Data.Stream.IsStream.*
2022-10-21 02:07:24 +05:30
Harendra Kumar
e8564258ec
Change the unfold/toStream naming for arrays ( #2004 )
2022-10-20 20:12:37 +05:30
Harendra Kumar
e03cceb344
Change Handle, Stdio, File unfold APIs ( #1998 )
2022-10-20 17:27:02 +05:30
Ranjeet Ranjan
f20360b86e
Rename Async benchmark modules ( #1968 )
2022-10-18 22:53:30 +05:30
Harendra Kumar
1f376cfd9b
Rename some parsers ( #1976 )
...
Rename:
element -> oneEq
except -> oneNotEq
eqBy -> listEqBy
matchBy -> eqBy
Change the signature of eqBy to return the list.
2022-10-18 16:40:08 +05:30
Harendra Kumar
00265b40d2
Rename Stream.Async benchmark to Stream.Concurrent
2022-10-17 16:32:47 +05:30
Harendra Kumar
162fc171df
Separate interleaved benchmarks in another module
2022-10-17 16:32:47 +05:30
Harendra Kumar
362ceb1e39
Rename eagerEval to eager and inspectMode to inspect
2022-10-16 20:18:16 +05:30
Harendra Kumar
bfec356951
Implement "interleaved" config option
...
For concurrent streams.
2022-10-16 20:02:37 +05:30
Harendra Kumar
de8b77b092
Revert "Move the Parallel module under IsStream"
...
This reverts commit e718389b2c
.
2022-10-13 00:30:52 +05:30