All who have time, specifically Win32, please test this patch for compilation. I currently don't have a Win32 environment to test with. Anyone with non-Linux please test.
What this patch does: -Implements initial IO stack framework (pushing/popping layers) -Implements an initial "layer" for the stack, the layer being a low level OS layer and pops it on at interp initialization. -Implements the initial "entry layer" in io.c -Implements the standard IO streams (STDIN, STDOUT, STDERR) in very simple form as Parrot IO PMCs (not stdio FILE * wrappers). See io.h (pio_stdin, etc.) -Adds 4 rudimentary calls to core.ops to test with open, close, print, puts puts() will print through ParrotIO.STDOUT instead of STDIO.STDOUT Note, I'm concentrating primarily on design right now, not completeness, there are a lot of "calls" to be added to the layer API. Once we like the design we will complete the OS layer and start working on a buffered layer, filters, async stuff as well as other layers, etc. I still haven't discussed with anyone whether UTF stuff makes sense as a layer or filter. It can be implemented as either/or. Files modified: include/parrot/io.h include/parrot/pmc.h core.ops MANIFEST Files added: io/ io/io.c io/io_os.c -Melvin