|
weekly Rakudo status meetings with phase transitions: Tue 19:00 UTC | IR clogs at irclog.perlgeek.de/phasers/today Set by moderator on 8 June 2010. |
|||
|
06:57
masak joined
12:41
ciphertext joined
14:54
bphillips joined
15:04
bphillips left
17:17
mberends joined
|
|||
| pmichaud | === Part 1: Report | 18:12 | |
| - I've been mostly working on a new list and iterator impl | |||
| - Thanks to some help and comments from TimToady++, we now have a new model based on immutable iterators | |||
| - I wrote a draft document for the design and discussion at docs.google.com/Doc?docid=0AeZqZQ8w...&hl=en | |||
| - Since then, I've pretty much been focused on the implementation | |||
| - It's going well, down to about 500 failing tests (or less) | |||
| - The new implementation seems *much* more robust and correct about laziness, flattening, and memory management, items, and lists | |||
| - I've also been able to eliminate a bunch of redundant or convoluted code | |||
| - Some highlights: + gather, map, sort, etc. all return true lazy lists, all of type List + Positional is now a true role in the core settings + Many of the issues with postcircumfix:<[ ]> have been resolved + (I still need to update postcircumfix:<{ }>, however.) + Hashes now properly flatten in list context | |||
| === End of Part 1 | |||
| === Part 2: Rakudo Star timing | 18:16 | ||
| - We need to make some decisions about Rakudo Star (R*) timing | |||
| - First, I'll note that I consider any delays in Rakudo Star release timing | |||
| to be entirely my responsibility. AFAICT, everyone else has done | |||
| incredible work over the last few months, and the remaining big items | |||
| are on my shoulders. | |||
| - That said, I'm willing to go along with any consensus opinion about R* release | |||
| - Some background: | |||
| + Parrot 2.5.0 was released today | |||
| + There are probably still some additional PAST and nqp-rx features we'd | |||
| like to have in place for R* to support closures, fully backtracking | |||
| regexes, better character class management in regexes, etc. | |||
| + All of these additional desirable features will likely not be in the | |||
| Rakudo compiler in time for a Thursday release. | |||
| - So, I see that we're left with some less-than-perfect options: | |||
| 1. We can make a compiler release on Thursday that is missing some | |||
| highly desirable features, and create R* based on that. | |||
| 2. We can make a compiler release on Thursday, and then create another | |||
| "interim" release shortly thereafter that allows us to still make | |||
| a June release date for R*. | |||
| 3. We can choose to release R* based on a compiler/parrot that aren't | |||
| official releases. | 18:17 | ||
| 4. We can hold the R* release until after the July Parrot and Rakudo | |||
| compiler releases, missing the 2Q2010 goal but hopefully delivering | |||
| a far superior rollout than we can do in June. (The likely dates | |||
| for this option would be July 23 or 24. It could happen at OSCON.) | |||
| 5. Other options you may dream up. | |||
| - I'm not much in favor of #1, and #2 through #4 are about equal to me | |||
| at the moment. So, what do you all think? | |||
| === End of Part 2 | |||
| === Part 3 | |||
| - As I review the Rakudo source code and commit logs, I've started to log notes in docs/review-notes.txt in the list branch. | |||
| - My intent is that this will be a set of implementation review items that can be briefly discussed during #phasers each week. | |||
| - I could use RT for this, but I wanted something quick and lightweight. If something ends up not being quick/lightweight that probably means it deserves a RT ticket (and that's okay). | |||
| - The current list is at github.com/rakudo/rakudo/blob/list/...-notes.txt if anyone wants to preview questions and begin formulating responses. | |||
| === End of Part 3 | |||
| (end of report) | |||
|
18:18
diakopter joined
18:20
ash__ joined
|
|||
| [particle] | re: pmichaud part 2; i am for #2 (release rakudo compiler as scheduled with separate rakudo * release date tbd). this allows a continuation of the existing "thursday following parrot" release cycle for the compiler, and separates r* release cycle from rakudo compiler release cycle from the start. | 18:21 | |
| pmichaud | [particle]: that's not what #2 really means | ||
| it's always been intended that R* will have separate release dates from the compiler | |||
| the question is whether we should do *another* compiler release just before the release of R* | 18:22 | ||
| [particle] | ah, yes, i see, you'll reed another inter-monthly rakudo compiler release | ||
| pmichaud | correct. | ||
| [particle] | i still think that's the best solution | ||
| moritz_ | Pm-5: Can someone point to the specification or explain the logic | ||
| behind Parcel.ACCEPTS? | |||
| it used to be that empty parcel == Nil, and Nil was undefined | |||
| so in order for Nil ~~ Nil to work, that weird construct was used | |||
| pmichaud | (I know that it's to handle Nil, I'm just not sure this is how it's to be handled.) | ||
| moritz_ | the spec has changed since | 18:23 | |
| [particle] | the first R* release is exceptional enough to force an upstream off-cycle rakudo release. | ||
| moritz_ | and it's safe to rewrite to something saner now | ||
| pmichaud | okay | ||
| have the tests been updated? | |||
| moritz_ | not sure | 18:24 | |
| pmichaud | I had to put that code back in just so I could pass the nil.t tests. | ||
| moritz_ | they might be very wrong | 18:25 | |
| will try to review them soonish | |||
| mberends | my priorities are seldom about the features inside the Rakudo core, because it already contains more than enough for me. I'm more interested in stability, speed, memory efficiency and the distribution we build around the core. Therefore I would prefer options 1 or 2, and focus on maximally enabling application development. | ||
| moritz_ | oh, one more option... | ||
| make a parrot 2.5.1 release with just the additions that Rakudo * needs | |||
| pmichaud | mberends: the missing features are pretty important in some respects. as in, fundamental. | ||
| moritz_: we'd have to convince the Parrot team for that; I'm not sure it's a good precedent. | 18:26 | ||
| (I'm not opposed to it, though.) | |||
| [particle] | i believe parrot would be happy to make an off-cycle release for r*, but i'm not sure it's necessary | ||
| pmichaud | [particle]: for some of the key features it may be. | ||
| moritz_ | aye, they seemd pretty supportive | ||
| pmichaud | some of our "really ought to have" features will need to be in nqp-rx | 18:27 | |
| anyway, an interim Parrot release can be option #6 | |||
| option #7 is to have a "prerelease R*" sometime in June, with the official R* release in July | |||
| i.e., the prerelease R* would basically enable us to claim to have met a 2Q2010 goal. | 18:28 | ||
| (and give all of the people who are looking for something in June something to look at) | |||
| [particle] | i think we need a wiki page for all these options | ||
| Tene | My preference is #4, or I guess #7 | ||
| mberends likes #7 too | |||
| Tene | I'd like #7 if we included information on what specific sort of feedback we're looking for from the community. | 18:29 | |
| pmichaud | #4 might have an advantage that we'd then have R* based on a "supported" Parrot release. | ||
| Tene | like #7 better, that is. | ||
| pmichaud | (#7 has this as well) | ||
| I can start a public editable google doc | |||
| [particle] | i don't really like #7, we've been pushing r* as useable perl 6 from the start | ||
| it feels like breaking a promise | 18:30 | ||
| pmichaud | I agree, releasing prematurely feels like going against "underpromise and overdeliver" to me. | ||
| [particle] | aye | ||
| Tene | Well, if we release it as an attempt to get some other parts right first before the main release, it's a bit different. | 18:33 | |
| Packaging, module inclusion, whatever. | |||
| [particle] | yes, an integration-test release is acceptable, but not for public consumption | 18:34 | |
| Tene | "Here is the current code, along with all the non-code bits that will be included unless someone tells us otherwise, to get feedback on the non-code bits" | ||
| [particle] | certainly not something to market | ||
| pmichaud | docs.google.com/Doc?docid=0AeZqZQ8w...&hl=en # editable summary | 18:35 | |
| TimToady | I think there's little shame in missing by only a month | ||
| [particle] | rakudo protostar :) | ||
| pmichaud | rakudo star cloud. :-) | ||
| moritz_ | I'm against 7 | 18:36 | |
| it will be *so* hard to market right | |||
| pmichaud | TimToady: Aye, I've been thinking that as well. Missing by one month, given circumstances, isn't really all that bad. | ||
| TimToady | we can always blame you :) | ||
| pmichaud | You can, indeed. | ||
| moritz_ | I have just one request | ||
| pmichaud | (and I'm happy to accept/shoulder blame.) | ||
| moritz_ | if we delay rakudo * by a once, make a definitive date *now* | ||
| so that we don't have to handwave "well, not June, by July" | 18:37 | ||
| TimToady | well, there are are still externalish deps | ||
| pmichaud | one note about July is that I'll be on family vacation July 9-16. | ||
| [particle] | again, underpromise | ||
| pmichaud | I do expect to have good connectivity (and some time) during that time, and I'd ->hope<- that we have the bulk of things in place before the 9th. | ||
| s/hope/expect/ | 18:38 | ||
| yes, the summer calendar has not been our friend. June releases are too early in the month, and July releases are too late (i.e., we miss the opportunity to release at something like OSCON) | |||
| PerlJam concurs with moritz fwiw | 18:39 | ||
| pmichaud | if we wanted an OSCON-timed release, we could release the July compiler on the 20th or 21st | ||
| and then R* on the 22nd or 23rd | |||
| (i.e., push the rakudo compiler release up a day or two) | 18:40 | ||
| I think I'd prefer to not have the compiler release and the R* release on the same day. | |||
| to emphasize their difference. | |||
| I'm fine with us declaring a definitive date. | |||
| [particle] | agreed | ||
| and you don't really want to set a precedent that R* and rakudo releases will continue to be same-day | 18:41 | ||
| Tene | If we want to underpromise, we could promise august. | ||
| [particle] | s/precedent/expectation/ | ||
| Tene | Then we still have the option open to release at oscon | ||
| pmichaud | I'd really like to not extend into August, for many reasons :) | ||
| Tene | And we'd be overdelivering. | 18:42 | |
| pmichaud | We could promise a date later in July, then release early, yes. | ||
| PerlJam | When's oscon? | ||
| pmichaud | Jul 19-23 | ||
| Parrot 2.6.0 releases on Jul 20 | |||
| Rakudo 2010.07 would normally occur on Jul 22 | |||
| PerlJam | bummer | ||
| pmichaud | Jul 23 is a little late to make an OSCON splash -- things are usually shutting down by the last day | 18:43 | |
| PerlJam: yeah, the calendar really works against us in June+July of this year. April would've been awesome. :) | |||
| PerlJam | I say release them on the same day. | ||
| Tene | There's also the option of making a slightly early release of Parrot | ||
| PerlJam | just this once. | ||
| pmichaud | I'm _really_ reluctant to do that. | 18:44 | |
| yes, it would be just this once, but unfortunately it ends up being the expectation setter. | |||
| If we were to pick a July date (and go with underpromise/overdeliver) I'd say July 29. | 18:45 | ||
| PerlJam | Then set the date for the next release too. | ||
| (obviously not on a rakudo release day) | |||
| pmichaud | I'd rather release the compiler a day or two early than release on the same day. | ||
| and the compiler release notes do say that we can release a bit early :-) | |||
| there's very little that's magic about the 2-day requirement, it's an approximation. | 18:46 | ||
| PerlJam | so ... are people going to talk about the R* release at oscon? | ||
| It's not going to have the same impact in future tense. | |||
| pmichaud | I think people will talk, yes (more) | ||
| PerlJam | and you lose some advertisement ability | ||
| (I think) | |||
| pmichaud | here's my current leaning (but I'd prefer to wait to commit until other #phasers have a chance to comment | 18:47 | |
| I think we announce July 29 | |||
| TimToady | otoh, we're still aiming for early adopters here, so a slow buildup isn't so bad | ||
| pmichaud | then, if by July 9 we think we're comfortable with an earlier release, we plan for compiler release on the 20th, and R* on the 22nd. | ||
| if by July 9 we're not comfortable, we stick with the 29th and don't try to make a big deal of it | 18:48 | ||
| PerlJam | TimToady: heh ... slow buildup ... we're talking about days when Perl 6 has been "building up" for years :) | ||
| pmichaud | yeah, I don't want to make too big a splash | ||
| Tene | I like that plan. | ||
| [particle] | pmichaud: where are the nqp-rx proposed/expected changes kept? i don't see them in review-notes.txt | ||
| pmichaud | [particle]: they're not there -- review notes is more about code that already exists than about to-do items. | 18:49 | |
| the main thing needed in nqp-rx is backtracking subrules and better character class support in regexes | |||
| it will take me a day or so to get both of those ready | |||
| (I've already sketched out both, just need time for impl and testing) | 18:50 | ||
| PerlJam | pmichaud: I like that plan. It has the option of surprise. | ||
| Tene | I seem to be getting less burned-out recently, so I might be able to do some work soon. | ||
| pmichaud | there's a lot to commend that plan, yes. It does mean I go into YAPC::NA w/o R*, but I can live with that. | ||
| (since it's not likely to happen by Monday anyway) | |||
| PerlJam | pmichaud: but that's your opportunity to announce Jul 29 | 18:51 | |
| [particle] | have folks started developing a release document for r*? | ||
| PerlJam | [particle]: see github.com/rakudo/star/blob/master/README :-) | 18:52 | |
| [particle] | well, there's broad initial support from parrot folks for the possibility of an off-cycle release for r* | ||
|
18:52
masak joined
|
|||
| pmichaud | [particle]: that's useful. | 18:53 | |
| Tene | I *do* like the idea of getting together the packaging, presentation, assorted other bits together ahead of time, and that would be something nice to show to people at YAPC::NA. As well, it would be nice to get any issues with those parts ironed out before announcing. | ||
| [particle] | i'll bring it up in parrotsketch, or make sure someone else does if i can't attend | ||
| Tene: that's what i'm thinking... the proto r* release can be made available to folks at yapc::na | 18:54 | ||
| that's like a friends&family release of r* | |||
| PerlJam | [particle]: but one they put together themselves? | ||
| [particle] | no, it requires work from the rakudo team to start working on a distro | 18:55 | |
| the directions don't need to be perfect, and neither does the distro | |||
| pmichaud | maybe working on R* packaging would be a good thing to do at yapc::na :-) | ||
| s/at/during/ | |||
| [particle] | there will be a room available all week at the con for p6 and parrot hacking | ||
| pmichaud | i.e., have some focused hackathon sessions or bof sessions to discuss it and put together the plan and flesh out the repo | ||
| [particle] | pmichaud: agreed, that'd be great | 18:56 | |
| pmichaud | currently I'll only be there Mon-Thu. | ||
| (I'm returning to DFW thursday night, so will be there Thu day) | |||
| [particle] | 'twould be nice to have a leg up by having some basic outline for new folks to start working from | 18:57 | |
| i'm there mon-wed | |||
| 7p flight wednesday | |||
| Tene | I really need to look into trying to attend yapc::na. | 18:58 | |
|
19:00
takadonet joined
|
|||
| masak | right. | 19:00 | |
| so now we start, yes? | |||
| moritz_ | hi | 19:01 | |
| sorear | wow, I actually made a #phasers for once. Hi! | ||
| PerlJam | greets sorear | ||
| moritz_ | masak: want to report wrt your gsoc project? | ||
| sorear postpones backlogging to attend | |||
| masak | sure. | ||
| as usual, weekly reports can be found on my blog. | |||
| use.perl.org/~masak/journal | 19:02 | ||
| but since you're here... :) | |||
| last week was dominated by porting of the existing Str.encode/Buf.decode code to Parrot's brand new ByteBuffer. | |||
| I expected to do more, but got distracted by $real-life, and a fun weekend hackathon. | 19:03 | ||
| still doing well with the grant schedule, though. | |||
| no real blockages. | |||
| .eor | 19:04 | ||
| moritz_ | great | ||
| so | 19:05 | ||
| has everbody read pmichaud's report in the backlog? | |||
| masak | halfway through it :) | ||
| done. :) | 19:06 | ||
| moritz_ | so | 19:07 | |
| afaict, we need to discuss these things today | |||
| 1) date of June release (wait for the list merge, or not?) | |||
| 2) Rakudo * release date (options 1...7) | 19:08 | ||
| 3) pmichaud's review list | |||
| anything else I've missed? | |||
| pmichaud | see also my google doc | 19:09 | |
| PerlJam | What's the likelyhood of list merge happening tomorrow? | ||
| pmichaud | "by tomorrow?" Very high likelihood. | ||
|
19:09
colomon joined
|
|||
| colomon | bluederm | 19:09 | |
| moritz_ | hi colomon | 19:10 | |
| colomon | o/ | ||
| sorry I'm late, dentist appt | |||
| moritz_ | there's a mighty backlog in here already (pmichaud++ pre-pasted) | ||
| colomon | backlogging. | ||
| PerlJam | Then I'm for holding the R* release until the list merge. (even if it won't be held up) | ||
| [particle] | any way to ||ize the rest of the list merge? iirc it's <500 failing tests | 19:11 | |
| moritz_ | [particle]: my attempts to fix some of them clearly showed that it wasn't efficient; spending my time in other Perl 6 corners seemd much more productive | 19:12 | |
| [particle] | noted. | 19:13 | |
| moritz_ | so | ||
| R* release | |||
| we have currently 7 options | |||
| maybe we just start by each of us listing the options we like | 19:14 | ||
| pmichaud | I can delegate parts of the list merge | ||
| (for efficiency) | |||
| 19:10 <PerlJam> Then I'm for holding the R* release until the list merge. (even if it won't be held up) | |||
| moritz_ is OK with 2, 4, 6. 4 preferred | |||
| pmichaud | (that doesn't really make sense) | ||
| PerlJam | pmichaud: just ignore the parenthetical :) | 19:15 | |
| masak | moritz_: I see 1..5 being numbered in the backlog. don't see 6 and 7. | ||
| moritz_ | masak: they came later; see here for a sumamry: docs.google.com/Doc?docid=0AeZqZQ8...&hl=en | ||
| pmichaud | docs.google.com/Doc?docid=0AeZqZQ8w...&hl=en | ||
| PerlJam | pmichaud: the point is that I think the list merge is something significant that the release can be pegged to. (IMHO) | 19:16 | |
| pmichaud | PerlJam: right. But not R* :-) | ||
| PerlJam | oh! | ||
| right. I had R* on the brain for a second | 19:17 | ||
| wrt the R* release I'm for #4 with the schedule that Pm mentioned earlier (Jul 29, but if all goes well we decide on Jul 9 to move the Rakudo release up to Jul 20 and the R* release to Jul 22) | 19:18 | ||
| masak | I find I'm not of a strong opinion as to the options. I do seem to be gravitating to either 2 or 4, though. 6 if needed. I do not like 1 or 7 | ||
| colomon | I'm also against 1 and 7 | 19:20 | |
| masak | backlogging -- I see I'm not first in disliking 7. good. | ||
| colomon | At this point, I'm against 2. Much as I'd like to see it happen, there's just too much more that should go in there for a decent release. | 19:21 | |
| PerlJam | yeah, #7 is the "steal the thunder and turn it into a wimper" option if you ask me :) | ||
| colomon | 4 or 6 work for me. | ||
| masak | I see 6 as mostly orthogonal to the rest of the list, and by-need. | 19:22 | |
| [particle] | there must be a better way to vote on these | ||
| moritz_ | do we actually need a vote? | ||
| pmichaud | I'm looking for consensus opinion :-) | ||
| masak | seems we're almost decided on the right one :) | ||
| moritz_ | is anybody in strong dislike of 4 (July release of R*)? | ||
| [particle] | these are overlapping options | 19:23 | |
| like, 2 could depend on 6 | |||
| pmichaud | sure, these aren't non-overlapping. each one just gets at a central point. | 19:24 | |
| [particle] | anyway, i think july r* release is the way to go, as discussed previously. | ||
| pmichaud notes jnthn is absent. :-| | |||
| anyone massively opposed to July R* ? | 19:25 | ||
| [particle] | standard parrot release cycle, standard rakudo release cycle, R* release at or before july 29 | ||
| moritz_ | nobody spoke up when I asked the same question :-) | ||
| pmichaud | moritz_: right, I'm repeating the question just to make sure people see it :) | ||
| colomon | I do think we should set a hard date for it now. (OR at least before an announcement.) | ||
| PerlJam | colomon: before YAPC! | ||
| pmichaud | if we say July R*, I declare July 29. | ||
| [particle] | colomon: ^^ | ||
| moritz_ | pmichaud++ | 19:26 | |
| colomon | +1 | ||
| mberends | +1 | ||
| pmichaud | if things look particularly healthy in early July, we may try moving a week sooner. If not, no biggie. | ||
| [particle] | if requested, parrot will make an off-cycle release in support of R* | ||
| pmichaud | parrot won't need to. | ||
| [particle] | keep it in your back pocket | ||
| pmichaud | (but it's very nice to know that ... right) | 19:27 | |
| since parrot is leading up to supported release anyway, I don't expect significant shifts from parrot -- mainly minor improvements (all of which help R*) | |||
| okay, let's go with July 29. I give jnthn++ the option of a strong veto, however, if he's in significant disagreement. | 19:28 | ||
| (since he's not here at the moment) | |||
| moritz_ | ok | ||
| pmichaud | I _will_ write up a blog post explaining the new date. | 19:29 | |
| jnthn | oh hai | ||
| Tene | HAI! | ||
| takadonet | ! | ||
| TimToady | pick a number | ||
| jnthn | sorry sorry sorry...I screwed up the timezone. | ||
| pmichaud | ah, just in time to throw MONKEY_WRENCH exception into the works! | ||
| jnthn away from home | 19:30 | ||
| er, I guess I better backlog :-) | |||
| diakopter | see you in 15 | ||
| pmichaud | jnthn: we'll see you in about 30 | ||
| (long backlog :) | |||
| moritz_ | shall we temporarily move to the review notes then? | 19:31 | |
| pmichaud | wfm | ||
| moritz_ | docs/review-notes.txt in list branch | ||
| pmichaud | I'll lead. | ||
| masak | github.com/rakudo/rakudo/blob/list/...-notes.txt | 19:32 | |
| pmichaud | For #1, I think it can be broken into 1 or more RT tickets. I'd like someone else to pick that up. | ||
| (I'll break into tickets) | |||
| (someone else investigate and fix or report back) | |||
| moritz_ | +1 to PIR-based testing | 19:33 | |
| pmichaud | For #2, I was surprised that &reducewith and the like are public in the setting. I think we either need a way to make them public in the spec or we need to privatize them somehow. | ||
| jnthn | pmichaud: At least negate is mentioned in the spec. | ||
| colomon | I feel strongly that hyper (or something very much like it) ought to be in the spec. | ||
| pmichaud | so is &reduce, itself. | ||
| note that hyper is a keyword. | |||
| jnthn | I changed the name of it after it showed up in the spec alongside the description. | ||
| pmichaud | well, not a keyword, but it's a built-in. | 19:34 | |
| colomon | pmichaud: I have no objections whatsoever to renaming it. :) | ||
| moritz_ would like to put them into a namespace | |||
| colomon | (The helper sub, I mean.) | ||
| jnthn | The others don't appear in the spec, but my (maybe mistaken) impression from TimToady++ was that there should be keyword versions of them too. | ||
| pmichaud | sure, I'm for that also if we can do it. | ||
| moritz_ | so that people *can* use the helper subs if they want | ||
| jnthn | However, that doesn't mean the names as they stand now are good. | ||
| moritz_ | and spec them to be there | ||
| jnthn | On a related issue, I'd be interested in us designating a namespace where we should put guts-y things. | 19:35 | |
| TimToady | infix hyper helpers might be named dwim-strict or some such | ||
| if dwimmery isn't just parameterized | |||
| jnthn | TimToady: We've got those as named parameters at the moment. | ||
| moritz_ | so that they can also be overridden if needed, but aren't accidentally overridden when somebody declares an 'only sub reduce { }' and wonders why [+] breaks | ||
| pmichaud | designated namespace for guts-y things: Rakudo | ||
| or Perl6::Rakudo | 19:36 | ||
| or Rakudo::Compiler | |||
| or ALLCAPS::SOMETHING | |||
| colomon | reduce is spec, reducewith is the [+] helper | ||
| pmichaud | can't the [+] helper use reduce? | ||
| i.e., should reduce (spec) be made more like the helper? | |||
| moritz_ | it needs to deal with associativity | ||
| and chainging op | |||
| the normal reduce can't do that | 19:37 | ||
| colomon | and triangle | ||
| moritz_ | right | ||
| pmichaud | can't or simply doesn't? | ||
| colomon | normal reduce could be extended, I suppose. | ||
| jnthn | Well, if we're fine with giving normal a bunch of extra adverbs... :-) | ||
| TimToady | there does seem to be trend that all the helpers are "with" | ||
| Tene | jnthn: *sufficiently* gutsy things should go in the _perl6 HLL namespace, according to some speculation in the past. | ||
| colomon | TimToady: I think that just happened... but maybe jnthn or moritz_ schemed it out? | 19:38 | |
| moritz_ | colomon: I think somebody picked up 'zipwidth' from haskell, or so | ||
| PerlJam | TimToady: reverseargs, sequentialargs? Are those helpers? | ||
| pmichaud | I'm fine with a "with" suffix, although there's also a pattern with nextwith and callwith and the like iirc | ||
| TimToady | well, crosswith and zipwith were certainly intentional.... | ||
| colomon | good point. | 19:39 | |
| pmichaud | at this point is there a consensus that it makes sense for helpers like these to be in the setting? | ||
| if yes, I can note that and it's just up to spec and language folks to work out the details :-) | 19:40 | ||
| [particle] | GUTS::Rakudo | ||
| colomon | my gut feeling is they should be spec. | ||
| TimToady | I'd like all the meta-ops to really just be sugar for HOP | ||
| pmichaud | or, perhaps they belong in a HELPERS:: namespace, if part of spec and not just the compiler :-) | ||
| okay, TimToady's last comment tells me they belong. | |||
| naming to be worked out over time. :) | 19:41 | ||
| colomon | \\o/ | ||
| TimToady | maybe there's something better than "with" | ||
| colomon | yeah, they certainly could use some cleaning up. :) | ||
| pmichaud | Pm-3: I was wondering about the dual-specification for Junction.new; sometimes :any, :all, :none adverbs, sometimes :type(...) | 19:42 | |
| is that just for convenience of various pieces of code? | |||
| moritz_ | it semes the constructor supports both, right? | ||
| jnthn | pmichaud: convenience. | ||
| pmichaud | currently, yes. | ||
| jnthn | /laziness | ||
| pmichaud: I think :all, :any are a nicer interface | |||
| But it's a pain when creating a junction when you already have a variable holding the type. | 19:43 | ||
| masak | seems like redundance with little gain. | ||
| I'd go with just :type. | |||
| jnthn | I don't care | ||
| Just spec something and clean it up. | |||
| Currently nothing is spec'd. :-) | |||
| So I did what was convenient. | 19:44 | ||
| (for the implementor ;-)) | |||
| pmichaud | convenient can be +1 at times, yes :) | ||
| okay, that answers my question. I know how to respond in the file then. | |||
| jnthn | Anyway, there's no strong reason. | ||
| :type is easier | |||
| :all/:any etc are nicer because they catch typos better. | |||
| Well, or could | |||
| pmichaud | (basically, we probably should clarify spec and then clean up, doesn't have to happen immediately) | ||
| could use an enum. | |||
| jnthn | EBOOTSTRAPPINGHATE | 19:45 | |
| But yeah, we could. | |||
| pmichaud | Pm-4: My mind went loopy when thinking about Cool again -- I was surprised that "Iterable is Cool" | ||
| jnthn | Heh, we can provide an enum and then just accept Any as Int in the signature. :-) | ||
| Thus neatly side-stepping the bootstrapping fun | 19:46 | ||
| OTOH, we currently can't write enums in the setting because the enum setup code is, er, in the setting. | |||
| moritz_ | pmichaud: that was mostly because iterators leaked out in so many corners | ||
| jnthn | Maybe we need a three-stage compiler. <duck> | ||
| pmichaud | jnthn: oh, it wouldn't surprise me if we eventually get there. :) | ||
| jnthn | :-) | 19:47 | |
| It may ease some pains at some point. | |||
| moritz_ | pmichaud: if they appear only in "weird" circumstances in the new model, they don't need to be Cool | ||
| jnthn | I'm not in a hurry though. :-) | ||
| pmichaud | moritz_: okay. I was just unsure if there was a known strong reason for Iterable to be ~~ Cool. | ||
| I guess if we expect @a.sin to do something it makes sense, though. | 19:48 | ||
| moritz_ | pmichaud: every user-exposed, built-in types are Cool, unless there's a strong reason for them not to be | ||
| pmichaud | I'll buy that. | ||
| moritz_ | Cool is the new Cool! | 19:49 | |
| pmichaud | that's an excellent summary line for Cool, thanks. | ||
| (couldn't remember it.) | |||
| last one -- Pm-5 | |||
| based on earlier comments from moritz++, it looks like Parcel.ACCEPTS may be based on an earlier spec | |||
| the main question is in dealing with ~~ Nil | |||
| but it would also be responsible for handling the case of ~~ (3,4) | 19:50 | ||
| is it possible that Parcel.ACCEPTS is really the same as List.ACCEPTS ? | |||
| moritz_ | might very well be | ||
| TimToady | well, if Parcel is simply an immutable List... | 19:51 | |
| pmichaud | currently I don't have Parcel as an immutable List | ||
| it really wants to be slightly different, I think -- a bit more fundamental. | |||
| TimToady | immutable in the sense that it's a list of syntactic args that are known at compile time | 19:52 | |
| moritz_ | so (1, foo(), 3) is not a Parcel? | ||
| or do you have a strange idea of "known"? :-) | 19:53 | ||
| TimToady | but ~~ () could probably be List.ACCEPTS | ||
| pmichaud | that's a Parcel, definitely. | ||
| TimToady | and it has 3 args | ||
| pmichaud | currently we have self.Seq.Accepts | ||
| i.e., the parcel flattens and then does Accepts | |||
| but if the $topic has zero elements, we do something special with it | 19:54 | ||
| TimToady | what would ~~ (1, (2, 3), 4) accept? | ||
| Nil is just () | |||
| pmichaud | I don't know. In general there doesn't seem to be a bright line deciding when a Parcel flattens versus when it keeps its elements unflattened | ||
| (with respect to certain method calls) | 19:55 | ||
| TimToady | parcels only flatten when bound flat | ||
| pmichaud | earlier we had the case of | ||
| TimToady | or when forced by .flat | ||
| pmichaud | (<1 2>, 3).join(',') | ||
| TimToady | I suspect join implies a .flat | 19:56 | |
| pmichaud | right | ||
| so, some methods imply flat, others don't | |||
| TimToady | but I'm not sure if .ACCEPTS is one of those | ||
| pmichaud | right, thus my comment about no bright deciding lne :) | ||
| *line | |||
| we also have the case of (1, @a, 4) | 19:57 | ||
| er | |||
| ~ (1, @a, 4) | |||
| arggggh | |||
| ~~ (1, @a, 4) | |||
| TimToady | is there a use case for matching nested parcels? | ||
| and is it a good enough case to break expectations of flattening | |||
|
19:58
takadonet left
|
|||
| pmichaud | I can't think of one at the moment. Or if someone did need to do that, it can be done with $(...) or (...).item | 19:58 | |
| or even .slice | |||
| TimToady | agreed, and I lean toward .flat semantics by default for .ACCEPTS | ||
| pmichaud | okay. | ||
| TimToady | I think it's what most naive users will expect | ||
| pmichaud | and then for the case of | 19:59 | |
| TimToady | and perhaps :() can do elsewise | ||
| pmichaud | sub foo() { return; }; my $x = foo(); if $x ~~ Nil { ... } | ||
| does Parcel (Nil) need to do something special to handle that? | |||
| jnthn | TimToady: :() ? | 20:00 | |
| TimToady | sig matching | ||
| jnthn | $foo ~~ :() coerces $foo to a Capture and it'd better have no positionals or nameds. :-) | 20:01 | |
| TimToady | pmichaud: taking your example backwards | ||
| $x ~~ Nil coerces $x to .list or some such | 20:02 | ||
| and I don't think Any ~~ () | |||
| or Mu | |||
| my $x = () is supposed to init $x to Any | |||
| so I think ~~ Nil really only be have exactly like ~~ () | |||
| no magic | |||
| pmichaud | wfm | ||
| is there a way to test for a "void return", then? | 20:03 | ||
| TimToady | only be's have :) | ||
| sure, put it in a list context | |||
| pmichaud | my $x = foo().list | ||
| okay. | |||
| wfm. | 20:04 | ||
| TimToady | my @x = foo(); if @a ~~ () works fine | ||
| pmichaud | That's all the questions I have for this week. I'll update the .txt file and add more as I find them. | ||
| TimToady | or more likely just if @a | ||
| pmichaud | or even if @x :-) | ||
| TimToady | another one that works fine: my $x := foo(); if $x ~~ () | 20:05 | |
| masak | surely `if @x ~~ ()` would be equivalent to `if !@x`, not `if @x` ? | ||
| pmichaud | thanks all for the quick answers. there's nothing that says the questions I put in the review document have to wait for #phasers -- I just wanted a place where I could do some interactive query/response on a schedule. | ||
| TimToady | masak: I just said that | ||
| oh, right | 20:06 | ||
| pmichaud | masak++ | ||
| TimToady | .oO(stupid n't key) :P |
||
| moritz_ | so | ||
| TimToady | I just saidn't that! | ||
| masak | TimToady: :P | ||
| moritz_ | anything else we need to discuss in scope of this week's #phasers meeting? | ||
| jnthn | I the whole backlog. | 20:07 | |
| pmichaud | jnthn: have you been able to review the backlog yet? any comments? | ||
| jnthn | comments: | ||
| On pm's initial statement - I was always fine with and actually expecting us to generally pick revisions for distribution releases on a "whatever works" basis, and that we'd keep compiler releases on a separate, unrelated, monthly schedule. We should be enforcing that compiler monthlies and distribution releases are different things. OTOH, using a non-released Parrot would be wrong. | |||
| #7 is "no way". | |||
| Would prefer not to have the Parrot folks have to deliver an off-schedule release, especially since the July date was already given. | |||
| I think that making a crappy release that's not quite there and with a bunch of weaknesses would give a worst lasting impression that another month of delay. | 20:08 | ||
| *worse | |||
| *than | |||
| So I say we take the month or so extra to pollish what we have. | |||
| pmichaud | wfm | 20:09 | |
| TimToady blames the Intelligent(?) Designer | |||
| pmichaud | from a personal perspective, I basically lost 12 weeks of development time | ||
| jnthn | Finish the major missing ROADMAP items, focus on the things likely to annoy newcomers, and start *soon* making our distribution. | ||
| (As in, getting it into shape.) | |||
| pmichaud | a june release date means we pushed back the planned release only 8 weeks | 20:10 | |
| while it would be nice, it's proving to be about 2 weeks shorter than I needed :) | |||
| jnthn | Yes, I agree. | ||
| pmichaud | so while I wasn't expecting this outcome, it seems more and more like july release is the way to go | ||
| [particle] | @pmichaud <== $dr-pepper | 20:11 | |
| TimToady | well, there could still be unforeseen interactions in the new feature set, so you may get your two weeks back... | ||
| pmichaud | okay, unless others object in the next day or so, that's the plan | ||
| jnthn | +1 | ||
| pmichaud | as I mentioned earlier, I will write something up about this during this week | 20:12 | |
| (i.e., pre yapc-na) | |||
| jnthn | pmichaud: Please do blog about it. I'm comfortable you'll do it well, but it'd be good to have a good solid post out about it sooner rather than later. | ||
| OK, great. | |||
| pmichaud | I agree, we want to stay ahead of the discussion :) | ||
| masak | +1 to pmichaud blogging about it. | ||
| pmichaud | that's all of the #phasers I had for today | ||
| jnthn | pmichaud: Yes, that's the point I was trying to make. | 20:13 | |
| moritz_ | nice | ||
| masak | thanks! y'all rock! | ||
|
20:25
masak left
20:31
mberends left
20:33
eternaleye joined
23:04
eternaleye joined
|
|||