|
PDS Dec 05 2300 UTC !!! | Priorities for this week: PDS, Google Code-In, MappedByteArray test&merge, fix `make cover`, GC algorithm review | Don't forget to post closed tickets in your report. | Note: This channel is only for our Tuesday status meetings (at 20:30 UTC); you probably want #parrot instead. | irclog: irc.pugscode.org/ Set by moderator on 2 December 2010. |
|||
| cotto | one or two at a time we can handle | 00:00 | |
| chromatic | whiteknight's API work is a good time to update the API PDD. | ||
| whiteknight | and a quarterly PDS meeting gives us plenty of time to prepare | ||
| chromatic | It would be nice to have a single document which gives a good philosophical and design overview of a subsystem. | ||
| whiteknight | chromatic: assuming there is community support to keep and merge my work, yes | ||
| it is a pretty radical change with unilateral design vision | |||
| chromatic | Assuming so. | ||
| nwellnhof | do we need PDDs at all? shouldn't we simply have one single documentation? | 00:01 | |
| whiteknight | nwellnof: good question. The Perl6 people might suggest that design before implementation is a good thing | ||
| assuming we implement for the design | |||
| chromatic | Maybe we can retire the concept that the PDD is the design artifact created before any implementation. | ||
| cotto | The design docs are helpful when they work. | ||
| chromatic, +1 | |||
| whiteknight | having something written to inform the decisions of developers is always beneficial | ||
| particle | specs are important. see perl5 for the anti-pattern. | 00:02 | |
| whiteknight | whether it's worth the effort to prepare beforehand is the question | ||
| mikehh | I think we still need design docs | ||
| particle | hell, see imcc for an anti-pattern. | ||
| whiteknight | but again, if we tackle one or two at a time when they are most relevant, we can really make use of them | ||
| chromatic | Perl 5 and IMCC have the anti-pattern of "Whatever exists now you may use and we will support it." | ||
| mikehh | like: this is what we want to do, then this is what we have done, etc | ||
| lucian | what confused me at first was that PDDs aren't marked for up-to-date-ness or implementation | 00:03 | |
| chromatic | That's very different from "Thou shalt document what you will do and ratify the document before writing a line of code>" | ||
| kid51 | lucian: I agree. | ||
| I started to re-read the PDDs in September after whiteknight started to rant about them. | |||
| but it was very difficult to determine which aspects of the design had been implemented, which abandoned, etc. | 00:04 | ||
| whiteknight | exactly | ||
| atrodo | i've wondered if the PDDs are too broad and all encompassing | ||
| whiteknight | they have no real bearing on reality | ||
| plobsing | they feel like armchair design to me | ||
| kid51 | Are there parts of Parrot that are stable enough that we could write a "this is what we have designed" doc? | ||
| whiteknight | if you have to flip a coin to determine whether each statement is true or false, the docs are worthless | ||
| lucian likes python PEPs | |||
| mikehh | we definately need to re-structure them so that they do reflect reality | ||
| whiteknight | yes, the PEPs are nice | 00:05 | |
| Util | Plans are worthless, but planning is everything. -- D.D.Eisenhower | ||
| chromatic | I want to read something that says "Here's what this subsystem tries to do. Here are the assumptions we make. Here are consistent design elements. Here's how we structured the code." | ||
| whiteknight | each is smaller, more focused, more up-to-date | ||
| particle | plobsing: the io pdd was designed at the same time as the tests for the io subsystem | ||
| so there was a spec and tests, ready and waiting for the implementor. | 00:06 | ||
| mikehh | I think that is the approach we need to work on | 00:07 | |
| chromatic | I have my doubts that that spec/tests first approach is viable. | ||
| mikehh | that is if we are following a TDD approach | 00:08 | |
| atrodo | That approach is good if you want to rewrite a lot of docs and tests. not saying it's a bad thing but | ||
| particle | i don't think it's viable now, but hand-in-hand approach for docs/tests is valuable | ||
| whiteknight | The problem with our tests as they are now, is that they were all designed with the assumption that PIR was the star of the show and would always be a central part of Parrot | ||
| now we're looking for any opportunities to rip out PIR, but all the tests assume we have it and that it is lord | 00:09 | ||
| particle | pir was the star of the show, and a big improvement over perl5 | ||
| chromatic | I suggest tabling *that* discussion while we talk about PDDs. | ||
| particle | aye. | ||
| whiteknight | particle: yes, no question that it was good for a while | ||
| but now it's clearly not the direction we want to keep going in | |||
| cotto | Is anyone willing to update PDD0, which describes the PDDs? | ||
| particle | i have three words for that: GCI | ||
| (for whiteknight, not cotto) | 00:10 | ||
| chromatic | How would we update PDD 0? | ||
| What do we want out of PDDs? | |||
| cotto | yes | ||
| kid51 is confused: In what sense is PIR going away (before I've ever learned it)? | |||
| particle | reference docs for our next book. | ||
| chromatic | Reference docs for users, embedders, hackers, language developers, or ... ? | 00:11 | |
| kid51 | Well, maybe someone could blog about that. BAck to discussion about PDDs. | ||
| nwellnhof | if you have a look at docs.parrot.org/parrot/latest/html/ | 00:13 | |
| say, you want to find docs about strings or IO, for example... | |||
| you have to look at the PDDs, the PMC docs, the developer docs... | 00:14 | ||
| that should be more centralized IMO. | |||
| whiteknight | kid51: I | ||
| 'll blog about PIR | |||
| and I'll try to avoid curse words | |||
| ...actually, no. I make no promises about the verbiage | |||
| cotto | +1 | 00:15 | |
| atrodo | nwellnhof> I had exactly that problem when trying to decypher how to embed parrot. And most of the time, reading the headers or code was a better, more centralized refrence | 00:16 | |
| kid51 | Given my hope that we become more focused on Parrot as usable product, the documentation I would most like to see is: "This is our API; use it." | ||
| dukeleto | kid51: PIR is not going away, but the implementation of PIR will change | ||
| kid51: IMCC is on a death bed, PIRC is the new implementation | 00:17 | ||
| cotto | *cough*PIRATE*cough* | ||
| kid51 | PIRC? Didn't we just expel it? Is anyone working on its? | ||
| dukeleto | kid51: expel? It got it's own repo | ||
| PIRATE is what I meant. Sorry | |||
| dukeleto gets PIRC and PIRATE confused | |||
| cotto | with hilarious results | 00:18 | |
| kid51 | Do we have any document or blog post that gives an overview of PIRATE? | ||
| Who is working on PIRATE? | |||
| Which team? | |||
| cotto | I have enough familiarity with it to blog about it. | ||
| dukeleto | kid51: no team is devoted to it | ||
| particle | what's pirate? | ||
| dukeleto | kid51: bacek was caring for it, but he has been concentrating on the GC | ||
| Util | The work to replace IMCC is being done from a separate repo to boost visibility. | ||
| chromatic | This is what I'd like PDDs to become: <kid51> Do we have any document or blog post that gives an overview of PIRATE? | 00:19 | |
| dukeleto | particle: PIR compiler using nqp-rx | ||
| kid51 learns something new every day ;-) | |||
| cotto | I've had a hand in it too. | ||
| Util | Soon we will need a diagram filled with boot straps. | ||
| particle | right. i keep forgetting what it is, since pirate used to be a python impl on parrot 0.0* | ||
| cotto | I think it's just us two. | ||
| particle, yes. I'm glad the name is getting a new life. | 00:20 | ||
| kid51 | So, cotto, in terms of resource allocation: What's your focus among Lorito, MOP, PDDs and Pirate? | ||
| dukeleto has a commit bit to PIRATE, but hasn't done anything useful | |||
| atrodo | \\ | ||
| kid51 | or, what should be *our* focus? | ||
| atrodo | (sorry) | ||
| dukeleto | IMHO: MOP, Lorito, Pirate, PDDs is the order of importance | 00:21 | |
| cotto | dukeleto, yes ( though the mop only came to the forefront relatively recently) | ||
| dukeleto | Our MOP changes will dictate Lorito changes, so we should work on MOP first to minimize changing a bunch of stuff unnecessarily | ||
| cotto | and the PDDs can be interspersed | ||
| kid51 | (and add Garbage Collection to that list) | 00:22 | |
| dukeleto | cotto: it has been a blocker for a long time, but we only recently have decided to do something about it | ||
| cotto | dukeleto, I'll be digging into nom as much as I can and will have that in mind while working out Lorito's design. | ||
| dukeleto | cotto: awesome. We can compare notes. | ||
| Lorito and our new MOP will have interaction and they will not be worked on in insolate. | 00:23 | ||
| lucian | i also think MOP is important. the main selling point of parrot is language interop | ||
| cotto | it'll be fun | ||
| dukeleto | isolation, rather. | ||
| diakopter | cotto: at the top you mentioned you'd powpow with chromatic and allison to extract braindumps of lorito. do you have an idea of when that'll occur? | ||
| kid51 | cotto: Can you describe what will be your main focus between now and, say, end of january? | ||
| dukeleto | kid51: I think each parrot team needs it's own focus | 00:24 | |
| kid51 | Agreed. Wondering what the Architecture and Design Team's will be. | ||
| cotto | 1) getting Lorito into an iterable state 2)understanding the MOP and how it'll work on Lorito 3)learning other parrot subsystems (and blogging) | ||
| diakopter, we're meeting this week | 00:25 | ||
| There may be other priorities. there's a good reason I use the wiki for external memory. | 00:26 | ||
| kid51 notes that we're about 90 minutes into the meeting -- and still have 2 pre-scheduled issues to discuss | |||
| dukeleto | shall we move to the next issues? | 00:27 | |
| cotto | sure | ||
| kid51 | The 2 pre-scheduled issues are API and 2011 summits. Which first? | 00:28 | |
| chromatic | summits will likely be shorter and faster | ||
| kid51 | So here's the gist of my proposal | 00:29 | |
| Quarterly summits, held on the 2nd weekend after each supported release. | |||
| which works out to last weekends of January April July October | |||
| cotto | We should check that those don't coincide with important conferences. | 00:30 | |
| kid51 | Exact time within a given weekend to be worked out in preceding month. | ||
| Rotate start time among quarterly summits so that people in time zone X aren't unnecessarily inconvenienced | |||
| Pre-schedule certain issues for discussion. Example: API for today. GSOC 2011 plan for January. MOP plan for January (?) | 00:31 | ||
| dukeleto | +1 to rotating times. That is a *great* idea. | ||
| kid51 | That's the gist | ||
| cotto | I'd rather try to use doodle and find something minimally inconvenient. | ||
| kid51 | cotto: Do you agree about the quarterly scheduling? | ||
| dukeleto | kid51: can we count on you to organize these PDS's? You seem to be the most organized. | 00:32 | |
| cotto | yes | ||
| kid51 | yes | ||
| dukeleto | Awesome. | ||
| kid51 | Does anyone have an alternative vision of the "gist"? | ||
| particle | please don't rely on one person for this. use group calendaring, task lists, and wiki pages for organizing. | 00:33 | |
| and mailing lists. | |||
| dukeleto | Next topic? | ||
| kid51 | particle: I will use all those means. I will recruit deputies. Can I deputize you? | ||
| particle | aye. | ||
| kid51 | next topic: Whiteknight on API | ||
| whiteknight | perfect timing | ||
| dukeleto | particle: we use doodle to figure out a time, and try to share the burden. | 00:34 | |
| whiteknight++ on his embed API write up. | |||
| whiteknight | a few days ago I sent out an email about the current status of the API to the list. I hope most people read i | ||
| it | |||
| cotto | very helpful | ||
| kid51 | I liked it, though understood only parts | ||
| whiteknight | The new API represents a lot of work but as I mentioned before it was entirely designed by myself so I want a lot of feedback before we start talking about merge or whatever else | ||
| kid51 | and we'll need a lot of testing on all major OSes | 00:35 | |
| whiteknight | the embed_api2 branch is seeing some failures on darwin especially, but otherwise all primary development is complete | ||
| Util | I like everything I read in the document, but need to spend time with the code. | ||
| kid51 | "We should really be thinking about Parrot as two parts: libparrot (a language-agnostic bytecode interpreter and runtime) and the Parrot executable (the IMCC PIR/PASM front-end for libparrot). The Parrot executable now embeds libparrot using the new embedding API. And if the Parrot executable can do it, anybody else can too." | ||
| dukeleto queues up another topic: Parrot on Mobile platforms | |||
| kid51 | good | ||
| Util | +1 to the redesign of the embedded API, especially the libparrot/frontend separation. | 00:36 | |
| Gentle reminder: Embed/Extend APIs are particularly needy of quality documentation, since their users will often have zero background in Parrot internals. | |||
| cotto | dukeleto, queued | ||
| Util | Q: Does the "die_from_exception" change mean that pbc_to_exe should start including code to dissect the Exception and dump its info to STDERR? | ||
| whiteknight | Util: yes, spending time with the code is a very good idea. It is a very different API from what we used to expose | ||
| cotto | i.e. useful | ||
| whiteknight | Util: yes. I did add a basic implementatin to pbc_to_exe in the branch as an example | ||
| but it probably needs to be improved. src/main.c is my flagship tester | |||
| Util | thx, will check both | 00:37 | |
| chromatic | Does this allow us to use PARROT_API liberally? | 00:38 | |
| Does this allow us to remove several uses of PARROT_EXPORT? | |||
| dukeleto | whiteknight: perhaps i can create a branch of PL/Parrot to use the new embed api? | ||
| kid51 | whiteknight: Does your team have a timeframe for its development? | ||
| dukeleto | whiteknight: so we can actually have rubber hitting the road? | ||
| Util: i have a TPF grant to write embedding docs and increase test coverage to 95%. I am on it. | 00:39 | ||
| Util | dukeleto++ | ||
| whiteknight | kid51: like I said, primary development of the first wave is complete. | ||
| I would like to get it mergable by 3.0 if everybody likes it | |||
| there shouldn't be any deprecation issues | |||
| chromatic: I'm reserving PARROT_API for the API in src/embed/* | 00:41 | ||
| kid51 | whiteknight Can you describe the extent to which this work has been a team effort? | ||
| whiteknight | I can use a different designator if we need to reuse that one. | ||
| PARROT_EXPORT is for all other symbol exports (like the extending API) | |||
| kid51 | Anything else on API? | 00:43 | |
| chromatic | What changes do Rakudo need? | 00:44 | |
| dukeleto | kid51: it has mostly been whiteknight and bluescreen, from what I can see | ||
| kid51: i have been looking on from the sidelines | 00:45 | ||
| kid51 | dukeleto: That's my impression. Just trying to gauge whether concept of 'team' is working at all or not? | ||
| chromatic: Other than jnthn, I don't see any Rakudo folks here. | |||
| dukeleto | kid51: a team of 2, it seems | 00:46 | |
| kid51 | which, to be frank, is better than we usually do | ||
| chromatic | I meant Rakudo changes from the API changes. | ||
| dukeleto | What rakudo seems to need more nowadays is consisten speed improvements. | ||
| kid51 | chromatic: Well, then, I guess the question becomes: At what point does the new API have a form and docs we can present to Rakudo for feedback? | 00:47 | |
| dukeleto | We will keep Rakudo well informed of any API changes. | 00:48 | |
| bluescreen_ | kid51: From a newcomer standpoint teams was the perfect approach... as you have somebody mentoring you.. .otherwise the gap it too high | ||
| diakopter | was the "random segfault when rakudo spectest" issue resolved? | ||
| kid51 | bluescreen_: Very good feedback! | ||
| cotto | bluescreen_, yes. | ||
| whiteknight | the teams approach is working well, but you don't have a team form out of thin air. People have to volunteer and have the time to work on things | 00:50 | |
| so several people were interested in the embedding work, but were busy or had other parrt things to work on | |||
| and that's fine, but we had a team of 2 and got a lot of good work done | |||
| bluescreen_ | specially and this is something i want to bring up.. is the fact that is hard to grab a ticket from Trac... since there are a bunch of invalid tickets out there | ||
| whiteknight | A team may mean 1 or 2 people , so we need to allow for that | 00:51 | |
| kid51 | invalid? in what sense? | ||
| bluescreen_ | meaning that the either were already fixed, deprecated or things we won't implement | 00:52 | |
| mikehh | I'll accept 2 for a team, 1 is a bit of a problem | ||
| dukeleto | Many trac tickets are old and have not been updated in so long as to be useless. | ||
| whiteknight | mikehh: 1 is a "potential team" | ||
| the important part is that you plan to make it easy for more people to get involved | |||
| mikehh | whiteknight: 'k, I'll go for that | 00:53 | |
| whiteknight | if the team leader creates some low-hanging fruit, people may come latch on to them | ||
| dukeleto | I think we need to organize a culling of old Trac tickets, but that is a topic for another time. | ||
| dukeleto will need to go AFK soon | |||
| kid51 | bluescreen_ I'm not surprised, but perhaps after whiteknight is done with you I can guide you in the "art of cage cleaning" ;-) | ||
| whiteknight | dukeleto: good idea. The trac ticket queue is unmanagably large | ||
| bluescreen_ | kid51 ;) | ||
| whiteknight | and it is filled with crufty tickets that don't lead to any work being done | 00:54 | |
| mikehh | The art of getting rid of invalid Trac tickets | ||
| chromatic | Are we under 600 now? | 00:55 | |
| kid51 | Yes | ||
| cotto | it's not low enough | ||
| better but not good | 00:56 | ||
| chromatic | That's good progress from earlier this year though. We've improved our velocity as of late and reduced our ticket count. | ||
|
00:56
tcurtis left
|
|||
| kid51 | Perhaps I could develop a proposal for a Cage Cleaning Week in which everyone suspends their "regular" Parrot work and focuses on tickets. | 00:56 | |
| A once-a-year clearance sale! | |||
| cotto | We should ticket validity criteria. Otherwise it'll be too subjective and we'll all worry about stepping on other people's toes. | 00:57 | |
| dukeleto | My philosophy: if a ticket looks stale (hasn't been updated in more than a year), just reject it. If it is important, it will be re-created with recent, relevant info. | ||
| bluescreen_ | +1 | ||
| kid51 | dukeleto: I tend to agree with that ... but I have had my knuckles rapped when I've done that in the past. | ||
| To the point where there are certain people whose tickets I simply will not touch | 00:58 | ||
| whiteknight | kid51: a spring cleaning of sorts would be appreciated | ||
| cotto | one more thing for the queue: roadmap management | ||
| mikehh | there are some tickets that are still valid but need some ways of handling them, opengl for one,native_pbc and others | 00:59 | |
| cotto | kid51, that's one of the reasons I want a set of generally accepted criteria | ||
| dukeleto | Are we ready for our next topic? | ||
| kid51 | It looks as if our discussion on API has petered out. whiteknight/bluescreen: Can you prepare a summary report on where things stand as of mid-January (3.0)? | ||
| whiteknight | yessir | ||
| cotto | dukeleto, go for it. | ||
| whiteknight | side note: we should hammer out a policy on closing tickets. Because we have several users with very different (strongly-held) strategies, which leads to erratic-looking behavior | 01:00 | |
| cotto | whiteknight, noted | ||
| whiteknight | cotto++ # note taking | 01:01 | |
| cotto | dukeleto, you wanted to talk about Parrot on mobile platforms, didn't you? | 01:02 | |
| He must have gone afk. | 01:03 | ||
| kid51 | cotto: If you're ready about roadmap, why not proceed | ||
| cotto | sure | ||
| I noticed that we have a lot of roadmap tickets in trac that don't seem to be doing much good. Do we want to continue to track roadmap items via trac as we have been? | 01:04 | ||
| kid51 | I confess I have not looked at roadmap in many months | ||
| dukeleto will start with the next topic | |||
| cotto | dukeleto, go ahead | ||
| roadmaps& | 01:05 | ||
| dukeleto | I am hacking on Parrot on Android | ||
| Util | dukeleto: rooted? | ||
| dukeleto | There is something called SL4A "Scripting Layer 4 Android" | ||
| it allows dynamic languages to run on non-rooted android phones | 01:06 | ||
| see trac.parrot.org/parrot/ticket/1881 for some details | |||
| basically, it allows writing scripts on phones with dynamic languages, that normally can't be used. | |||
| so it is a first step in porting Parrot. | 01:07 | ||
| so in the case of SL4A, Parrot would be running on top of Dalvik, not replacing it. | |||
| I think this is an important first step. | |||
| dukeleto is experiencing huge IRC lag, sorry | |||
| lucian | dukeleto: uh, i don't think that's ow SL4A works | 01:08 | |
| Util | Sounds good; much better than Parrot->JVM transputing | ||
| dukeleto | I am looking for people who want to be on a "Mobile Parrot" team | ||
| lucian | right now, CPython for example runs alongside dalvik | 01:09 | |
| dukeleto | lucian: have you read the source of SL4A ? | ||
| lucian | with a proxy to dalvik APIs | ||
| dukeleto: not recently | |||
|
01:09
tcurtis joined
|
|||
| dukeleto | Currently SL4A has ruby, python, javascript, perl 5, lua and a few other languages | 01:09 | |
| lucian | yes. a few run on Dalvik, a few others run natively + dalvik proxy | 01:10 | |
| dukeleto | Util: SL4A would basically expose Parrot or Rakudo Perl 6 as a scripting language for the phone | ||
| atrodo | i assume that since perl5 is in there, a C layer is inovled? | ||
| dukeleto | I think getting Parrot in SL4A is a babystep for getting Parrot into the mobile niche. | ||
| lucian | atrodo: it just runs perl5 | ||
| whiteknight | if parrot were more mature, I might suggest we talk to google and try to *become* the next SL4 | 01:11 | |
| cotto | It does look like a good first step. | ||
| whiteknight | SL4A | ||
| but we're not ready for that yet | |||
|
01:11
diakopter left
|
|||
| kid51 | whiteknight: I know others who would agree with you | 01:11 | |
| lucian | whiteknight: i also think you're overestimating SL4A | ||
| dukeleto | whiteknight: SL4A has nothing to do with google | ||
| Util | dukeleto: I agree; best first step for Mobile; Palm and iOS are harder roads. | 01:12 | |
| dukeleto | lucian: sounds like I need you on the mobile team | 01:13 | |
| whiteknight | we obviously need working compilers for all those languages before we can look to replace existing runtimes for them | ||
| dukeleto | SL4A has a hacked up copy of Perl 5 in their source tree. | ||
| lucian | dukeleto: yeah, they've had to patch bash and CPython too | ||
| dukeleto | SL4A usually requires modifications to the source of interpreters to actually work. | ||
| lucian | because Android is ... let's say peculiar | 01:14 | |
| java stuff is easier in SL4A though, JRuby and beanshell work almost unchanged, and with full access to the Android API (because it's all java) | |||
| Util | hacked-up is not automatically a negative; most new ports of Perl5(etc...) start just that way, then the hacks get folded into the mother tree. | 01:15 | |
| Perl5 on Win32 by ActiveState took that route. | 01:16 | ||
| kid51 | dukeleto: Can I suggest that you and lucian work up a document which would be a game plan for us? | ||
| lucian | dukeleto: btw, I'm somewhat familiar with android, but i have no low-level knowledge | ||
| kid51 | Something that, say, starts out as blog posts and evolves into something on parrot-dev? | ||
| Sounds like something that would make good GSOC projects? | 01:17 | ||
| dukeleto | Android is very peculiar, but it has become an important mobile platform. | ||
| I basically wanted to let everyone know that I am working on this stuff, and invite any and all to give feedback and help. | |||
| lucian: I want to recruit you. We need to interview the people who got Perl 5 on Android to work, and understand exactly what was needed. | |||
| kid51: sounds reasonable. | |||
| lucian: you up to give me some help on that document? | |||
| kid51: yes and yes and yes | |||
| kid51 | And I'd like to have a document to show to other people (non-current-Parrot) | ||
| lucian | dukeleto: sure, just be aware my free time is tight | ||
| Util | dukeleto: will you work in a Parrot branch, or separate repo? | ||
| lucian | however, don't be disillusioned that people will write Android apps on parrot any time soon | 01:18 | |
| unless you're Java, you're not invited to the party | |||
| dukeleto | lucian: that is fine. I would greatly appreciate any help you could give. | 01:19 | |
| Util: not sure yet, does it matter? | |||
| lucian: i am not worried about that. I am interested in test-driving and benchmarking Parrot on a mobile platform. | |||
| lucian: i fully understand that. My end goal is to replace Dalvik. This is just the first step in that journey. | |||
| lucian | dukeleto: that's also far off. although dalvik's GC sucks almost as much as parrot's :) | 01:20 | |
| dukeleto | lucian: Yes. I am thinking long term. | ||
| Util | dukeleto: I just want to follow along. Got my first droid 2 weeks ago | ||
| dukeleto needs to go AFK. I will write up more info about Parrot on Android in a blog post soonishly. | 01:21 | ||
| Util: awesome! Will keep everyone in the loop. | |||
| lucian | dukeleto: ping me if you need help | ||
| cotto | any other thoughts on mobile parrot? | ||
| kid51 | Thanks: This will be very interesting to follow. | ||
| cotto | yes it will | ||
| dukeleto | lucian: thanks, i appreciate it. | ||
| dukeleto will rejoin soon if PDS is still in progress. Excalibur! | 01:22 | ||
| kid51 | Can we return to roadmap discussion? | ||
| Util | mobile thought: Keep keeping kid51++'s "low memory platforms" ideas in mind. | ||
| cotto | kid51, yes | ||
| kid51 | my thoughts: | ||
| cotto | The question pertained to whether we wanted to continue using the roadmaps as before. | 01:23 | |
| kid51 | There are only a few of us who really understand the project will enough to establish a vision, which a roadmap concretizes. | ||
| allison could do that. | |||
| whiteknight has some vision in his head | |||
| the rest of us mostly don't | |||
| whiteknight | it really is a big project | 01:24 | |
| kid51 | cotto: I think this comes down to: What works for you as architect? | ||
| cotto | I'll be thinking about that. | ||
| kid51 | And whiteknight: What works for you as Product Manager? | ||
| whiteknight | kid51: I | ||
| 'm on the architecture team too | 01:25 | ||
| but yes, lots of things to keep in mind | |||
| kid51 | We have a number of people who *could* be working on 6 major areas at once ... if they were paid to do it full-time. | ||
| cotto | that'll be the day | ||
| mikehh | roadmap items give a focus on what we would like to achieve by a given release | 01:26 | |
| kid51 | My concern is: What can we persuade cotto, whiteknight, bacek, duke, etc to *focus* on in, say, a given quarter. | ||
| cotto | or to better phrase it, what can we agree to focus on | ||
| kid51 | mikehh But I think that past roadmaps have amounted to little more than wishlists | ||
| mikehh | good for guidance, not always achievable | 01:27 | |
| cotto | kid51, exactly. That's one of the negative criteria. | ||
| I've got that on my todo list. | 01:29 | ||
| any other topics? | |||
| plobsing | q1q | ||
| kid51 | Concretely: I think that if cotto and whiteknight discussed (off this channel) what you wanted over each of the next 8 quarters, that would be sufficient roadmap for the rest of us. | ||
| Anything more than that would be wishlist. | 01:30 | ||
| cotto | 2 years is a long time, but we could figure something out for at least a subset of that | ||
| kid51 | Actually, a realistic roadmap for 4 quarters is better than a wishlist for 8. | ||
| Thinking product-wise, what features do we want Parrot to have for each of the supported releases in 2011? | 01:31 | ||
| the answer to that question is our roadmp. | |||
| chromatic | +1 to that | ||
| mikehh | +1 | 01:32 | |
| kid51 | So (to sound a familiar chord) can you and Andrew work that up in blog posts, then something on parrot-dev? | ||
| cotto | sure | ||
| whiteknight | I can work together with cotto on that | ||
| kid51 | Excellent. | 01:33 | |
| (I think plobsing's ? is next.) | |||
| cotto | plobsing, go ahead | ||
| plobsing | with more of parrot being implemented in parrot (very good thing IMHO), we expose more internals to the outside. Do we want to draw a line about stuff that cannot be touched and how do we want to do that? | 01:34 | |
| cannot be touched by users | |||
| kid51 | plobsing: Does this mean "a more strictly defined API" -- or something beyond that? | 01:35 | |
| plobsing | a good example is bytecode structure (which has been "experimental" since forever). experimental isn't a good classification for such things. | ||
| chromatic | How about "a supported API" and "supported semantics"? | ||
| kid51 | chromatic: Can you explain supported semantics? | ||
| plobsing | kid51: a strictly defined API is sort of what I'm getting at. It's something along the lines of "yes, we know you can poke that, but don't whine at us when we change it". I just want to leave us wiggle room. | 01:36 | |
| chromatic | Sure. Suppose we never document that if you pass a STRING to Parrot_pmc_register() the STRING gets registered as live with the GC. Anyone who does that and expects that always to continue working is just out of luck. | 01:37 | |
| whiteknight | we have multiple levels of API, and first step is to define what those are | ||
| we have embedding API, extending API, bytecode API, etc | |||
| lucian | an 'internal' namespace or similar would be nice | ||
| cotto | chromatic, lol | ||
| something like PARROT_INTERNAL? | 01:38 | ||
| as a macro | |||
| lucian | cotto: i guess. i'm not familiar with parrot C code | ||
| plobsing | cotto: C functions aren't the only things that are internal though | 01:39 | |
| ImageIO pmcs, Packfile pmcs, bytecode in general, lorito bits, etc... | |||
| whiteknight | we've explicitly defined that structure internals should be opaque outside of core parrot | ||
| chromatic | Does our deprecation policy say "Everything not explicitly supported isn't"? | 01:40 | |
| cotto | we could create an extra pmclass modifier "internal", though I'm not sure how we'd use it apart from documentation. | ||
| whiteknight | chromatic: no. Nothing is explicitly supported | 01:41 | |
| that's been my biggest beef with the deprecation policy | |||
| it's extremely vague and broad about what we cover | |||
| plobsing | I'm thinking about the ImageIO pmcs in particular, with which I'm fairly certain I've broken dep-policy several times (but nobody noticed, because they really are internal). | 01:42 | |
| whiteknight | plobsing: so that's a good point. Maybe all PMC types are not external | ||
| mikehh | how about this is the api, that will be subject to deprecation notices etc | ||
| cotto | whiteknight, do you think marking PMCs as explicitly internal is workable? | 01:44 | |
| For functions it's probably too much effort. | |||
| whiteknight | cotto: we can't prevent people from using them, but we can declare that they don't have a stable API for users | 01:45 | |
| use at your own risk, etc | |||
| cotto | of course | ||
| whiteknight | a simple idea would be to prefix certain type names with an underscore | 01:46 | |
| _ImageIO, to let people know it's internal-only | |||
| cotto | Simple yet ugly. | ||
| chromatic | Ugly yet ugly. | ||
| whiteknight | like in libc, things with _ are not intended for users | ||
| or we could set a flag | |||
| PObj_DONT_FREAKING_USE_THIS_FLAG | 01:47 | ||
| cotto | POBJ_WE_WILL_SOMETIMES_SHUFFLE_INTERNALS_WITHOUT_REASON_OR_WARNING_FLAG | ||
| plobsing | what would a runtime flag accomplish? I much prefer something static unless there's a benefit to the flag. | 01:48 | |
| whiteknight | plobsing: we can check the flag in the PIR op to prevent PIR code from instantiating that type | 01:49 | |
| that's if we really want to make certain PMC types internal-only | |||
| if we don't want to go to lengths to prevent it, we need a cultural instead of a technical solution | |||
|
01:49
tcurtis left
|
|||
| mikehh | warning - thisa is an internal function/PMC | 01:50 | |
| kid51 | bbial | ||
| chromatic | I haven't seen any proposals I love yet. | ||
| plobsing | We're all grown ups here. If a user really wants to use an internal functionality, and accepts the risks, they should be able to. | ||
| cotto | They just shouldn't be able to do so without knowing what they're doing. | ||
| whiteknight | right, the difference is whether we need to jump through hoops when we change the interface for it | ||
| for ImageIO, we don't want to do that | 01:51 | ||
| some things we support externally, some we don't | |||
| chromatic | Let's document what we support and disclaim what we don't. | ||
| mikehh | +1 | ||
| whiteknight | EXACTLY | ||
| lucian almost likes _ImageIO | |||
| cotto | chromatic, +1 | 01:52 | |
| plobsing | +1 to document. where? DEPRECATED.pod? PMC source? other? | ||
| cotto | support policy seems like the most natural place | ||
| whiteknight | I've always wanted to have an explicit list of things we supported. A dedicated file for that would be fine | ||
| chromatic | Yeah, the support policy document. | ||
| whiteknight | some things are obvious: src/embed/*, src/embed.c, src/extend.c | 01:53 | |
| dynpmcs | |||
| dynops | |||
| chromatic | I volunteer to make a document listing what we need to consider when we merge a feature branch. | 01:54 | |
| whiteknight | chromatic++ | ||
| cotto | thanks | ||
| mikehh | we should have a "supported" set of tests for that as well | ||
| whiteknight | better yet, it isn't supported without a test | ||
| so that we know exactly what behaviors we support | 01:55 | ||
| mikehh | I was thinking along the lines of api tests to see if we break anything with merges/changes | ||
| plobsing | whiteknight: I like that idea, but I don't want our testsuite to take as long as rakudo spectest | ||
| whiteknight | plobsing: good point. Some kind of triage of existing tests may be nice | 01:56 | |
| some of ours, like the ops parsing ones, already take way too long | |||
| mikehh | different aspects of the testsuite | ||
| whiteknight | or different test targets | 01:57 | |
| coretest vs test, etc | |||
| mikehh | in that regard the original concept of core has changed a bit | 01:58 | |
| especially as we use nqp-rx more and more | |||
| whiteknight | yes | 01:59 | |
| kid51 notes that we've reached the 3-hour point in this meeting | 02:00 | ||
| whiteknight | it seems like we still have some steam. Do we want to continue the meeting? Move to #parrot? call it quits? | 02:01 | |
| cotto | keep on | ||
| Util | Key question: are we on the last topic for this PDS? | ||
| whiteknight | okay, good | ||
| cotto | Util, I got that impression. | 02:02 | |
| kid51 | We have discussed all pre-scheduled topics. | ||
| Util | keep on | ||
| kid51 | We are in the "any other business/questions" phase (and have been so for > 1 hour | 02:03 | |
| cotto | Is the deprecation/support question sufficiently resolved? | 02:06 | |
| chromatic | For now I'm satisfied. | ||
| Util | cotto: I think "enough to move forward" | ||
| cotto | ok. Any other questions? | 02:07 | |
| Util | I move to adjourn :) | 02:09 | |
| whiteknight | second | ||
| cotto | It's over. | ||
| mikehh | good session overall | ||
| Util | Time well spent. | 02:10 | |
| cotto | agreed | ||
| kid51 | I will post to parrot-dev a summary focusing on action items, ie.. what people promised they would do | 02:11 | |
| Util | kid51++ | ||
| whiteknight | kid51: great. All I need is a reminder of all the stuff I promise to do | ||
| lucian | and then some beer to cope with it? :) | 02:12 | |
| atrodo | kid51++ # Very good job | 02:13 | |
|
02:22
lucian left
02:32
nwellnhof left
|
|||
| dukeleto | still going? | 02:42 | |
| plobsing | nope. sorry. | ||
| dukeleto | plobsing: ok, thanks for letting me know :) | 02:43 | |
|
02:43
dukeleto left
03:22
bluescreen_ left
03:44
kid51 left
03:53
atrodo left
04:03
whiteknight left
04:04
plobsing left
06:33
PerlJam left,
PerlJam joined
06:45
cotto is now known as clock
06:46
clock is now known as cotto
07:54
bacek joined
08:12
chromatic left
09:28
lucian joined
11:34
lucian left
12:00
lucian joined
12:12
lucian left
12:18
lucian joined
13:43
bluescreen joined
15:53
bluescreen left
16:01
PerlJam left
16:02
PerlJam joined
16:10
bluescreen joined
18:26
bacek left
21:55
bluescreen left
22:30
lucian left
22:31
lucian joined
23:38
kid51 joined
23:39
whiteknight joined
23:47
bluescreen joined
|
|||