Camelia, the Perl 6 bug

IRC log for #parrotsketch, 2009-09-22

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

All times shown according to UTC.

Time Nick Message
00:02 Whiteknight joined #parrotsketch
05:52 kurahaupo joined #parrotsketch
07:14 cotto_w0rk joined #parrotsketch
11:34 Whiteknight joined #parrotsketch
14:18 Util joined #parrotsketch
15:58 NotFound joined #parrotsketch
16:52 fperrad joined #parrotsketch
17:03 smash joined #parrotsketch
17:10 darbelo joined #parrotsketch
17:17 cotto_work # What I did:
17:17 cotto_work * profiled pprof2cg (tuit were short this week)
17:17 cotto_work # What I hope to do and how many tuits I expect to have:
17:17 cotto_work * same as last week, hopefully with more tuits
17:17 cotto_work # What could block my progress:
17:17 cotto_work * rl
17:17 cotto_work .eor
17:24 fperrad # What I did last weeks :
17:24 fperrad * Lua : rewrite my Test Suite in pure Lua
17:24 fperrad as an independent project, see http://testmore.luaforge.net/
17:24 fperrad (include a Lua port of Test::More)
17:24 fperrad * load_language : converts WMLScript, Markdown & Lua
17:24 fperrad # What I must to do
17:24 fperrad * prepare a talk about Parrot for http://act.osdc.fr/osdc2009fr/
17:24 fperrad .eor
17:39 darbelo #did:
17:39 darbelo * Removed PIC.
17:39 darbelo * Moved the JIT call frame builder into it's own file.
17:39 darbelo * Gave the frame builder it's own configure probe.
17:39 darbelo * Obliterated the rest of the JIT.
17:39 darbelo * Removed the JIT-dependent exec core.
17:39 darbelo #will try to:
17:39 darbelo * Go back to the strstart removing.
17:39 darbelo * More pmc_freeze.c cleanups
17:39 darbelo #Might block on:
17:39 darbelo * Tuit shortage.
17:39 darbelo .eor
17:43 NotFound What I did:
17:43 NotFound * Applied some patches.
17:43 NotFound * Miscellaneous fixes.
17:43 NotFound * Diagnosed problem in MySql module.
17:43 NotFound What I will do:
17:43 NotFound * Fix problems that intereferes with MySql module, improve it.
17:43 NotFound Q2Q
17:43 NotFound .eor
17:50 mikehh What I did in the last week:
17:50 mikehh * building and full testing parrot on amd64 and i386
17:50 mikehh * fixing codetest/manifest_tests failures
17:50 mikehh * testing language builds on latest parrot, mainly rakudo and partcl
17:50 mikehh * worked on make cover - added more coverage and
17:50 mikehh * got cover-clean to remove all files generated by make cover
17:50 mikehh * except cover_db directory which is removed by make realclean
17:50 mikehh What I intend to do next week:
17:50 mikehh * continue testing
17:50 mikehh * get fulltest to run all tests
17:50 mikehh .eor
17:59 dukelet0 'ello
18:02 dukelet0 What I did:
18:02 dukelet0 * Working on blog post about the Parrot Shell
18:02 dukelet0 * Benchmarking Euler problems on Parrot across released version
18:02 dukelet0 * Working on the Blizkost test suite
18:02 dukelet0 * Applying patches
18:02 dukelet0 Plan:
18:02 dukelet0 * More of the same
18:02 dukelet0 Blocking on:
18:02 dukelet0 * Too damn nice outside in PDX.
18:02 dukelet0 .eor
18:02 dukelet0 s/version/versions/
18:05 darbelo left #parrotsketch
18:09 darbelo joined #parrotsketch
18:20 chromatic joined #parrotsketch
18:20 chromatic joined #parrotsketch
18:21 chromatic I worked on optimizations and bug fixes.
18:21 chromatic I helped remove the JIT.
18:21 chromatic This coming week, I hope to remove more deprecated features and work on other optimizations.
18:22 chromatic I also hope to document some of the slang primitives to help us figure out Lorito primitives.
18:25 allison joined #parrotsketch
18:27 Util # Done
18:27 Util * TT#994 - Set up local git-svn clone for auto-prop experiment; experiment still in progress.
18:27 Util * TT#389 - Poked at pbc.c, trying to keep subs with :method out of the namespace. It poked back, hard. Traced to namespace.pmc add_to_class().
18:27 Util * Attended Atlanta LinuxFest. 500+ attendees.
18:27 Util = Python had a *booth*, with full-color banner, staff answering questions, code and websites being demoed...
18:27 Util @ Grrrr. Atlanta.pm would have staffed a Perl booth, if we had only known.
18:27 Util = OTOH, a Webhosting booth gave away copies of 2009-09 LinuxProMagazine (issue 106), containing the "Birdsong" Parrot article. (Can't find it online, though)
18:27 Util # Plan for next week:
18:27 Util * Make SVN properties do-the-right-thing for `git-svn` users (TT#994). Should finish in the week, either in success or failure.
18:27 Util * Brain-dump last weeks research into TT#389. Continue poking; medium chance of success.
18:27 Util # Blockers:
18:27 Util * None; more tuits available this week.
18:27 Util .end
18:30 mikehh I make it time
18:30 chromatic Hello.
18:30 darbelo Hola.
18:30 mikehh Hi there
18:30 chromatic Let's review last week's goals.
18:30 chromatic How did we do removing the old JIT?
18:31 mikehh most of it gone
18:31 fperrad hello
18:31 cotto_work hio
18:31 NotFound hola
18:31 darbelo The part that still there is the onw we want to keep.
18:32 darbelo I'd call it 'succesful'
18:32 chromatic How much refactoring is left of what remains?
18:32 mikehh me too
18:33 Util hi
18:33 chromatic How about improving the test coverage of Exception?
18:35 kj joined #parrotsketch
18:35 mikehh make cover reports 85.9% on exception.c
18:35 NotFound I've done a bit just a few moments ago
18:36 allison joined #parrotsketch
18:36 mikehh 95.4% on exceptionhandler.c
18:37 chromatic Can you make a list of what we need to get to 100% on the wiki?
18:37 mikehh I'll give it a go
18:38 chromatic How about MultiSub?  Did anyone work on that?
18:38 jrtayloriv joined #parrotsketch
18:39 Util multisub.{c,pmc} had no change in coverage numbers from r40951 to r41406.
18:40 chromatic Let's keep it on the list for next week then.
18:40 chromatic How did we do on branch merges?
18:40 mikehh good
18:40 cotto_work thanks to bacek and his git-svn magic
18:40 mikehh especially kill branches
18:40 darbelo gc-refactor merged, kill_pic branched and merged, kill_jit branched_and merged
18:40 NotFound kill++
18:41 darbelo all dead now.
18:41 chromatic Do we have upcoming branches to merge?
18:41 jrtayloriv (sorry I'm late -- howdy)
18:42 allison (looks like my connection dropped off before my report made it into the channel, can fill in later)
18:43 darbelo no branch other than pcc has commits in the last month. Merges look unlikely.
18:43 chromatic Anything else to review from last week, tech-wise?
18:44 Util RT#53302 says that the `nsentry` branch might be removed after a `diff` of it is added to TT#389.
18:44 cotto_work q1q
18:44 chromatic Okay.
18:44 NotFound q2q
18:45 chromatic Let's put MultiSub on the testing queue for this week.
18:45 chromatic Let's review milestones.  Can someone who's not at a conference go through this list?  https://trac.parrot.org/parrot/report/14
18:45 chromatic I have done a bit of work on pruning C data structures; will mail the list later.
18:46 allison_ is vtable swap going to be worked on this month?
18:47 allison_ i.e. should we reschedule or drop the task?
18:47 allison_ (it may end up being irrelevant, if lorito goes as planned)
18:48 chromatic It's become less of a priority, thanks to other changes.
18:49 allison_ bump after 2.0? or drop from roadmap tasks?
18:49 chromatic Let's defer it until 2.1.
18:49 allison_ 2.2 it is
18:49 mikehh TT #566, #567, #568 are all hll_interop stuff (pmichaud)
18:49 NotFound Looks like almost no one knows what needs to be done.
18:49 * dukelet0 looks at milestones
18:50 allison_ actually, 2.6, since we haven't broken out the post-2.0 milestones yet
18:50 dukelet0 i will add enough docs to the parrot_debugger to close before 1.7
18:50 allison_ the hll_interop task needs a revisit
18:51 allison_ as in "what's been done, what needs to be done, what's blocking?"
18:51 Util TT#600 (bytecode testing framework) needs more detail before I would tackle it.
18:51 allison_ Util: would you feel comfortable putting together a first draft of what you think might need to be done, so the group can expand/discuss?
18:51 Util Doh!
18:52 mikehh the testr option compiles to bytecode and then tests it
18:52 allison_ The basic task is just "make it possible to test a bytecode file"
18:52 Util I will make a first draft.
18:53 allison_ Util: thanks!
18:53 Util ...if you tell me what you are testing for - loadability? canonical structure?
18:53 mikehh rakudo also compiles to .pbc as well
18:53 allison_ Util: more general than that
18:53 Util OK
18:53 allison_ Util: we should be able to run any test we currently run in PIR from a bytecode file instead
18:54 allison_ (that's the only way to be sure the bytecode is working)
18:54 Util Aha! got it!
18:55 NotFound We are not. The problem of not storing the encoding of constant strings is still unresolved.
18:55 allison_ on seed libraries, how's the Aviary, Plumage stuff coming?
18:55 allison_ should we reschedule/rename this task to fit that work?
18:55 fperrad TT #1052 is needed
18:56 allison_ fperrad: for the testing task?
18:56 darbelo japhb was working on bootstraping some aviary stuff.
18:57 pmichaud joined #parrotsketch
18:58 fperrad allison_, yes, TT #1052 is :  Add --target=pbc to HLLCompiler
18:58 mikehh assigned to pmichaud
18:59 allison_ fperrad: aye, took a look, it's not an absolute requirement for bytecode testing (since it could always be done in a separate step), but nice to have
18:59 NotFound allison_: Can we host some modules at svn.parrot.org ? We were talking yesterday about MySql module leaving hist nest i examples.
18:59 pmichaud right, I can't imagine that TT #1052 would be a requirement
19:00 pmichaud clearly we can produce .pbc without having --target=pbc
19:00 allison_ NotFound: we could... though it might be better to follow the approach we've taken with languages
19:00 fperrad sorry, I think as HLL implementor
19:01 allison_ NotFound: where each group of modules keeps it's own repository
19:01 allison_ NotFound: (in the source control tool of their choice)
19:01 NotFound allison_: When/if it gets mature enough and more people work on it, sure.
19:03 allison_ NotFound: we can create another svn repo easily enough on svn.parrot.org. Will it be used by enough modules to be worth it?
19:03 allison_ (input from others on channel?)
19:04 NotFound allison_: main points are: be easy for me to work on it, and have a url that plumage can use.
19:04 Coke joined #parrotsketch
19:04 * Coke goes whoops.
19:04 pmichaud I would just do modules in github, sourceforge, etc.
19:04 allison_ NotFound: plumage can use any URL, it's a distributed module index
19:04 dukelet0 github++
19:04 pmichaud pick the one you're most productive with
19:05 NotFound Being easy for me excludes git.
19:05 darbelo NotFound: google code has svn and is pretty easy to set up.
19:05 pmichaud yes, googlecode is also good.  that's what partcl is using
19:05 pmichaud and pynie
19:05 NotFound Ok, I'll give it a try.
19:06 allison_ questions, NotFound you had 2 queued, was that one?
19:06 NotFound allison_: TT #1057, subsystem prefix for list.c functions.
19:07 * allison_ looking
19:07 NotFound Also MySql related, BTW
19:08 chromatic I prefer Parrot_list as a prefix; it's only one character longer and it's much clearer.
19:08 allison_ NotFound: lists aren't a specific enough subsystem
19:08 chromatic ... but I'm not sure we *need* those functions in general.
19:08 allison_ so, Parrot_pmc
19:09 NotFound The api page says 2 or 3 letters
19:09 NotFound chromatic: they are used.
19:09 allison_ (or, more accurately, lists aren't a subsystem)
19:10 chromatic I know we use them now, but I think they're only used in a few places and largely vestigial.
19:10 NotFound allison_: Parrot_pmc_list_... ?
19:10 allison_ NotFound: that would work, or Parrot_pmc_array
19:10 NotFound chromatic: maybe, but I need to rename it, is blocking MySql work.
19:11 allison_ NotFound: go ahead, it falls under the general deprecation item
19:11 darbelo Rename them now and open ticket for their obliteration?
19:12 mikehh kill++
19:12 allison_ darbelo: yes, or at least a ticket to check and see if they can die
19:13 pmichaud if rakudo uses them (unlikely), I'm okay with them renaming.
19:13 NotFound I think is only use by the Array pmc and imcc
19:14 allison_ NotFound: there's a good chance they should be refactored into Array's code, then
19:14 mikehh BTW Coke++ for closing RT tickets and getting others to
19:15 allison_ NotFound: for now, rename, enter a ticket to explore what to do next
19:15 pmichaud Yes, Coke++
19:15 NotFound Ok
19:15 pmichaud +1
19:15 NotFound Next question: the exception thrown by the exit opcode is resumable?
19:16 Tene NotFound: anything thrown by throw_from_op is resumable, but throw_from_c or whatever isn't.
19:16 Tene so, probably yes
19:16 NotFound Actually is, but I doubt any code that uses it expects to be resumed.
19:16 Coke I can see wanting an on-exit handler.
19:16 Coke (which might be a non-sequitor.)
19:16 Tene Coke: that would invoke some other code, but wouldn't resume.
19:17 NotFound The real question is: can we get rid of the continuation created in it?
19:17 Tene NotFound: why?
19:17 allison_ NotFound: the spec lists it as "handleable", but doesn't mark "resumable"
19:17 NotFound Tene: to avoid debugging strange failures caused by a resume.
19:17 pmichaud (on-exit handler)   In general, we want to have an "on-exit" possibility for all subs, not just main
19:18 dukelet0 pmichaud: like "after" in Moose ?
19:18 pmichaud dukelet0: perhaps.  In Perl 6 it's "leave"
19:18 Tene NotFound: If someone is trying to resume an exit exception, I don't see any reason to disallow it.  It's just an exception like any other.
19:18 pmichaud dukelet0: I think that "after" in Moose is more of a wrapper than an on-exit handler
19:20 NotFound Tene: if we allow it to be resumed, every time you use exit you must add code to handle the possible resume.
19:20 pmichaud NotFound: that's not much different than any other "throw" situation.
19:21 NotFound pmichaud: then kill the opcode and use throw
19:21 Tene Do we also need to always check that a sub that we're invoking still exists, just because there's the possibility that someone has deleted it?
19:22 pmichaud ....deleted it?
19:22 pmichaud how does one "delete" a referenced sub?
19:22 Tene I'm pretty sure that I remember doing that... remove it from the namespace.
19:22 pmichaud if anything has a pointer to the sub, it should still exist.
19:23 allison_ NotFound: are you asking whether we should add functionality to exit? or remove existing functionality?
19:23 dukelet0 pmichaud: namespace elements can be deleted
19:23 pmichaud that would include any contexts, outer lexical references, etc.
19:23 Tene It was just an example of doing something stupid an dbroken.
19:23 pmichaud dukelet0: deleting a namespace element doesn't delete the sub.
19:23 pmichaud at least, it shouldn't delete the sub
19:23 NotFound allison_: I see it at removing existing unfunctionality.
19:23 NotFound s/at/as
19:23 dukelet0 pmichaud: we should have a test for that
19:23 Tene and resuming an exit exception would fall into that category.
19:24 Tene pmichaud: there are plenty of places in PCT and rakudo where functions are fetched from namespaces.  That's all I was thinking of.
19:24 NotFound Tene: no, faliling to find a sunb throws an exception, resuming an exit can give a segmentation fault.
19:24 pmichaud assuming that an exit exception has a resume entry (a Continuation), that continuation would reference the sub, and the sub would therefor be marked as live and not be gc'ed
19:24 Tene Please ignore my chosen example.  It wasn't a good idea.  :)
19:25 pmichaud i.e., the Sub PMC would exist simply because there's a Continuation/Exception that continues to reference it
19:25 NotFound Is valid code to have an exit at the end of a bytecode segment, and in fact we have examples and tests like that.
19:26 pmichaud but going a bit further (more)
19:26 pmichaud it wouldn't bother me if "exit" throws an unresumable exception.  If someone needs a resumable exception, we have "throw" for that.
19:27 NotFound pmichaud: that's my point, if for some you want a resumable exit you can throw an exit exception
19:27 NotFound But the current, and what most people will expect for the exit opcode, is to not needing to care for resume.
19:28 pmichaud but that's true for many 'throw' usages as well
19:28 pmichaud i.e., many people assume a thrown exception won't resume.
19:28 pmichaud (not a counter-argument, just pointing out that throw and exit aren't any different in this respect)
19:29 allison_ I'm okay with non-resumable exit
19:29 allison_ I'm about to have to leave for lunch
19:29 pmichaud otoh, it seems to me that exit could use the same logic as throw
19:30 cotto_work allison_, could you look over GitObjections on the wiki in the near future and make sure all your objections are present?
19:30 NotFound pmichaud: Given that few languages have resumable exceptions, yes, most people don't expect. But that's only a documentation and examples problem.
19:30 Tene pmichaud: it currently does
19:30 allison_ did cotto have a question before we go?
19:30 cotto_work that was it
19:30 allison_ cotto: yes, I'll look over it
19:30 pmichaud Tene: then why is there an issue with exit and not with throw?
19:30 cotto_work thank
19:30 cotto_work eoq
19:31 cotto_work s/k/ks/
19:31 NotFound It currently does, the point is to change the current behaviour and docuemnt it.
19:31 allison_ pmichaud: I mainly see it as a question of "why have exit if it does the same thing as throw?"
19:31 allison_ but, I don't have a strong opinion here
19:31 pmichaud allison_: that's reasonable to me also
19:31 allison_ NotFound: it would be subject to a deprecation cycle
19:31 pmichaud what are we changing about the current behavior, then, if it's already the same as throw?
19:31 NotFound The point of using exit is shortness. The need to be ready for resume is against that.
19:32 pmichaud you're trying to make it *not* the same as throw?  what's the purpose of that?
19:32 allison_ so, you can deprecate it and see if anyone complains between now and then
19:32 Tene NotFound: remove lines 890,893,894 from src/ops/core.ops
19:32 allison_ have to run, thanks everybody!
19:32 Coke allison_: ~~
19:33 Tene pmichaud: his point is that 'exit' has different expectations from 'throw', and that resuming from an exception thrown by 'exit' is unlikely to be correct in any situation.
19:33 Tene I don't know how much I agree with it.
19:33 NotFound Tene: and hard to debug if it happens.
19:33 Tene NotFound: identical debugging situation to any other resumed exception.
19:34 Tene as well, IMO, if you're resuming from an exit exception, you had better know what you're doing.  There are well-documented ways to prevent your handler from catching exit exceptions.
19:35 Tene I don't see how 'exit' is a special case here.
19:35 pmichaud I have to go as well.  It feels odd to treat 'exit' as a special case, although I see the point.
19:35 Tene IMO, it's the same as 'print' vs 'say'
19:35 pmichaud bbl
19:35 NotFound Tene: Is a different opcode, that's spècial enough for me.
19:36 Coke btw, there is a ticket somewhere where allison has proposed removing say. =-)
19:36 Tene 'say' used to be a different opcode, iirc.
19:36 Coke say used to be PIR magic. then it was an opcode.
19:36 Coke (and before that, it was just print, no newlines)
19:37 Tene and before that, you didn't even have 'print', you just had to call a method on STDOUT?
19:37 Tene ;)
19:37 * japhb appears for long enough to say:
19:37 japhb Don't kill say.
19:37 japhb My life as a PIR debugger would just be more painful with only print.
19:37 Coke (oh, I'm not planning on it.)
19:37 Tene There are quite a few opcodes that could be replaced by method calls, iirc.
19:37 japhb Two lines of code every time I wanted to print the value of a register.
19:39 Tene NotFound: It looks like allison has OK'd it, as long as it goes through a deprecation cycle, and nobody else will complain too loudly if you want to do it.
19:39 NotFound But you are complaining ;)
19:39 Tene NotFound: Please make a ticket and attach the patch I proposed, and list the date after which it can be applied.
19:39 NotFound Tene: ok
19:39 Tene and list it in the deprecated whatever place.
19:39 NotFound EOQ
19:41 mikehh anyone got anything else to say or is that a wrap-up
19:41 Tene Sounds like we're done.
19:43 dukelet0 The dishes are done, man.
19:44 Util left #parrotsketch
19:45 darbelo left #parrotsketch
19:46 NotFound left #parrotsketch
19:46 fperrad left #parrotsketch
20:04 chromatic joined #parrotsketch
20:11 chromatic left #parrotsketch
20:45 jrtayloriv left #parrotsketch
20:49 cotto_work joined #parrotsketch
22:09 allison_ joined #parrotsketch
22:09 allison_ Pasting report dropped by poor network access earlier:
22:09 allison_ - Gave a talk at the JVM Languages Summit.
22:09 allison_ - Tested Parrot on Mac OS 10.6, filed some tickets (warnings and possible future development).
22:09 allison_ - Ran some simple benchmarks on the pcc branch, show the speed is about equal to current trunk.
22:09 allison_ - Talked with chromatic about project roles and responsibilities, a "Dev Coach" role.

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