Re: socket addresses (was Re: early draft of I/O PDD)
On Sun, Mar 05, 2006 at 18:34:26 +, Nicholas Clark wrote: On Fri, Mar 03, 2006 at 05:54:43PM -0600, Joshua Isom wrote: I don't think it's really been addressed, at least not recently, but what about IPv6? By the time perl6 becomes commonplace and used often(and thus, parrot), IPv6 will be common enough that problems could occur. Currently it's not speced or stated, aside from a comment in PIO_sockaddr_in. The draft has: =item * Csockaddr returns a string representing a socket address, generated from a port number (integer) and an address (string). I don't think that this is appropriate. It's IPv4 specific. It doesn't cover AF_UNIX (er, AF_LOCAL), IPv6, or any of the other address formats (of which I'm not sure if any other than IPX are still commonly used. I'm not sure how to make an appropriate interface, partly as I have little idea if it's possible to make a sufficiently flexible abstraction for address names. IPv4 and IPv6 both use addresses and port numbers. AF_LOCAL just uses a string, which is a file system path. But I think that specifying an op for just one address format is too narrow. Objects that stringify! Objects that stringify! -- () Yuval Kogman [EMAIL PROTECTED] 0xEBD27418 perl hacker /\ kung foo master: /me whallops greyface with a fnord: neeyah!!! pgphbbpsYmEFw.pgp Description: PGP signature
Re: early draft of I/O PDD
With respect to async IO (regretfully I get to see a lot of this at $job): Each operation can be async, or sync, with a similar API. There should be enough hooks to be able to wait on a specific operation happenning on a stream, any operation on a stream, any operation on a group of streams, and any operation on any stream. The resulting set of operations should be optionally available, as this is one of the biggest sources of boilerplate in posix aio in C. aio_suspend (or a wrapper on top of it) should probably be the event loops default idle loop, and it should keep a flag raised such that if the aio event loop wrapper knows that an event that was not waited on finished, the user code can check on that easily. A possiblity for a unified AIO/SIO interface could be that each IO op returns an operation handle, and you can ask that handle about it's status (running, finished, error), get it's results from the handle, and also ask it to block. This could have a high overhead due to storage creation, but it's generally a pretty flexible and portable abstraction. On Fri, Mar 03, 2006 at 11:27:05 -0800, Allison Randal wrote: We're going to try something a little different. With Chip's blessing I've written a very early draft of the PDD for I/O (not numbered yet). The attached PDD isn't a completed document with Chip's seal of approval, it's a seed for discussion. What I need from you all is comments. What's missing? What's inaccurate? What's accurate for the current state of Parrot, but is something you always intended to write out later? What thoughts have you had on how the I/O subsystem should work? All contributions cheerfully welcomed, from a single sentence to several pages of text. Chip won't be making design decisions during the conversation. He may not even participate much, since part of the point is to split the work into parallel tasks so we can get more done than is humanly possible for one person. I'll use the discussion to write up a more complete PDD (probably with a few alternatives written in), and then work with Chip to review/revise it. Thanks, Allison -- () Yuval Kogman [EMAIL PROTECTED] 0xEBD27418 perl hacker /\ kung foo master: /me sushi-spin-kicks : neeyah pgpZFo6ugJnYZ.pgp Description: PGP signature
Re: parrot tests failing on Darwin
On Sun, Oct 09, 2005 at 14:15:08 -0700, chromatic wrote: On Sun, 2005-10-09 at 17:25 +0200, Yuval Kogman wrote: Odd, I wonder why diagnosis are emitted on STDERR (or something else maybe). That's where Test::Builder emits them. Test::Harness never collected them or parsed them until recently. It's fairly difficult to decide whether a diagnostic is part of a specific test, so my guess is that writing them to a separate filehandle avoided that issue. /me didn't realize that... Pug's Test.pm emits to STDOUT, and since I saw the handles in Straps I used them like that. In TTH any diag after a test case is glued on to that test, and any diag happening before any test has it's own little grey block. I guess I thought that was Good Enough(tm) I think it would be useful in general, but it's not a guarantee that all of the information is useful or that any heuristic to identify the utility of any specific diagnostic would be correct. Arguably it's a good idea if the test writers keep in mind that emitting silly diags is not a good practice if they don't have to do with why a test fails. I'd like to request a feature for Test::Builder to make diag optionally go to STDOUT, controlled via an environment variable as well as a global var or method call to the builder singleton, since it's the behavior I expect in all the tests I write. Right now you can set the failure_output handle (right?) but there is no easy way to say diag_to_stdout. -- () Yuval Kogman [EMAIL PROTECTED] 0xEBD27418 perl hacker /\ kung foo master: /me dodges cabbages like macalypse log N: neeyah! pgpM4RJ2r9I2o.pgp Description: PGP signature
Re: parrot tests failing on Darwin
On Sat, Oct 08, 2005 at 14:44:48 +0100, Alberto Simes wrote: I submitted a smoke test, but I think the graphics doesn't show enough information, so, here is the output of make smoke, on Darwin, Tiger. Odd, I wonder why diagnosis are emitted on STDERR (or something else maybe). If they would go to STDOUT they would be visible by mouse-overing the failing tests in Test::TAP::HTMLMatrix's output. Perhaps Parrot::Test is doing this change? If it is maybe it should be changed via an env variable or something for the smokes? -- () Yuval Kogman [EMAIL PROTECTED] 0xEBD27418 perl hacker /\ kung foo master: /me tips over a cow: neeyah!! pgpfhXB2XlJSL.pgp Description: PGP signature
Re: This week's summary
On Mon, Sep 26, 2005 at 18:12:23 +0100, The Perl 6 Summarizer wrote: Allomopherencing Not satisfied with inventing Exceptuations, Yuval invented Allomopherencing as well. Just don't ask me what it means because I don't know. It was just a bad joke on Exceptuation's expense ;-) The thread asks whether disabling strong and compile-time-angry type ineferencing should ever be disabled, since we have much better allomorphism-oriented support for typing and introspection. -- () Yuval Kogman [EMAIL PROTECTED] 0xEBD27418 perl hacker /\ kung foo master: /me spreads pj3Ar using 0wnage: neeyah!!! pgp1OJAfuThO2.pgp Description: PGP signature
Re: Perl 6 and Parrot VM presentation slides
However, I'm completely unfamiliar with the .spork format, and I'm fraid of what google will tell me it is. Spork is 'slide presentation (only really kwiki)'. What it does is let you write slides in a kwiki like language. A quick introduction would be to get it from the CPAN, do 'spork -make' and then 'spork -start', fudging the config.yaml so that the 'spork -start' command works OK, and then looking at the default presentation. It's a quick intro to spork. From there on it's really just editing the Spork.slides file, which is really very simple, and playing around with plugin classes. -- () Yuval Kogman [EMAIL PROTECTED] 0xEBD27418 perl hacker /\ kung foo master: *shu*rik*en*sh*u*rik*en*s*hur*i*ke*n*: neeyah pgpqq4tV9kFs4.pgp Description: PGP signature