Perl 6 - the future is here, just unevenly distributed

IRC log for #parrotsketch, 2009-07-14

| Channels | #parrotsketch index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:46 japhb joined #parrotsketch
07:53 rin1024 joined #parrotsketch
07:57 mikehh joined #parrotsketch
08:17 Gerd joined #parrotsketch
08:27 Gerd left #parrotsketch
12:04 Whiteknight joined #parrotsketch
14:33 pmichaud joined #parrotsketch
14:59 rin1024__ joined #parrotsketch
16:00 NotFound joined #parrotsketch
16:58 pmichaud Report for 2009-07-14:
16:58 pmichaud What I did:
16:58 pmichaud * Rakudo now passing 11,784 spectests (+199 since last week)
16:58 pmichaud * Worked on diagnosing and providing -G bug updates for rakudo
16:58 pmichaud * Rakudo is no longer experiencing -G bugs
16:58 pmichaud * MANY THANKS to all who helped with this, including bacek++, chromatic++, Infinoid++, NotFound++, Whiteknight++
16:58 pmichaud * Corrected handling of dynext in load library path
16:58 pmichaud * Fixed a bug in the tracing runcore
16:59 pmichaud * Worked on a patch to eliminate use of string comparisons for 'isa' testing
16:59 pmichaud ** Provides an 11% speed improvement for rakudo spectests
16:59 pmichaud ** Mostly works -- will send to mailing list for review and comment
16:59 pmichaud * Added <?> and <!> to Perl6Regex syntax
16:59 pmichaud * Removed deprecated methods and regexes from PGE
16:59 pmichaud * Published instructions for building Rakudo releases
16:59 pmichaud * Invited people to become Rakudo release managers
16:59 pmichaud * Cleaned up rakudo code for some -G bug handling
16:59 pmichaud * Lots of long-term planning and brainstorming
16:59 pmichaud What I didn't do that I said I would do
16:59 pmichaud * I didn't work on build refactor for Parrot (to look like install tree)
16:59 pmichaud * I've decided I'm not really the person to be leading this
16:59 pmichaud * I did send my plan to the mailing list
16:59 pmichaud * Hopefully someone else can/will pick up the ball
16:59 pmichaud What I'm doing this week:
16:59 pmichaud * Finishing HLL interop docs and tasks
16:59 pmichaud * A few PCT and NQP improvements
16:59 pmichaud * Various improvements to Rakudo (Vienna.pm Rakudo Day)
16:59 pmichaud * Working on Hague grant
16:59 pmichaud ** redesign of operator precedence parser
16:59 pmichaud * Updating presentations for OSCON and YAPC::EU
16:59 pmichaud What I'm blocking on:
16:59 pmichaud * Insufficient waking hours
16:59 pmichaud EOR
17:06 mikehh joined #parrotsketch
17:07 NotFound What I did:
17:07 NotFound * Closed some old RT tickets.
17:07 NotFound * Cleaned some 'might be clobbered' warnings seeen with --optimize.
17:07 NotFound * Miscellaneous cage cleaning and fixing.
17:07 NotFound * Talked a lot on irc ;)
17:07 NotFound What I'm doing:
17:07 NotFound * Looking at exception handling and related problems.
17:07 NotFound EOR
17:08 darbelo joined #parrotsketch
17:09 Whiteknight # What I Did Last Week
17:09 Whiteknight - Created a new "Infinite Memory" GC core as a template that new GC hackers can follow and learn from
17:09 Whiteknight * (Thanks for suggestion from Coke++ and Austin++)
17:09 Whiteknight * Used the new core to find problems with GC core encapsulation (TT #828)
17:09 Whiteknight - Tracked down the root cause of the abort-before-exit error that is plaguing Rakudo
17:09 Whiteknight * (Thanks for help from Allison++, chromatic++, and pmichaud++ on that!)
17:09 Whiteknight * Suggested a potential fix and waiting for feedback (TT #833)
17:09 Whiteknight - Fixed error where "exit 1" didn't change Parrot's exit value
17:09 Whiteknight - Wrote some assorted function-level documentation
17:09 Whiteknight - Built LLVM and Clang, and updated PLATFORMS with information.
17:09 Whiteknight # What I'm Doing This Week
17:09 Whiteknight - Hopefully (finally) getting io_cleanups locked down and merged (Infinoid++ for his help!)
17:10 Whiteknight - Taking lessons learned from the context_pmc branch and writing up a task list for continuing that work
17:10 Whiteknight - Testing for the release
17:10 Whiteknight - Doing some deprecation stuff that can be merged post-release.
17:10 Whiteknight # What I'm Blocking On
17:10 Whiteknight - Tuits
17:35 darbelo Report for this week is on the blog: http://www.parrot.org/content/week-decnum-dynpmcs.
17:58 cotto # What I did:
17:58 cotto * more opsc work, basically understanding what ops2c does and where various functionality should go in opsc
17:58 cotto * lots of syncing with bacek++
17:58 cotto * also started work on runcore-independent post-past ops processing
17:58 cotto # What I hope to do and how many tuits I expect to have:
17:58 cotto * nothing external
18:02 chromatic joined #parrotsketch
18:03 chromatic Working on pluggable, encapsulated runcores.
18:03 chromatic Will continue to work on them this week.
18:03 chromatic Won't enable them by default by 1.4, but may add a compile-time flag to enable pluggability.
18:03 chromatic Will work on weird bugs for the release as necessary, prioritizing those instead of runcores.
18:07 Util joined #parrotsketch
18:09 Util # Done:
18:09 Util * Worked heavily on #691 (installed pbc_to_exe can't find config.fpmc.)
18:09 Util - After being Coke and cautioned me against an `is_installed` approach, I got it working via `cc_inc` changes in the fpmc build.
18:09 Util - Allison's new code (r39993, r39995, r40038, r40039), uses the `is_installed` approach as a short-term fix.
18:09 Util - Even though the issue is resolved, my code will move us toward the longer-term install strategy, so I am re-working my code to fit with Allison's.
18:09 Util ( My fault for not checking the SVN updates. ++Allison )
18:09 Util - Candidate patch by tomorrow.
18:09 Util * Closed #717 (parrot_config segfaults when invoked with the --dump option);
18:09 Util - Plan to open related ticket to fix or deprecate Parrot_io_write.
18:09 Util * Reviewed Parrot_io_write, Parrot_io_puts, and print_warning for deprecability. Still in progress.
18:09 Util * Reviewed S02 and related tests for clarity. Still in progress.
18:09 Util # Plan for next week:
18:09 Util * Finish #691
18:09 Util * Kill off Parrot_io_write
18:09 Util * P5toP6 tinkertoy progress
18:10 Util # Blockers:
18:10 Util * Marathon of Harry Potter movies 1..5 running at local cinemaplex.
18:10 Util * Even so, medium Tuit harvest expected.
18:10 Util .end
18:16 allison joined #parrotsketch
18:19 Tene Last week: last week: wrapped a gui lib in Parrot, got some basic windows displayed, working on OO interface for it
18:19 Tene this week: More gui, blog post, curses
18:19 Tene blocking: I have some work pending on OO for pynie, but that requires :vtable('invoke'), which is blocking on pcc refactor
18:19 Tene Which I heard was scheduled to come in shortly after 1.4
18:27 allison - Ticket queue work, especially install-related tickets, preparing for release.
18:27 allison - Fixed pbc_to_exe so it works from an installed parrot. Tested on Pynie and Tcl.
18:27 allison - Plan to build Debian and Ubuntu packages this week to make sure we have no issues for 1.4.
18:27 allison EOR
18:27 moritz joined #parrotsketch
18:31 cotto hi
18:31 Util hi
18:31 moritz hello birdmonks
18:31 darbelo hola
18:31 Whiteknight hello
18:31 allison hi
18:32 allison we've lost our handy channel topic with the link to the new procedure
18:32 cotto q1q
18:32 allison has everyone preposted their reports?
18:32 Whiteknight yes
18:32 NotFound hola
18:32 moritz allison: no, I can see it; maybe an irc server messup
18:33 allison moritz: could be
18:33 Util in irssi, it is cut off at 'prepost repor'
18:33 Util cmd /topic to see all
18:33 moritz anyway, the link is https://trac.parrot.org/parrot/wiki/ProposedParrotsketchProtocol
18:34 allison and the log of reports is http://irclog.perlgeek.de/parrotsketch/2009-07-14
18:35 allison let's start with questions, then roadmap review
18:35 allison cotto
18:36 cotto I'm drafting a message to parrot-dev about the release.  Is Saturday a good cut-off point for any disruptive changes?
18:36 cotto (at which point we can focus on testing HLLs, platforms, etc)
18:36 Whiteknight it's good for me
18:36 allison yes, for a packaged release that's a good amount of time
18:36 cotto eoq then
18:37 allison other questions?
18:37 NotFound I have a few
18:37 Whiteknight I have one too
18:37 NotFound TT #826 Deprecate Parrot_str_free?
18:38 chromatic Reluctantly yes, with the caveat that it is *not* the problem with Rakudo.
18:40 allison NotFound: go ahead and put in a deprecation notice, that still leaves us free to keep it if someone needs it
18:40 NotFound Ok.
18:41 allison Next q from NotFound?
18:41 NotFound Second question: What to do with exceptions thrown from :load or :init blocks? Let them propagate out of imcc, or catch them an abort compiling/loading?
18:41 allison let them propagate
18:41 NotFound s/an/and
18:41 Whiteknight this is along the same lines as my question
18:42 allison I mean, if nothing catches them, they'll end execution anyway
18:42 Whiteknight (not exactly the same)
18:42 NotFound allison: the problem is when someone catches then.
18:43 Whiteknight it's the inferior runloops problem
18:43 Whiteknight Check out TT #833 for a good example and analysis of it
18:43 NotFound Forgettting the runloop issues for a now, it lets the module semi-loaded and will be rare that the caller knows how to repair it.
18:43 Whiteknight problem stems from an exception in a child runloop being handled by code that had been running in a parent runloop
18:44 allison we don't want a scenario where it's impossible to cleanly handle any exception thrown by an embedded parrot
18:44 * allison looking at ticket
18:44 Whiteknight There are a few good ways I think we can resolve this issue once and for all, but we need to pick the best from the available options
18:45 NotFound allison: I tested a way to handle the issue: returnning an error code from the fixup routines, checking it in the compiler calls, and throw an exception here where appropiate.
18:46 Whiteknight a dual-stage exception would work in that case, yes
18:46 Whiteknight but that requires the scheduler to know which runloop a handler is associated with, and to "rethrow" the exception if it's not currently in that runloop
18:46 allison I like the "continuing in the same runloop" idea, but it doesn't work for general cases of we're calling a chunk of PIR code from within a chunk of C code
18:47 Whiteknight you're right, it doesn't
18:47 Whiteknight so are we looking at disallowing cross-runloop exception propagation, or dual-stage exception throwing?
18:47 allison what we need is better context cleanup with exception handlers
18:48 chromatic Disallowing cross-runloop propagation seems sensible and necessary.
18:48 allison chromatic: except that it leaves us with a crippled exception system
18:48 Whiteknight There is a difference between PIR called from C inline, and PIR called from C that can be appended into the current runloop however
18:49 allison minimizing the number of runloops is certainly a plus
18:49 Whiteknight We could disallow exception propagation for the strict inline cases only
18:49 pmichaud I don't understand "disallowing cross-runloop exception propagation"
18:49 NotFound I think we just need to disallow resume.
18:49 pmichaud if the PIR that I'm compiling throws an exception, my eval() function (in PIR) needs to be able to catch it.
18:49 allison Whiteknight: yes, the cases that could be scheduled instead of immediately executed are essentially tail calls
18:50 Whiteknight pmichaud: in the case we saw where there were two runloops on the stack, an exception thrown from the "child" runloop can't be handled by a handler registered with the "parent" runloop
18:50 allison Whiteknight: the C could couldn
18:50 pmichaud Whiteknight: I think that's not workable.
18:50 allison 't depend on the return value
18:50 Whiteknight allison: exactly my thinking, we could use the same tailcall mechanisms
18:50 Whiteknight pmichaud: I think it can be in limited situations
18:50 chromatic We're getting a long way from priorities and scheduling into implementation here.
18:50 allison pmichaud: it's not
18:50 Whiteknight okay, can we continue this discussion in #parrot?
18:51 allison chromatic: good point, we can keep talking about this on #parrot
18:51 pmichaud fine with me
18:51 NotFound Fine
18:51 Whiteknight okay. That satisfies my question too
18:52 * moritz has a question on behalf of bacek
18:52 chromatic Go ahead.
18:52 moritz any objections to merging tt761_keys_revamp branch into trunk?
18:52 pmichaud before the release?
18:52 moritz I mean before the release, and if there's no black smoke
18:52 allison moritz: is it needed before the release?
18:53 moritz allison: I'm not entirely sure, but I don't think it's too urgent
18:53 allison moritz: let's do it right after, then
18:53 mikehh joined #parrotsketch
18:53 chromatic It improves a lot of grotty code, on the plus side.
18:54 allison moritz: make sure you have in deprecation notices for any API changes
18:54 moritz allison: I'll pass that on to bacek++
18:54 cotto I'd like to see it in 1.4 for that reason, but it's not urgent
18:54 pmichaud as long as rakudo builds and passes all spectests, I have no strong objection.
18:54 chromatic I'd rather support clean code than the mess we have now.
18:54 pmichaud I'll give the branch a try with rakudo and see what I get.
18:55 webnov8 joined #parrotsketch
18:55 allison we're still getting reports on parrot-dev of failing tests on various platforms
18:55 webnov8 left #parrotsketch
18:56 allison avoiding the "rush to fix at the last minute before the release" is definitely good
18:56 moritz afaict they are all the same tests; bacek thinks they rely on hash order where they shouldn't (I haven't checked that)
18:56 pmichaud queue 1 item from me
18:56 * moritz doesn't mind either way, just wanted to bring up the topic
18:57 chromatic pmichaud?
18:58 pmichaud I'll be putting this in an email to parrot-dev, but I again want to express my appreciation to everyone who helped excise the -G errors from Parrot for Rakudo
18:58 pmichaud I had some doubts as to whether it would be done in time for the 1.4 release, but you all came through in fantastic fashion
18:58 pmichaud so, thanks.
18:58 pmichaud (and yes, I'm not seeing any more -G related errors for the past several days now)
18:59 pmichaud endofitem
18:59 allison NotFound: did we finish all your questions?
18:59 allison and IIRC, Whiteknight had one
19:00 allison (then I'll hand off the rest to chromatic)
19:00 Whiteknight my question was answered
19:01 chromatic Alright, let's do milestone review.
19:01 chromatic #1 install -- I've seen some pbc_to_exe patches.  What's the status and what needs to happen there?
19:01 NotFound allison: yes
19:01 allison pbc_to_exe now works, tested with pynie and tcl
19:01 allison needs testing with other languages
19:02 Util My pbc_to_exe upcoming patches are refactorings, and not critical to actual install.
19:02 chromatic What else is necessary to make a language work from an installed Parrot?  Dynops?  Dynpmcs?
19:03 pmichaud after I do the hll stuff on my plate, I'll give pbc_to_exe a try.
19:04 pmichaud or I can reverse the priority of those two items -- you can choose.
19:04 allison chromatic: I think we resolved those issues for partcl
19:04 chromatic Anything else for installation?
19:05 pmichaud have we been able to test partcl with any of the platforms identified as problems with the rakudo ins branch?
19:05 allison pmichaud: what were the platforms?
19:05 pmichaud I don't remember off the top of my head -- they're in RT and in the message I sent, though.
19:05 pmichaud basically it was issues in passing the appropriate link options on those systems
19:05 pmichaud because parrot's defaults didn't work there
19:06 allison pmichaud: will look them up
19:06 pmichaud (I'm finding them now.)
19:06 chromatic Oh right, you can't have a space in one of the options on Windows, I think.
19:06 pmichaud and you *have* to have a space on some other platform.
19:07 allison chromatic: the install process refactor (making the build tree look more like the install directories) will wait until after 1.4
19:08 pmichaud RT #66558, #66560, #66574
19:08 chromatic Are we on track to meet the spirit of the goal anyway?
19:08 allison thanks, patrick
19:09 pmichaud #66560 is likely a Rakudo problem and not a Parrot one
19:09 allison chromatic: I'd say so. Will try to knock down as many install tickets as possible before Saturday
19:10 pmichaud #66574 may be also -- just related to Rakudo's "different" approach to trying to build the dynpmcs
19:10 chromatic #2 -- HLL interoperability.
19:10 pmichaud but 66558 is definitely an issue
19:11 pmichaud I think we're well enough along on HLL stuff that we can consider ourselves to be in good shape for this (more)
19:12 pmichaud I'm expecting to tighten up some of the specs and clean a few things up, but we at least have enough HLL interop taking place now that we can claim to be supporting HLL interop with only a few hiccups
19:12 pmichaud I'll make sure any existing open tickets are addressed by Friday morning.
19:13 chromatic #3 -- I asked jhorwitz about this, and he's making progress.  I'm not sure it'll land by the release however.
19:13 chromatic That's the external API.
19:13 chromatic He wanted to have a draft by last weekend.
19:13 allison #3 is a spec target, rather than an implementation target?
19:13 allison if so, the critical bit is deciding if we need any deprecation notices in 1.4
19:14 chromatic Right.
19:14 pmichaud my feeling was that we originally intended #3 to be an implementation target.
19:14 pmichaud I'm fine if it's a spec target, but people are already asking about external API stuff.
19:15 NotFound We have some documentation and examples that works.
19:15 allison pmichaud: aye, and it's already possible to embedd/extend parrot, but people need clear guidance (i.e. documentation) on what is and isn't part of the API
19:17 pmichaud I thought part of the milestone was also reviewing PARROT_EXTERN and PARROT_API markers.
19:17 chromatic It was.
19:17 NotFound Time to resurrect PARROT_API?
19:17 allison yes, we switched to PARROT_EXPORT to make it clear that that flag was just meant to provide what various platforms need
19:17 chromatic I mailed jhorwitz about the deprecation notices.
19:18 pmichaud right, but we were also intending to have PARROT_API markers
19:18 allison with plans to add PARROT_API once we defined which functions were part of it
19:18 allison yes
19:19 NotFound And will be good to have some test that verifies that all PARROT_API marked functions are documented as external api, and viceversa.
19:19 allison the deprecation notice there would be relevant to embedders, basically "in the future, any function not marked with PARROT_API isn't intended for use in embedding or extensions"
19:20 chromatic Right.
19:20 pmichaud works for me.
19:20 allison sounds good, and thanks chromatic for contacting jhorwitz
19:21 pmichaud can I pass a long a list of functions that Rakudo is currently relying on as candidates for PARROT_API ?
19:21 pmichaud *along
19:21 allison yes, very helpful
19:23 chromatic Do we need to add any more priorities?
19:23 allison we're good for 1.4
19:24 allison for 2.0, do we want to break down the list by month?
19:25 allison or, keep it as a 6 month priority list?
19:25 chromatic Avast!  Monthly.
19:26 allison okay, we can break that down next week
19:26 chromatic Any other questions?
19:27 Tene 1
19:27 Tene allison: is pcc refactor still scheduled to land shortly?
19:28 allison after 1.4, yes
19:28 Tene Thanks.
19:28 Tene I'm done.
19:29 chromatic Okay, thank you all.
19:29 moritz left #parrotsketch
19:29 Util left #parrotsketch
19:31 chromatic left #parrotsketch
19:31 NotFound left #parrotsketch
19:31 pmichaud left #parrotsketch
19:33 PacoLinux left #parrotsketch
19:34 eternaleye joined #parrotsketch
19:52 darbelo left #parrotsketch
20:52 ascent joined #parrotsketch
21:28 Whiteknight joined #parrotsketch

| Channels | #parrotsketch index | Today | | Search | Google Search | Plain-Text | summary