I think because in 1.0 the Segment will not be used anymore in core interpreter I would like toopen discussing to remove it alltogether from core.
I think we have these options
:+1: remove it from from fs2 alltogether
:-1: keep it in separate project i.e. fs2-segment for experimenting and occasional usage
:heart: do nothing
I also lean towards doing something about both Segment and Pipe.Stepper since they are now in a similar situation I feel.
Perhaps we can do something in between and create an extra package in fs2-core?
Putting them there will address my main concern, which is to keep the Api (and top level package) as clean as possible, but without the overhead of a different project (which imho would also mean no one would try to use them) and without removing it (at least not just yet).
I'm okay with removing both Segment and Stepper. We can always add stuff back if we find out that we need them but removing stuff after 1.0 is harder.
I'm not particularly fond of extras/contrib packages as they don't really change binary compat concerns. We could claim complete freedom to change stuff in extras package but if any other infrastructure library uses it, we're stuck.
Most helpful comment
I'm okay with removing both
SegmentandStepper. We can always add stuff back if we find out that we need them but removing stuff after 1.0 is harder.I'm not particularly fond of extras/contrib packages as they don't really change binary compat concerns. We could claim complete freedom to change stuff in extras package but if any other infrastructure library uses it, we're stuck.