There doesn't seem to be a test suite. I would recommend adding, at least:
Modules implementing the entire non-internal streaming API using FreeT instead of Stream. I think these might as well be exposed, so users can play with them.
Tests verifying that Stream operations behave the same as their FreeT equivalents. See my old SO question How can I test functions polymorphic over applicatives for some ideas about being arbitrary. In this case, I suspect we want to use functors built from algebraic bits (Sum, Product, Compose, Identity, Const) for f parameters, and free monads over such functors for m parameters.
There doesn't seem to be a test suite. I would recommend adding, at least:
Modules implementing the entire non-internal
streaming
API usingFreeT
instead ofStream
. I think these might as well be exposed, so users can play with them.Tests verifying that
Stream
operations behave the same as theirFreeT
equivalents. See my old SO question How can I test functions polymorphic over applicatives for some ideas about being arbitrary. In this case, I suspect we want to use functors built from algebraic bits (Sum
,Product
,Compose
,Identity
,Const
) forf
parameters, and free monads over such functors form
parameters.