Steve Fink <[EMAIL PROTECTED]> wrote: > On Oct-11, Melvin Smith wrote: >> >> set IO, P0[.BUFSIZE] >> set P0[.BUFSIZE], 8192
> Actually, looking at that suggests that perhaps this should be done > through the setprop/getprop interface instead, since that seems like a > closer semantic fit to what you're doing. IMHO is the keyed access clearly denoting what's goin on. The property stuff is AFAIK for different things. You could attach e.g. an utf8 layer via setting a property. Either above or via method calls: set S0, "bufsize" # method currently "setbuf" set P5, P0 # first param = PIO set I5, 8192 callmeth # P0 is the method now or find_method P1, "bufsize" # "setbuf" set I5, 8192 invoke P1 s. t/pmc/io.t, t/classes/parrotio.pmc:enter_nci_method OTOH, the property interface can have hints for creating a buffered PIO object with a specific buffer size, e.g. new P1, .PerlHash new P2, .PerlInt set P2, 8192 set P1["bufsize"], P2 # create property hash null P3 new P0, .ParrotIO, P3, P1 # init_pmc_props assign P0, "< the_file" # use existing handle for open TODO # or combine above 3 lines to an extended open opcode Properies are probably more the static side of the moon, while method calls are dynamic. leo