streamly icon indicating copy to clipboard operation
streamly copied to clipboard

High performance, concurrent functional programming abstractions

Results 258 streamly issues
Sort by recently updated
recently updated
newest added

Since Parser has a monad instance, Fold can also have one. We need to measure the performance and check at what point the direct style Fold/Parser monad becomes worse in...

This is a partial function as folds are less powerful than parsers, not all parsers can be safely converted to folds. However, folds converted to parsers can be safely converted...

api:deprecating

All the build flags in streamly (except maybe the has-llvm flag) are development only flags. We can make the flag descriptions more explicit mentioning that end-users should not try those...

To ensure that the flag works. Or add in the description that the flag is untested.

We made the parser type `Parser a m b` so that MonadTrans instance is possible. Although, we found that implementing `local` is not possible for Parser unless some changes are...

api:breaking

Like in folds we need a finalization action in stream as well so that we do not rely on GC to clean up the streams. With an explicit finalization action...

api:breaking
aspect:streams

When it is needed to be monadic we can use a bracket like combinator to introduce another state, like we do in streams.

api:breaking
aspect:folds

Make it consistent with `Stream.morphInner` .

api:deprecating

Many other operations in the internal parser module need to be considered for releasing.

CrossStreamK is the equivalent of ListT. Also, it provides the Monad instance which is used by users in quite a few use cases. Consider exposing K.concatMap and K.filter as well.