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

Reply via email to