[swift-evolution] Addition of a standardError OutputStream

Erica Sadun erica at ericasadun.com
Mon Jul 11 14:30:42 CDT 2016


> On Jul 11, 2016, at 1:29 PM, Xiaodi Wu <xiaodi.wu at gmail.com> wrote:
> 
> Why not just OutputStream.stderr?

Can you do an extension like that with state for a protocol?

-- E


> 
> On Mon, Jul 11, 2016 at 14:25 Erica Sadun via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> Just throwing this here. Unfortunately `Stream` is already taken (and tied to Foundation).
> 
> public struct StdStream {
>     public struct StderrStream: OutputStream {
>         public func write(_ string: String) { fputs(string, Darwin.stderr) }
>     }
>     
>     public struct StdoutStream: OutputStream {
>         public func write(_ string: String) { fputs(string, Darwin.stdout) }
>     }
>     
>     public static var err = StderrStream()
>     public static var out = StdoutStream()
> }
> 
> So in use, it would look something like 
> 
> str.write(to: &StdStream.out)
> str.write(to: &StdStream.err)
> 
> I also considered DarwinStream (seemed too on the nose), UnixStream, Streamfd, BSDStream, etc. Didn't like any of them.
> 
> -- E, have paintbrush will bikeshed

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160711/e4ab6e7a/attachment.html>


More information about the swift-evolution mailing list