Camelia, the Perl 6 bug

IRC log for #parrot, 2008-12-18

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:05 ruoso joined #parrot
00:09 AndyA joined #parrot
00:10 tetragon joined #parrot
00:15 Whiteknight jonathan++
00:22 AndyA joined #parrot
00:26 jonathan Whiteknight: Na? Ale d'akujem...
00:26 jonathan oh
00:26 jonathan For? But thanks..
00:27 * jonathan is writing email in different language and gets confused at this time of night...
00:36 Whiteknight I love reading your Rakudo day blog posts
00:36 Whiteknight (Whiteknight's happiness)+
00:40 AndyA joined #parrot
00:48 * peters sleep &
00:53 diakopter Infinoid: do you know what happened to feather's SVN::Web?
00:53 diakopter (that made it broken since a while before now)
00:55 * jonathan loves online dictionaries. Especially ones that claim that the Slovak for "hybrid transformer" is exactly the same word they use for "crotch"...
00:56 diakopter hey, those terms are similar in english, too, I thought...?
00:57 jonathan I've never called it that!
00:57 diakopter that's what she said.
00:58 diakopter apache2: /tmp/buildd/subversion-1.5.1dfsg1/​subversion/libsvn_subr/path.c:373: svn_path_dirname: Assertion `is_canonical(path, len)' failed.
00:59 diakopter oh; that's what feather gets for being sid.
01:04 * jonathan reverts back to English mode
01:04 diakopter feather's (and sid's) subversion is r34233; this bug is fixed in r34233
01:04 diakopter oops
01:05 diakopter feather's (and sid's) subversion is r32289
01:05 jonathan Ah. :-|
01:05 jonathan It's an svn bug?
01:06 diakopter seems likely
01:06 jonathan :-|
01:06 Whiteknight i'll show you my hybrid transformer
01:06 diakopter based on [the very few] google search results of that error msg
01:06 jonathan Whiteknight: Erm. Please no.
01:06 * jonathan looks away just in case
01:07 * diakopter ponders Whiteknight's namesake/etymology.
01:09 Whiteknight somebody once asked me if it was a KKK reference
01:09 Whiteknight (it's not)
01:09 * Whiteknight wonders if you can fly a diakopter?
01:10 diakopter if I can or if one can? I can't fly myself, afaict.
01:23 ruoso joined #parrot
01:25 geof joined #parrot
01:31 Infinoid diakopter: the upgrade to subversion 1.5 changed some APIs, specifically, the format of the path arguments got a bit stricter
01:32 Infinoid you will see assertion failures related to that all over apache's error.log.  there are a couple patches floating around cpan RT to work around it in various ways
01:32 Infinoid diakopter: (done backlogging now) yeah, that.
01:38 Coke trac.parrot.org is generating warnings.
01:40 jonathan There's a Parrot Virtual Machine Workshop 2009?
01:40 * jonathan looks
01:49 * Coke wonders what svn status of "    S" is.
01:50 * jonathan didn't see that one before
01:51 chromatic File affected by svn switch, if its parent isn't switched.
01:51 chromatic cd compilers/imcc
01:51 chromatic svn switch some_tag_elsewhere
01:51 chromatic cd -
01:51 chromatic svn status -q
01:52 Coke looks like an svn switch I tried completely fubared my parrot checkout.
01:52 * Coke wipes and does a fresh checkout.
01:53 * Coke opens a bug with OSU regarding our trac install.
01:53 Coke s/U/L/
01:53 Coke OSL?
01:53 Coke purl?
01:53 purl Coke?
01:54 Coke I am amused that OSL's issue tracking system is RT.
01:54 Coke and yet we're having them run trac for us.
01:54 Coke OSL is https://osuosl.org/
01:54 jonathan The sweet, sweet smell of irony.
01:54 Coke it smells a lot like bacon.
01:55 * jonathan wishes people would talk less about bacon on this channel today :-|
01:55 jonathan I so want some now.
01:55 diakopter that's what she said.
01:55 chromatic She wants bacon?
01:56 diakopter I don't know what she meant.
01:56 diakopter needless to say, she was disappointed.
01:56 jonathan Hmmm. Be sensible and sleep OR have another beer and finish this letter...
01:57 pmichaud "Today's episode is brought to you by beer and the letter 'O'".
01:57 jonathan Fine, beer...
01:57 jonathan pmichaud: How's the initload stuff going?
01:58 pmichaud just about to get started... paula got back earlier and said "I'm too tired to cook" so we went out to eat :-)
01:58 jonathan Nice :-)
01:58 jonathan I've just spent the time catching up on personal emails.
01:59 pmichaud I need to do that also.  My inbox runneth over.
01:59 jonathan They pile up after a while... :-S
01:59 jonathan The hardest bit is when you've got one to reply to in your not-first language.
01:59 pmichaud particle: ping
01:59 jonathan At 2am.
02:00 * jonathan dreams of being fluent some day...
02:00 pmichaud beer should help with that :-)
02:00 pmichaud (replying at 2am)
02:00 jonathan I'm sure she'll be able to decode my attempt at Slovak somehow. :-)
02:03 jonathan I'm pondering taking a copy of the synopses with me on the plane/train etc over the weekend's travelling and starting on getting S14 together.
02:04 particle pmichaud: pong
02:05 pmichaud (in privmsg)
02:10 * Coke rants the googlecode commit messages are being marked as spam when going to google groups.
02:10 Coke beerios.
02:13 Coke pmichaud: ping
02:13 Coke pmichaud: nevermind.
02:13 mugwump commit messages, how quaint
02:13 pmichaud pong.
02:18 particle oh, here comes the peanut gallery from down under
02:18 particle :P
02:19 Coke ?
02:19 mugwump yeah we'll have a few more people around later putting rakudo to the test
02:19 particle is it welly.pm night?
02:19 pmichaud test?  test?
02:20 * pmichaud didn't study for an exam.  :-|
02:20 particle don't worry, it's a blood test.
02:20 particle Whiteknight: i need to apologize about messing up your release procedures.
02:21 particle little did i expect that the osuosl admins would pick the precise moment of our release to do trac admin work, i didn't see that coming when i requested it.
02:21 * mugwump builds 0.8.2
02:21 particle turns out murphy was right.
02:21 TiMBuS joined #parrot
02:22 Whiteknight it's okay, I'm very adaptable
02:22 Whiteknight plus, I was planning for something to go wrong, would have been disappointed otherwise :)
02:22 Coke hurm, pmichaud, reping.
02:22 pmichaud repong.
02:22 Coke what is the current right way to handle exceptions?
02:22 pmichaud in Parrot?
02:22 purl in Parrot is probably false.
02:23 Coke I think that's the root cause of https://trac.parrot.org/parrot/ticket/48
02:23 * pmichaud checks.
02:23 Coke purl, forget in parrot
02:23 purl Coke: I forgot in parrot
02:24 particle Whiteknight: i'll think of something else for the 1.0 release. something *truly* special >:)
02:24 pmichaud coke:  to set an exception handler:  push_eh
02:24 pmichaud actually,   push_eh label
02:24 chromatic Oh look, the same exception gets thrown multiple times.
02:24 pmichaud to remove the exception handler, pop_eh
02:25 pmichaud removing the exception handler is also needed after catching the exception, assuming you no longer wish to catch it.
02:25 pmichaud the "multiple exception handlers in backtrace"  occurs (I think) when an exception handler is triggered multiple times in the same sub.
02:25 Coke ah. so the first line of each "normal" handler should be "pop_eh" ?
02:26 pmichaud first line of a handler is usually .get_results, if any.  After that, pop_eh.
02:26 Coke danke.
02:26 pmichaud (multi exception handlers in backtrace) -- because if an exception handler isn't cleared or resumed, then it stays in the context "stack" until return exceptions are invoked.
02:27 mugwump so is 'make install' with parrot still a Bad Idea™ ?
02:27 pmichaud at least, I _think_ that might be what is going on -- I haven't looked deeply into the code to see if it short-circuits this somehow.
02:27 pmichaud mugwump: yes, if you think you might want to do development
02:27 chromatic That's plausible, but ... hmm.
02:28 pmichaud the build version gets confused with the install version
02:28 mugwump well I just want to give people logins to this vserver to play with it
02:30 jonathan Not installing is probably safer.
02:31 mugwump I'll put it in a special prefix I think
02:31 mugwump eg /utsl/parrot
02:31 particle +1
02:31 purl 1
02:34 nopaste "pmichaud" at 72.181.176.220 pasted "example of exception handlers not being cleared" (183 lines) at http://nopaste.snit.ch/15007
02:34 pmichaud this is adapted from RT #59778
02:34 chromatic Oh, I really don't want to debug where the longjmp should go.
02:35 pmichaud what I _think_ happens is that we enter 'foo' the second time, put an exception handler on the handler stack, attempt to create a class
02:35 pmichaud that throws an exception from C
02:35 pmichaud which invokes the handler
02:35 * Coke (&#$@#
02:35 jonathan This stack trace sounds...familiear...
02:35 pmichaud which creates a new continuation record
02:35 Coke thankfully, I have a .catch() macro where I can, for the most part, put this once.
02:36 Coke that avoids TT #48.
02:36 Coke pmichaud++
02:36 pmichaud that new continuation record then does the pop_eh and returns from foo
02:36 pmichaud however, I don't know when the old continuation record gets collected.
02:37 pmichaud i.e., the one that was in effect at the time we did the newclass op that triggered the exception in the first place
02:44 jonathan OK folks, sleep for me...night.
02:45 pmichaud good night.
02:50 Whiteknight me too. Good night all!
02:52 Coke (*&#$.
02:53 Coke I have a bit of code that does BOTH push_eh foo and goto foo
02:53 Coke and I've just been doing updates that ignored that fact, so I'm going to have to revert and go through again. :|
02:54 mugwump ffs, svn log http://svn.perl.org/perl6/pugs/trunk/t/spec returns an error
02:54 mugwump oh, have I got the path wrong
02:55 mugwump ah, http://svn.pugscode.org/pugs/t/spec/
02:56 mugwump oh ... that's right, there were no branches in the pugs repo
03:02 Debolaz The joy of subversion.
03:02 mugwump well, maybe I should put this git-svn clone of the spectests on github
03:07 mugwump http://gist.github.com/37358  # perl6.pbc no worky for me :(
03:07 mugwump was there a version that wasn't incremented somewhere?
03:08 mugwump ok.  calling it as ../../parrot worked
03:09 chromatic Whew.
03:11 * mugwump tries rm -rf /utsl/parrot; make install to check it wasn't cruft
03:13 Coke partcl's interactive mode is borked.
03:14 * Coke manages to bork another svn switch.
03:14 Coke switching from the 0.8.1 tag to trunk makes svn unhappy.
03:28 mugwump yeah, this fresh 0.8.2 build thinks it's 0.8.1
03:29 chromatic I didn't 'make release' from a branch.  Maybe I should have.
03:30 mugwump ok, with a fresh 'make install', I didn't need the ../../parrot
03:30 mugwump it would have been quite an old parrot install there beforehand.  perhaps from when I came to your place chromatic :)
03:31 chromatic 0.3.x or something.
03:31 mugwump yeah
03:39 Coke chromatic: you should have made it from a tag, yes.
03:39 Coke trunk didn't get the changes back until after the release.
03:39 Coke is this the CPAN version?
03:40 Coke or the parrot.org version?
03:40 Coke (hopefully the latter.)
03:40 chromatic Both; same tarball.
03:40 * Coke cries.
03:41 Coke is a 0.8.2.1 in order?
03:41 chromatic Depends if what's in the CPAN tarball is missing anything we care about.
03:43 Coke If it's reporting 0.8.1, yes.
03:43 Coke (since that means it's also missing any updates that occurred in the short lived release branch.
03:46 * Coke wishes for a simple "what version was this file removed in" svn command.
03:47 Coke (svn-bisect being a bit much for the entire branches hierarchy)
03:50 Coke looks like r34005 contains the only commit in that branch.
03:54 Tene Coke: what file?
03:55 Tene git log --diff-filter=D -- path/to/file
03:57 Coke tene: what what file?
03:57 mugwump sorry, was away sorting out nibbles for rakudo testfest :)
03:57 davidfetter joined #parrot
03:57 Coke 22:50 <@Coke> looks like r34005 contains the only commit in that branch.
03:58 Tene 20:46  * Coke wishes for a simple "what version was this file removed in" svn command
03:58 mugwump Coke: it was some tarball I got from ... ftp://ftp.parrot.org/pub/parrot/rele​ases/devel/0.8.2/parrot-0.8.2.tar.gz
03:58 Coke found the version.
04:02 elmex_ joined #parrot
04:34 * diakopter waits for dalek to start spewing
04:38 Coke hurm. parrotio had 'say' but filehandle doesn't?
04:45 vaidyagi joined #parrot
04:45 * Coke wonders if trac is incredibly slow, or just coke.
04:53 Coke msg pmichaud: it should be possible to update report #3; I could do it if it were oracle and not sqllite.
04:53 purl Message for pmichaud stored.
05:09 dalek joined #parrot
05:11 * diakopter waits for someone to commit something
05:11 diakopter committers do it early and often.
05:13 * Coke is committing... just to partcl.
05:13 Coke "it's kind of serious"
05:13 mberends joined #parrot
05:14 * Coke nearly has 'make test' working against trunk in both repos. whee.
05:14 * diakopter waits for 34059 to appear in the rss
05:14 Coke it's midnight? oy.
05:16 diakopter Coke... 34059?
05:16 Coke must I? hang on.
05:16 * diakopter hangs
05:20 mberends rakudo: my @a; my %h=('k1'=>undef); @a.push(%h); say @a.perl;
05:20 Coke there you go.
05:20 polyglotbot OUTPUT[[("k1" => undef)]␤]
05:21 * Coke will hold off on re-basing partcl stable against parrot 0.8.2 until the tarball issue is resolved.
05:21 mberends rakudo: my @a; my %h=('k1'=>undef); @a.push(%h); @a[-1]<k1>='ok'; say @a.perl; # worked in r33839, dies in r34056
05:21 polyglotbot OUTPUT[get_pmc_keyed() not implemented in class 'Perl6Pair'␤current instr.: 'parrot;Associative;postcircumfix:{ }' pc 1593 (src/classes/Associative.pir:40)␤called from Sub '_block11' pc 140 (EVAL_12:42)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)␤called from
05:21 polyglotbot ..Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1216 (s...
05:23 pmichaud @a[-1] is invalid.
05:23 pmichaud it's now @a[*-1]   (and unimplemented at the moment)
05:23 diakopter Coke: ergh
05:23 Hadi joined #parrot
05:23 Hadi left #parrot
05:24 diakopter Infinoid: <sigh />
05:25 mberends pmichaud, any workaround for @a[*-1]? the @a[-1] was ok in r33839
05:25 pmichaud mberends: I might be able to temporarily re-enable the [-1] form.
05:25 pmichaud but it's not legal Perl 6.
05:26 pmichaud rakudo:  my @a = <a b c d>;  say @a[-1];
05:26 polyglotbot OUTPUT[d␤]
05:26 pmichaud hmmmm.
05:26 diakopter dalek: be
05:26 pmichaud okay, maybe that's not it then.
05:26 pmichaud rakudo: my @a;  my %h = (k1 => undef);  @a.push(%h);  say @a.perl;
05:26 polyglotbot OUTPUT[[("k1" => undef)]␤]
05:27 pmichaud rakudo: my @a;  my %h = (k1 => undef);  @a.push(%h);  say @a[0].perl;
05:27 polyglotbot OUTPUT[("k1" => undef)␤]
05:27 pmichaud rakudo: my @a;  my %h = (k1 => undef);  @a.push(%h);  say @a[-1].perl;
05:27 polyglotbot OUTPUT[("k1" => undef)␤]
05:27 pmichaud ohhhhhh
05:27 pmichaud I know what's happening.  :-)
05:27 pmichaud (checking S29)
05:27 mberends :-)
05:28 pmichaud .push on an array pushes values in list context
05:28 pmichaud a hash in list context becomes a list of pairs
05:28 pmichaud thus @a contains a single pair
05:28 pmichaud (not a hash)
05:29 pmichaud so the <k1> fails because the Pair doesn't know how to do postcircumfix:<{ }>
05:29 pmichaud you can either push a reference to a hash, or you can treat @a as a hash
05:30 pmichaud rakudo: my @a;  my %h = (k1 => undef);  @a.push(\%h);  say @a[-1]<k1>='ok';  say @a.perl;
05:30 polyglotbot OUTPUT[ok␤[{"k1" => "ok"}]␤]
05:30 pmichaud that's probably closest to what you want.
05:31 mberends pmichaud++ # push hash reference. Funny that my sloppy code got away without \
05:31 pmichaud before this week, hashes weren't interpolating in list context
05:32 pmichaud so it really was treating %h as a single element.
05:33 mberends it's essential to the Pod6 Parser and emitters I'm still working on.
05:33 pmichaud okay.  The [-1] will have to change to *-1 at some point, but not quite yet.
05:34 mberends no rush, it will be an easy correction when the time comes.
05:34 dalek joined #parrot
05:36 * Coke starts up a new run of the tcl spec test.
05:46 MagnusShortwave :O
05:46 * mugwump throws a golfball in
05:47 smrf joined #parrot
05:48 dalek joined #parrot
05:49 dalek r34057 | pmichaud++ | :
05:49 dalek : [pct]:  'evalfiles' should pass command line arguments to 'eval'.
05:49 allison joined #parrot
05:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34057
05:49 dalek r34058 | duff++ | :
05:49 dalek : [ecmascript] Added relational ops <, >, <=, >=, and some tests
05:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34058
05:49 dalek r34059 | coke++ | :
05:49 dalek : [codingstd] remove trailing spaces
05:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34059
05:50 * diakopter welcomes dalek back to the land of the living. or as living as irc is.
05:50 diakopter Infinoid: thanks for your help again..
05:50 Infinoid dalek is a heck of a lot more alive in here than I usually am :)
05:52 mugwump so, we're trying to figure out how to run individual tests using the perl6 binary
05:52 mugwump smrf found PERL6LIB
05:52 pmichaud make t/spec/path/to/test.t
05:52 mugwump smrf: MagnusShortwave: from /utsl/build/parrot-0.8.2/languages/perl6
05:56 petdance joined #parrot
05:58 Coke individual tests or test files?
05:58 mugwump well, individual files
05:58 pmichaud the "make" approach above is simplest.
05:58 mugwump yeah.  what about PERL6LIB?
05:59 pmichaud it's just a list of directories to search for modules via 'use' or 'require'
06:00 mugwump right, so on this system I can set it to PERL6LIB=/utsl/build/parrot-0.8.2/languages/perl6
06:00 mugwump because the only library seems to be Test.pm
06:00 pmichaud yes.  and hopefully someday soon even that won't be a library :-)
06:00 mugwump what will it be?
06:01 pmichaud testing functions are likely to become "builtins"
06:01 mugwump keeping with Perl as a kitchen sink language? ;)
06:01 pmichaud we'll still allow test modules, but some of the common test functions will be loaded by default.
06:01 smrf pmichaud: because you think it'll be easy to unify the Test:: namespace on CPAN?
06:01 * mugwump <== channelling heckling
06:02 pmichaud oh, I suspect there will still be conflicts over Test::
06:02 pmichaud but at least the basics will be there (at least until someone writes a Test::* module that overloads them with something else :-)
06:02 mugwump I just don't understand why you'd want that..
06:02 pmichaud want what?
06:02 purl well, want is often mispronounced as 'need' or broken by design, but at least it's clever
06:02 mugwump what's wrong with writing 'use Test' at the top of test scripts?
06:03 pmichaud I think the sense was that testing out to be more integral than just test scripts.
06:03 pmichaud s/out/ought/
06:03 pmichaud i.e., that one could use tests as a form of (easily disabled) debugging, too.
06:03 pmichaud we're also looking at building testing directly into the operators
06:04 diakopter purl, well?
06:04 purl Three holes in the ground!
06:04 diakopter purl, well?
06:04 purl Three holes in the ground!
06:04 pmichaud anyway, that's language design, and I tend to focus on implementation.  :-)
06:04 mugwump right
06:04 smrf fair enough
06:04 mugwump the way I look at it, if you can't write those things as extensions it's broken
06:05 pmichaud we certainly _can_
06:05 pmichaud but in some sense testing shouldn't be "an extension"
06:05 mugwump except, I hate typing system. or os. all the time
06:05 pmichaud switching machines... brb
06:05 smrf hey, we could turn into php, with 1000+ entries in the default namespace :)
06:06 dalek r34060 | pmichaud++ | :
06:06 dalek : [rakudo]:  change '$def' lexical to 'def' register in actions.pm
06:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34060
06:06 pmichaud we're not talking about _that_ many entries.
06:07 pmichaud just the very basic ones.
06:07 smrf i was kidding
06:07 pmichaud sorry, missed the smiley :-)
06:07 pmichaud sometimes I don't always recognize the difference between "."   and ":)"
06:09 cotto diakopter++ #fixing dalek (or svn (or whatever))
06:10 diakopter thanks to the patch posters on SVN::Web's RT
06:10 diakopter and Infinoid, as usual
06:11 mugwump http://gist.github.com/37408  # 'make spectest' output on utsl
06:12 pmichaud are you using the release version of rakudo, or the one from head?
06:13 mugwump it's the 0.8.2 tarball
06:13 pmichaud yes.  the spectests track the head version.
06:13 mugwump I thought that being a day or so old it would be fine :)
06:13 pmichaud not the latest release.
06:13 mugwump hmm
06:14 Zaba joined #parrot
06:14 pmichaud rakudo development moves too fast for a monthly release schedule -- as you can see, 24 hours can make a huge difference.  :-)
06:14 pmichaud but yes, all of those tests were affected by changes within the last 24 hrs.
06:14 mugwump ok.  so which svn rev should I use for that?
06:15 pmichaud I'd use the head from parrot/trunk
06:15 pmichaud or do you mean "which svn rev of spectests?"
06:15 mugwump yeah, I can easily wind back because it's a git svn clone
06:15 smrf yeah, i'm using r34012 of parrot, and that was oooh, 24 hours ago.
06:16 pmichaud I'd use whatever svn rev was current as of yesterday 18:00 UTC
06:16 pmichaud that should be pretty close.
06:16 mugwump actually in a maintained git conversion you could use submodules to make the t/spec directory track pugs nicely
06:16 mugwump so that any version you wound back to would have the right version of the spectests
06:16 pmichaud we're looking at moving rakudo to a git repo, yes.
06:17 mberends mugwump, take a look at https://trac.parrot.org/parrot/wiki/PerlSixTesting
06:18 cotto karma purl
06:18 purl purl has karma of 8342
06:18 cotto purl--
06:18 purl cotto: huh?
06:18 cotto karma purl
06:18 purl purl has karma of 8342
06:18 cotto cheater!!
06:19 mberends ratcheting
06:19 pmichaud karma pmichaud
06:19 purl pmichaud has karma of 2097
06:20 pmichaud oooh, I broke 2000.
06:20 pmichaud been a long time since I checked.  :-)
06:20 Coke karma coke?
06:20 purl coke has karma of 2343
06:21 pmichaud 2343-2097
06:21 purl 246
06:25 cotto I wonder if purl-- works in a sentance.
06:25 cotto karma purl
06:25 purl purl has karma of 8341
06:25 mugwump so, a guy here at catalyst posted a program that worked in pugs but not in rakudo - http://svn.pugscode.org/pugs//exampl​es/algorithms/fibonacci_tail_call.pl
06:25 mugwump that's due to use of 'UInt' type
06:26 mugwump changing it to 'Int' stops the program from failing with a type error
06:26 pmichaud should work if we eliminate UInt, or switch to Int
06:27 pmichaud or define     subset UInt of Int where { $_ >= 0 };    :-)
06:29 cotto It's weird to see UInt in a script.
06:30 dalek r34061 | pmichaud++ | :
06:30 dalek : [rakudo]:  Convert some $?INIT to .loadinit on blocks.
06:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34061
06:30 mugwump I see references to UInt in S02
06:30 pmichaud yes, in some of the hash types
06:30 pmichaud we will probably implement UInt as I just described above, though :-)
06:31 mugwump cool
06:31 mugwump the more of Perl6 that is implemented in Perl6, the harder it will rock
06:32 cotto The script works with Rakudo with the UInt definition, but only if I *don't* pass anything to the script.
06:32 cotto Otherwise it fails with "Parameter type check failed in call to fib"
06:33 pmichaud because arguments to the script are Str, most likely.
06:33 pmichaud and Str is not UInt
06:33 pmichaud try   say fib(+$n)
06:34 cotto same
06:34 pmichaud maybe it's thinking that +$n is a Num.
06:35 pmichaud hmmm.   probably worth filing as a bug, or thinking about as one.
06:37 Tene That will be handled by type coercion eventually
06:37 pmichaud do we have automatic type coercion?
06:37 Tene I remember it being implied by S*, if not specced.
06:38 pmichaud I think there was some thinking in that direction, but I haven't seen anything like that in quite a while.
06:39 pmichaud I suspect coercion might be done with 'as'
06:39 Tene Ah.
06:39 pmichaud fib($x as UInt)
06:41 pmichaud but I haven't followed the details closely enough.  I think that a type in a parameter specifies a constraint, not a coercion, though.
06:41 pmichaud (but don't quote me on that.)
06:47 mberends Tene++ # very welcome given/when/default fixing: http://blogs.gurulabs.com/stephe​n/2008/12/perl-6-givenwhen.html
06:47 dalek r34062 | pmichaud++ | :
06:47 dalek : [rakudo]:  Remove remaining pieces of $?INIT.  All spectests pass.
06:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34062
06:47 Tene mberends: are you using it?  does it work well for you?
06:50 mberends yes, in a grammar based Pod6 parser. I was having to set a Bool $default and clear it inside each when{} as a workaround, quite tedious.
06:51 pmichaud I'm wondering if I want to try to get given/when into NQP
06:51 Tene mberends: I'm glad I could help. :)
06:52 iblechbot joined #parrot
06:52 mberends :) it has worked well so far. I'll be sure to call if it falls over ;-)
06:54 gaurav whois iftekhar
06:56 Alias joined #parrot
06:56 Alias Still working through trying to get Parrot to build without doing any --prefix stuff
06:56 Alias Hopefully should be there tonight
06:59 Zaba joined #parrot
07:02 Theory joined #parrot
07:26 Zaba joined #parrot
07:40 Zaba joined #parrot
08:26 dalek r34063 | chromatic++ | :
08:26 dalek : [PMC] Modified MultiSub PMC to use PMC ATTRs for storage and not to subclass
08:26 dalek : ResizablePMCArray.  This should allow us to add cache attribute as well as to
08:26 dalek : enable better subclassing of this PMC.
08:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34063
08:29 chromatic Er, maybe I shouldn't have checked that in.
08:29 ask_ joined #parrot
08:29 ask_ who was/is thgibbs?
08:29 ask_ I can't find anything matching in CREDITS
08:30 moritz purl: thgibbs?
08:30 purl moritz: i haven't a clue
08:32 ask_ purl, thgibbs is Tanton Gibbs
08:32 purl OK, ask_.
08:32 * ask_ forgot he has the authentication database ...
08:33 cotto chromatic, do you think it'd be reasonable to make openssl a hard dependency so we can use RAND_bytes for system entropy?
08:34 chromatic It can be a real pain to install.  How much entropy do you need?
08:34 justin isn't openssl's randomizer a pseudo-randomizer (which seeds itself a bit from /dev/random)? otherwise using /dev/urandom or /dev/random directly would be just as acceptable
08:35 cotto I'm thinking about initializing the hash seed, but the uuid code needs some too.
08:35 justin openssl's own randomization is purely done so as not to deplete the real random device during intensive key generation
08:35 justin (usefull for systems with a urandom equivalent)
08:35 chromatic I was about to say.
08:35 cotto *per-interp hash seed
08:36 cotto C:\dev\random: no such file
08:40 lathos http://egd.sourceforge.net/ ?
08:44 cotto I'll file a bug report and bring it up at the next #ps if nothing happens before then.
08:46 ffwonko joined #parrot
08:56 cotto done
09:00 Aisling joined #parrot
09:20 dalek r34064 | chromatic++ | :
09:20 dalek : [PMC] Reverting r34063 temporarily, as it slows down Rakudo tremendously and
09:20 dalek : breaks Pheme.  This patch needs a branch (and probably freeze/thaw).
09:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34064
09:27 funktio joined #parrot
09:51 mberends joined #parrot
09:52 bacek joined #parrot
10:09 ask_ as a test I'm converting the parrot repository to git
10:10 moritz ask_: with git-svn? or something more elaborate?
10:10 ask_ moritzh: just with git svn
10:10 ask_ but I'm updating CREDITS with the missing email addresses and svn usernames (won't commit it for now though).
10:10 tomyan joined #parrot
10:10 ffwonko joined #parrot
10:20 iblechbot joined #parrot
10:36 AndyA joined #parrot
10:53 elmex joined #parrot
10:57 Theory joined #parrot
11:03 masak joined #parrot
11:17 AndyA joined #parrot
11:28 ruoso joined #parrot
11:29 ruoso joined #parrot
11:37 Alias hrm
11:38 Alias Setting a --prefix to the same directory as you are building in seems problematic
11:40 gaz joined #parrot
11:53 AndyA joined #parrot
12:06 ruoso joined #parrot
12:20 AndyA joined #parrot
12:27 UltraDM joined #parrot
12:30 AndyA joined #parrot
12:37 ffwonko joined #parrot
12:53 Whiteknight joined #parrot
13:10 AndyA joined #parrot
13:29 tetragon joined #parrot
13:34 gmansi joined #parrot
13:37 particle emergency shutdown &
13:52 masak particle: hope everything is ok...
13:57 Lorn joined #parrot
14:14 cognominal joined #parrot
14:16 cognominal joined #parrot
14:24 moritz slow parrot day today, it seems :)
14:24 masak people are increasingly going on holiday vacation.
14:24 moritz aye
14:25 masak moritz: let's surprise them and finish the rakudoreg branch before they come back! :P
14:25 pmichaud some of us are committing refactors.  :-)
14:25 ffwonko joined #parrot
14:25 masak pmichaud++
14:25 dalek r34065 | pmichaud++ | :
14:25 dalek : [rakudo]:  Refactor MAIN and startup handling.
14:25 dalek : Still reports "dubious" on a few spectests -- investigating this now.
14:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34065
14:26 masak pmichaud: btw, I also get "Null PMC access in isa()" on trying to compile CGI.pm
14:26 pmichaud masak: in the rakudoreg branch?
14:26 * moritz thought about implementing infix:<...>
14:26 masak pmichaud: aye
14:26 moritz dalek doesn't include the branch name in the commit message anymore :(
14:26 masak pmichaud: IIU{yesterday's discussion}C, that branch is waiting for another (quick) branch.
14:26 pmichaud masak: okay.  jonathan and I decided we needed to clean up module and program initialization
14:26 masak aye.
14:26 pmichaud yes, it's waiting on the branch I just committed to.
14:27 pmichaud I should finish it here shortly this morning.  It's gone very smoothly.
14:27 masak excellent.
14:27 pmichaud and so far actions.pm is now 75 lines shorter.
14:27 pmichaud (less code == win)
14:27 masak \o/
14:28 pmichaud and there's fewer special cases
14:28 pmichaud and... well, it's just better.  :-)
14:28 pmichaud need a morning break, though -- bbiab
14:31 particle joined #parrot
14:41 Coke horrible?
14:41 purl horrible is GateKeeper from wingate (will eat over 200mb of ram in 4 hours) or The Mummy or ouzo or PacMan joke book or being out of ice cream or STUCK AT WORK
14:41 Coke horrible is also a great "tv" show.
14:41 purl okay, Coke.
14:42 * Coke finds some tests hanging in the partcl test suite he ran, which meant it was sitting about 30% of the way through the run all night.
14:42 * Coke bets they are all EH re-throws.
14:42 * Coke is interested in getting a clean run so he can see if it's any faster since 0.8.1
14:44 gryphon joined #parrot
14:45 * Coke thinks out loud: when tcl sources code, it runs it through the tcl compiler; which generates PIR, which in turn generates more PIR. Is there a way in this scheme to get something I can just load? (similar to how test.pm for rakudo is prebuilt; except if I just prebuild the first run of PIR, I then still have the runtime overhead of re-invoking the PIR compiler again.)
14:46 Andy_ joined #parrot
14:48 wknight8111 joined #parrot
14:50 Andy joined #parrot
14:53 eric256 joined #parrot
14:53 Coke is there way to invoke parrot that says "don't bother trying to free memory when you're exiting?"
15:07 iblechbot joined #parrot
15:08 Coke (ah. I think that might be the default, if --leak-test is any indication.)
15:13 wknight8111 yeah, that is the default
15:13 wknight8111 GC will do a finalization run to call custom destructors on any PMCs, but it doesn't free any of the arenas
15:17 gryphon joined #parrot
15:29 Coke the delay I was seeing was probably EH related again. just grasping a straws, as debugging some of this takes an insane amount of time.
15:30 Coke s/a /at/
15:31 jonathan pmichaud: OH HAI
15:31 jonathan pmichaud: Haven't really had as much time as expected to do much today...
16:03 dalek r34066 | fperrad++ | :
16:03 dalek : [win32] setup
16:03 dalek : - update general info
16:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34066
16:12 dalek r34067 | Whiteknight++ | :
16:12 dalek : [Book] a few small updates to chapter 3
16:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34067
16:13 pmichaud jonathan: no problem, neither have I.  I'm feeling slightly under the weather this morning.
16:13 jonathan :-(
16:13 jonathan That sucks. Hope you're feeling better soon
16:13 pmichaud however, the init/load branch is coming along very nicely when I'm not sleeping :-)
16:13 jonathan OK, great.
16:14 jonathan I'm going out with Slovak friends tonight and have a morning flights, so I'm afraid I'm not going to be around a great deal. :-(
16:14 pmichaud no problem
16:14 pmichaud I may be able to solve 'use' here shortly as well.
16:15 jonathan OK.
16:15 pmichaud I've already gotten rid of the $?INIT stuff, and moved the main handling to builtins/guts.pir
16:16 pmichaud so the generated 'main' always looks very short (nopaste coming)
16:16 nopaste "pmichaud" at 72.181.176.220 pasted "generated main" (10 lines) at http://nopaste.snit.ch/15016
16:16 iblechbot joined #parrot
16:17 Coke OOC, does "param_21" make it any easier to read than $P14 ?
16:17 pmichaud oops, that's not right.  the tailcall is supposed to read  '!UNIT_START'($P14, param_21)
16:17 pmichaud anyway, that's the length.
16:18 pmichaud param_21 is slightly easier than $P14, because we know it's a param.
16:18 pmichaud it also helps when there's an optional param, because the :opt_flag register has a name similar to the :optional register.
16:19 AndyA joined #parrot
16:22 jonathan Looks nice. :)
16:22 Coke pmichaud: makes sense.
16:23 dalek r34068 | pmichaud++ | :
16:23 dalek : [rakudo]:  Fix 'main' generation to actually call !UNIT_START.
16:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34068
16:24 pmichaud getting rid of $?INIT is nice -- one less global thing to be managing
16:24 pmichaud I also changed all of the $def lexicals to be 'def' registers
16:26 * particle now has a strawberry build environment for parrot, and can build regularly there
16:26 pmichaud yay!
16:26 * Coke found it amazingly easier to setup than activeperl+msvc
16:27 particle it's not that much easier for me.
16:27 particle i have custom scripts for each of my environments, so i can switch perl versions, svn versions, etc all by modifying a config file
16:27 particle i should port that to perl someday, instead of using batch files
16:31 * Coke wonders if adding a .try_catch() macro would clean up his code.
16:32 * Coke guesses in about 80% of the cases he has.
16:46 Coke yay. looks like all the tests that regressed in partcl's spec test were EH related.
17:00 Theory joined #parrot
17:06 Whiteknight joined #parrot
17:09 tomyan left #parrot
17:11 * Coke thinks he has them all fixed now.
17:11 jhorwitz joined #parrot
17:11 nopaste "pmichaud" at 72.181.176.220 pasted "segfault backtrace" (41 lines) at http://nopaste.snit.ch/15018
17:11 xiaoyafeng joined #parrot
17:12 pmichaud note the _pmc_val in the state structure
17:16 * Coke kicks off another spec test run for partcl, hopefully having caught all the regressions this time.
17:24 AndyA joined #parrot
17:28 pmichaud my segfault is again a tailcall issue :-(
17:28 pmichaud but, it's easy enough to remove tailcalls, so.... done.
17:29 particle tailcall optimization is not supposed to mean we find segfaults faster :(
17:29 Zaba joined #parrot
17:32 pmichaud this does tell me that whenever we have segfaults that disappear with -G, perhaps start looking at tailcalls as the culprit.
17:36 Whiteknight you think the two are related?
17:39 ruoso joined #parrot
17:46 chromatic joined #parrot
17:49 Coke chromatic: yo
17:52 ffwonko joined #parrot
18:00 chromatic pong
18:10 pmichaud (tailcall and segfaults)  I *know* there's a relationship.
18:10 pmichaud using a tailcall in a vtable function generally leads to a segfault
18:10 pmichaud I'm guessing that tailcalls in other situations may do so as well.
18:11 Coke tailcalls have traditionally not been well tested.
18:11 Coke (that is, they work in a lot of situations, but fail in some; for some time, any tailcall into NCI was borked, as I recally.)
18:11 Coke s/y//
18:12 Coke chromatic: I hope to know in the next 2 hours if parrot has gotten any faster for partcl since 0.8.1
18:12 iblechbot joined #parrot
18:12 chromatic Good!
18:12 dalek r34069 | Whiteknight++ | :
18:12 dalek : [Docs] Removed some old cruft from this file, and add a little bit of new information.
18:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34069
18:14 pmichaud actually, I'm seeing that any tailcall _from_ an NCI is borked -- i.e., if an NCI sub calls something that does a tailcall, then *boom*
18:17 dalek r34070 | pmichaud++ | :
18:17 dalek : [pct]:  Don't remove the $0 argument from args when passing for execution.
18:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34070
18:17 dalek r34071 | pmichaud++ | :
18:17 dalek : [pct]:  Adjust interpretation of 'lexical' just a bit.
18:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34071
18:20 dalek r34072 | pmichaud++ | :
18:20 dalek : [pct]:  Adjust documentation of 'lexical' on PAST::Block nodes.
18:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34072
18:22 dalek r34073 | pmichaud++ | :
18:22 dalek : [rakudo]:  .tailcall doesn't work well from :load, so don't use it.
18:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34073
18:24 Whiteknight NCI functions are called through an entirely different mechanism then ordinary subroutines are
18:24 Whiteknight I doubt they even create a return continuation to be used with  tailcall
18:25 pmichaud yeah.  part of the problem is that from PIR we often don't know that what we're calling (or what called us) is an NCI function.
18:29 Coke pmichaud: that tailcall you replaced; you're ignoring the return value now?
18:29 ffwonko joined #parrot
18:29 Coke (or is something automatically returning it?)
18:29 pmichaud ignoring.
18:29 purl ignoring is v-useful, coulda at least said "failed" or summat
18:30 pmichaud it's being called via a load_bytecode op, which doesn't take a return code anyway.
18:30 dalek r34074 | julianalbo++ | :
18:30 dalek : fix deprecated syntax in string_cclass test
18:30 Coke oh. then you didn't want tailcall anyway. =-)
18:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34074
18:30 pmichaud was trying to free up a context.  EPREMATUREOPTIMIZATION, I guess.
18:30 pmichaud (but it still *should* work)
18:31 Coke mm.
18:38 ff-wonko joined #parrot
18:44 Coke chromatic: should we steal -Xmsn and -Xmxn from java?
18:45 Coke (minimum and maximum sizes for memory allocation)
18:46 Whiteknight those values are current set with #defines inside the GC
18:46 chromatic Do they set heap allocation limits?
18:48 Coke I'd love to be able to run partcl with an -Xmx of 64M and watch it burn.
18:49 chromatic Wake up; time to die.
18:49 Coke chromatic: here's an older list of CL options for java:
18:49 Coke http://java.sun.com/j2se/1.4.2/​docs/tooldocs/windows/java.html
18:49 Coke I don't see hte one you're asking for.
18:50 Coke unless you mean -Xmx
18:55 chromatic jhorwitz, ping
18:55 jhorwitz chromatic: pong
18:56 Hadi joined #parrot
18:56 Hadi left #parrot
18:56 alvar joined #parrot
18:58 chromatic How familiar are you with Apache httpd's request model?
18:58 chromatic (leading question?  me?)
18:59 jhorwitz a little too intimately, some would say...
18:59 Coke chromatic: so far things look good for a speedup.
19:01 chromatic I just spoke to the mod_perlite developers, and they have some questions.  Know anyone who can give them some tips?
19:01 jhorwitz aaron stone and byrne reese?
19:01 ask_ joined #parrot
19:01 chromatic Aaron in specific.
19:02 jhorwitz we talked at OSCON.  he has my e-mail and can ping me anytime.
19:02 chromatic I'll let him know.
19:02 nopaste "pmichaud" at 72.181.176.220 pasted "Another wonderful Parrot treasure." (15 lines) at http://nopaste.snit.ch/15019
19:03 chromatic I've never seen that error message before.
19:03 pmichaud it only occurs in rindex
19:03 pmichaud ascii_cs_rindex, to be precise.
19:03 chromatic You're using ISO-8859-1, however.  That does make you a terrorist.  Hey, the sun came out.
19:03 pmichaud and it occurs because the load_bytecode op makes calls to things that are looking for the final '/'
19:03 pmichaud oh, it's even better if I use unicode
19:04 chromatic Now I know you hate America.
19:04 pmichaud of course I do, I'm from Texas.  :-P
19:04 chromatic Is Mrs. Patrick from Texas?
19:04 nopaste "pmichaud" at 72.181.176.220 pasted "load_bytecode with unicode string" (15 lines) at http://nopaste.snit.ch/15020
19:04 Coke one does wonder why you need iso to specify "x1.pir".
19:05 Coke (I know, I know, that's not the poitn.)
19:05 pmichaud Coke: that's the way the Perl 6 source comes in.
19:05 pmichaud as iso-8859-1
19:05 chromatic Here's the question then: do we beg, borrow, steal, or forbid a Unicode library?
19:05 Coke I would try to downgrade anything you pass to load_bytecode to fixed8 until the strings PDD hits.
19:05 pmichaud yes, that's what I'm going to do.
19:06 pmichaud Still, I'll file a ticket.  :-)
19:06 Coke thank you! =-)
19:06 Coke (trac, please! =-)
19:07 pmichaud now TT #65
19:08 pmichaud now to remember how to downgrade to fixed8
19:10 Coke I'm wonder why the ascii* version is getting called on an iso-8859-1 string.
19:10 Coke *ing
19:10 pmichaud the '/' is ascii
19:10 pmichaud given a path like    "path/to/filename.pir"    it's searching for the final '/'
19:10 chromatic The '/' comes from C code.
19:11 pmichaud anyway, downgrading the string to ascii works.  As long as we don't have non-ascii filenames.
19:12 NotFound Warning! You are opening a can of worms!
19:13 TimToady if it doesn't support unicode you can't call it Perl 6 :P
19:13 pmichaud TimToady: I can always convert the Unicode specifier into something that's valid ascii.  As long as it's transparent to the P6 programmer  :-P
19:14 pmichaud (I think that's even mentioned explicitly in a synopsis somewhere)
19:14 NotFound File names encoding things can't be completely transparent, IMO.
19:15 pmichaud anyway, my response for today is to throw the can of worms into someone else's backyard.
19:15 NotFound You can have iso-8859-1 file names and be using an utf-8 locale
19:15 pmichaud If someone wants to add a spectest for non-ascii modules/filenames, I'll be glad to #?rakudo skip it until we're ready :-)
19:16 TimToady we'll need to figure some way of sorting filenames into Buf vs Str categories eventually...
19:17 TimToady s/sorting/classifying/
19:17 NotFound Currently rakudo assumes iso-8859-1 in command line arguments, it isn't?
19:18 ff-wonko joined #parrot
19:18 TimToady and possibly have some mechanisms for guessing again when our first guess proves to be wrong :)
19:19 pmichaud rakudo doesn't assume anything about command line arguments.  It just gets whatever Parrot gives it.
19:19 TimToady on my computer command line args better come in as utf8
19:20 pmichaud way-past-lunchtime... bbiaw
19:20 TimToady if there's a choice of default, we should always try to force utf8 wherever possible; iso-8859-1 is almost always going to be wrong in the future
19:20 pmichaud for program source rakudo assumes utf8
19:21 NotFound $ ack "iso-8859-1" languages/perl6/
19:21 NotFound languages/perl6/perl6.pir
19:21 NotFound 166:    $P1 = $P0.'command_line'(args, 'encoding'=>'utf8', 'transcode'=>'iso-8859-1')
19:21 TimToady anything defaulting to 8859-1 is a design stench
19:21 dalek r34075 | pmichaud++ | :
19:21 dalek : [rakudo]:  Refactor 'use' statement.
19:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34075
19:21 pmichaud rakudo assumes utf8, then tries to transcode the source to iso-8859-1 if it can to keep parsing from being interminably slow.
19:21 pmichaud (if the transcode fails, it remains utf8 and parses that.)
19:22 TimToady we should make unicode fast :)
19:22 pmichaud that's another can I threw into someone else's backyard.
19:22 pmichaud I suspect allison's backyard is full of these things by now.  :-)
19:22 TimToady when is rakudo scheduled to get NFG support?
19:22 * pmichaud checks roadmap.
19:23 pmichaud Parrot gets nfg support by feb 2009 release.
19:23 pmichaud so Rakudo shortly thereafter.
19:23 pmichaud (if not simultaneously)
19:23 pmichaud at least, I presume that's what the "pdd28-strings" task is intended to accomplish.
19:24 TimToady will that be with one integer repr or with multiple?
19:24 moritz has anyobody prototyped NFG things outside of parrot before?
19:24 pmichaud I don't know.  That's somewhat transparent to Rakudo -- it's really a Parrot decision.
19:24 TimToady since UInt8 is an obvious way to store NFG for latin-1
19:25 pmichaud at least, at the moment it's transparent to Rakudo.
19:25 pmichaud and not something I can spec until Parrot has its spec and implementation in place.
19:25 TimToady okay, hope they don't mess it up :)
19:25 Coke NFG?
19:25 purl NFG is No Fscking Good! or grapheme normalization form (see docs/pdds/draft/pdd28_character_sets.pod)
19:25 * Coke agrees with purl.
19:25 * purl agrees with Coke
19:26 pmichaud me too.  Otherwise I get to add another layer of stuff on top of what Parrot provides.  :-)
19:26 NotFound That's christmas spirit ;)
19:26 pmichaud okay, gone for real this time.  bbiah
19:26 * TimToady disagrees, since it should be and/or in English
19:26 ff-wonko joined #parrot
19:26 TimToady actually "or" is usually inclusive in English...
19:27 TimToady but not always
19:27 Infinoid There's an exception to every exception.
19:27 NotFound $ ./perl6 -e "say 'eñe';"
19:27 NotFound eñe
19:27 TimToady I can handle it.
19:27 NotFound Not really transparent.
19:28 TimToady biab &
19:28 Coke (exception to every exception) that's why partcl was hanging recently, I believe.
19:29 NotFound Exception: recursive exception found
19:29 Infinoid People who live in glass parrots shouldn't throw exceptions.
19:30 chromatic People who live in exceptions should tailcall exceptions.
19:31 * Coke kegfaults.
19:41 cotto you don't make a very convincing Internet
19:43 Theory joined #parrot
19:45 Whiteknight kegfaulting can ruin a party if you're not careful
19:46 hercynium joined #parrot
19:55 Coke chromatic: spectest runtime has (with no changes in # of tests) dropped from 12550s to 9232s
19:55 Coke 12550/9232
19:55 purl 1.3594020797227
19:55 Coke 9232 / 3600
19:55 purl 2.56444444444444
19:55 Coke (12550-9232)/3600
19:55 purl 0.921666666666667
19:55 Coke that's nearly an hour shaved off.
19:55 Coke nice.
19:56 Coke only 2.5 more to go. ^_^
19:57 Whiteknight Coke++
19:57 Whiteknight how many tests are in the spec suite?
19:58 chromatic Do you use multidispatch?
19:59 Coke chromatic: a bit.
20:00 Coke things like toNumber() which return a PMC with a number in it have braindead int and float versions, e.g.
20:00 Coke (and more complicated string versions). Also, HEAVY use of PGE.
20:00 chromatic Okay.  I just found two inefficiencies there.
20:00 Coke only two? =-)
20:01 chromatic Two easy ones.
20:04 Coke Whiteknight: http://code.google.com/p/p​artcl/wiki/SpecTestStatus
20:05 Coke I can tell you how many test files and how many tests are running, but am not yet tracking how many more files or test there are in those files.
20:05 Coke (currently, 57 files, 4001 tests, 2341 pass, 1059 fail, 601 skip)
20:06 particle out of ~20k tests total?
20:06 Coke http://code.google.com/p/p​artcl/wiki/SpecTestExplode points to some easy wins to get several hundred more tests passing.
20:06 Coke s/easy wins/ways/
20:06 Coke particle: I haven't counted. moment.
20:08 Coke (running all.tcl with tclsh8.5)
20:10 dalek r34076 | chromatic++ | :
20:10 dalek : [MMD] Removed two unnecessary clone operations on MultiSubs.  As currently the
20:10 dalek : candidate list doesn't get sorted in place, there's no reason to clone it.
20:10 * Coke starts over with verbose PASS output.
20:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34076
20:12 Coke particle: some of the tests are slow. this could take some time.
20:12 particle sorry, i thought you knew.
20:13 Coke I so rarely get to run the suite. =-)
20:13 Coke I have an old journal entry that says 20683.
20:13 Coke no clue if that's right.
20:13 * Coke doubts it.
20:13 purl doubts it is probably possible to offend this #perl
20:14 Whiteknight purl forget doubts it
20:14 purl Whiteknight: I forgot doubts it
20:14 Whiteknight damn straight you did
20:14 particle i remember timer alone was ~12k
20:15 chromatic AHA A MISSING DEPENDENCY
20:17 dalek r34077 | chromatic++ | :
20:17 dalek : [config] Added a missing dependency for src/inter_create.c on its strings file.
20:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34077
20:17 Whiteknight chromatic++
20:27 Coke particle: 13516 tests if I skip two that have hangs in them.
20:28 Coke so, anywhere from 13-25K. =-)
20:30 Whiteknight has anybody tried compiling parrot with intel c?
20:30 rurban joined #parrot
20:30 dalek r34078 | pmichaud++ | :
20:30 dalek : [rakudo]:  Add some comments to use_statement handling.
20:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34078
20:31 Coke Whiteknight: sounds faimilar.
20:31 * Coke tries to get Whiteknight to remerge his GC work instead of chasing compilers. =-)
20:32 Whiteknight compilers I can do at work, because I can set the computer off downloading or installing things by itself
20:32 Whiteknight I can't do too much development or debugging on the company's dime
20:32 Whiteknight :)
20:33 Whiteknight plus, this laptop has a 320GB HDD. I'm never going to fill that all up unless I download all sorts of garbage
20:34 * pmichaud wonders if filling up the 320GB HDD makes the laptop any heavier.
20:34 Whiteknight certainly makes my hands more tired
20:34 Whiteknight so it feels heavier
20:35 particle Whiteknight: we had folks building with icc in the past, but not recently. i haven't reinstalled it after rebuilding my pc
20:35 chromatic o/~ Never gonna fill it up / never gonna let it down o/~
20:36 particle comments++ pmichaud++
20:37 jhorwitz did we just get rick-rolled?
20:38 particle man, seattle is SHUT DOWN today. 5" snow on top of an ice layer (due to rain last night) in a city with < 30 plows
20:39 pmichaud the towns 2 mi north of here were shut down on tuesday due to ice.  We weren't, though.
20:39 pmichaud afk, picking up kids from school so they don't freeze walking home.
20:39 Whiteknight only 5 inches of snow on the ground? I wouldn't even wear a jacket
20:39 Coke back in my day...
20:40 Coke ... I didn't live in dallas.
20:42 Coke particle: (num of tests) note that I'm now targetting the 8.5.5 test suite; no clue what it was back then.
20:48 allison joined #parrot
20:51 chromatic Could huve been a duck roll.
20:51 chromatic o/~ Never gonna quack you up / never gonna quack you down o/~
20:54 dalek r34079 | chromatic++ | :
20:54 dalek : [MMD] Tidied code; no functional changes.
20:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34079
20:59 mj41 joined #parrot
21:02 kj joined #parrot
21:06 cotto snow--
21:07 Coke o/~ I want a duck who can show me how to get down. Get It!? ~/o
21:08 Coke ooh, a bus error.
21:08 purl Passengers dumped.
21:08 masak Coke: I've always loved that line, too.
21:09 Coke is it possible to share a screen session with another linux user?
21:10 Coke (I'm wondering if I can run my long running code to bus error in gdb and then hand it off to someone like chromatic)
21:11 Coke ooh. or I could get lucky and come up with a shorter test case.
21:13 gryphon joined #parrot
21:13 GeJ Good morning everyone
21:14 dalek r34080 | chromatic++ | :
21:14 dalek : [MMD] Removed deprecated Parrot_mmd_add_function().
21:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34080
21:14 masak GeJ: evenin'
21:15 GeJ hej
21:15 masak :)
21:15 cotto Coke, there is.
21:15 * cotto runs man screen
21:17 NotFound Coke: you can make it dump core, and then gdb the core image.
21:18 dalek r34081 | util++ | :
21:18 dalek : Typo - s/prevends/prevents/
21:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34081
21:19 japhb joined #parrot
21:19 cotto Coke, http://www.linux.com/feature/56443
21:20 PacoLinux Coke>is it possible to share a screen session with another linux user? <-- you can use -kibitz- is a little program in expect :  http://expect.nist.gov/example/kibitz.man.html
21:20 NotFound Current linux distros usually does not dump by default, but you can change that with: ulimit -c unlimited
21:24 PacoLinux Coke: and expect runs on top of tcl, I want to see expect in top of  partcl :)
21:25 NotFound Do you expect it?
21:31 TimToady joined #parrot
21:33 Zaba_ joined #parrot
21:34 Coke PacoLinux: expect is more than just .tcl, though.
21:35 Coke ah, kibitz, forgot about that.
21:35 Coke been quite some time since I was paid to code in tcl/expect.
21:35 * Coke gets a semi-reproducible test case.
21:36 davidfetter hello
21:36 davidfetter anybody have contacts at MSFT USA?
21:38 Coke alias, particle, cotto...
21:38 Coke why?
21:38 Zaba joined #parrot
21:39 Coke chromatic: the segf is, gleefully, in clone_key_arg
21:39 Hadi joined #parrot
21:39 Hadi left #parrot
21:39 chromatic Keys, my only nemesis.
21:40 * davidfetter provides chromatic with several more nemeses
21:41 ElPenguin joined #parrot
21:42 masak "You win this time, Keys!"
21:43 Infinoid and your little dog Toto, too.
21:44 pmichaud Coke:  that's the *same* segfault I was getting earlier.
21:44 dalek r34082 | chromatic++ | :
21:44 dalek : [PIC] Removed the only reference to deprecated old MMD functions in src/pic.c.
21:44 dalek : There are no consumers of this PIC function anyway.  Let the chainsaw continue.
21:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34082
21:44 dalek r34083 | kjs++ | :
21:44 dalek : [pirc] fix parser; some missing rules.
21:44 dalek : + update a test
21:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34083
21:45 pmichaud i.e., I was getting the segfault in clone_key_arg
21:45 pjcj joined #parrot
21:46 davidfetter Next time, Keys. Next time.
21:46 davidfetter </klaw>
21:50 rob joined #parrot
21:51 Zaba_ joined #parrot
21:53 dalek r34084 | chromatic++ | :
21:53 dalek : [MMD] Removed deprecated mmd_expand_x(), mmd_expand_y(), Parrot_mmd_register(),
21:53 dalek : and Parrot_mmd_register_sub() functions.
21:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34084
21:57 dalek r34085 | chromatic++ | :
21:57 dalek : [MMD] Removed deprecated mmd_destroy() function.
21:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34085
21:57 Coke chromatic++ #ripping out more MMD stuff;
21:57 Coke pmichaud: wow. for once, partcl and rakudo agree on something! ^_^
21:58 * Coke tries to figure out how many passing spec tests aren't getting counted because of that.
21:59 GeJ is MMD something bad?
21:59 Coke nope.
22:00 Coke just a lot of leftovers in the code from the old way of doing MMD.
22:00 chromatic I don't think we can get rid of mmd_cvt_to_types yet.
22:00 Coke ISTR that was the hard one.
22:00 chromatic The PIC mess wasn't much easier, but it's unused, so hooray.
22:01 Coke was PIC another optimization?
22:03 Coke PIC?
22:03 purl PIC is a preprocessor for *roff, like tbl or eqn. or a language for drawing pictures and diagrams or pilot in command or MONKEY or Position Independant Code or Polymorphic Inline Cache or the popular line of Microcontrollers from Microchip or SHOW US THE PORN BITCH
22:03 apeiron joined #parrot
22:04 chromatic Yes, but some of the predereferenced cores use some of its features.
22:04 Coke I wonder again why we have so many cores. :|
22:04 chromatic To make Piethon go fast.
22:04 particle what's wrong with optimization, now?
22:04 Coke nothing, as long as everything /works/ first.
22:04 particle i don't like cgp, cause it's gcc-only
22:05 Coke (and after)
22:05 chromatic and the code is maintainable
22:05 particle pic is a perfectly fine optimization, if it's used
22:05 chromatic and gets tested
22:05 Coke pmichaud: do you have a smaller test case than mine? mine involves several KLO Tcl.
22:05 particle the only problem with our many runcores is that they're not tested regularly.
22:05 dalek r34086 | kjs++ | :
22:05 dalek : [pirc] don't generate an instruction if it would be: set $P0, $P0. That's a no-op.
22:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34086
22:05 dalek r34087 | chromatic++ | :
22:05 dalek : [MMD] Removed deprecated Parrot_MMD_search_default_infix() and
22:06 dalek : Parrot_mmd_search_default() functions.
22:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34087
22:06 Coke if they're never tested (by which we could say never used), why have it?
22:06 particle that's enough of a reason to remove them if it makes our releases more stable.
22:06 Coke there we go.
22:06 chromatic Yeah, you've almost convinced me.
22:06 particle however, better smoke infrastructure can also fix the problem
22:07 Whiteknight joined #parrot
22:07 Coke assuming they /work/, we can then assess if they're enough of a speed improvement to keep.
22:07 Zaba joined #parrot
22:07 particle wanna rip out -O also?
22:08 particle where do we draw the line?
22:08 Coke that would be an easy way to fix all the bugs reported against -O. =-)
22:08 Coke particle: further away than we have so far.
22:09 Coke 254/2341
22:09 purl 0.108500640751815
22:09 dalek r34088 | kjs++ | :
22:09 dalek : [pirc] remove commented-out code. it's no longer necessary.
22:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34088
22:10 Coke chromatic; TT# 66 is blocking 254 spec tests from being accounted for, about 11% of my current total.
22:16 Coke speaking of optimizations, is r34086 in the core pirc loop? is there an optimization stage there?
22:18 pmichaud Coke:  I can make a relatively small test case, although it does involve loading perl6.pbc (which is a little large).  But the actual code is small.
22:18 pmichaud I can post an example once I get the rakudo 'main' branch merged to trunk.
22:20 Coke ok.
22:20 Coke (thanks!)
22:21 GeJ pmichaud: the rakudo 'main' branch?
22:22 pmichaud it's a branch where I'm refactoring load/init/main handling.
22:22 pmichaud I'm merging to trunk now..._except_ I've exposed a bug in NQP.  :-(
22:22 pmichaud no, I said that wrong.
22:22 pmichaud I've exposed another Parrot segfault bug that manifests itself in NQP.
22:22 particle that's a smaller test case :)
22:23 pmichaud :load and :init are very fragile, it seems.
22:23 GeJ Time to resync my local repo.
22:23 Whiteknight everything related to sub calling is fragile
22:23 particle imcc is fragile
22:23 pmichaud good thing we don't call subs very oft..... oops.
22:23 * Coke waits for someone to say, "your mama's so fragile, she..."
22:24 Coke "... broke a hip sneezing."
22:24 Whiteknight "... she broke somebody else's hip sneezing"
22:25 masak "... broke a hip when somebody else sneezed."
22:25 chromatic "... she sits AROUND the house."
22:25 particle masak++
22:25 Whiteknight "... broke a hip cause she's so fat too!"
22:26 Coke karma dozens?
22:26 purl dozens has neutral karma
22:26 * Coke heads out, hoping the segfault fairy fixes his bug.
22:26 Whiteknight out of sheer morbit curiosity, I am trying to update the gsoc_pdd09 branch to trunk. There are about a hundred conflicts
22:26 Coke ->
22:26 chromatic Coke, I'll look at it if pmichaud can give a small PIR example.
22:27 Whiteknight purl chromatic is the segfault fairy
22:27 purl ...but chromatic is <req><req>a lot of fun.  For years I'd try to play stuff like `peter and the wolf', and then I'd be frustrated because it would use some note I didn't have. or the author of jellybean or mailto:chromatic@wgz.org or http://wgz.org/chromatic/ or the winner of the not-a-contest perl-bugathon. or best reached via email. or the guy who hit me in the eye....
22:27 Coke I can continue to try to strip it down on the tcl side, too.
22:27 pmichaud it's not too long, no.  Very reproducible.  Doesn't seem to be quite as sensitive to minor code changes.
22:27 Coke pmichaud: then I defer to you; the tcl variant seemed quite sensitive.
22:28 pmichaud yes, the lack of sensitivity is what surprised me about this one earlier today.
22:28 Coke (always in the same spot, mind you, but required a lot of apparently unnecessary preamble code.)
22:28 * Coke runs another long-dead spec test to see if it's a related issue.
22:28 Coke and now, really. -=>
22:39 Theory joined #parrot
22:41 funktio joined #parrot
22:55 dalek r34089 | pmichaud++ | :
22:55 dalek : [nqp]:  Clean up a test file for :load :init semantics.
22:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34089
23:20 apeiron_ joined #parrot
23:22 nopaste "pmichaud" at 72.181.176.220 pasted "new code for use_statement" (22 lines) at http://nopaste.snit.ch/15028
23:39 dalek r34090 | pmichaud++ | :
23:39 dalek : Merge Rakudo 'main' branch (refactor load/init/main) into trunk.
23:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=34090
23:42 Eevee joined #parrot
23:50 particle !UNIT_START could use documentation
23:55 Zaba_ joined #parrot

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

Parrot | source cross referenced