parrot-dev Digest, Vol 51, Issue 7
Bart Wiegmans
bartwiegmans at gmail.com
Mon Nov 19 16:14:08 UTC 2012
Hi,
Long story short, I need the userhandle branch for mod_parrot, to move
the standard output to apache output (and input, as well). If we can
get an API figured out I am more than happy to contribute tests.
Kind regards,
Bart
2012/11/19, parrot-dev-request at lists.parrot.org
<parrot-dev-request at lists.parrot.org>:
> Send parrot-dev mailing list submissions to
> parrot-dev at lists.parrot.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.parrot.org/mailman/listinfo/parrot-dev
> or, via email, send a message with subject or body 'help' to
> parrot-dev-request at lists.parrot.org
>
> You can reach the person managing the list at
> parrot-dev-owner at lists.parrot.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of parrot-dev digest..."
>
>
> Today's Topics:
>
> 1. More IO Changes (need feedback) (Andrew Whitworth)
> 2. Re: More IO Changes (need feedback) (Jonathan "Duke" Leto)
> 3. Re: More IO Changes (need feedback) (Christoph Otto)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sun, 18 Nov 2012 18:43:17 -0500
> From: Andrew Whitworth <wknight8111 at gmail.com>
> To: parrot-dev at lists.parrot.org
> Subject: More IO Changes (need feedback)
> Message-ID:
> <CAEPDB4rBmho3ip9TTpA6LoUUZRpbVo72nGLQU7E1twmJZ8Q4hw at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> I've got three new branches that I've been playing with today to make
> even more changes to the IO system. I'd like some feedback on these
> changes before I do any more work on these. I haven't spent much time
> on these yet, so if people don't like what they're doing I can abandon
> ship without losing too much effort.
>
> 1) whiteknight/pipe_pmc This branch separates out File and Pipe logic
> into two separate pmcs. FileHandle is for file IO only and a new Pipe
> PMC is for pipes only. The mode format specifier "p" is no longer
> valid and throws an exception in this branch. This is a breaking
> change. The other branches I've worked on build on this foundation, so
> if we don't like this we can forget about all of it.
>
> 2) whiteknight/io_vtable_lookup In Parrot master, we lookup
> information about the IO_VTABLE and the read/write IO_BUFFERs using
> VTABLE_get_pointer_keyed_int. This is a bad system. In this branch,
> IO_VTABLE is looked up using a type map instead, so a FileHandle
> always maps to the filehandle vtable, and a Pipe always maps to the
> Pipe vtable (same for Socket, StringHandle, etc). This branch also
> adds a new IOBuffer PMC which, while early in development, gives
> direct access to IO buffer logic. IOBuffer PMCs are now stored as
> named properties on the PMC (not attributes), which means they can be
> looked up, attached, and used without any raw get_pointer/set_pointer
> accesses.
>
> 3) whiteknight/io_userhandle This branch brings together the previous
> ideas and makes the IO system fully polymorphic. In this branch you
> can use ANY arbitrary PMC as a handle type for purposes of the IO
> system, without needing to subclass from or delegate to a built-in
> handle type. So long as your PMC implements a common set of methods,
> you can use it for all IO operations.
>
> Again, these branches are all very early in development. The
> FileHandle/Pipe change is the only breaking change, everything else is
> completely internal. If people like these ideas I can continue to work
> on them and we can talk about timelines and an upgrade path to limit
> breakages in NQP/Rakudo. If people don't like these things I can go
> back to the drawing board.
>
> Thanks,
>
> --Andrew Whitworth
>
>
> ------------------------------
>
> Message: 2
> Date: Sun, 18 Nov 2012 18:42:36 -0800
> From: "Jonathan \"Duke\" Leto" <jonathan at leto.net>
> To: Andrew Whitworth <wknight8111 at gmail.com>
> Cc: parrot-dev <parrot-dev at lists.parrot.org>
> Subject: Re: More IO Changes (need feedback)
> Message-ID:
> <CABQG1aRQK0738n-LPLUubK0KVsM765Xzj3UnzTn9BBKUkzq_tQ at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Howdy,
>
> Can you explain a bit about where your motivation for these branches comes
> from? What issues does it solve?
>
> If these get merged, are these changes likely to make the threads branch
> harder to merge?
>
> We are so close to getting threads merged, so I don't want to anything to
> push us further away from that happening.
>
> Duke
>
>
> On Sun, Nov 18, 2012 at 3:43 PM, Andrew Whitworth
> <wknight8111 at gmail.com>wrote:
>
>> I've got three new branches that I've been playing with today to make
>> even more changes to the IO system. I'd like some feedback on these
>> changes before I do any more work on these. I haven't spent much time
>> on these yet, so if people don't like what they're doing I can abandon
>> ship without losing too much effort.
>>
>> 1) whiteknight/pipe_pmc This branch separates out File and Pipe logic
>> into two separate pmcs. FileHandle is for file IO only and a new Pipe
>> PMC is for pipes only. The mode format specifier "p" is no longer
>> valid and throws an exception in this branch. This is a breaking
>> change. The other branches I've worked on build on this foundation, so
>> if we don't like this we can forget about all of it.
>>
>> 2) whiteknight/io_vtable_lookup In Parrot master, we lookup
>> information about the IO_VTABLE and the read/write IO_BUFFERs using
>> VTABLE_get_pointer_keyed_int. This is a bad system. In this branch,
>> IO_VTABLE is looked up using a type map instead, so a FileHandle
>> always maps to the filehandle vtable, and a Pipe always maps to the
>> Pipe vtable (same for Socket, StringHandle, etc). This branch also
>> adds a new IOBuffer PMC which, while early in development, gives
>> direct access to IO buffer logic. IOBuffer PMCs are now stored as
>> named properties on the PMC (not attributes), which means they can be
>> looked up, attached, and used without any raw get_pointer/set_pointer
>> accesses.
>>
>> 3) whiteknight/io_userhandle This branch brings together the previous
>> ideas and makes the IO system fully polymorphic. In this branch you
>> can use ANY arbitrary PMC as a handle type for purposes of the IO
>> system, without needing to subclass from or delegate to a built-in
>> handle type. So long as your PMC implements a common set of methods,
>> you can use it for all IO operations.
>>
>> Again, these branches are all very early in development. The
>> FileHandle/Pipe change is the only breaking change, everything else is
>> completely internal. If people like these ideas I can continue to work
>> on them and we can talk about timelines and an upgrade path to limit
>> breakages in NQP/Rakudo. If people don't like these things I can go
>> back to the drawing board.
>>
>> Thanks,
>>
>> --Andrew Whitworth
>> _______________________________________________
>> http://lists.parrot.org/mailman/listinfo/parrot-dev
>>
>
>
>
> --
> Jonathan "Duke" Leto <jonathan at leto.net>
> Leto Labs LLC http://labs.leto.net
> 209.691.DUKE http://dukeleto.pl
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> <http://lists.parrot.org/pipermail/parrot-dev/attachments/20121118/c2789145/attachment-0001.html>
>
> ------------------------------
>
> Message: 3
> Date: Sun, 18 Nov 2012 19:31:49 -0800
> From: Christoph Otto <christoph at mksig.org>
> To: parrot-dev at lists.parrot.org
> Subject: Re: More IO Changes (need feedback)
> Message-ID:
> <1353295909.13538.140661155327489.1A3E4527 at webmail.messagingengine.com>
>
> Content-Type: text/plain; charset="us-ascii"
>
> I did a test merge between his branches and threads, and the only
> conflict was in the root makefile template. As far as merge order,
> whiteknight++'s branches and the threads branch won't interfere with
> each other significantly. If he's ready and has something that looks
> like a consensus, I don't see any problems. Unfortunately threads
> still has a few issues to get sorted out, but it's my first priority
> and rurban++ has been doing some great work.
> Since this is a breaking change, it'll need some feedback from Rakudo
> at some point. Once I understand the motivation and code well enough
> (i.e. not tonight) I'll drop by #perl6 and see what the fine folks
> there think. If whiteknight beats me to the punch, that's fine too.
> Christoph
>
>
>
> On Sun, Nov 18, 2012, at 18:42, Jonathan Duke Leto wrote:
>
> Howdy,
>
>
>
> Can you explain a bit about where your motivation for these branches
> comes from? What issues does it solve?
>
>
>
> If these get merged, are these changes likely to make the threads
> branch harder to merge?
>
>
>
> We are so close to getting threads merged, so I don't want to anything
> to push us further away from that happening.
>
>
>
> Duke
>
>
>
> On Sun, Nov 18, 2012 at 3:43 PM, Andrew Whitworth
> <[1]wknight8111 at gmail.com> wrote:
>
> I've got three new branches that I've been playing with today to
> make
> even more changes to the IO system. I'd like some feedback on these
> changes before I do any more work on these. I haven't spent much
> time
> on these yet, so if people don't like what they're doing I can
> abandon
> ship without losing too much effort.
> 1) whiteknight/pipe_pmc This branch separates out File and Pipe
> logic
> into two separate pmcs. FileHandle is for file IO only and a new
> Pipe
> PMC is for pipes only. The mode format specifier "p" is no longer
> valid and throws an exception in this branch. This is a breaking
> change. The other branches I've worked on build on this foundation,
> so
> if we don't like this we can forget about all of it.
> 2) whiteknight/io_vtable_lookup In Parrot master, we lookup
> information about the IO_VTABLE and the read/write IO_BUFFERs using
> VTABLE_get_pointer_keyed_int. This is a bad system. In this branch,
> IO_VTABLE is looked up using a type map instead, so a FileHandle
> always maps to the filehandle vtable, and a Pipe always maps to the
> Pipe vtable (same for Socket, StringHandle, etc). This branch also
> adds a new IOBuffer PMC which, while early in development, gives
> direct access to IO buffer logic. IOBuffer PMCs are now stored as
> named properties on the PMC (not attributes), which means they can
> be
> looked up, attached, and used without any raw
> get_pointer/set_pointer
> accesses.
> 3) whiteknight/io_userhandle This branch brings together the
> previous
> ideas and makes the IO system fully polymorphic. In this branch you
> can use ANY arbitrary PMC as a handle type for purposes of the IO
> system, without needing to subclass from or delegate to a built-in
> handle type. So long as your PMC implements a common set of methods,
> you can use it for all IO operations.
> Again, these branches are all very early in development. The
> FileHandle/Pipe change is the only breaking change, everything else
> is
> completely internal. If people like these ideas I can continue to
> work
> on them and we can talk about timelines and an upgrade path to limit
> breakages in NQP/Rakudo. If people don't like these things I can go
> back to the drawing board.
> Thanks,
> --Andrew Whitworth
> _______________________________________________
> [2]http://lists.parrot.org/mailman/listinfo/parrot-dev
>
>
>
>
> --
> Jonathan "Duke" Leto <[3]jonathan at leto.net>
> Leto Labs LLC [4]http://labs.leto.net
> 209.691.DUKE [5]http://dukeleto.pl
>
> _______________________________________________
>
> [6]http://lists.parrot.org/mailman/listinfo/parrot-dev
>
> References
>
> 1. mailto:wknight8111 at gmail.com
> 2. http://lists.parrot.org/mailman/listinfo/parrot-dev
> 3. mailto:jonathan at leto.net
> 4. http://labs.leto.net/
> 5. http://dukeleto.pl/
> 6. http://lists.parrot.org/mailman/listinfo/parrot-dev
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> <http://lists.parrot.org/pipermail/parrot-dev/attachments/20121118/fca9c420/attachment-0001.html>
>
> ------------------------------
>
> _______________________________________________
> http://lists.parrot.org/mailman/listinfo/parrot-dev
>
>
> End of parrot-dev Digest, Vol 51, Issue 7
> *****************************************
>
More information about the parrot-dev
mailing list