I understand your point now this is about letting the guy specifying the line 
ending and this is really frequent. 


>> I’d even propose to have it by default: a FileReference writeStream can 
>> return a ZnNewLineWriterStream wrapping the corresponding stream.
>> By default it can be configured with the system’s default line ending 
>> convention (least surprise?).
>> And then users can change it accordingly…
>> 
>> Now I ask also myself what we could do when reading line endings from a file.
>> I’m 98.761% convinced that in the image we should have a single line ending 
>> convention for strings, and that we should convert internal strings to the 
>> external representation of convenience explicitly.
>> In this direction we could make that default read streams in FileSystem to 
>> automatically transform external line endings into internal line endings.
> 
> Maybe, maybe.
> 
> It would still create the assumption that the standard stream has lots of 
> functionality that you can automatically count on. Then it feels that we are 
> back to where we started.
> 
> The goal was to simplify, with simple, compose-able functionality.
> 
> I know that the implementation would still be more or less modular, but many 
> layers also carry a performance price.
> 
> I feel like I am fighting a losing battle trying to simplify and clean up the 
> stream API.
> 
> The fact that we cannot use Traits is another problem, because inheritance 
> does not cut it. See the old NILE project.

Reply via email to