|
Vision for 2.0: Production Users | Priority for 1.6: Merge Branches | Priority for this week: get PCC branch mergable, increase test coverage on CallSignature PMC | trac.parrot.org/parrot/wiki/Propos...chProtocol | Note: This channel is only for our Tuesday status meetings; you probably want #parrot instead. Set by moderator on 6 October 2009. |
|||
|
05:11
particle joined
12:39
whiteknight joined
14:25
davidfetter joined
15:58
NotFound joined
|
|||
| Tene | * I haven't really done anything recently. busy at home. | 16:21 | |
| KTHXBAI | |||
|
16:23
integral joined
16:37
darbelo joined
|
|||
| whiteknight | WHAT I DID LAST WEEK | 16:51 | |
| * Worked on pcc_reapply, helping to fix remaining tests | |||
| * All tests appear to pass now. Congrats to all people who helped (and there were many!) | |||
| * Looking for optimization potential. Watching as chromatic++ and bacek++ get started on that already | 16:52 | ||
| * Put together an initial patch to implement :call_sig. Only works on .param for now. Needs work, but good proof-of-concept. | |||
| * Watching lots of LLVM videos, cotto++ for finding them. Reading papers and stuff to prepare more for JIT | |||
| * Running lots of tests for the upcoming release. | |||
| * Moved Matrixy to Github. | |||
| * darbelo++ got it building against installed Parrot. I fixed a few issues stemming from the iterators refactor ("new 'Iterator'", etc) | |||
| * Separated out the CBLAS and CLAPACK library bindings into a new Parrot-Linear-Algebra project, also on Github. | |||
| * darbelo++, dukeleto++ and desertm4x++ for helping to plan a roadmap for that | |||
| * Reading into a lot of mathematics libraries, looking for good candidates to link against and support. | |||
| WHAT I WILL DO | |||
| * Planning for a new 2D Matrix PMC type, or family of types (depending on optimizations needed) in Parrot-Linear-Algebra. Suggestions/help welcome. | |||
| * May include single/double, real/complex, dense/sparse types (long-term goal). Be interested to hear what users want | |||
| * Getting Matrixy's test harness to work again (darbelo++ for looking at it already), and then making sure all tests pass (maybe with TODO) | |||
| * Help with pcc_reapply merger | |||
| * Finish implementing :call_sig properly and apply to trunk | |||
| * May need to use :call_sig in Matrixy to support the idiosyncratic argument passing scheme, will evaluate | |||
| * Work on frame builder and JIT | |||
| WHAT I AM BLOCKING ON | |||
| * Not enough time. | |||
| EOR | |||
| Tene | That's impressively larger than my report. :) | 17:03 | |
| darbelo | Have done: * Updated Matrixy to work with an installed parrot. * Discussed parrot-linear-algebra ideas with Whiteknight. * Wrote a plumage .json file for Matrixy. First module with actual dependencies. * Cleaned up the decnum-dynpmcs build infrastructure a bit more. * All other plans failed with ENOTUITS. | ||
| Will attempt: * Start the cblas bindings for parrot-linear-algebra. * Get started on that damn DecQuad PMC already. * Kill DecInt, decNumber can't really handle big integers. | |||
| Blockers: * Tuit Insufficiency. | |||
| EOR. | |||
|
17:10
mikehh joined
|
|||
| cotto_work | What I did: | 17:24 | |
| * added some postmature optimizations to the profiling runcore | |||
| - oofib.pir runs about 30% faster under the profiler | |||
| - Rakudo "< h i >.join.say" runs about 79% faster under the profiler | |||
| - memory usage is somewhat higher, so it's a trade-off | |||
| * improve pprof2cg | |||
| * whatever else is on the profiling todo list | |||
| What could block progress: | |||
| * rl | |||
| Is this the end of my report: | |||
| * Yes. | |||
| mikehh | What I did in the last week: | 17:35 | |
| * building and testing parrot in trunk and pcc_reapply branch - fixing codetest errors etc. | |||
| * fixed a couple of test failures and TODOs | |||
| * pcc_reapply ready for merging after the release? - All tests now seem to pass | |||
| What I intend to do in the next week: | |||
| * testing and fixing | |||
| * review skiped tests to see if any pass or can be TODOed | |||
| .eor | |||
|
18:05
chromatic joined
|
|||
| japhb | DONE IN PLUMAGE: | 18:08 | |
| * Dependency handling, including remembering installed projects (not the final paradise, but Good Enough For Now) | |||
| * Automatically sudo if parrot_bin directory not writable by user | |||
| * New 'projects' (list known projects) and 'showdeps' (show resolution for all dependencies) commands | |||
| * Plumage metadata dir can now be overridden by conf file (for testing support) | |||
| * Several new functions in Glue.pir and Util.nqp | |||
| * Lots more docs for Glue.pir and Util.nqp | |||
| * More tasks broken out of my head into TASKS | |||
| MAD PROPZ: | |||
| * dukeleto++ # Testing, testing, testing; factor out Util.nqp from main program | |||
| * darbelo++ # Matrixy metadata (and making it buildable against installed Parrot) | |||
| NEXT UP: | |||
| * Importer for proto projects (already WIP) | |||
| * More refactoring into modules | |||
| * Maybe get a chance to blog the last couple weeks of work? Nah .... | |||
| BLOCKING ON: | |||
| * Day job + sick family. STILL. | |||
| EOR | |||
|
18:10
pmichaud joined
|
|||
| pmichaud | What I did: | 18:10 | |
| * More work on nqp-rx. | |||
| * The parsers in nqp-rx are now self-hosting -- i.e., nqp-rx is able to | |||
| completely parse and compile its own language grammars | |||
| * In other words, it's now entirely independent of PGE. | |||
| * More of the p6 regular expression syntax is present, including many | |||
| items that were not available in PGE, including | |||
| ** zero-width enumerated character assertions | |||
| ** binding results to multiple targets | 18:11 | ||
| ** subrule calls with multiple arguments <foo(arg1, arg2)> | |||
| * Since the regex engine is PAST based, we automatically get source | |||
| code annotations (source line numbers and offsets) and proper | |||
| lexical variable scoping | |||
| * Created an HLL::Grammar base grammar for deriving HLL grammars. | |||
| ** Provides standard rules and actions for common HLL features | |||
| like quoted strings, integers, etc. | |||
| ** Can be easily extended to allow HLL-specific constructs. | |||
| * Developed a new operator precedence parser based on the one in STD.pm | |||
| ** Makes it very easy to add custom precedence levels, HLL-specific tokens | |||
| ** Currently supports term:, infix:, prefix:, postfix:, circumfix:, | |||
| postcircumfix: operators with various associativities and precedence | |||
| levels | |||
| ** New OPP is far more reusable and extensible than PGE's | |||
| * New NQP is being built based on HLL::Grammar | |||
| * Designed a number of PAST optimizations to improve constant handling | |||
| What I'm doing this week: | |||
| * Completing new NQP implementation, including bootstrap | |||
| * Starting a new Rakudo branch to switch to nqp-rx based grammar | |||
| * Adding more optimizations to PAST | |||
| * Implementing smarter/faster protoregexes | |||
| * Writing blog posts | |||
| * Helping with Rakudo release (Thursday) | |||
| * Working on Perl 6 book chapters | 18:12 | ||
| What I'm blocking on: | |||
| * Not much, yet | |||
| * May start blocking on Perl 6 specification issues soon (Parcels & Captures) | |||
| EOR. | |||
| japhb | pmichaud++ # Fricking awesome | ||
| chromatic | I worked on optimizations, specifically rewriting CallSignature to use fewer PMCs. | ||
| I have more optimizations. | |||
| That's about it. | |||
| pmichaud | I hope to have a new NQP implementation late tomorrow-ish. | 18:13 | |
| Might be sooner, depending on $family | |||
| japhb | pmichaud, excellent. Will I need to change my Makefile (which assumes the existence of 'parrot_nqp'), or will you be swapping out the old NQP in place? | ||
| pmichaud | it's a totally new nqp | ||
| you'll need to change your makefile | 18:14 | ||
| it's very likely that the new nqp won't be part of parrot by default | |||
| japhb | OK, np. | ||
| um, less cool. | |||
| I can't depend on anything that's not in Parrot. | |||
| pmichaud | there's probably room for some discussion there | ||
| the new nqp doesn't want to be restricted by parrot's distribution/deprecation policies | 18:15 | ||
| but there's nothing wrong with parrot selecting versions of nqp and bundling them into the release | |||
| japhb | wait, let's save this for the main meeting ... | ||
| ... and yes, that was my first idea. | |||
|
18:17
moritz joined
|
|||
| moritz | Not much of a report... learned that the Debian people have a summary bot which records lines, and can display it as summaries somehow - will look into making such a bot for #parrotsketch to better track results | 18:19 | |
|
18:19
allison joined
|
|||
| allison | Last week: | 18:20 | |
| - Worked on the PCC branch. Merged in chromatic's optimization of the CallSignature PMC. Spent a couple of days debugging cloned constants tables in threads. | |||
| Next week: | |||
| - (Today actually) Plan to merge the PCC branch into trunk after the 1.7 release. | |||
|
18:22
Util joined
|
|||
| Util | # Done | 18:23 | |
| * Milestone TT#600 - not landed; reschedule for 1.7. | |||
| * Nothing else - tuit tunnel collapsed. | |||
| # Plan for next week: | |||
| * None. All tasks stalled for 1 week. | |||
| # Blockers: | |||
| * 0 tuits until next Tuesday night, then much available time. | |||
| .end | |||
| NotFound | What I did: | 18:28 | |
| * Just some testing, been busy and disconnected the last two weeks. | |||
| * Working on a language with javascript-alike syntax, nothing viewable yet. | |||
| What I will do: | |||
| * No plan. | |||
| EOR | |||
|
18:29
dukeleto joined
|
|||
| dukeleto | win32 testing in trunk, plz? | 18:29 | |
| japhb | Meeting time | 18:30 | |
| q1t (topic) | |||
| whiteknight | hello | 18:31 | |
| chromatic | Good news, everyone. | ||
| allison | hi | ||
| darbelo | hola | ||
| Tene | What's the good news? | ||
| Util | dukeleto: Win32 testing now | ||
| chromatic | I'm sending you all to the WORK REALLY HARD FIXING TESTS planet this week. | ||
| whiteknight | ditto | ||
| chromatic | Let's review last week's goals. | 18:32 | |
| dukeleto | looks like win32 test have been failing for a while. sigh. | ||
| dukeleto stops interrupting | |||
| chromatic | pcc_reapply status? | ||
| Tene | done, except for merge | ||
| I should go merge it into trunk right now, while dukeleto is trying to cut the release? | 18:33 | ||
| chromatic | I heard a collective eye roll. | ||
| cotto_work | hi | ||
| chromatic | Tests in trunk? I unskipped a few and made them pass, but was there much concentrated effort or only a few stabs? | ||
| Tene | I didn't even look at trunk all week! | ||
|
18:34
kj joined
|
|||
| Tene | So, sounds like no concentrated effort. | 18:34 | |
| chromatic | Agreed. | ||
| The other priority I saw was a wiki page about immutable strings. whiteknight? | |||
| mikehh | fixed a test or two, fulltest works in trunk and pcc_reapply | 18:35 | |
|
18:35
Coke joined
|
|||
| whiteknight | chromatic: tuit shortage | 18:35 | |
| focused on pcc_reapply instead | |||
| chromatic | Alright. | ||
| Let's talk about this week then. | |||
| pcc_reapply lands. Priorities? | |||
| Coke | << ENOREPORT >> | ||
| chromatic: partcl still has 3 or so segfaults that could use some love. | 18:36 | ||
| mikehh | make sure rakudo etc work after the merge | ||
| from the parrot side that is | |||
| chromatic | Language testing, then. | ||
| Tene | rakudo doesn't work against pcc, last I checked. | 18:37 | |
| pmichaud | we expect rakudo to fail against pcc, fwiw | ||
| that's okay, it's likely a rakudo issue and not a parrot one. | |||
| darbelo | partcl will probably break horribly too. | ||
| japhb | "Help rakudo work against pcc"? | ||
| pmichaud | +1 | ||
| Tene | cardinal works against pcc | 18:38 | |
| Coke | darbelo: I wouldn't expect it to. | ||
| pmichaud | I'll need to make sure nqp-rx works against pcc (it should) | ||
| Coke | (fail) | ||
| darbelo | Coke: you never do, and it always does. | ||
| chromatic | Any other priorities? | ||
| Tene | what are the major tasks for the next release? | 18:39 | |
| and what priority are they? | |||
| chromatic | HLL interoperability. | ||
| Coke | note: there are still two tickets for 1.7 in trac. | ||
| chromatic | Testing sprint. | ||
| User mailing list. | 18:40 | ||
| Struct pruning will continue. I dragged my feet on part of it until the pcc_reapply merge. | |||
| Tene | I plan to work on plumage more. | ||
| moritz | do we need a user mailing list? parrot-dev doesn't seem to flooded with user questions right now | ||
| Tene | I've said it before, but I'll try to diagnose and describe HLL interop issues. | ||
| Coke | moritz: it's an easy thing to setup. | 18:41 | |
| allison | moritz: we put it off for that reason | ||
| mikehh | I fixed a lot of documentation codetest failures in pcc_reapply, particularly src/call/args.c - it needs review | ||
| Tene | moritz: because there's no parrot-users ml, of course. | ||
| "If you build it, they will spam" | |||
| ;) | |||
| Coke | Tene: can't be any worse that spam on parrot-dev | ||
| allison | moritz: but 2.0 and after is when we expect to start getting more general users, so that's why we put it in | ||
| moritz | Coke: that doesn't mean it's a good idea. Splitting up the community should only be done if necessary | ||
| chromatic | Should we have it in place by 2.0? | ||
| allison | chromatic: yes, I think so | 18:42 | |
| Coke | moritz: we are currently ``scaring'' away people who just want to use parrot, based on comments from friends. | ||
| pmichaud | the problem with parrot-dev as it exists now is that if I'm a user, I don't see a place to ask my question. | ||
| allison | sounds like this is the right time, then | ||
| pmichaud | normally I would always start with a parrot-users list, and then split off parrot-dev when needed, instead of vice-versa. | ||
| Coke | many of our docs are how to /contribute/, which is good for us, bad for our users. | ||
| allison | (as in, when we start to see the need, and before it becomes a critical need) | ||
| pmichaud | anyway, parrot-users +1 | 18:43 | |
| allison | Coke: and yes, agreed, the list is only the start of a focus on users | ||
| moritz | +0 from me then ;-) | 18:44 | |
| chromatic | Any objections to starting that list before 1.8? | ||
| Coke | chromatic: no. | ||
| mikehh | no | ||
| Coke | pleae do. | ||
| chromatic | Do we have a volunteer? | ||
| Coke | I volunteer OSUOSL. | ||
| (I'll open a ticket with them.) | |||
| (claimed tt#608) | 18:45 | ||
| chromatic | Okay. | ||
| It's three months until 2.0. What is our biggest priority for 2.0? | 18:46 | ||
| allison | documentation | ||
| whiteknight | JIT | ||
| pmichaud | "production ready". That means performance and stability. | ||
| whiteknight | performance=JIT | ||
| allison | code cleanup | ||
| production ready also means approachable for production users | |||
| Tene | and correctness | 18:47 | |
| allison | stability also implies testing | ||
| chromatic | I suggest that we pick one of those each month for our weekly development priorities. | ||
| allison | (so does correctness) | ||
| one each week? | 18:48 | ||
| Tene | With our current policies, it's very important to identify and note any desired deprecations. | ||
| whiteknight | those sound like things that can be done in parallel: documentation, testing, development | ||
| darbelo | q1q | ||
| chromatic | Hm. Let's pick one for this week then. | ||
| Testing? | |||
| whiteknight | Testing | ||
| cotto_work | +1 to whiteknight | ||
| (about parallel tasks) | 18:49 | ||
| japhb | We may want to have a slightly longer trunk freeze in the weeks before 2.0, to really get as stable and clean as we can -- and doing so may ripple back in our timeframe estimates. | ||
| whiteknight | not trunk freeze, but core development freeze | ||
| japhb | whiteknight, yes, that's actually what I meant, sorry | ||
| whiteknight | we'll want to be able to add new tests and new docs and new cleanups in that time | ||
| allison | japhb: yes, that's the plan | ||
| japhb | allison, excellent | 18:50 | |
| allison | not a freeze exactly, but no major feature development | ||
| cotto_work | feature freeze | ||
| allison | lots of testing fixes and documentation fixes in the last couple of weeks | ||
| and platform fixes | |||
| chromatic | Can I suggest: extend our PCC testing this week as a priority? | ||
| allison | excellent idea | 18:51 | |
| darbelo | +1 | ||
| cotto_work | chromatic: pre- or post-merge? | ||
| whiteknight | +1 | ||
| cotto_work | +1 either way | ||
| mikehh | either and both | 18:52 | |
| chromatic | Post-merge. At minimum, someone knowledgeable needs to review t/op/calling.t and a couple of other places, identify gaps, and document them on the wiki so we can concentrate on them. | ||
| That's a conversation lull. | 18:54 | ||
| Question time! | |||
| darbelo? | |||
| darbelo | Is nqp-rx going to be merged into parrot or will it leave the nest? | ||
| japhb | FWIW, that was the topic I wanted to discuss as well | 18:55 | |
| pmichaud | the new version of nqp will not be completely backwards compatible with existing nqp | ||
| it also no longer requires or uses pge | |||
| and it's likely to have a revised implementation of the HLLCompiler object (written in NQP instead of PIR) | |||
| darbelo | That only argues for a deprecation notice and post-2.0 merge. | 18:56 | |
| moritz | pmichaud: will you import it into the parrot repo? | ||
| pmichaud | moritz: I'm not planning to do so | ||
| allison | our general move is toward external modules | ||
| moritz | darbelo: it can co-exist with current tools | ||
| pmichaud | Parrot is welcome to bundle NQP releases, but I'm thinking NQP will live outside of the Parrot repo | ||
| allison | so, that's a deprecation notice that it's moving out | ||
| pmichaud | well, the existing nqp and pge could be considered deprecated | 18:57 | |
| moritz | pmichaud: so what's the plan? install it via plumage? | ||
| allison | it's sensible | ||
| moritz: yes | |||
| japhb | The problem I have is that NQP (the old one) is effectively moribund. But I could really use the nqp-rx features, and I expect if I asked for new features beyond that, that's where they'd go. | ||
| pmichaud | japhb: there are a couple of possibilities | ||
| japhb | moritz, allison: that leaves me in a very sucky place. Plumage is now written in a dead language. | ||
| allison | japhb: yes, the old NQP would be deprecated and removed after 2.0 | ||
| pmichaud | first, one could use NQP to create the .pir that gets bundled with parrot | ||
| similar to how nqp-rx itself bootstraps | |||
| allison | (or, after the dependencies are resolved) | ||
| darbelo | allison: It's a bootstrap nighmare. We're witing plumage in NQP. | 18:58 | |
| pmichaud | it's not a nightmare to bootstrap | ||
| seriously. | |||
| here's an approach | |||
| write plumage in NQP | |||
| allison | darbelo: I didn't know that, but it is possible to work around | ||
| pmichaud | compile plumage with NQP | ||
| bundled the compiled plumage with parrot | |||
| one doesn't need NQP to be present in order to run programs that were compiled with NQP | |||
| that's kind of the point. NQP is a compiler that doesn't have any runtime requirements beyond Parrot. | 18:59 | ||
| Which means NQP-compiled programs can be completely standalone. | |||
| allison | like lex/yacc | ||
| pmichaud | unlike, say Rakudo, where you have to have the runtime library present | ||
| yes, exactly like lex/yacc | |||
| japhb | pmichaud, isn't there a runtime that I need to have around? Currently when I create a fakecutable, I still need to load_language 'nqp' | ||
| pmichaud | japhb: nqp doesn't have a runtime | ||
| or any runtime that it currently has is limited to 'say' and 'print' | |||
| (and those will be going away, because NQP will allow direct access to Parrot opcodes) | 19:00 | ||
| japhb | pmichaud, so then just copy the last bits of NQP runtime (mostly say, print, and eval) into Plumage's PIR code, yes? | ||
| pmichaud | yes | ||
| or compile those into libraries that can be bundled with parrot | |||
| japhb | OK. | 19:01 | |
| pmichaud | but NQP itself doesn't and never will have its own runtime baggage. That is its primary purpose. | ||
| it's a hll compiler for *Parrot* runtime. | |||
| all that said | |||
| darbelo | pmichaud: Sorry, then. I was wrong about the NQP bootstrapability. | ||
| pmichaud | Parrot will likely want to start bundling the Regex portion of NQP | ||
| whiteknight goes afk for a bit | 19:02 | ||
| japhb | OK, so, the plan is: Plumage switches to nqp-rx. Plumage eats any runtime it was inheriting from elsewhere. Parrot starts shipping a Plumage precompiled to PIR. About right? | ||
| pmichaud | that's not difficult though, because as mentioned above the Regex library can be created as PIR or .pbc and committed standalone | ||
| japhb: +1 | |||
| allison | japhb: I'd say "we ship a bundle that includes Parrot and Plumage" | 19:03 | |
| japhb | allison, what is the functional difference? | ||
| Tene | japhb: deprecation policies? | ||
| allison | japhb: very little, but yes, release cycles are part of it | ||
| japhb | OK, fair enough. | 19:04 | |
| darbelo | So long as they land together I'm happy. | ||
| japhb | darbelo, "land together"? Meaning, both installed when you install a parrot tarball? | ||
| darbelo | yep. | ||
| japhb | nodnod | ||
| pmichaud | "bundle includes Parrot and Plumage" (and I'd recommend "includes NQP" also) | 19:05 | |
| japhb | OK, we can work out the details of how to bundle the two on #parrot. | ||
| pmichaud++ # that was going to be my next comment! | |||
| chromatic | Other questions? | ||
| pmichaud | NQP is really lightweight, but I expect it to be at the core of most HLLs | ||
| allison | pmichaud: agreed | ||
| pmichaud | in fact, I think I have to modify my earlier comment | 19:06 | |
| japhb | ... and thus we come around to the "basic batteries" concept, just not quite as I envisioned it the first time. | ||
| pmichaud | NQP does now have a runtime -- that runtime consists of the regex engine, a base HLL grammar, and a base HLL::Compiler object. | ||
| japhb | ... and I need the regex engine, definitely. | 19:07 | |
| pmichaud | one can create NQP programs that don't require the runtime, but obviously regexes and compilers will need those additional libraries | ||
| but those libraries aren't intimately tied to NQP, any more than other Parrot libraries are. | |||
| japhb | We just still need to ship them in the bundle. | 19:08 | |
| pmichaud | agreed. | ||
| anyway, I don't see it as being terribly difficult. In many ways it's much easier. | |||
| Because NQP development can proceed separate from Parrot core | |||
| and Parrot simply decides which version of NQP to ship that meets its goals | |||
| (much like Rakudo decides which version of Parrot to use) | 19:09 | ||
| I'm done now. :) | |||
| Coke | <chromatic>Anyone else have any more questions?</chromatic> | 19:11 | |
| chromatic | Let's call that a meeting then. | 19:12 | |
| cotto_work | It's a meeting. | ||
| allison | thanks all! | ||
| Coke | ~~ | ||
| moritz | it was a meeting. | ||
|
19:12
Coke left,
moritz left,
PacoLinux left,
Util left
19:13
darbelo left
19:14
NotFound left
20:11
kurahaupo joined
20:18
particle1 joined
20:49
chromatic left
21:04
kj left
21:30
Whiteknight joined
|
|||