Commit Graph

6 Commits

Author SHA1 Message Date
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
Harendra Kumar
b371355d83 Do not use Werror in doctest 2022-08-28 01:38:11 +05:30
Harendra Kumar
f6575228c4 Make doctest build faster (no optimization) 2022-08-19 17:05:33 +05:30
Adithya Kumar
29ba5decc5 Extract streamly-core out of streamly 2022-03-10 01:25:49 +05:30
Harendra Kumar
f5470713c2 Update CI test matrix requirements and the script
Also, fix a few test issues to make the CIs work.
2021-06-22 22:54:41 +05:30
Harendra Kumar
624158d678 Remove doctests
Should use cabal-docspec instead.
2021-06-21 14:53:18 +05:30