Harendra Kumar
Harendra Kumar
Instead of users importing Internal modules we can just expose all the experimental APIs and mark them Unstable using an annotation (they are already marked as pre-release, do we need...
Unicode encoding/decoding is essential and it does not require any additional dependencies.
A Fold can say to the driver that "call me without input the next time". This is symmetric to the Stream Step skipping the output using the `Skip` Step constructor....
Data.Stream builds upon these low level modules, these are independent stream implementations in their own right. We can pull these out of Data.Stream and rename to Data.StreamD and Data.StreamK.
The module should expose only those APIs that are also exposed from Streamly.Data.Array.Unboxed plus a few selected/stable mutation APIs.
``` init :: Monad m => Stream m a -> Stream m a tail :: Monad m => Stream m a -> Stream m a ```
I am not sure if byte offset based addressing would work correctly in all cases. May depend on how GHC implements alignment in arrays. Does it always allocate contiguous/packed elements...
We have a `fromStream` function in Streamly.Data.Unfold which we need to move elsewhere.
And if not too much work then in streamly-tests and streamly-benchmarks as well. ``` ghc-options: -Weverything -Wno-implicit-prelude -Wno-missing-deriving-strategies -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missing-local-signatures -Wno-missing-safe-haskell-mode -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-monomorphism-restriction -Wno-prepositive-qualified-module -Wno-unsafe ```