Harendra Kumar
Harendra Kumar
In the existing ring buffer we just need to replace the Storable array with a polymorphic array. Once we have this we can write a `writeLastN` operation for Data.Array.
It could be useful for interfacing with windows APIs and also for conversion to/from other utf-16 encoded data e.g.`text`. See the [utf8 impl](https://github.com/composewell/streamly/blob/ad05792d0b361c4629fc3009f69e21988eeaae88/src/Streamly/Internal/Unicode/Stream.hs#L253) for reference.
# Data.Fold.sum We should probably use a `Bounded a` constraint and make `sum` terminate if it overflows beyond the bound. Currently overflows give wrong sum silently. The current`sum` can be...
There are two `takebyTime` combinators, one in `IsStream` module and the other one in `Fold` module. Both could be quite inefficient because of the way they are implemented. One use...
For example, can we rewrite this: ``` asPtrUnsafe :: MonadIO m => Array a -> (Ptr a -> m b) -> m b asPtrUnsafe Array{..} f = do r Array...
We can return either instead of throwing an error.
Earlier we used a ForeignPtr in the array implementation, we no longer use that by default. It may be more appropriate to call these Unboxed arrays rather than Foreign arrays.
With #60 we now do not have Alternative instances for streams. This issue a placeholder for adding meaningful alternative instances for all streams types. I can think of two ways...