On Wed, Aug 1, 2018 at 11:19 AM Guillermo Polito <guillermopol...@gmail.com>
wrote:

>
>
> On Tue, Jul 31, 2018 at 6:41 PM Damien Pollet <
> damien.pollet+ph...@gmail.com> wrote:
>
>> On Tue, 31 Jul 2018 at 18:28, Damien Pollet <
>> damien.pollet+ph...@gmail.com> wrote:
>>
>>> Hi Sven… a couple questions:
>>>
>>
>> For context, I'm considering options in Clap, for providing accessors to
>> Stdio that:
>> - are convenient in most cases
>> - discourage users from explicitly referencing the Stdio global (so that
>> one can inject other streams instead if needed)
>>
>
> Yes. And to me it's ok if Clap defines his own good usages of streams.
> Clap's usage of stream is not a typical file access.
>
>
>> For instance, it seems to make sense to provide stdout already wrapped
>> with ZnNewLineWriterStream,
>>
>
> Also, ZnNewLineWriterStream needs only to be used when interacting with
> the external word.
> The rationale of keeping it separate is twofold:
> - Zn* streams are meant to be reusable with other kind of streams that
> are not files (such as streams in memory) where the newline conventions
> do not need to be *always* enforced because the image has internally its
> own convention (crs).
> - Zn* streams are meant to be reusable with other kind of streams that are
> not files (such as sockets) where maybe we want *also* to enforce line
> ending convention.
>

And I'll just add that this also makes it simple to "skip" line end
convention transformations.


>
>
>> but that precludes users from buffering.
>>
>
> Yeap. This makes me remember I tried a buffered file stream on
> /dev/urandom and the buffering introduced some funny effects :)
>
>
>>
>>
>> - is there a preferred order of composition between the encoding and
>>> buffering streams ? If yes, it the same for read and write stream, or
>>> reversed ?
>>> E.g. if Stdio binaryStdin was implemented, Stdio stdin should be
>>> decoded, but buffering it as well would be a problem for interactive
>>> applications.
>>>
>>> - what's your opinion on convenience composition messages, e.g.
>>> aBinaryStream buffered decoded: 'utf-8' ?
>>>
>>>
>>>
>>> On Tue, 24 Jul 2018 at 10:13, Sven Van Caekenberghe <s...@stfx.eu>
>>> wrote:
>>>
>>>>
>>>>
>>>> > On 23 Jul 2018, at 12:07, Sven Van Caekenberghe <s...@stfx.eu> wrote:
>>>> >
>>>> > Stdio stdout and friends just return a binary stream, hence they need
>>>> wrapping for encoding.
>>>> >
>>>> > Maybe
>>>> >
>>>> >  Stdio stdoutAsText
>>>> >
>>>> > might be an idea, but this is so uncommon that I am not sure this is
>>>> a good idea.
>>>>
>>>> Given all remarks and comments (thanks BTW), I now think that
>>>>
>>>> - textual stdio streams are the more common case
>>>> - binary stdio streams are the primitive ones that are seldom used
>>>> - another encoding than UTF-8 seems uncommon
>>>> - these are streams that exist and need no real opening/closing
>>>>
>>>> So,
>>>>
>>>>   Stdio stdout
>>>>
>>>> should return return a character write stream with UTF-8 encoding while
>>>>
>>>>   Stdio binaryStdout
>>>>
>>>> should be the lower level binary one.
>>>> This would be more in line with the other streams.
>>>> A non-UTF-8 encoding can be used as per Pavel's example.
>>>>
>>>
>
> --
>
>
>
> Guille Polito
>
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
>
> CRIStAL - UMR 9189
>
> French National Center for Scientific Research - *http://www.cnrs.fr
> <http://www.cnrs.fr>*
>
>
> *Web:* *http://guillep.github.io* <http://guillep.github.io>
>
> *Phone: *+33 06 52 70 66 13
>


-- 



Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*


*Web:* *http://guillep.github.io* <http://guillep.github.io>

*Phone: *+33 06 52 70 66 13

Reply via email to