haskell-servant / haskell-servant/servant
Post-841: Split Stream
- Dominant language
- Haskell
- Stars
- 2k
- Forks
- 427
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 5
Description
Currently we have `Verb` and `Stream`. After #841 refactor we'll have `Result` and `Stream`. So far so good.
Yet when considering the implementation of #841, and also serfvant-docs problem in #989 I think we need to do following:
*Split `Stream` into `FramedResults` and `StreamedResult` (aka `NoFraming`).*
Note the singular vs. plural. `StreamedResult` is still single result, the implementation of server and clients is streaming because the thing might be huge. `FramedResults` is plural: many (probably small) results in streaming fashion.
For `StreamedResult` we'll need a new pair of type-classes: `MimeStream` / `MimeUnstream` (compare to `MimeRender` / `MimeUnrender` and `ToStreamGenerator` / `FromResultStream`).
ping @gbaz, @jvanbruegge, @alpmestan, @jkarni
Contributor guide
Assessment
This issue has not been assessed yet.