|
Post closed tickets in your report. | Note: This channel is for our weekly status meetings (Tuesdays at 19:30 UTC); you probably want #parrot instead. | irclog: irclog.perlgeek.de/ Set by moderator on 30 August 2011. |
|||
|
07:21
contingencyplan joined
08:02
lucian joined
12:00
bluescreen joined
12:17
bluescreen joined
14:35
bluescreen joined
17:48
ilbot2 joined
|
|||
| moderator | Post closed tickets in your report. | Note: This channel is for our weekly status meetings (Tuesdays at 19:30 UTC); you probably want #parrot instead. | irclog: irclog.perlgeek.de/ | ||
|
18:03
contingencyplan joined
18:47
whiteknight joined
18:59
NotFound joined
|
|||
| whiteknight | WHAT I DID: | 19:00 | |
| * Working on Jaesop (formerly JSOP). Am most of the way towards a working stage 0. | |||
| * Have the Jaesop object model working more-or-less correctly. Redid the test suite to handle the new semantics. | 19:01 | ||
| * Suggested a few winxed changes that would make Jaesop life much easier | |||
| * Major refactor of the Rosella Harness library. Much cleaner public interface now. I am in the middle of redoing the TAP parser to be less bad. | |||
| * Playing with a few new Rosella libraries and misc cleanups throughout. | |||
| * On suggestion from jnthn++, set up, tested, and merged the whiteknight/pmc_is_ptr branch. Up to 25% improvement on some benchmarks. | |||
| * With help from nine++, the whiteknight/kill_threads branch is ready for testing and eventually merger. | |||
| * Talked with cotto about the deprecation policy. Said cursewords. Am happy to see it go. | |||
| * Looked at soh_cah_toa++'s new debugging metadata stuff. Going to get more involved in that. | |||
| * Drawing up some concrete plans for changes to PCC, IMCC, and Packfiles that are going to need to happen soon. | |||
| WHAT I WILL DO | |||
| * Finish refactor of Rosella Harness and the new TAP parser | |||
| * Continue playing with Jaesop, want to get the remaining few bits of syntax generating proper winxed code. | |||
| * Get my mind back into 6model. Need to rethink some things. | |||
| * Merge whiteknight/kill_threads | |||
| * Put together some code for precise GC | |||
| EOR | |||
| oh, also merged in some pmc_is_ptr fixes from not_gerd++ | 19:05 | ||
| NotFound | What I did: | 19:11 | |
| -parrot | |||
| * Just testing | |||
| -winxed | |||
| * Fix HLL namespace modifier and take HLL into account in several | |||
| operators and statemens. | |||
| * Several fixes and refactors. | |||
| What I will do: | |||
| More improvements to HLL handling in winxed | |||
| EOR | |||
| Util | # Done | 19:18 | |
| * Read cotto++ thoughts on Parrot, and am encouraged by the direction. | |||
| # Plan to do: | |||
| * Read new purchase: The Garbage Collection Handbook | |||
| # Blockers: | 19:19 | ||
| * $WORK | |||
| # 7-day ticket report: | |||
| 1 closed: done | |||
| 4 closed: fixed | |||
| 4 new | |||
| .end | |||
| cotto_work | *did: | 19:25 | |
| - more all_hll_test.pl work, should be "ready" for use | |||
| -- all projects are welcome, including Rakudo-based projects that pass their tetss | |||
| - sent out message about reassessing (and dropping) our deprecation policy, among other things | |||
| -- lots of good feedback | |||
| -- uneasy concerns from Rakudo | |||
| -- Parrot needs better communication with Rakudo about proposed changes. | |||
| - looked at and hacked on mls++'s sub profiling branch | |||
| -- needs a lot of cleanup, has great potential | |||
| -- it's already proving highly useful for Rakudo, so it or something like it will eventually get merged | |||
| *todo | |||
| - figure out what a post-deprecation policy future looks like for Parrot, Rakudo and other users | |||
| - finish profiling docs | |||
| *eor | |||
|
19:27
tewk__ joined
|
|||
| whiteknight | hello | 19:30 | |
| cotto_work | hello | ||
| NotFound | Hola | 19:31 | |
| Util | Hello | 19:32 | |
| cotto_work | How's this week gone? | 19:33 | |
| whiteknight | pretty darn good | 19:34 | |
| cotto_work | I'd say so. | ||
| We'll have to be careful to make sure that someone from Rakudo gets included in our discussions about future changes, but I like where this is going. | 19:35 | ||
| whiteknight | yes, I think we're going to want to be more in contact with them than ever | ||
| Util | Just barely dodged two hurricanes (New York and Alabama), and not cotto++ starts an earthquake :) | ||
| s/not/now/ | |||
| whiteknight | obviously their needs are going to be influencing our decisions at a finer-grained level than it has in the past two years | ||
| their/there | 19:36 | ||
| bleh | |||
| cotto_work | I don't see any questions queued, so policy disucssion probably isn't out of place. | 19:38 | |
| whiteknight | go for it | 19:39 | |
| cotto_work | In general, I want notification and testing to replace our deprecation policy. | 19:40 | |
| all_hll_test.pl is a part of that. | |||
| whiteknight | more integration testing and better integration testing are key | ||
| cotto_work | talking with active HLL developers about proposed changes is another | ||
| It all needs fleshing out, but I'm glad to see that there aren't any strong objections to replacing the deprecation policy, assuming that HLLs' needs are taken into account. | 19:42 | ||
| I guess that's all I've got for now. | 19:46 | ||
| whiteknight | I'm very happy that there doesn't seem to be much pushback | ||
| I think it will all go better if we think it's the right thing to do | |||
| Util | If the D.policy is so replaced, does tht mean that all the outstanding items (APIs, etc) that are being kept for dep's sake immediately go on a hit list? | 19:47 | |
| cotto_work | Util: yes, but it also means we need to make sure that removing them won't mess up HLLs. | 19:48 | |
| Util | Of course | ||
| cotto_work | It won't hurt us to be explicit about that sort of thing. | 19:50 | |
| whiteknight | We're going to try to do things more quickly, without going completely crazy | 19:51 | |
| When we make changes, make sure HLLs get fixed quickly | |||
| cotto_work | run all_hll_test early and often | ||
| whiteknight | that's a make target? | ||
| cotto_work | it can be | ||
| whiteknight | it should be | 19:52 | |
| cotto_work | give me a minute | ||
| it is | 19:54 | ||
| whiteknight | awesome | ||
| cotto_work | "allhlltest" | ||
| It's guaranteed not to work on all platforms. Patches are welcome. ;) | 19:55 | ||
| Coke | I'll get it working on windows. | ||
| cotto_work | I don't think it'll take too much effort. Coke++ | 19:56 | |
|
19:56
mikehh joined
|
|||
| Coke | is it in master now? | 19:56 | |
| cotto_work | yup | 19:57 | |
| Coke | ORLY? didn't see it on an update. found it in all-hll-test, though. | 19:58 | |
|
19:59
pmichaud_ joined
|
|||
| cotto_work | Coke: you may not be current | 19:59 | |
| Coke | cotto_work: also, System::Command barfs on windows, apparently. | 20:00 | |
| so, will take some effort. | |||
| cotto_work | I am disappoint | 20:01 | |
| pmichaud_ | When we make changes, make sure HLLs get fixed quickly | ||
| ...how exactly might this happen? | |||
| whiteknight | pmichaud_: it will be a process of experimentation, what the hlls want | 20:02 | |
| pmichaud_ | although I agree the deprecation policy needs to go, I'm a little concerned that it's going to result in a free-for-all with changes being made to Parrot that Rakudo has to constantly anticipate and react to. | ||
| whiteknight | patches, pull request, detailed guidance, etc | ||
| pmichaud_ | and frankly, I don't want to be spending all of my time reacting to Parrot changes (except for the changes that are because of a Rakudo need) | ||
| whiteknight | pmichaud_: Rakudo being broken against Parrot HEAD has always been cause for concern, and still will be | 20:03 | |
| pmichaud_ | and the list of "proposed changes" I've seen so far seem to be rearranging Parrot's deck chairs as opposed to actually making things better for Rakudo. | ||
| cotto_work | This is just a thought, but we might start using pull requests for the whole workflow. | ||
| whiteknight | if it breaks, we fix it. that becomes priority | ||
| pmichaud_ | whiteknight: what about Rakudo's DarkPAN? | ||
| see, for example, the NCI changes from earlier this year. | |||
| cotto_work | pmichaud_: is that DarkPAN or just UntestedPAN | ||
| ? | |||
| whiteknight | pmichaud_: I'm not saying it's going to be perfect. It is going to be a learning process. | ||
| Coke | (sys:command - error might be ignorable.) | ||
| whiteknight | we need to figure out how to do what Rakudo needs in a timely manner, without doing what Rakudo needs us not to do | 20:04 | |
| pmichaud_ | cotto_work: could be UntestedPAN, but the tests live outside of the Rakudo compiler if so. | ||
| mikehh | running the rakudpo test suite against changes before pushing would help | ||
| Coke | I think it's premature to spend cycles on parrot or rakudo's darkpan at this point. | ||
| pmichaud_ | there are people building modules and programs for Rakudo that aren't part of the rakudo/rakudo repository | ||
| Coke: except that we've already had breakages in Rakudo's userbase | |||
| cotto_work | pmichaud_: if we can pull, we can automatedly test | 20:05 | |
| pmichaud_ | see, for example, MiniDBI and Zavolaj | ||
| whiteknight | there's a difference between the darkpan and the module ecosystem | ||
| Util | +1 to mikehh's comment | ||
| whiteknight | darkpan is the stuff we don't know about, but assume must be out there somewhere | ||
| cotto_work | mikehh: absolutely. That's just the first step though. | ||
| whiteknight | we know about minidbi and zavolaj, so they hardly qualify as "darkpan" | ||
| mikehh | we need to incorporate that in some form of testing | ||
| whiteknight | and we need to test against them regularly | ||
| pmichaud_ | what about Rakudo applications? | ||
| cotto_work | mikehh: see allhlltest | ||
| pmichaud_ | do we know about all of those? | ||
| Coke | pmichaud_: instead of arguing by asking questions, can you tell us what you want? | 20:06 | |
| pmichaud_ | Coke: I don't know what I want. | ||
| I know what I don't want. | |||
| NotFound | Are wa saying that we are going to be able to change things, as long as nothing changes? | ||
| Coke | fair enough. | ||
| (to pmichaud) | |||
| pmichaud_ | I don't want to be spending a huge amount of my time reviewing every proposed Parrot refactor to have to tell Parrot devs "no, that won't work for Rakudo" and hope that I get those warnings in before they land in Parrot. | ||
| cotto_work | NotFound: we can change things as long as we know what we're changing and have talked to the people who maintain what all will be changed. | 20:07 | |
| whiteknight | pmichaud_: do you have a particular way you would like us to go about things? | ||
| pmichaud_ | because frankly, most of the refactors and changes I've seen discussed thus far imply a lot of changes for Rakudo (and risks of breakage) with extremely little Rakudo benefit. | ||
| cotto_work: not just "who maintain", but also "who use" | |||
| although if "who maintain" know all of the details of "who use", that can be a surrogate. | |||
| whiteknight | code review and pull requests are going to have to play a much bigger part in things, and we're going to have to go into changes with an eye towards the amount user code will be affected | 20:08 | |
| effected | |||
|
20:08
moritz joined,
jnthn joined
|
|||
| cotto_work | the Rakudo cavalry arrive | 20:09 | |
| well, more of them ;) | |||
| PerlJam | cotto_work: I think you might mean "dark horsemen" :) | 20:10 | |
| whiteknight | the old system wasn't working well, and the new system probably won't be perfect either. We need to have more ups and fewer downs | ||
| pmichaud_ | and not to pick on cotto too much (because I agree with what's being discussed) -- all of this talk of changing the deprecation policy seems to have occurred without getting the input and feedback or soliciting direct input from hll devs. | ||
| I grant this is occurring now... | 20:11 | ||
| whiteknight | that email was just the start of the conversation. This is the point where we are getting feedback | ||
| we haven't deleted the policy yet | |||
| cotto_work | pmichaud_: I apologize for not including you specifically. I talked with masak and moritz earlier about it. | ||
| but nothing's set in stone. Like whiteknight said, this is the start. | 20:12 | ||
| whiteknight | if a week goes by and we decide it's a mess, we can always go back | ||
| I think we are going to have a lot of refinements to make as a group | |||
| pmichaud_ | I guess what I'm saying is that changing the deprecation policy is necessary but not sufficient. | 20:13 | |
| whiteknight | pmichaud_: okay, so what else do we need to do? | ||
| moritz | agreed. And we need to be clear that it's changing the policy, not aborting it | ||
| pmichaud_ | and that thus far the discussions are _still_ not focused on rakudo needs, but parrot's perceived desire to change its internals all over the place. | ||
| i.e., parrot's priorities are still radically orthogonal to rakudo's. | 20:14 | ||
| whiteknight | pmichaud_: the benefits to rakudo are not always well communicated | ||
| cotto_work | Now that it's clear what people think, it's a great time to start sketching out how code changes will be managed in the future. | ||
| pmichaud_ | whiteknight: I'm saying it's worse than that. | ||
| whiteknight: parrot devs mean well and they think they're doing rakudo a favor when they're actually making things much worse. see NCI for example. | |||
| whiteknight | we need to be more in tune with Rakudo. Previously, there was very little reason to communicate between deprecation boundaries, and I think we all suffered because of that | 20:15 | |
| pmichaud_ | last week there was discussion about changing the interface for "die" and I felt like my comments were basically brushed aside as irrelevant. | ||
| whiteknight | if we are in closer communication more often, I think we can avoid problems, and maybe even produce better results | ||
| moritz | that sounds both right and vague | 20:17 | |
| pmichaud_ | thus far "closer communication" tends to mean that rakudo devs have to monitor parrot changes closely. | ||
| whiteknight | pmichaud_: we complained about die and friends, but there are no plans anywhere to change them now. Your comments were received and understood | ||
| pmichaud_ | thus far "closer communication" seems to be parrot folks saying "as long as we improve our automated tools things will be okay". Our track record on that aspect is dismal. | 20:18 | |
| cotto_work | pmichaud_: That was my starting point. We're moving away from that thanks to your feedback. | ||
| pmichaud_ | cotto_work: it's not just this time -- I've heard this refrain many times before ("automated tools") | 20:19 | |
| cotto_work | automated testing + communication | ||
| we didn't have one before | |||
| pmichaud_ | api.yaml | ||
| that was an example of "automated tool" that was supposed to improve things but didn't. | |||
| cotto_work | sorry. thought you meant testing | ||
| pmichaud_ | no, whenever we have a problem, it's proposed that we develop a lot of new automated tools that will supposedly help alleviate the problem. | 20:20 | |
| our record in this area is dismal. | |||
| cotto_work | It's easier to write a tool than to remember something (or ingrain it in our developer culture) | ||
| whiteknight | okay, let's no go there then. Let's call that a non-starter | ||
| pmichaud_ | I apologize that I don't have an idea of what I want. I don't know what I want. | ||
| tewk__ | api.yaml = "automated communication", "automated communication" isn't communication its only notification. | 20:21 | |
| pmichaud_ | I do know that as much as I hate the deprecation policy, it did promise that unstable events would occur at certain boundaries. (more) | ||
| cotto_work | automated testing + manual communication | ||
| tewk__ | I think we have all learned that you can't automate ocmmunication. but we can automate testing and notification which can lead to more prompt communication. | 20:22 | |
| pmichaud_ | I agree that we need to get rid of the deprecation policy. But more important (to rakudo) is for Parrot's goals to align closely with Rakudo's goals.... and I'm not encouraged by what I see so far. | ||
| whiteknight | pmichaud_: what goals of Parrot do you think are not aligning well? | ||
| I think we're trying to make it obvious that our goal is a better Rakudo | |||
| cotto_work | It's hard because Rakudo and Parrot largely attract distinct types of developer. | ||
| pmichaud_ | I have no doubt that making a better Rakudo is a Parrot goal. Intention is clearly present. | 20:23 | |
| but one of the items listed earlier as a "high priority" is Parrot sandboxing. That's totally unimportant to Rakudo at the moment. | |||
| whiteknight | we put the deprecation policy in place, and we were still making refinements to it years after the fact. I think this new policy is also going to need iteration | ||
| cotto_work | Knowing what will mess up Rakudo requires knowing Rakudo. Not a whole lot of Parrot's developers do. | 20:24 | |
| whiteknight | so we're not going to get it perfect today | ||
| pmichaud_ | cotto_work: I agree, and I don't know how to fix that. | ||
|
20:24
colomon joined
|
|||
| whiteknight | We do work in parrot branches. Test rakudo et al against those branches. See what breaks and how significant the breakages are, if any. | 20:24 | |
| Use that information to determine next steps | |||
|
20:25
chromatic joined
|
|||
| pmichaud_ | whiteknight: who does the testing? | 20:25 | |
| chromatic | Look, neither Parrot nor Rakudo is going to survive without Rakudo getting rid of encapsulation-breaking messes. | ||
| That can happen now or some eventual later, if that later ever comes and is significant. | |||
| whiteknight | pmichaud_: whoever is making the branch | ||
| pmichaud_ | whiteknight: if that happens, then I'm more hopeful. | ||
| whiteknight | pmichaud_: or whoever volunteers to help | ||
| Tene | out of curiosity, does Parrot have smoke tests running HLLs against new parrot commits yet? | ||
| whiteknight | hello chromatic | ||
| pmichaud_ | Tene: that doesn't quite work with branches, I don't think. | 20:26 | |
| cotto_work | I want to see communication when a change starts to look like a good idea, as the the change is implemented and when it's ready to merge. | ||
| Tene | I remember hearing quite a while back that it was coming Real Soon Now, and seems relevant here. | ||
| pmichaud_ | Tene: finding out that a branch merge breaks rakudo is often a bit late. | ||
| Tene: because it's generally undesirable to undo the merge. | |||
| Tene | pmichaud_: IMO, people should be testing branches against rakudo before merging them, but they obviously currently aren't. | ||
| whiteknight | it's possible we also maintain separate master/integration/bleed branches, or whatever, and cherry pick | 20:27 | |
| pmichaud_ | Tene: and the problem is that they need to be testing against Rakudo Star, not just the spectest suite. | ||
| it needs to be tested against Rakudo + modules | |||
| and we have to assume that the modules have sufficient tests | |||
| Tene | IMO, parrot should be the first responsible party for dealing with changes that break rakudo, and they won't know that if nothing is testing that. | ||
| pmichaud_ | because Rakudo Star is what we distribute to users, not just the latest compiler master branch | ||
| We can work on improving testing in Rakudo Star, yes. | 20:28 | ||
| Tene | pmichaud_: how feasible does it sound to you to add a 'rakudotest' make target to parrot? | ||
| pmichaud_ | Keep in mind that Rakudo Star doesn't always target or use the most redcent Rakudo. | ||
| *recent | |||
| whiteknight | pmichaud_: what would be the most helpful is some kind of list of things that need to be included in integration tests regularly | ||
| we can certainly test rakudo star, modules, and other things if we have a list of things | 20:29 | ||
| pmichaud_ | whiteknight: well, let's start by saying "Rakudo and NQP pass their test suites" | ||
| cotto_work | If a feature isn't tested, I'm not going to worry about it. I'm all for running every test in whatever's in Rakudo *, but we can't worry about breaking things that don't tell us they're broken. | ||
| whiteknight | pmichaud_: that's a good start | ||
| pmichaud_ | we'll work on improving some sort of test coverage for Rakudo Star | ||
| but Rakudo Star isn't something that one can "git clone" and "make test" | |||
| whiteknight | that's right. It's the responsibility of any dev to make sure they have plenty of test coverage | ||
| pmichaud_: we definitely want that, or some kind of a script that can set up all the necessary conditions for us | 20:30 | ||
| cotto_work | pmichaud_: I don't care as long as it can be automated somehow. | ||
| pmichaud_ | whiteknight: I'm not sure all devs and Parrot users will agree with that statement, fwiw. | ||
| just because Parrot adopts test-driven design doesn't mean all of its users will do so. | |||
| whiteknight | pmichaud_: well, it certainly can't be our responsibility if Rakudo module X is not tested | ||
| that's true, but I'm not sure how else you identify a problem in a way that we will find useful | |||
| pmichaud_ | whiteknight: well, that's why there was a deprecation policy :) | 20:31 | |
| whiteknight | bug reports, maybe, but we've had that mechanism for years | ||
| cotto_work | pmichaud_: it's a cultural change we need to make to Parrot | ||
| whiteknight needs to sign out. Will be back later | |||
| pmichaud_ | chromatic: your point about rakudo violating encapsulation is misplaced, I think. We've always recognized that Rakudo pokes into Parrot guts at its own peril. That's not what I'm talking about here. | 20:32 | |
| chromatic | That's the core of the problem as I see it. | ||
| pmichaud_ | I don't. | ||
| I don't recall ever having a breakage where Parrot changed an internal and we complained or had difficulty adapting. | |||
| cotto_work | pmichaud_: will you be happier if we say that frequent communication about Parrot changes and frequent running of any automatable tests is central to our new policy? | 20:33 | |
| chromatic | I recall not changing a lot of things because I didn't want to break internals Rakudo relied on. | ||
| pmichaud_ | chromatic: I promise not to complain if you change internals and it breaks Rakudo. | ||
| (because of Rakudo's reliance on those internals.) | 20:34 | ||
| moritz | also iirc things have gotten much better on the encapsulation front in the last year or two | ||
| chromatic | I guess I've been misunderstanding your ideas in this discussion then; that seems like exactly what you don't want to see! | ||
| Tene | pmichaud_: how feasibly could star become a branch in the rakudo repo? | ||
| moritz | Tene: it makes no sense at all | ||
| pmichaud_ | Tene: Not going to happen -- that goes against the point of separating compiler and distribution. | ||
| Tene nods. | 20:35 | ||
| pmichaud_ | s/point/purpose/ | ||
| NotFound | About the NCI: Is that a problem of Rakudo, of Rakudo users, or both? | ||
| pmichaud_ | chromatic: what is being discussed are wholesale API changes, not just internal refactors. | ||
| NotFound: The compiler doesn't use NCI at all. Some modules built for Rakudo (and included with Rakudo Star) use NCI. | 20:36 | ||
| chromatic: and really what I'm complaining about are refactors and API changes that result in Rakudo breaking or having to adapt but providing no real visible benefit to Rakudo. | |||
| PerlJam | Tene: if Rakudo Star were built with some tool like Dist::Zilla and was configured to save the dist.ini on release, I think the automation you seek could be had. | ||
| NotFound | pmichaud_: What's the problem, then? Can't these modules be updated to parrot changes? | 20:37 | |
| pmichaud_ | NotFound: who will do the updates? | ||
| moritz | NotFound: I think the problem is that we still don't know how | ||
| chromatic | I don't know what "no real visible benefit to Rakudo" means in this context. A smaller, faster, lighter, simpler, more correct Parrot seems like an obvious benefit to Rakudo to me. | ||
| moritz | NotFound: mberends and others have tried to fix Zavolaj to deal with the changes, and succeeded only partially | ||
| pmichaud_ | NotFound: the problem we had with NCI was that it broke things and nobody considered that they might break. We discovered the breakage *after* doing a release. | ||
| chromatic | Especially if those changes make Rakudo faster, easier, smaller, simpler, and more correct. | 20:38 | |
| pmichaud_ | chromatic: in my experience, though, the refactors have not resulted in faster, smaller, lighter. | ||
| certainly they weren't for PCC. | |||
| NotFound | pmichaud_: yes. I also discovered the problems in my code. I fixed it. | ||
| Tene | NotFound: parrot developers should be the first point of contact for these changes, and only pushed off to rakudo devs if necessary, but right now parrot devs are only finding this out when notified by rakudo folks. | 20:39 | |
| pmichaud_ | NotFound: not only that, but the refactor removed features that we absolutely depended on, and didn't provide a viable replacement path | ||
| and our requests for help were basically "you're on your own, deal with it" | |||
| NotFound | The point is that people can't reasonably ask at the same time for fast changes and for not breaking anything. | ||
| Tene | NotFound: the solution I've always seen proposed is HLL smoke testing, but that's apparently never going to happen. | 20:40 | |
| pmichaud_ | NotFound: I think it's reasonable to ask for "don't break anything that isn't a pressing problem for us", though. | ||
| cotto_work | pmichaud_: give us credit for eventually fixing the situation, at least. | ||
| pmichaud_ | cotto_work: ....*who* fixed it? | ||
| NotFound | pmichaud_: What are these removed features? There are tickest for them? | ||
| pmichaud_ | I guarantee it wasn't a Parrot dev that fixed it. | ||
| (unless you count me as the Parrot dev) | 20:41 | ||
| NotFound: the 't' return type from NCI. | |||
| not to mention a fair number of NCI signatures that various Rakudo libs were using. | |||
| NotFound | pmichaud_: I was told that that problem was solved by using the nci helper library. | 20:42 | |
| chromatic | Alright, so blame and credit duly assigned, the suggestion is "Parrot should work on things that Rakudo wants." | ||
| pmichaud_ | NotFound: which occurred *after* the fact. | ||
| NotFound: which occurred by *me* writing it. | 20:43 | ||
| Tene considers the idea of a hook on github that rejects branch merges without a 'passes rakudotest' commit message. | |||
| pmichaud_ | chromatic: speaking from a purely selfish point of view -- that's really what I've been saying for a couple of years. | ||
| chromatic | Hey, I've offered. | ||
|
20:44
wknight-phone joined
|
|||
| pmichaud_ | I'm fine if Parrot says "no, we have other things we need to focus on also", but so far those "other things" have generically been to rakudo's detriment. | 20:44 | |
| *generally | |||
| chromatic | If that's the position of Rakudo developers, there's the impasse. | 20:46 | |
| pmichaud_ | I don't understand, can you clarify? | ||
| chromatic | If you believe that pretty much any change in Parrot is going to screw Rakudo over, of course you're not interested in changes in Parrot. | ||
| pmichaud_ | thanks for the clarification. you may be correct. | 20:47 | |
| that's been my experience, although there are a few notable exceptions. | |||
| chromatic | I see no point in enumerating past failures. I think most people here agree that things have not worked out as well as anyone has hoped. | 20:48 | |
| cotto_work | indeed | 20:49 | |
| pmichaud_ | I guess I'm concerned about the many changes taking place that aren't being done by looking at Rakudo's needs early/first. | ||
| s/taking place/proposed/ | |||
| chromatic | I'd like to think that most people here agree that they'd like things to work better in the future, but if there's no hope of that, there's really no point to this discussion. | ||
| cotto_work | It's a fundamental problem. | ||
| wknight-phone | at some point we need to get passed years-old bad experiences. | ||
| pmichaud_ | wknight-phone: "years-old"?!?! | 20:50 | |
| cotto_work | Unless we want to have more Parrot devs hack on Rakudo (or vice versa), the best solution is frequent communication | ||
| wknight-phone | we didn't have the same leadership for pcc refactors. | ||
| pmichaud_ | ...what about nci refactors? | ||
| cotto_work | That's an acknowledged failure. | ||
| pmichaud_ | what about the proposal for merging :load and :init ? | ||
| TimToady | I don't think he was excluding the recent ones :) | ||
| dukeleto | ~~ | ||
| wknight-phone | that was cancelled. | 20:51 | |
| and I told you about the replacement (:tag) | |||
| and that is in master now | 20:52 | ||
| NotFound | Note there is still pending a NCI change that risk to break things. | ||
| wknight-phone | nci is hard. patience appreciated | ||
| pmichaud_ | wknight-phone: yes, but as yet there's not much benefit to rakudo. If it means that future changes become plausible, then perhaps. | 20:53 | |
| wknight-phone | will lay out benefits for rakudo tonight. | 20:54 | |
| chromatic | pmichaud_, if the biggest change to the deprecation policy were "Nothing removed without a viable replacement in place and acceptable to Rakudo", would that assuage your concerns? | ||
| pmichaud_ | chromatic: partially (more) | ||
| it's not just removals that are a problem -- it's changes that slow performance even more. | |||
| NotFound | In particular, unmanaged struct is candidate for deprecation since some time. Are we ready for its end of cycle? | ||
| pmichaud_ | it's also changes that require us to update our toolsets and codebase for no measurable benefit. | 20:55 | |
| wknight-phone | we've been yelled at this week about focusing too much on performance. | ||
| pmichaud_ | wknight-phone: you were? hopefully not by me. | ||
| wknight-phone | not you. | 20:57 | |
| pmichaud_ | a rakudo dev? | ||
| wknight-phone | it doesn't matter who | ||
| pmichaud_ | it does to me. | ||
| of | |||
| rakudo's #1 priority is performance right now. if someone's working against that, it's against rakudo's goals. | 20:58 | ||
|
20:59
wknight-phone joined
|
|||
| pmichaud_ | okay, I've hijacked #parrotsketch, and I didn't necessarily want to do that. | 21:00 | |
|
21:01
PacoLinux_ joined
|
|||
| pmichaud_ | I agree that this is necessarily an evolutionary process. | 21:01 | |
| I'm not expecting things to be fixed all at once. | |||
| Tene | I'd like to assert that any proposed change to rakudo's policies here needs to include a way to make sure it actually happens. | ||
| pmichaud_ | ...rakudo's policies? | ||
| Tene | erm | ||
| parrot's | |||
| chromatic | Parrot has a lot of mess to clean up, and a lot of that mess has leaked into Rakudo. | 21:02 | |
| wknight-phone | our bad. | ||
| Tene | right now, asking parrot devs to go out and manually test things against "some rakudo stuff" isn't happening. | ||
| pmichaud_ | it's happening more often than it used to, though. | ||
| I do recognize that. | |||
| Tene | At least one part of that is "someone" making an executable test of the things rakudo wants verified. | 21:03 | |
| pmichaud_ | it used to be a "oh, we really should do that". More often it's actually checked these days. | ||
|
21:03
wknight8112 joined
|
|||
| pmichaud_ | in some ways the effort to make parrot "lighter, faster, efficient" is really just pushing the work to higher levels of the abstraction tree. That doesn't help us. | 21:04 | |
| cotto_work | gist.github.com/1198962 | ||
| there's our starting point. Let's iterate. | 21:05 | ||
| pmichaud_ | cotto_work: maybe talk to #perl6 ? | ||
| chromatic | I see it more as pushing the work to the *right* levels of abstraction. | ||
| Tene | I don't know whether there's a clear expression of responsibilities for changes that cause problems for rakudo. I'd personally prefer something like "Nothing is merged without passing rakudotest", and parrot devs taking responsibility first for figuring out an appropriate response to breakage. | ||
| pmichaud_ | chromatic: I agree that getting things to the right level of abstraction is important. | ||
| dukeleto | Tene: we are making progress on HLL testing. cotto++ recently wrote a utility to smoke against a large subset of hll's and libs | ||
| pmichaud_ | sometimes I think things are being pushed higher simply to make parrot's job easier. | ||
| not because it makes things better. | 21:06 | ||
| wknight8112 | if parrot does it wrong rakudo needs to redo it anyway. | ||
| pmichaud_ | and yes, a lot of what nqp and rakudo have done is to provide re-done replacements for things where parrot doesn't match what we need | ||
| Tene | dukeleto: Sorry, but I've heard "making progress" at least four years ago, I think. If it ever actually happens, please let me know. I vaguely recall making a commitment to work on HLL interop again if HLL smoke testing ever happened. | 21:07 | |
| chromatic | Let's get those workarounds out of NQP and Rakudo then! | ||
| NotFound | BTW I don't think that blaming Lua on the mailing list is going to help anything. | ||
| pmichaud_ | chromatic: why? how does that help Rakudo? | ||
| Tene | pmichaud_: What are your thoughts on "adopt and pull down 6model as our object model replacement" | 21:08 | |
| pmichaud_ | Tene: I agree it should happen. | ||
| Tene: but at this moment, getting 6model into Parrot isn't a huge Rakudo priority. It's just refactoring work that doesn't give us any direct benefit. | |||
| chromatic | If behavior Rakudo wants is *in* Parrot, it'll be tested and maintained as part of Parrot, not as a part of NQP/Rakudo that might depend on Parrot internals. | ||
| Tene | Well, some benefit. IIRC 6model does some work that wouldn't need to happen if it wasn't trying to work with PMCs. | 21:09 | |
| But, yes, understood. | |||
| cotto_work | Tene: list what more you need in order to be convinced that working on hll interop is a good idea. | 21:10 | |
| pmichaud_ | Tene: I'm not saying it's not a priority, it's just much lower than our other priorities at this time. | ||
| chromatic: point taken | 21:11 | ||
| chromatic: at this time, though, I think jnthn++ and I would be worried about parrot adopting things before they're relatively stable | |||
| right now we have a lot of freedom to rework and refactor things internally that we'd lose if it becomes a part of parrot | 21:12 | ||
| (granted, eliminating the deprecation policy would restore a lot of that freedom) | |||
| s/would/could/ | |||
| chromatic | Sure, but a better container model, improved PCC, reworked lexicals, namespace improvements, better serialization are all dramatic improvements that Rakudo/NQP oughtn't need to do. | ||
| Tene | cotto_work: I don't think I've ever said that working on HLL interop isn't a good idea. I think HLL interop is a great idea, and it was my primary driver in my work on Parrot in the past, and feeling like nobody else cared about HLL interop at all was the primary thing that killed my interest in contributing to parrot. I'd be a bit surprised if there was anyone involed with parrot who more felt like HLL interop was a ... | ||
| ... good idea to work on. | |||
| cotto_work | Tene: let me clarify. What would convince you that it's a good time to start working on interop again? | 21:13 | |
| Tene | pmichaud_: how far would "Exceptions are permitted as long as you have arranged for appropriate fixes and updates to public projects using Parrot" go towards giving back that freedom? | 21:14 | |
| pmichaud_ | Tene: I don't know; this is kind of sudden for us. jnthn++ and I are still figuring out how things might work there. | 21:15 | |
| We made our plans at YAPC::EU under the assumption that parrot's dep policy wasn't likely to change anytime soon. | |||
| Tene | cotto_work: I have no idea. Stopping parrot contributions wasn't really an explicit decision. The other contributing factors were burnout and depression, and it's only recently that I've started any recreational coding again. I really loved working on Parrot, though, so if I could find a way to make that happen again, I'd be pretty happy. | 21:16 | |
| pmichaud_ | and as I started, we're both extremely happy to see that the dep policy can disappear, but not if it invites a free-for-all of changes that cause us to redo a lot of stuff we just got through redoing. | 21:17 | |
| chromatic | What if there were a list of possible changes Parrot could make? Could Rakudo make a list of its top priorities? | ||
| pmichaud_ | I can't resist pointing out we've made these lists in the past... I admit it's not fair to point that out here. :) | ||
| I also admit that chromatic++ offered to work on them and we deferred him from it. | 21:18 | ||
| Tene | Ah; I haven't been following parrot politics lately (or even this channel before I jumped in), so I wasn't aware of the context. | ||
| pmichaud_ | I think that PCC is our current pain point for Rakudo. GC also, but not as much as it once was. | 21:19 | |
| afaik, we don't have any plans to try to "redo" PCC on our own. | |||
| chromatic | The binder still exists. That's a pain point. | ||
| pmichaud_ | I'd need to check with jnthn, but if a PCC refactor were to cause us to have to make a bunch of changes to our code but got some good performance wins, we'd be all in favor of it. | 21:20 | |
| Tene | cotto_work: I've long expressed a public invitation for people to do whatever they like to try to get me motivated to work on Parrot again, but I don't personally understand the contributing factors to my motivation for recreational programming well enough to offer useful advice there. | ||
| chromatic | I'd like to see all that binder code go away. I'd settle for 80% of it. | ||
| jnthn | chromatic: And where exactly are you proposing that the stuff it does should go? | 21:21 | |
| cotto_work | Tene: ok | ||
| pmichaud_ | Exceptions is another pain point, but I'm hesitant to ask Parrot to work on those because as yet we can't exactly say what we *do* need. My fear there is that something will happen similar to PCC and exceptions in the past -- it'll get a new API and a substantial reimplementation, but it'll end up being as slow and we won't be able to use it. | ||
| chromatic | Fixing exceptions *and* closures *and* subs *and* namespaces all relies on the same foundations. | 21:22 | |
| Tene | Exceptions is the other thing I've liked working on, and long wanted to work on again. | ||
| NotFound | Now that I think about it: Do we have some plan about the lowercasing of HLL namespace names? | 21:23 | |
| pmichaud_ | chromatic: afaik, fixing namespaces isn't a priority for us. And fixing subs/closures isn't a priority, except if they can be made faster. | ||
| if you're saying that all of these things need to be fixed in order for any performance improvements to occur, I don't disagree, but it seems like some sort of substantial branch has to occur there first. | 21:24 | ||
| chromatic | I'm saying that much of that mess is because the underlying philosophical model is broken. | ||
| pmichaud_ | Yes, and we've been saying that for years. | ||
| ("we" is collective everyone-in-parrot-and-rakudo "we") | |||
| chromatic | If Parrot had a working notion of lexical scope separate from a named Sub in a NameSpace, a lot of that mess would go away. | ||
| Tene | NotFound: I complained about that inconsistency years ago when I first ported rakudo and the other languages into their own HLL namespace | 21:25 | |
| pmichaud_ | chromatic: I think Parrot has that already, though. | ||
| chromatic | Not backed into Packfiles. | 21:26 | |
| moritz | lexicals indepent from Sub? that would be news to me | ||
| pmichaud_ | perhaps not as directly as we'd like, but it definitely handles lexically scoped subs. Rakudo (both nom and ng) have successfully done this in the past. | ||
| chromatic | baked into/backed by | ||
| cotto_work | So it sounds like we have a good starting point for change management. Let's continue thinking and discussing how we can keep Rakudo in the loop to pmichaud_, etc's satisfaction over the coming weeks. | ||
| pmichaud_ | Packfiles know lexical scoping -- that's :outer | 21:27 | |
| granted the subs don't appear as lexical symbols, and that could be a huge improvement. | |||
| chromatic | You can't freeze an outer lexical context which contains a constant exception handler, for example. | ||
| You also can't easily avoid recursive lookups of lexical symbols bound to scopes known at compilation time. | 21:28 | ||
| pmichaud_ | subs need more attributes hung on them, yes. | ||
|
21:28
bluescreen joined
|
|||
| pmichaud_ | or, they need to be more primitive, and we make it easier for HLLs to derive their own sub datatypes | 21:29 | |
| jnthn | Well, generally delegation works out rather better than subtyping. | ||
| pmichaud_ | jnthn: right. | ||
| chromatic | and then you cross the C/PIR boundary and performance goes away. | ||
| So the inferior runloop problem needs solving and the vtable PIR/C distinction needs addressing and you want a MOP.... | 21:30 | ||
| moritz finds that the discussion has lost a bit of focus | 21:31 | ||
| NotFound | You don't need to isa Sub to be invokable. | 21:32 | |
| moritz | so, we seem to be in violent agreement that the deprecation policy needs to be changed, but we don't know yet exactly how. Correct? | ||
| Tene | afair, that's been the case since deprecation policy day one | ||
| pmichaud_ | moritz: correct. But I also think a recognition that the deprecation is a necessary but not sufficient cultural change. | ||
| *change to deprecation policy | |||
| chromatic: yes, I agree that Parrot has carried forth a lot of baggage. I don't have any strong ideas for how to address that. | 21:34 | ||
| Rakudo is not culturally or resourcefully in a place where we can spend a lot of time refactoring internals if they don't produce good performance improvements in the near term. | 21:35 | ||
| We just went through a major refactor, and we know where we can find performance improvements that don't require a lot of changes to Parrot at this point. | |||
| cotto_work | If I can interrupt this discussion for a bit, we ought to produce some goals for the coming week. | ||
| pmichaud_ | cotto_work: please interrupt :) | 21:36 | |
| cotto_work | It sounds like working with pmichaud_, moritz, et al to form a new support policy will be a goal for at least the next week. | ||
| other suggestions? | 21:37 | ||
| pmichaud_ | I'll be glad to review and make suggestions for the support policy, at least from a rakudo perspective. | 21:38 | |
| tadzik | so did we settle on anything re the language interop? | ||
| dukeleto | cotto_work: instructions/docs for allhlltest and setting it up to run automatically | ||
| pmichaud_ | I have a comment on language interop but don't want to interrupt cotto's interruption. | ||
| tadzik | rethrow() | ||
| dukeleto | cotto_work: also, making sure trac.parrot.org has a valid SSL cert sooner rather than later. This means bugging OSUOSL | 21:39 | |
| cotto_work | dukeleto: that's mostly reading the source and inline pod atm | ||
| dukeleto: can anyone involved in Parrot take care of that? | 21:40 | ||
| I have no idea what's involved. | |||
| dukeleto | cotto_work: sure. But we need to add more pointers to it, like on the wiki and/or git_workflow.pod | ||
| cotto_work | dukeleto: sounds like our second goal | 21:41 | |
| pmichaud_: your thoughts? | |||
| pmichaud_ | on hll interop? | 21:42 | |
| dukeleto | cotto_work: last I know, whiteknight contacted OSUOSL about installing the new cert, and that is all I know | ||
| cotto_work | pmichaud_: yes | ||
| dukeleto: third goal (I'm keeping a list) | |||
| pmichaud_ | a "frankly brutal" assessment of hll interop might be that it's a potentially nice feature that nobody's really interested in (or interested in anymore) .... (more) | 21:43 | |
| Tene | My recommendation for a task for this week is to get a rakudo test easily executable from parrot (make rakudotest?) | ||
| cotto_work | Tene: already part of allhlltest (and definitely the longest-running part) | 21:44 | |
| dukeleto | cotto_work: as a meta-goal, we received a lot of different and good feedback to your thread on parrot-dev. We need to parse through it and take actions based on them | ||
| pmichaud_ | it's possible that nobody's interested because we don't have enough hlls on parrot to interop, and/or that the ones we have change too frequently for interop to be stable enough to be even interesting, much less useful. | ||
| Tene | ahh; that's nice to hear | ||
| dukeleto | Tene: make allhlltest # tests 10 or so HLL's and libraries | ||
| pmichaud_ | but I also wonder if hll interop comes up because parrot doesn't have much else to tout at the moment. | 21:45 | |
| cotto_work | Tene: to be fair, allhlltest is a couple hours old at this point. ;) | ||
| pmichaud_ | (I fully admit that might not be a fair comment... I've only wondered about it and not examined it critically,) | ||
| Tene | pmichaud_: afaict, nobody's ever been interested in hll interop (except for rakudo users wanting to use parrot libraries several times) | 21:46 | |
| pmichaud_ | Tene: right. | ||
| Tene: and now we can no longer really use parrot libraries anyway | |||
| because they're "foreign" objects to the p6 runtime. We have plans and thoughts about how to handle them, but it's not a super-high priority. | 21:47 | ||
| Tene | pmichaud_: given a hash of subs, you can't write an import routine that does something meaningful with them? | 21:48 | |
| NotFound | I've done interoperability tests several times, without much problem. | 21:49 | |
| pmichaud_ | Tene: oh, we can call the subs. We can't handle the objects they return. | 21:50 | |
| unless they just happen to be one of Integer/Float/String, in which case we unbox and rebox them into p6 equivalents. | |||
| Tene | One more reason to get 6model into parrot core. ;) | 21:51 | |
| pmichaud_ | Indeed. | ||
| but yes, if rakudo-using-parrot-libs was the primary user of hll interop... that's pretty much gone away. | 21:52 | ||
| tadzik | what about blizkost? | ||
| pmichaud_ | I don't know where blizkost sits atm. | 21:53 | |
| PerlJam | Would it help if the parrot devs listed all of the things they want to do with Parrot and the Rakudo devs listed all of the things they want to do with Rakudo, and then everybody get together to find alignments between them and to prioritize the work? | ||
| (say ... next #ps?) | |||
| pmichaud_ | PerlJam: We want Rakudo to be faster. That's been our #1 request for the last 22 months, I think. | 21:54 | |
| Tene | pmichaud_: if I did work on HLL interop again, what would it take for you to tell me with reasonable confidence that rakudo won't break and discard it again this time? | ||
| pmichaud_ | Tene: if you work on HLL interop at the nqp level, I'd say it might exist for a while. | ||
| anywhere else, and I'd not be able to say much with reasonable confidence. :) | 21:55 | ||
| PerlJam: beyond that, we don't want to be paying too many upgrade taxes that aren't directly related to making Rakudo faster. | 21:56 | ||
| Tene | Hmm. Okay. Maybe I'll check in again next year, then. I don't think "might exist for a while" is enough for me. | ||
| pmichaud_ | We're willing to pay any upgrade tax that is a result of our making incorrect/undocumented use of Parrot internals, as we always have been. | ||
| cotto_work | pmichaud_: do you mind unkilling hll interop? | 22:01 | |
| pmichaud_ | ..."unkilling hll interop"? | 22:02 | |
| cotto_work | "might exist for a while" doesn't inspire confidence | ||
| pmichaud_ | nqp doesn't make any pretenses towards stability just yet. | 22:03 | |
| cotto_work | Sure, but can't hll interop be tested? | ||
| pmichaud_ | I don't understand. | ||
| cotto_work | nqp does a good job of passing its test suite | ||
| if tene does hll interop work that effects nqp, with tests, can't we ensure that those tests continue to pass? | 22:04 | ||
| I don't see where the uncertainty comes from. | 22:05 | ||
| pmichaud_ | I think you and I are thinking of different things. | ||
| cotto_work | It's possible. | 22:06 | |
| pmichaud_ | what does "hll interop" mean to you? | ||
| I suspect to Tene (and me) that it means that Rakudo can make use of libraries written in other languages. | 22:07 | ||
| cotto_work | yes | ||
| pmichaud_ | If those other languages are nqp-based, then I think we might be able to provide some level of hll-interop that will be relatively stable. | ||
| cotto_work | and the mechanism that allows that should be testable | 22:08 | |
| pmichaud_ | I can't guarantee it though, because nqp itself isn't entirely stable yet. | ||
| and if nqp needs to change to meet one of its other goals, then hll interop at the nqp level could break. | |||
| cotto_work | its rewrites are becoming progressively less extensive (from what I can tell) | ||
| pmichaud_ | but there's a big one on the horizon. | ||
| we need to move pct into nqp. | 22:09 | ||
| that's not just "rewrite pct as nqp", but also to do some refactors to better support multi-vm-backend and to make type information more visible at the lower layers of the optrees | |||
| cotto_work | which could have a significant impact on hll interop | 22:10 | |
| pmichaud_ | correct. | ||
| so, Tene's question was "rakudo won't break and discard it again" | |||
| and my confidence on that front isn't that high as things stand "today" | 22:11 | ||
| cotto_work | Alright. It sounded like "we don't care" more than "we genuinely don't know". My mistake. | ||
| pmichaud_ | my answer was also intended to indicate that hll interop for rakudo is likely to occur at the nqp level instead of the parrot one | 22:12 | |
| it's definitely not intended as "we don't care", but more of "I can't make many guarantees for a short while" | |||
| cotto_work | Thank you for clarifying. | ||
| I think I need to wrap up #ps. We're nearing 3 hours and I allegedly have a dayjob. | 22:14 | ||
| pmichaud_ | heh | ||
| cotto_work | the goals I have are: | ||
| GOAL 1: work with Rakudo on a new support policy | |||
| GOAL 2: filter through feedback on support policy, keep track of the important bits | |||
| GOAL 3: document allhlltest (git_workflow.pod) | |||
| GOAL 4: new SSL cert | |||
| GOAL 5: figure out a rough roadmap of what we want to change (whiteknight) | |||
| pmichaud_ | moving to #parrot and #perl6, then :) | ||
|
22:16
NotFound left
22:17
chromatic left
22:41
pmichaud_ left
22:54
whiteknight joined
22:55
Coke joined
|
|||