Vision for 2.0: Production Users | Don't forget to post closed tickets in your report. | Note: This channel is only for our Tuesday status meetings; you probably want #parrot instead. | irclog: irc.pugscode.org/
Set by moderator on 2 February 2010.
13:03 bluescreen joined 13:26 bluescreen joined 14:38 whiteknight joined 15:14 whiteknight joined 17:20 NotFound joined 18:11 mikehh joined 18:33 chromatic joined 18:40 plobsing joined
whiteknight WHAT I DID: 19:28
* Created vtable_massacre branch. Deleted all deprecated VTABLE entries and merged back into trunk. Fixed a few resultant problems, but most things are looking mostly clean
* Created op_pmcs branch to add Opcode and OpLib PMC types. These are basic types to allow reading of info from interp->op_lib. Ultimate goal is improved PIR->PBC compilation from PIR. Branch is ready for merge immediately after release, new PMCs are listed as "experimental".
* Created tt_1449 branch and committed potential fix for the problem. Looking for input and test cases. Hoping to merge today after the release.
* Created pmc_func_cleanup branch, aiming to fix function naming in src/pmc.c to be named Parrot_pmc_*. Work 90% complete. Will alert the mailing list with a table of all function names changed when the time comes.
* Added a mechanism to retrieve the name of the current GC system from the interpinfo opcode, so tests can TODO or SKIP intelligently depending on the behavior of the GC
* Deleted some older branches, pinged some responsible people to make decisions on others that are particularly old or unused
WHAT I WILL DO:
* Hoping to merge op_pmcs, tt_1449, and pmc_func_cleanup soon.
* Need to update Parrot-Linear-Algebra and Parrot-Data-Structures projects with new Parrot_pmc_* function names.
WHAT I AM BLOCKING ON:
* Nothing
19:31 bubaflub joined, darbelo joined 19:32 bacek joined
mikehh What I did since my last report: 19:44
* building and testing parrot on amd64/i386, with gcc/g++, with and without --optimize
* a lot of branch testing
* testing and fixing for 2.1 release
* quite a few fixes - adding ASSERT_ARGS etc.
What I intend to do in the next week:
* testing and fixing
* looking at cleaning up some tests
* documentation
.eor
NotFound What I did 19:45
- parrot
* Built and tested on Maemo - Nokia N900
- Winxed
* Tested bootstrapping without C++ in Maemo.
* More examples: http server, opengl, Xlib.
* Minor improvements.
What I will do:
* No plan
EOR
plobsing What I Did: 19:49
* created opengl_dynamic_nci branch
* lays groundwork for a better (yet still fairly simple) frame builder system
* ready for testing
* test protocol: make -j3, run examples/opengl/* (should panic on fail)
* created tt362 branch
* addresses TT362, todo in src/packfile.c
* proves value of work in pmc_freeze_cleanup & pmc_freeze_with_pmcs branches 19:50
* ready for testing (standard method)
What I Plan:
* merge opengl_dynamic_nci and tt362 branches
* remove nativecall.pl (replaced by nativecall.pir)
* make nativecall.pir installable (for use by extenders/embedders)
EOR
bacek What I did: 19:53
- GC cleanup/encapsulate work.
- Boehm GC in Parrot
- PIRC headerizing
Plan:
Yay! My first #ps report :)
darbelo PAST 19:55
* Participated in the VTABLE massacre.
* Updated decnum-dynpmcs to the new world order.
* Thought a lot about cross-compilation and out build process. * Made the hints file overridable on the Configure command line. * Looking at porting to RTEMS. BIRDS IN SPACE!
* Released Parrot 2.1.0 "As scheduled." * Forgot to rename the ImageIO PMC.
FUTURE 19:56
* Write a pbc_dump replacement that exercises the PackFile PMCs.
* Maybe, do more cleanups on the ImageIO PMC.
BLOCKERS
* Life
* Universe
* Everything
END
chromatic What I Did: 19:58
* Fixed a few bugs
* Implemented the size threshold for the GC (to good effect)
* Checked in a few other optimizations
What I Will Do:
* TT #389 is tough, very tough
20:11 whiteknight joined
Util # Done: 20:18
* Set up an Amazon EC2 account.
= It allows me to test many platforms ( (32|64)-bit (Linux|Win200[38]|OpenSolaris) ) very cheaply
^ (but not cheap enough to run 24/7 as a build farm).
* Tested upcoming Parrot release.
* Updated PLATFORMS with 64-bit Linux entry from EC2 experiment.
= Cost: $0.19 USD
* Slowed down on TT #919 over the many meanings of "readline".
# Plan to do:
* Resume work on TT #919 and TT #1217.
# Blockers:
* $WORK.
.end
cotto_work #did: 20:19
* vtable_massacre help
* added some function docs, removed TODOs from approrpriate codingstd tests
* made examples/c/nanoparrot.c compileable
#will do:
* pmichaud having time to look at ops_pct
* brains
#closed TTs:
* #1423 (pirc breaks headerizer, bacek++ for the actual fixes)
* #1383 (add --hash-seed to specify hash seed)
#eor
20:20 bacek_ joined
Tene Done: I have a patch that allows subclasses of Exception to be thrown. I don't know whether it needs a deprecation cycle or not, as it's allowing new functionality, not breaking anything. 20:21
Will do: Commit the patch after the release, and then work on adding class-based filters to ExceptionHandler.
KTHXBAI
Also: it would be great if someone could convince me that Parrot's roles support was good enough that I could allow anything that supports the Exception API to be thrown. (does 'exception'). 20:28
So, consider that my question. 20:29
20:29 Coke joined
Coke some minor work in the rm_cflags branch this week. Try to kill CFLAGS, but replacing it with something that isn't broken is slightly more involved than just ripping it out. 20:30
whiteknight hello 20:31
NotFound hola
darbelo Hi.
cotto_work hi
bacek o hai
Coke ~~ 20:32
whiteknight tildetilde
darbelo q2q
whiteknight q1q
cotto_work q0q
bacek q-1q
Util Hello
mikehh Hello 20:33
chromatic Hello everyone. Let's begin.
How did we do on last week's goals? What did we merge and what's yet to merge? 20:35
whiteknight vtable_massacre merged, to much fanfare
darbelo rm_cflags remains unmerged.
bacek gc_encapsulate branches merged 20:36
(or it was last week?...)
cotto_work it was this week
Coke rm_cflags is proving slightly more complicated as it turns into "get a warnings free build for andy" 20:37
chromatic Keeping Andy happy is very good.
darbelo He used Sun cc, right?
Coke yes. all the warnings hoops never worked for non-gcc anyway.
20:37 allison joined
chromatic Other successes from last week? 20:38
One of the GC tuning goals made it in; so far so good there.
darbelo pmichaud did some nqp updates as well. 20:39
chromatic Let's talk about goals for this week then. 20:40
Suggestions? We need to fix TT #389 eventually and should fix TT #562 soon. 20:41
whiteknight #562 is the same as #768 and #1040, I think
so fixing that mess could be a big help
chromatic It's definitely hurting HLLs. 20:42
whiteknight #784, I mean 20:43
chromatic allison, what's the status of the task list for get/set params/results ops changes?
allison tasklist is finished 20:44
ready to start work
starting on that could be a task for this week
whiteknight I've got 3 branches of my own to merge, then I would love to work on that
allison is the GC tasklist ready to work on?
chromatic One of the GC tasks is done.
whiteknight I think bacek is still working on another branch 20:45
allison it's a bit of a toss-up between those two
but, I think the PCC deprecation item will be pretty quick
chromatic Let's do the quick one first then.
particle gc has momentum, too
bacek There is last thing left for GC: sys_mem_reduce branch.
chromatic If we reduce the number of GCables creates for PCC, we win no matter what kind of GC we have. 20:46
allison ok, I'll start a branch for the PCC deprecations now
whiteknight allison++ 20:47
chromatic I'll start a branch for the subclass MMD bugs.
20:47 dukeleto joined
dukeleto is here, but late 20:48
chromatic Any blockers we need to address?
20:49 mib_nunkyu joined
chromatic Let's go to questions then. 20:49
Tene?
Tene I see there's some sort of 'does' support in Parrot. hash.pmc "provides hash", etc. 20:50
Is that exposed sufficiently that I could add "does exception" to exception.pmc, and check VTABLE_does in 'op throw', and it could nicely be used from HLLs? 20:51
Or should I check explicitly for subclasses of parrot;Exception?
VTABLE_isa?
chromatic It should work. If it doesn't, it's a bug we need to fix.
Coke does doesn't really guarantee anything.
Tene Or is there a better way to check for implementing the desired interface?
whiteknight ancillary question: can "does" be made to guarantee something?
Coke and what it does, it does so very vaguely. (e.g. does "array")
Tene Also, does my desired change need a deprecation cycle? 20:52
bacek +1 for checking does (even if doesn't guarantee anything)
allison provides is very low-level, 'does' is higher-level, i.e. roles
Coke no, does is just provides.
at least the last time I ranted about its lack of utility.
chromatic does and provides are synonyms in pmc2c
allison Coke: that wasn't the intention, we changed the name of the 'array', 'hash' etc from 'does' to 'provides' so we could use does for true role composition 20:53
Coke: but, it may still be in partial transition
Coke yes, but it doesn't work that way and never has and there is, SFAIK, no ticket to make it so.
This may dovetail with wk's work on separating out the pmc array types. =-) 20:54
allison well, roles seem to have fallen by the wayside, so a better question is "how should it work?"
whiteknight maybe that's the way forward: start on a proper implementation of roles
chromatic That's a different question than what Tene asked though.
allison it seems sensible for 'does' to check provides
Tene I didn't see much coverage of roles in t/
allison he asked if 'provides' is exposed
and it is, through does
(or, if it isn't, should be) 20:55
Tene I meant to be asking "Is this what I should be using for exceptions"
Coke for now, sure, you can use does. I think "does" is probably better than "isa"
allison yes, inheritance isn't enough
Coke since isa assumes that every exception type inherits from Exception.
allison if you check does, that gives you "provides exception" for now, and any kind of exception composition later
Tene Okay, great. I'll move forward on that. One more question... 20:56
pdd23 describes "exception;death" and other such exception classes. Should those then be roles? Can we do namespaced roles in pmcs? can we do namespaced classes in pmcs? if not, where should I define those classes or roles? 20:57
"take it to the list" is a perfectly acceptable answer 20:58
allison there doesn't seem to be much value in having individual pmcs for each of those exception varieties
take it to the list is fine
dukeleto What I did: * Getting Parrot working on RTEMS and BUG (ARM) * worked on PL/Parrot * Gave a talk called "An Introduction to Parrot"
allison the quick answer is "keep it as lightweight as possible"
dukeleto What I will do: * Continue working on PL/Parrot * Setup my cross-compile environment so I can write a BitBake recipe for Parrot
Blocking on: * Time to do stuff.
chromatic Workable for now, Tene? 20:59
allison Tene: right now those classes of exceptions are marked as attributes on the exception object
Tene I'm really looking forward to getting a better system than integer exception types in place.
Yes, workable for now. I'm done with my question.
chromatic darbelo, first question?
Tene allison: I'm very familiar with the current implementation. :) 21:00
darbelo I have some ideas for the gdbm dynpmc. But I think they might be better realized outside of the parrot core. Is there any objection to marking them DEPRECATED and continuing development elsewhere?
whiteknight +1
allison Tene: aye, I meant that as "this is one lightweight solution that seems to work pretty well, but not necessarily the only one"
Tene nods. 21:01
chromatic How big are these changes, darbelo?
Coke I for one am not using gdbm in core, so I don't mind.
plobsing q2q
darbelo Almost a rewrite. I wanto to extend it to wrap all of the *dbm s. 21:02
And doing *that* in core would bloat the configure stage for little benefit. 21:03
chromatic Fair enough.
Any other comments on this? 21:05
cotto_work +1
NotFound 1
mikehh +1
chromatic Next question, darbelo?
darbelo We have several other under-used dynpmcs in the repo, that we don't really maintain. Should we push to move those out of the core? 21:06
whiteknight +1 21:07
darbelo I'm thinking for example of the various digest pmcs. Nobody uses or loves them.
I doubt most people even build them...
dukeleto darbelo: maybe they can move into parrot-data-structures ? 21:08
allison I'd be in favor of moving the digest dynpmcs out of the repo
(with a decent Plumage install strategy)
darbelo I can adopt those as well if we kick them out of the core.
mikehh if we can grab them from plumage, fine 21:09
whiteknight dukeleto: PDS is probably not suitable for those types
but new repos are cheap
Util +0.1, if the Plumage versions become immediatly available.
darbelo Util: It should be trivial to acomplish that. 21:10
chromatic We need to check if any languages use those digest PMCs. 21:11
fperrad might know.
allison they'll be subject to the usual deprecation cycle, so can't be removed from Parrot until after 2.3, but could be added to external repo for development right away
mikehh +1
chromatic darbelo, how's that work for you? 21:12
dukeleto +1 to moving them out of core and into somewhere that is easily installable via Plumage
darbelo Works for me.
But my point was slightly larger than that.
Util darbelo: Fine, then. I agree that they don't belong as part of Parrot's core. I just got them building today, which is why I favor them :)
darbelo Do we want to move all non-essential modules out of core, like it was done for languages? 21:13
whiteknight +1
plobsing +1
cotto_work +1
allison +1 21:14
mikehh +1
chromatic +1 only if we get them installable and tested regularly.
darbelo A 'delete after adoption' policy would be the best, IMO.
bacek +1 if it's git submodule
Util +0. Why now?
NotFound Note that modules with C parts need a C compiler. Maybe we need a way to provide links to binaries for such things. 21:15
allison Util: it's not a new idea, it's one we've been working on gradually for over a year, and will continue working on for a year or so into the future
NotFound Or even without C parts, fakecutable bulding needs a compiler. 21:16
darbelo NotFound: decnum-dynpmcs is pretty much all C and it's lived fine out of core for ayear now. 21:17
NotFound darbelo: but now I have parrot on my phone, then I'm more worried about that things ;)
darbelo NotFound: I'm also working slowly on enabling parrot cross-compilation. 21:18
allison NotFound: the benefit is keeping the core small (i.e. so it can fit on more phones)
darbelo: the on going question is which modules are needed in core, which is more of a mailing list question 21:19
Util allison: I will be happier when all such former-internal-now-externals can be downloaded and tested via some `make test_kitchen_sink` target. Then again, that was my objection when languages left the nest, too.
allison we've already trimmed pretty extensively, but there are a few more that could go
Util +1 21:20
allison Util: I would like to see an extensive test suite for externals too
Util: perhaps we could make it part of Plumage?
darbelo allison: plumage is growing support for that, yes. 21:21
allison excellent, that seems like the right place for it
Util allison: that would be great.
darbelo I think one of japhb's goals was to have 'plumage test all' command.
But we've wandered pretty far from the quistion.
bacek Can we have "make plumage" target in core?
darbelo +Inf 21:22
allison bacek: the intention last I heard was to do Plumage like we're doing nqp-rx
bacek allison, wfm
allison so, it's maintained externally, but a version is shipped in parrot core releases
darbelo has no more questions. 21:23
chromatic Concrete conclusions: mark the PMCs in core as DEPRECATED, shim them into Plumage, and get Plumage in shape. Does that sound right? 21:24
allison chromatic: affirmative
mark *some* PMCs in core as DEPRECATED
Coke wfm.
Tene I dunno, I bet we can get resizablepmcarray.pmc into plumage. 21:25
Coke Tene: *thwap*
chromatic plobsing, please ask one of your questions to end this mess.
allison it'd be nice to get down to one core array-ish type at some point
plobsing I pinged the list about opengl_dynamic_nci but noone complained, so I assume I can go forward with this? 21:26
whiteknight allison: the parrot-data-structures project is ready and able to accept displaced types
plobsing: +1
NotFound +1
Coke plobsing: just get japh's buyin. everyone else will fall in.
plobsing Coke: haven't seen japhb in a while
whiteknight ...the OpenGL bindings could be moved to a separate project... 21:27
Coke plobsing: do your best (email?) and then don't worry about it.
plobsing whiteknight: that had crossed my mind
Coke ... or what whiteknight said.
whiteknight (so long as we are exorcising things en masse)
plobsing follow up question: do the signatures in config/gen/call_list/misc.in require a deprecation notice? 21:28
whiteknight i hope not
plobsing they only really worked by registration, so if your project isn't in there, you don't really have support right now
chromatic Are you thinking of removing some?
plobsing chromatic: as soon as we're able to ship a tool to generate sigs for library builders, I want to remove them all 21:29
whiteknight +1
Coke if there's a replacement, sure. in the meantime, yes, I'd call that part of the API.
whiteknight is very agreeable today
NotFound What library builders?
plobsing anyone mentioned in config/gen/call_list/misc.in 21:30
examples: mod_parrot, python, etc
chromatic As long as we can bind to the same shared library APIs, no deprecation necessary.
NotFound If I need a library to use NCI, NCI is not such thing.
chromatic If you remove the ability to bind to a specific function, that's a deprecation.
whiteknight has to sign off. Will direct all my questions to the list. Later 21:31
plobsing so short answer is yes, they need deprecation
chromatic Long answer: yes, if you remove something that people can do right now. 21:32
Other questions? 21:33
NotFound I don't think is a good idea to remove anything until we have a way to generate calls at runtime.
plobsing NotFound: that approach probably won't work everywhere 21:34
Coke chromatic: I bet my problem is that some people aren't using the "new" svn merge.
darbelo Coke: git-svn users for sure don't.
Coke e.g.: ports/debian/parrot.install.in 21:35
just added :
/branches/op_pmcs/ports/debian/parrot.install.in:43820-44044
... but that branch didn't touch that file, did it?
chromatic This isn't #parrot.
bacek Coke, wrong window?
Coke whoops. yes.
I was going to blame darbelo, but I started it. =-)
chromatic plobsing, we might need more discussion on this. Can you mail the list?
plobsing chromatic: sure 21:36
chromatic Any other questions?
No? Let's call this a week then. Developers wanted on the two focus branches. 21:38
21:38 Coke left 21:39 NotFound left 21:42 bluescreen joined
allison (Looks like chromatic didn't copy in my report when I thought I couldn't make it, so...) 22:01
Last week:
- Worked on Pynie, build cleanups to make sure it works with current parrot.
- Preparing Pynie talk for PyCon.
- Further work on mini-language, talked with Patrick about possible nqp-rx bug.
Next week:
- Speaking at PyCon and participating in VM and Python implementations summits.
- Start on PCC deprecations to reverse order of 'set_returns' and 'get_results' (to the "natural" order.)
EOR
22:16 darbelo left 22:18 chromatic left 22:22 Whiteknight joined 22:35 PacoLinux left 23:48 dukeleto left