Modernize text formatting prototype
Modernize text formatting prototype

Since we are thinking about strings I wanted to clean this up and extract any useful ideas.

I think the main idea of value here is that, when generating large amounts of text (as in a web service), or writing a large XML file, a program has to format many individual items such as integers and dates. If these are formatted into stored strings which are then written to a file, the intermediate string is immediately discarded and the work to construct and store it was wasted.

This prototype abstracts formatted representation as `TextOutputStreamable` instances that hold the underlying things being formatted, and push text directly into a `TextOutputStream` instance.

In a world with a `StringProtocol`, though, maybe we don't need `TextOutputStreamable` et al.  There's no reason that models of `StringProtocol` couldn't be built the same way.
hooman/swift,gottesmm/swift,roambotics/swift,swiftix/swift,djwbrown/swift,jopamer/swift,tkremenek/swift,aschwaighofer/swift,nathawes/swift,practicalswift/swift,gregomni/swift,tinysun212/swift-windows,gottesmm/swift,tkremenek/swift,harlanhaskins/swift,frootloops/swift,apple/swift,gregomni/swift,zisko/swift,lorentey/swift,JGiola/swift,therealbnut/swift,danielmartin/swift,tinysun212/swift-windows,therealbnut/swift,frootloops/swift,glessard/swift,arvedviehweger/swift,sschiau/swift,jopamer/swift,sschiau/swift,hooman/swift,djwbrown/swift,JGiola/swift,sschiau/swift,shahmishal/swift,djwbrown/swift,deyton/swift,OscarSwanros/swift,danielmartin/swift,atrick/swift,alblue/swift,JaSpa/swift,gmilos/swift,felix91gr/swift,milseman/swift,harlanhaskins/swift,huonw/swift,deyton/swift,calebd/swift,devincoughlin/swift,huonw/swift,harlanhaskins/swift,karwa/swift,stephentyrone/swift,stephentyrone/swift,allevato/swift,devincoughlin/swift,brentdax/swift,jtbandes/swift,hooman/swift,tardieu/swift,aschwaighofer/swift,shajrawi/swift,Jnosh/swift,JaSpa/swift,aschwaighofer/swift,kstaring/swift,ahoppen/swift,jckarter/swift,natecook1000/swift,huonw/swift,ahoppen/swift,felix91gr/swift,return/swift,austinzheng/swift,manavgabhawala/swift,CodaFi/swift,JaSpa/swift,tjw/swift,hughbe/swift,xedin/swift,jtbandes/swift,therealbnut/swift,xedin/swift,xedin/swift,karwa/swift,kstaring/swift,allevato/swift,manavgabhawala/swift,alblue/swift,harlanhaskins/swift,gottesmm/swift,xedin/swift,tjw/swift,karwa/swift,huonw/swift,milseman/swift,lorentey/swift,ben-ng/swift,ben-ng/swift,swiftix/swift,Jnosh/swift,JGiola/swift,jopamer/swift,airspeedswift/swift,parkera/swift,tinysun212/swift-windows,gribozavr/swift,therealbnut/swift,uasys/swift,jmgc/swift,parkera/swift,ahoppen/swift,hughbe/swift,shahmishal/swift,benlangmuir/swift,gmilos/swift,brentdax/swift,allevato/swift,Jnosh/swift,felix91gr/swift,xwu/swift,gribozavr/swift,jtbandes/swift,djwbrown/swift,kstaring/swift,lorentey/swift,hughbe/swift,codestergit/swift,calebd/swift,felix91gr/swift,natecook1000/swift,lorentey/swift,practicalswift/swift,tjw/swift,natecook1000/swift,amraboelela/swift,ahoppen/swift,airspeedswift/swift,Jnosh/swift,glessard/swift,jmgc/swift,shajrawi/swift,JaSpa/swift,huonw/swift,roambotics/swift,swiftix/swift,airspeedswift/swift,alblue/swift,tinysun212/swift-windows,codestergit/swift,JaSpa/swift,uasys/swift,gottesmm/swift,devincoughlin/swift,natecook1000/swift,hooman/swift,ahoppen/swift,gribozavr/swift,gmilos/swift,manavgabhawala/swift,jmgc/swift,zisko/swift,allevato/swift,CodaFi/swift,CodaFi/swift,swiftix/swift,gribozavr/swift,sschiau/swift,atrick/swift,lorentey/swift,rudkx/swift,return/swift,gottesmm/swift,tardieu/swift,lorentey/swift,frootloops/swift,xwu/swift,calebd/swift,rudkx/swift,return/swift,milseman/swift,alblue/swift,arvedviehweger/swift,codestergit/swift,austinzheng/swift,danielmartin/swift,shajrawi/swift,OscarSwanros/swift,tardieu/swift,arvedviehweger/swift,practicalswift/swift,arvedviehweger/swift,calebd/swift,jckarter/swift,tkremenek/swift,jckarter/swift,xwu/swift,kstaring/swift,xedin/swift,shajrawi/swift,xedin/swift,danielmartin/swift,jckarter/swift,jopamer/swift,nathawes/swift,ben-ng/swift,aschwaighofer/swift,uasys/swift,tardieu/swift,glessard/swift,aschwaighofer/swift,karwa/swift,rudkx/swift,jmgc/swift,jtbandes/swift,codestergit/swift,milseman/swift,xedin/swift,gribozavr/swift,Jnosh/swift,arvedviehweger/swift,shahmishal/swift,tjw/swift,jmgc/swift,OscarSwanros/swift,bitjammer/swift,karwa/swift,return/swift,deyton/swift,tardieu/swift,uasys/swift,sschiau/swift,alblue/swift,uasys/swift,calebd/swift,shahmishal/swift,Jnosh/swift,atrick/swift,jopamer/swift,benlangmuir/swift,OscarSwanros/swift,ben-ng/swift,devincoughlin/swift,gregomni/swift,bitjammer/swift,parkera/swift,uasys/swift,manavgabhawala/swift,roambotics/swift,benlangmuir/swift,jckarter/swift,nathawes/swift,codestergit/swift,parkera/swift,austinzheng/swift,airspeedswift/swift,gottesmm/swift,deyton/swift,lorentey/swift,ahoppen/swift,OscarSwanros/swift,jmgc/swift,shahmishal/swift,apple/swift,allevato/swift,gregomni/swift,brentdax/swift,hughbe/swift,practicalswift/swift,tinysun212/swift-windows,milseman/swift,gribozavr/swift,amraboelela/swift,kstaring/swift,practicalswift/swift,amraboelela/swift,practicalswift/swift,rudkx/swift,xwu/swift,roambotics/swift,zisko/swift,amraboelela/swift,Jnosh/swift,alblue/swift,JGiola/swift,tjw/swift,glessard/swift,parkera/swift,JGiola/swift,frootloops/swift,tkremenek/swift,ben-ng/swift,xwu/swift,danielmartin/swift,stephentyrone/swift,austinzheng/swift,harlanhaskins/swift,rudkx/swift,zisko/swift,swiftix/swift,bitjammer/swift,nathawes/swift,hooman/swift,devincoughlin/swift,frootloops/swift,harlanhaskins/swift,brentdax/swift,return/swift,austinzheng/swift,felix91gr/swift,ben-ng/swift,djwbrown/swift,glessard/swift,bitjammer/swift,lorentey/swift,therealbnut/swift,gottesmm/swift,natecook1000/swift,parkera/swift,calebd/swift,zisko/swift,jckarter/swift,jmgc/swift,apple/swift,deyton/swift,zisko/swift,natecook1000/swift,arvedviehweger/swift,deyton/swift,devincoughlin/swift,hooman/swift,stephentyrone/swift,arvedviehweger/swift,brentdax/swift,karwa/swift,jtbandes/swift,airspeedswift/swift,allevato/swift,shajrawi/swift,aschwaighofer/swift,shahmishal/swift,gmilos/swift,CodaFi/swift,xwu/swift,austinzheng/swift,practicalswift/swift,tkremenek/swift,JaSpa/swift,manavgabhawala/swift,JGiola/swift,xedin/swift,glessard/swift,ben-ng/swift,tinysun212/swift-windows,atrick/swift,parkera/swift,sschiau/swift,harlanhaskins/swift,apple/swift,tinysun212/swift-windows,benlangmuir/swift,stephentyrone/swift,atrick/swift,tjw/swift,JaSpa/swift,aschwaighofer/swift,austinzheng/swift,hooman/swift,tardieu/swift,roambotics/swift,gribozavr/swift,danielmartin/swift,karwa/swift,codestergit/swift,devincoughlin/swift,gmilos/swift,felix91gr/swift,xwu/swift,benlangmuir/swift,bitjammer/swift,sschiau/swift,jopamer/swift,brentdax/swift,brentdax/swift,milseman/swift,nathawes/swift,sschiau/swift,shajrawi/swift,CodaFi/swift,huonw/swift,tjw/swift,jtbandes/swift,frootloops/swift,huonw/swift,hughbe/swift,bitjammer/swift,rudkx/swift,tkremenek/swift,kstaring/swift,gregomni/swift,deyton/swift,codestergit/swift,zisko/swift,nathawes/swift,shahmishal/swift,CodaFi/swift,natecook1000/swift,manavgabhawala/swift,djwbrown/swift,nathawes/swift,return/swift,hughbe/swift,allevato/swift,shahmishal/swift,apple/swift,roambotics/swift,bitjammer/swift,swiftix/swift,apple/swift,frootloops/swift,practicalswift/swift,therealbnut/swift,therealbnut/swift,jckarter/swift,OscarSwanros/swift,return/swift,parkera/swift,gmilos/swift,airspeedswift/swift,karwa/swift,CodaFi/swift,OscarSwanros/swift,gmilos/swift,manavgabhawala/swift,gribozavr/swift,amraboelela/swift,djwbrown/swift,benlangmuir/swift,hughbe/swift,gregomni/swift,stephentyrone/swift,danielmartin/swift,atrick/swift,airspeedswift/swift,tardieu/swift,shajrawi/swift,milseman/swift,alblue/swift,jtbandes/swift,stephentyrone/swift,calebd/swift,jopamer/swift,shajrawi/swift,amraboelela/swift,swiftix/swift,felix91gr/swift,tkremenek/swift,kstaring/swift,amraboelela/swift,devincoughlin/swift,uasys/swift