Camelia, the Perl 6 bug

IRC log for #parrot, 2008-09-27

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:09 AndyA joined #parrot
00:11 Theory joined #parrot
00:14 Morglet LOL, I'm trying to do something really noddy in PIR, just implement atoi(), and grabbing the characters out of the string is defeating me </sigh>.
00:33 bacek joined #parrot
01:00 Morglet Getting there. :-)  Turns out that $S0 = str[int] works, and I just had a typo. :-(  Now just need to figure out how to detect end of string.
01:22 dmknopp does parrot have an opcode to return the output of a command. Some thing like spawn <output>, <command>  instead of spawn <status_int>, <command>
01:23 dmknopp I see perl6 uses the latter spawn opcode and it mentions a Proc::Status, which I couldnt find
01:24 pmichaud fwiw,   $I0 = $S0    does the basic equivalent of "atoi"  :-)
01:26 particle1 joined #parrot
01:28 Morglet pmichaud: lol, really?  I've been wasting my time then, hehe.  What a nice high level "assembler" :-)
01:28 Morglet Testing :-)
01:28 Morglet Not really wasting my time, as learning a lot.
01:29 pmichaud PIR is much higher level than most people realize until they've used it a bit.
01:30 Morglet Woot!  You're dead right, that worked as an atoi :-))))
01:31 Morglet Thanks :-)
01:32 Morglet I nearly got there writing my own atoi --- it's calculated the result fine, but just fails in the exit:
01:32 Morglet "Could not find non-existent sub return
01:32 Morglet "
01:33 pmichaud .return
01:33 pmichaud instead of "return"
01:33 Whiteknight assemblers make me shiver
01:33 pmichaud the leading dot is significant -- it's a compiler directive.
01:33 * Whiteknight wrote his own assembler once, in MATLAB/Octave no less
01:33 Whiteknight talk about picking the wrong tool for the job!
01:34 Morglet LOL, what a noob mistake, hehe, thanks. :-)  I've got .return in all the other subs, missed the dot there :-)
01:34 Morglet Whiteknight: there is no other tool than PIR for learning PIR :-)
01:35 Whiteknight PIR is amazing, you've got that right
01:36 Morglet I've never used Matlab, but I wrote a basic in 8008 (not 8080), does that qualify as wrong tool? :-)
01:36 Morglet Yeah, it's fun so far.  Just started looking at it a couple of hours ago.
01:36 Whiteknight wow. 8008? Why don't you put a big timestamp on your forehead!
01:37 Morglet Hehe, aye, oldies are attracted to primitive things :P
01:37 Morglet But as you say, PIR isn't primitive.
01:37 Whiteknight Intel released the schematics for the 4004 last year, that was a very interesting read
01:37 Morglet Yeah, heard about that, but didn't look.
01:38 Whiteknight If PIR had IF/ELSE and WHILE/FOR, i might use it all the time!
01:38 Morglet Hehe, yeah.  But you could prolly knock up if/then/else with a macro processor
01:38 Whiteknight in fact, I'm not entirely convinced that I'm not going to try to add those features late one night :)
01:39 Morglet Probably makes more sense leaving that to the HLLs, but yeah, would be fun :-)
01:39 Morglet This is so much fun I'm tempted to write a noddy language for it.
01:40 Whiteknight What kind of language?
01:40 Morglet Any old noddy thing
01:41 Morglet I wonder if anyone's ported Nickle to it.
01:41 Whiteknight not that I've heard
01:41 Whiteknight I read a great paper a while back about how they were trying to add closures to C with the Clang compiler
01:41 Whiteknight that sounds like a perfect application for Parrot
01:42 Morglet I've not looked inside Nickle, but I could take a quick peek in case it's not too sordid.
01:42 Whiteknight I would love to write an x86 emulator for it, and a MMIX emulator too
01:42 Whiteknight It's been a long time since I've heard anybody talk about Nickel
01:43 Morglet Closures to C?  LOL, it's not enough that they made a broken OO language by building it on top of C, now they want to make a broken functional language as well?
01:44 Morglet I find Nickle handy to have around.  Don't program in it, but just for random calculations.
01:45 Morglet It's a few times slower than Perl or Python, so not too good unless you need arbitrary precision or rationals.
01:48 Morglet Talking of Perl and Python, I'll write a PIR factorial and compare it against them, should be fun.
02:03 particle joined #parrot
02:20 Theory joined #parrot
02:21 sjansen joined #parrot
02:25 Morglet Hehe, interesting result.  PIR running a noddy factorial is about half the speed of Perl5, despite all the debug.
02:26 Morglet It has a vastly larger setup time though, about 7 times as long as Perl5.
02:27 Morglet I'll probably get flooded out if I post the table here.  Maybe slowly
02:28 Morglet Lang @ 2007         Times:  n=1         n=170       diff
02:28 Morglet ------------------------------​-----------------------------
02:28 Morglet C                      0.000 ms      0.090 ms      0.090 ms
02:28 Morglet Lua                    0.001 s       0.005 s       0.004 s
02:28 Morglet Python                 0.013 s       0.027 s       0.014 s
02:28 Morglet Perl                   0.002 s       0.021 s       0.019 s
02:28 Morglet Parrot                 0.014 s       0.056 s       0.042 s
02:28 Morglet Hehe
02:30 Morglet No doubt Parrot's really going to fly with optimizations on.
02:30 Ademan joined #parrot
02:33 Morglet Most of Parrot's time was spent in recursion, because the iterative version of factorial is vastly faster:
02:33 Morglet Parrot/iterative       0.014 s       0.019 s       0.005 s
02:39 Whiteknight those are interesting results
02:39 Ontolog joined #parrot
02:40 Whiteknight are you running an optimized parrot?
02:40 Morglet Nope, straight out of svn
02:40 Morglet Plain Configure/make
02:40 Whiteknight when you configure, you can use "perl Configure.pl --optimize" to create an optimized build
02:41 Whiteknight that tends to perform much better then the standard, although can be a little less stable
02:41 Morglet Oh, nice.  I was about to go to bed, but I guess I could do that.
02:41 Whiteknight oh don't let me keep you up. you could stay up all night exploring all this stuff
02:41 Whiteknight (i've done it before)
02:41 Morglet Wouldn't be the first time :-)
02:43 Whiteknight the slowest part of parrot is the damn garbage collector, and we've been working to overhaul that
02:44 Morglet Grabbing another svn to start afresh, as want to keep the unoptimized one.  They might not be identical after 3-4 hours of commits :-)
02:44 Whiteknight and there are a few other places where we can shave down the computations a little bit, in the final release
02:44 Whiteknight oh, are you a committer?
02:44 Whiteknight i never keep track of the whole list
02:44 Morglet Jeez no, I'm a 4-hour noob in Parrot :-)
02:46 Morglet 9 commits difference since the one I grabbed a few hours ago.
02:46 Whiteknight well, if you find any fixes (and there are plenty to find) you can mail patches to parrotbug@perl.org to get them into the issue tracker
02:47 Morglet Unlikely to get involved at that level, but yeah, if I get the Parrot addiction ;-)
02:51 Morglet OK, it's building after config with --optimize
03:07 Morglet Parrot-opt             0.013 s       0.029 s       0.016 s
03:09 Morglet So yes, optimization made a significant difference as expected.  It'll probably improve an order of magniude more yet though :-)
03:09 Morglet Anyway, bed time, NN :-)
03:10 particle joined #parrot
03:59 clunker9__ joined #parrot
04:41 zostay joined #parrot
05:42 particle1 joined #parrot
06:11 Bzek joined #parrot
06:18 Zaba_ joined #parrot
06:28 Tene Anyone up feeling like tracking down some test failures with a patch so we can remove a workaround in ExceptionHandlers?
06:30 cotto sure
06:30 cotto patch?
06:30 purl We don't need no stinking patch!
06:31 bacek g;day
06:31 nopaste "tene" at 166.70.38.237 pasted "remove EH workaround. Look for infinite loops." (16 lines) at http://nopaste.snit.ch/14180
06:32 Tene There's the patch.
06:32 cotto tiny
06:32 Tene Yeah.  It should cause some infinite loops somewhere.
06:32 Tene Not sure where yet.  I had trouble finding them.
06:36 bacek Tene: I've got error message with your patch:
06:36 bacek ../../parrot ../../runtime/parrot/library/PGE/Perl6Grammar.pir  --output=PGE/builtins_gen.pir PGE/builtins.pg
06:36 bacek Class PGE::Perl6Grammar already registered!
06:36 Tene Really?  Weird.
06:38 Ontolog in actions.pm can I throw an exception?
06:38 Tene Ontolog: Sure.
06:38 Ontolog how might I do that?
06:38 Ontolog sorry i don't even know how to throw exceptions yet
06:39 Tene Hmm.  You might need to call out to PIR to do it.  I don't think NQP supports exceptions.  What is it you're trying to throw an exception for?
06:40 bacek Ontolog: $/.panic("We doomed") ?
06:41 cotto Tene, I get a segfault on the last test of t/pmc/exceptions.t if I run it by itself.
06:41 Tene Hmm.
06:42 Tene I guess I'll have to look at the test failures myself to see what's going on.  Bah.
06:42 Tene After I'm done adding 'next' support, maybe.
06:45 cotto Nice.  test 29 in exceptions.t clobbers the stack
06:54 Ontolog Just trying to catch an error condition... $key should be within a certain set of values and if it is not, something has gone terribly wrong
06:54 Ontolog the parser is broken so we need to throw an exception
06:54 Tene Ontolog: bacek has it right.  $/.panic('text goes here');
06:55 Ontolog ok i'll try it out
06:55 Ontolog thanks a lot
06:55 Tene Hmm.  With this PCT change, it looks like parrot is hung on generating perl6.pir
07:12 Tene erm... compiling perl6.pir to perl6.pbc
07:19 Tene Can anyone here test my patch to add 'next' support to for loops in pct?
07:20 Tene I'm getting a hang on building perl6.pbc with it, but I don't know why that would happen, so I think it might just be my system.
07:20 nopaste "tene" at 166.70.38.237 pasted "add next support to pct for loops" (155 lines) at http://nopaste.snit.ch/14181
07:20 * Tene prods cotto
07:22 cotto looking...
07:26 Tene Yeah, same behavior.  Cardinal is fine.  Rakudo hangs.
07:28 nopaste "tene" at 166.70.38.237 pasted "add next support to pct for loops, and actually throw the exceptions we generate in next()" (186 lines) at http://nopaste.snit.ch/14182
07:29 cotto same thing
07:29 cotto (with the 14181 nopaste)
07:30 Tene Weird.
07:30 cotto I'm testing the most recent one now...
07:30 Tene shouldn't make a difference.
07:31 bacek msg moritz If you'll add "reverse" to EXPORT in Str.pir it will allow to unfudge couple on tests in S29-list/reverse
07:31 purl Message for moritz stored.
07:32 Tene looks like it's hanging in imcc
07:33 Tene Oh!  Chromatic loves imcc problems!
07:34 Zaba joined #parrot
07:35 Tene purl: msg pmichaud http://nopaste.snit.ch/14182 seems to be a good patch and work great for cardinal, but it makes rakudo hang on compiling.
07:35 purl Message for pmichaud stored.
08:14 johbar joined #parrot
08:33 johbar_ joined #parrot
09:03 jan joined #parrot
09:11 iblechbot joined #parrot
10:39 mberends joined #parrot
11:06 Debolaz joined #parrot
11:09 Zaba_ joined #parrot
11:28 bacek joined #parrot
11:34 dalek r31452 | moritz++ | trunk:
11:34 dalek : [cage] make codingstd tests happy about exceptionhandler.pmc
11:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31452
11:35 bacek evening everyone
11:36 bacek moritz: ping
11:40 moritz bacek: pong
11:41 moritz bacek: re EXPORTing reverse...
11:41 moritz bacek: I have to try if that makes the correct multi
11:41 bacek moritz: nice ;) Actually whole Str.pir should be simplified much.
11:41 bacek ...using EXPORT
11:42 moritz bacek: actually much of Str.pir should be moved to builtins/any-str.pir
11:42 bacek indeed
11:42 moritz bacek: problem is, we don't have clear specs yet which Str methods go in any
11:42 bacek moritz: yes... It still evolving...
11:47 dalek r31453 | moritz++ | trunk:
11:47 dalek : [NEWS] some Rakudo news
11:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31453
11:49 moritz bacek: do you know if there are any tests for Hash.reverse?
11:49 bacek moritz: S29-list/reverse
11:50 moritz man, I could have grep'ped t/spectest_regression.data to find out
11:50 * moritz dumb
11:50 bacek moritz: no worries ;)
11:51 * moritz applies patch and watches spectest_regression
11:54 dalek r31454 | moritz++ | trunk:
11:54 dalek : [rakudo] implement Hash.reverse, bacek++. Closes RT #59396
11:54 dalek : Patch courtesy of Vasily Chekalkin
11:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31454
11:57 bacek moritz: two times in a row you spelled my name correctely! ;)
11:57 moritz bacek: there's still hope that I'll learn it ;)
12:03 dalek r31455 | moritz++ | trunk:
12:03 dalek : [rakudo] export Str.reverse as a function, as perl S29 and bacek++
12:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31455
12:09 moritz bacek: with Pair.pairs, I'm not sure if that should actually return a list, or just self
12:09 bacek i think list. For consistency sake
12:10 moritz bacek: most list functions/methods live in Any anyway, so you can treat items as list
12:10 moritz bacek: similarly <foo>.WHAT is Str, not List
12:10 bacek ah. ok. I can try to return just self.
12:10 moritz (in my world of Perlfect Perl 6 <foo> would be a List, but I'm not $Larry ;-)
12:11 bacek little bit later. I'm implementing lvalue version of Str.substr
12:11 moritz no hurry
12:19 moritz rakudo is at 4096 tests now
12:19 moritz passing tests, actually ;)
12:21 Ontolog joined #parrot
12:23 bacek moritz: How I can run spectest in multiple processes?
12:23 bacek And rakudo actually should pass more tests after my next patch ;)
12:23 moritz bacek: export TEST_JOBS=3
12:23 moritz bacek: then a simple 'make spectest_regression' should use that many processes
12:23 moritz (and parrot's make test also)
12:24 bacek moritz: thanks
12:24 moritz np
12:29 bacek t/spec/S29-str/substr.rakudo                                 (Wstat: 0 Tests: 42 Failed: 0)
12:29 bacek TODO passed:   19, 27-30, 32-34
12:30 * bacek launching git commit --interactive to create two proper patches.
12:40 bacek moritz: I've made patch to move methods from Str to any-str. Submit to RT or just nopaste it?
12:41 bacek And second patch for lvalue Str.substr (depends on first)
12:42 moritz bacek: RT please (I might have to leave soon)
12:42 bacek moritz: np.
12:47 bacek moritz: #59398, #59400
12:57 kid51 joined #parrot
12:58 mberends joined #parrot
13:03 Zaba joined #parrot
13:04 dalek r31456 | moritz++ | trunk:
13:04 dalek : [rakudo] move some Str builtins to any-str, bacek++. Closes RT #59398.
13:04 dalek : Patch courtesy by Vasily Chekalkin
13:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31456
13:05 bacek moritz: Pair.pairs actually works without list.
13:06 bacek resubmitting patch
13:21 johbar__ joined #parrot
13:22 dalek r31457 | fperrad++ | trunk:
13:22 dalek : [Markdown]
13:22 dalek : - implement Code
13:22 dalek : - and add tests
13:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31457
13:34 dalek r31458 | fperrad++ | trunk:
13:34 dalek : [Markdown]
13:34 dalek : - implement XML escape
13:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31458
13:41 moritz P.S.: Ja Mojolicious wird groessten teils ein Ruby on Rails Klon. :)
13:41 moritz sorry, copy & paste error
13:51 rurban joined #parrot
13:52 dalek r31459 | fperrad++ | trunk:
13:52 dalek : [Markdown]
13:52 dalek : - add a CREDITS file
13:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31459
14:37 dalek r31460 | coke++ | trunk:
14:37 dalek : [codingstd] remove trailing whitespace
14:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31460
14:49 coke joined #parrot
15:02 Zaba joined #parrot
15:25 tetragon joined #parrot
15:26 dalek r31461 | fperrad++ | trunk:
15:26 dalek : [WMLScript]
15:26 dalek : - add a CREDITS file
15:26 dalek : - remove many AUTHORS section
15:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31461
15:53 pmichaud (Mapping.reverse) -- what if the values aren't strings?
15:53 pmichaud (yes, I know that Parrot forces them to strings... but we should go ahead and write our functions for the day in which Parrot doesn't.)
15:55 iblechbot joined #parrot
16:11 rindolf joined #parrot
16:11 rindolf Hi all.
16:13 jhorwitz joined #parrot
16:15 Tene pmichaud: any ideas about that patch causing the rakudo build to hang?
16:22 teun joined #parrot
16:23 pmichaud Tene: haven't had a chance to explore it yet.  The patch itself looks pretty good.
16:23 bacek pmichaud: yes. I choose easy way with Mapping.reverse. But it can be changed if rakudo will have non-string keys in hashes
16:24 pmichaud I think Perl 6 needs that, yes.
16:24 johbar joined #parrot
16:24 bacek pmichaud: agreed.
16:25 pmichaud methods moved into any-str still need to be :multi
16:25 pmichaud so they can be overridden
16:25 pmichaud (at least, they do if they're listed as "multi" in S29)
16:27 moritz bascially everythiing in the prelude should be multi
16:28 teun Here's a stupid question: if i was to implement a (new) language, would parrot already be mature enough for me to do it on?
16:29 moritz many of us are working on implementiing new languages, so the answer is probably "yes"
16:30 teun cool.
16:30 teun It's hard to find documentation on how far objects are implemented for example
16:30 * bacek creating "multi" patch for any-str...
16:32 Tene It looks like an issue with imcc.  I think chromatic likes debugging thoses.
16:33 moritz teun: as far as I can tell the object system is mostly there and sufficient for ruby and Perl 6
16:34 moritz but I'm certainly not an expert in parrot-OO
16:34 teun thx moritz
16:34 teun i'm looking trough the docs now and it looks pretty good
16:36 teun this pir feels perlish. Let's call pir perl6 and you guys are done ;-)
16:37 moritz that would be one of the worst perls ever released ;)
16:37 teun lol
16:37 moritz but yes, it's certainly inspired by perl
16:37 teun but it is quite high-level, isn't it?
16:37 moritz yes
16:37 teun i am supposed to spit out pir right?
16:37 moritz it lacks control structures, but apart from that has everything you need
16:38 moritz teun: that's one possibilty. You can also emit PAST, and let the past compiler handle the rest
16:38 moritz that's bascially an abstract syntax tree
16:38 teun ok ill have to look up what PAST is
16:38 teun oh
16:38 moritz if you need an example:
16:38 moritz cd languages/perl6/
16:38 moritz make perl6
16:38 moritz ./perl6 --target=PAST path/to/file
16:39 teun i'll try it. hx
16:39 teun hx=thx
16:40 teun i guess PAST would be lower-level, right?
16:41 moritz no, higher level
16:41 teun oh
16:41 jhorwitz pmichaud: ping
16:41 moritz with PAST you basically say "create me a variable" or "create me a while-loop"
16:41 teun ok
16:43 Limbic_Region joined #parrot
16:44 nopaste "bacek" at 114.73.10.151 pasted "any-str multis for moritz" (47 lines) at http://nopaste.snit.ch/14183
16:46 teun damn none of the perl6 examples compile
16:47 moritz teun: there are a few simple ones in  t/00-parrot/
16:47 teun ah lemme try
16:48 moritz bacek: applied patch locally, testing now...
16:48 teun yes they do work
16:48 teun hey. PAST
16:49 teun is PAST converted to pir and then run or are both PAST and pir run directly on the vm-thing?
16:50 moritz PAST and PIR are both compiled to pbc (the byte code) in the end
16:51 teun ah
16:51 moritz PIR directly, I think, but I don't know the compilation path of PAST
16:51 teun but i should not create pbc?
16:51 pmichaud jhorwitz: pong
16:52 jhorwitz pmichaud: having a string issue, wondering if it's related to the any-str multi discussion
16:52 moritz teun: you can do that, but of course it's much more work than simply creating a few new objects (like you do when you generate PAST)
16:52 jhorwitz in particular, trans doesn't seem to work on "String"
16:52 nopaste "jhorwitz" at 96.245.16.64 pasted "pmichaud: trans test" (37 lines) at http://nopaste.snit.ch/14184
16:52 teun yeah
16:53 teun you'd go for PAST i guess.
16:53 teun i must say pir feels more "right" to me ;-)
16:53 moritz that's the nice thing, you can choose whatever you like ;)
16:53 teun also confusing ;-)
16:54 tetragon joined #parrot
16:54 moritz teun: have you seen http://en.wikibooks.org/wiki/Parro​t_Virtual_Machine/Squaak_Tutorial already?
16:54 Theory joined #parrot
16:54 jhorwitz pmichaud: there's an extra level of indirection in there with the doit() sub, but i was trying to recreate conditions in mod_perl6
16:54 bacek jhorwitz: (multi) probably yes. sub 'trans' didn't declared as multi
16:54 teun moritz: yes i read it. good stuff.
16:54 jhorwitz bacek: that's what i was thinking.  VERY strange that i was having this problem exactly when you guys were discussing it
16:54 moritz good
16:54 teun although i think i read an old version (?)
16:55 teun i'll read it again
16:55 pmichaud jhorwitz: yes, I suspect there's a problem with .trans itself.
16:55 moritz the newest version should be somwhere in the parrot repo
16:55 moritz but I forget where :(
16:55 moritz ah, languages/squaak/
16:56 jhorwitz pmichaud: thanks, i'll see if bacek's patch helps any, and go from there.
16:56 teun cool. gonna read that one.
16:56 bacek jhorwitz: I didn't changed "trans"... Ask moritz to do it ;)
16:57 tetragon_ joined #parrot
16:57 jhorwitz delegation is fun!
16:58 bacek jhorwitz: I don't have commit bit :)
16:58 pmichaud at any rate, there's a very good argument to be made that .trans on a 'String' shouldn't work from PIR.  :-)
16:58 pmichaud because 'String' isn't a Perl 6 type.
16:58 bacek pmichaud: can you check #59400 at any chance?
16:58 pmichaud bacek: I commented on #59400 on list.
16:59 jhorwitz here's the issue: i have a filename coming from mod_parrot, which is a String.  mod_perl6 needs to run some string ops on it.
16:59 dalek r31462 | moritz++ | trunk:
16:59 dalek : [rakudo] add :multi directives on many methods in any-str.pir, bacek++
16:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31462
16:59 bacek pmichaud: ah. thanks.
17:00 rindolf pmichaud: in Rakudo t/spec/S02-literals/radix.rakudo fail.
17:00 rindolf pmichaud: and t/spec/S29-conversions/ord_and_chr.rakudo
17:01 pmichaud jhorwitz: I'm not sure where the "too few arguments" message is coming from, though.
17:01 pmichaud that's a bit odd.
17:02 moritz rindolf: are you sure that the first one actually fails?
17:02 moritz rindolf: for me it only lists passing TODO tests
17:02 pmichaud oh, I do know.
17:02 rindolf moritz: that's what t/harness say.
17:02 pmichaud Parrot already defines a 'trans' method on String PMC
17:02 s1n rindolf: radix fails which tests?
17:02 pmichaud so Rakudo refuses to override that.
17:03 rindolf s1n: Oh! TODO passed:   98-100
17:03 moritz that's what I meant
17:03 pmichaud so when doit() does   $s.trans(...)   it's getting the trans method defined in String, not the one that Rakudo defines.
17:03 s1n you can get the test number by adding the test to t/localtest.data make localtest_loud
17:03 pmichaud instead of $s.trans(...) you might try   trans($s, ...)
17:04 s1n rindolf: yes, some will pass, about 30 more will pass soon too
17:04 s1n waiting on a patch to unTODO the set of them
17:04 rindolf But t/spec/S29-conversions/ord_and_chr.rakudo
17:04 s1n that fails?
17:04 moritz rindolf: could you please compare with [perl #59372] if it's the same?
17:04 rindolf Parse errors: Bad plan.  You planned 240 tests but ran 173.
17:04 s1n oh
17:04 s1n lemme take a look real fast
17:04 moritz ah, I got the same error here
17:04 pmichaud rindolf: that's RT #59372.
17:05 rindolf moritz: URL?
17:05 jhorwitz pmichaud: i'll try that
17:05 moritz you don't know where perl RT is?
17:05 moritz http://rt.perl.org/rt3//Ti​cket/Display.html?id=59372
17:05 mberends joined #parrot
17:07 s1n rindolf: ord_and_chr.t passes for me
17:07 s1n all 240 of them
17:07 rindolf moritz: yes, it's the same.
17:07 moritz s1n: it seems to be a harness issue, not a rakudo bug
17:07 rindolf moritz: Mandriva cooker.
17:07 s1n moritz: what's the issue?
17:07 purl well, the issue is not with CMA. it's with config from what I see.
17:07 moritz could somebody with sufficient permissions please delete #59404? it's spam
17:08 moritz s1n: see the RT link
17:08 moritz s1n: we don't know where the problem is...
17:08 moritz s1n: but running the test "manually" succeeds, running it through the harness fails
17:08 s1n moritz: just from spectest?
17:09 s1n i ran it though make localtest_loud and it passed for me, all 240
17:09 moritz s1n: no, also if called with 'make t/spec/...'
17:09 moritz on another machine (also Debian) this works all fine
17:09 s1n lemme add to the spectest and see what i get
17:09 s1n everything is passing fine for me here
17:10 s1n r31462
17:10 s1n run as make localtest, localtest_loud, spectest_regression, and even t/spec/...
17:11 moritz s1n: yes, it's surely platform dependent, and probably also on phase of the moon and local humidity
17:12 tetragon joined #parrot
17:14 s1n moritz: possibly a debian issue?
17:14 pmichaud I get it on my system as well (kubuntu)
17:14 pmichaud (which is debian based, yes.)
17:14 s1n pmichaud: see pm
17:16 pmichaud kids are after lunch ("we're starving!")  so afk for a bit
17:20 cotto moritz++ #spam deleted
17:25 s1n what available runcores are there for parrot?
17:27 cotto docs/running.pod has a list (look for "Runcore Options")
17:27 s1n thanks
17:28 cotto you're welcome
17:32 s1n rindolf: is it dying after 170-something?
17:34 rindolf s1n: don't know.
17:35 s1n rindolf: add the test to t/localtest.data and run make localtest_loud
17:37 rindolf s1n: where do I see the result?
17:37 s1n it should spew out each test's result, i'm guessing it's crashing before finishing the 240-th test
17:39 rindolf s1n: ok 173 - ord() works for \118 == 'v'
17:39 rindolf Failed 67/240 subtests
17:39 s1n okay, so looks like around 174-ish it had problems
17:40 rindolf s1n: but shouldn't it also return a bad error code.
17:41 rindolf Like $?
17:41 s1n not likely, it didn't finish the tests which usually indicates parrot crashed mid-way
17:42 rindolf s1n: but if parrot crashes the process returns a bad error code.
17:42 s1n oh yeah, then the harness will complain
17:43 s1n but that tells me it's likely a parrot problem (or bad rakudo PIR that's crashing it)
17:44 s1n and it only does this from the harness?
17:45 rindolf s1n: let me try.
17:45 s1n otherwise chr("w") should cause the same problem for you...
17:46 s1n errr
17:46 s1n chr(119)
17:46 mwhudson joined #parrot
17:46 rindolf not ok 239 - ord works with longer strings
17:46 rindolf too many arguments passed (5) - 1 params expected
17:46 rindolf current instr.: 'parrot;Any;chr' pc 10163 (src/gen_builtins.pir:6400)
17:51 s1n yeah i was seeing that too... not sure yet
17:59 mwhudson joined #parrot
17:59 Andy joined #parrot
18:08 moritz that test is normally fudged
18:08 moritz if you run the .rakudo instead of the .t file it should pass
18:10 Tene If someone could post a ticket about that rakudo build problem with the pct patch I have, I'd really appreciate it.
18:10 Tene http://nopaste.snit.ch/14182
18:10 Tene with this patch, rakudo hangs while building.
18:14 s1n moritz: oh yeah, thanks, forgot about that
18:22 s1n moritz: not really sure how to test rindolf and pmichaud's problem if it doesn't happen by manual execution, any ideas?
18:31 szabgab left #parrot
18:32 pyrimidine joined #parrot
18:38 cotto ack!  o-chem flashbacks!
18:39 pyrimidine pmichaud: I found that the trans() method in the String PMC was modifying the string in place and only handled p5-like transliteration, so I ended up rolling my own for Rakudo.
18:40 pyrimidine (I have it accepting Closures now as well as hash arguments, just trying to get all tests passing before posting the patch to RT)
18:41 Andy left #parrot
18:56 pmichaud pyrimidine: correct, Rakudo should have its own .trans method.  But we shouldn't expect it to (globally) override the .trans method on Parrot's String class.
18:56 pmichaud which is what jhorwitz's code was using
18:57 pyrimidine Agreed.
18:57 purl Just kidding!
18:59 jhorwitz pmichaud: will HLL_map take care of some of this pain?
18:59 pmichaud in this particular instance, no.
18:59 pmichaud because we aren't mapping a i/s/n register to a hll type
18:59 pmichaud it was already a String PMC.
19:00 pmichaud if you had done    doit('/some/path/stuff')   then hll map would take care of converting the string constant to a Str object, yes.
19:02 pyrimidine I thought I recalled somewhere that the String trans() was deprecated...
19:03 * pyrimidine checking docs...
19:03 pmichaud if it's not in DEPRECATED.pod, it's not yet deprecated.  :-)
19:03 pyrimidine I think it was to be deprecated (just hadn't made it there yet)
19:04 pmichaud that's possible -- if you can find a reference (mailing list or parrotsketch log or irc log) that indicates it's to be deprecated, then I'd file a ticket and add it to DEPRECATED.pod .  If you can't find such a reference, feel free to propose it on the mailing list :-)
19:07 jhorwitz pmichaud: fyi, the conversion from String to Str didn't happen for me
19:08 pmichaud you mean with doit('/some/path/stuff') or ... ?
19:08 jhorwitz yes.  it's not in my example, but i remember trying it.  i'll try it again, just to be sure.
19:08 pmichaud at present Rakudo doesn't attempt to automatically remap String to Str
19:09 pmichaud and it probably won't in the general case.
19:09 pmichaud well, I should rephrase that.
19:09 pmichaud assignment *will* remap String to Str
19:09 pmichaud but method calls, binding, and parameter passing won't automatically change the type.
19:10 jhorwitz yep, doit("/path/to/nowhere") fails too
19:10 pmichaud right, because we're not doing hll map yet :-|
19:10 pmichaud did calling trans() as a function instead of a method help?
19:11 jhorwitz ok.  if HLL_map will take care of that, then that will work, cuz mod_parrot will be passing Parrot_Strings
19:11 jhorwitz and not PMCs
19:11 jhorwitz trans did NOT work as a function
19:11 jhorwitz didn't like the string argument
19:11 pmichaud okay.
19:12 jhorwitz but like i said, no worries if HLL_map will eventually be there.
19:12 pmichaud oh, because trans isn't exported yet.
19:12 pmichaud I wonder if it's supposed to be.
19:14 pyrimidine I remember (prior to implementing Rakudo's .trans) it did 'peek through' and was throwing errors
19:16 * pyrimidine testing that...
19:16 pyrimidine parrot ~/src/parrot/languages/perl6/perl6.pbc trans.p6
19:16 pyrimidine too few arguments passed (2) - 3 params expected
19:29 dalek r31463 | pmichaud++ | trunk:
19:29 dalek : [rakudo]:  spectest-progress.csv update: 187 files, 4090 passing tests
19:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31463
19:30 pyrimidine pm: can't find the deprecation notice, so I wouldn't worry about it,
19:30 pyrimidine but IIRC I think it had something to do with the fact trans() only handles ascii strings (i.e. no unicode)
19:42 tetragon joined #parrot
19:58 johbar joined #parrot
19:58 dolmen joined #parrot
20:00 Coke hurm. how can I figure out what's going screwy with an infinite recursion exception?
20:10 Tene You're getting one?
20:10 Tene That shouldn't be happening.
20:10 Tene Can you make a reliable test case in minimal PIR?
20:12 Coke if I could reduce it to minimal pir, I could see where the logic problem was.
20:12 Coke (if one exists, and I'm not somehow legitimately hitting the limit of 1000.
20:13 Coke ... if I up the limit to 10,000, the test passes.
20:14 Coke (it's test 18.2 in languages/tcl/t_tcl/dict.test)
20:14 Tene So it's not an infinite recursion?
20:15 nopaste "coke" at 72.228.52.192 pasted "recursion limit" (21 lines) at http://nopaste.snit.ch/14185
20:15 Coke well, no, .
20:15 Coke parrot stops you from doing that.
20:15 Coke I was exaggerating. =-)
20:15 Tene Because there is a problem I need to eliminate that there's currently a workaround for with infinite loops in exception handlers.
20:16 * Coke wonders if I can update the recursion limit from PIR.
20:16 * Coke is pretty sure he can.
20:19 * Coke doesn't see how, though. :|
20:36 dolmen joined #parrot
20:37 dalek r31464 | moritz++ | trunk:
20:37 dalek : [t/spec] add increment.t to rakudo, azawawi++
20:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31464
20:53 Coke looks like the magic number  I need is 1241. 1250 is more aesthetically pleasing. Any objections here to upping the limit?
20:53 Coke er, 1242. =-)
20:54 * moritz votes for 1248
20:54 Coke different aesthetic, but that works. =-)
20:54 * Coke dives through the svn log to look at historic values.
20:56 Coke ah. for as long as it's been a macro, it's been that.
21:09 dalek r31465 | coke++ | trunk:
21:09 dalek : [tcl] Up the recursion limit; partcl's 'dict' spec test was hitting this limit when it was set to 1K.
21:09 dalek : The number needed is really 1242; moritz++ suggested this slightly more aestetically pleasing one.
21:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31465
21:11 moritz I think that [tcl] marker was just out of habit, right? ;-)
21:19 Tene purl: parrotbug?
21:19 purl parrotbug is mailto:parrotbug@parrotcode.org or http://svn.perl.org/parrot/​trunk/docs/submissions.pod or see also "rakudobug"
21:22 Coke no. that change was specifically for tcl.
21:22 moritz but it affects all languages
21:23 Coke yes, but you can tell that from where the commit went.
21:23 Coke "the file that was committed", that is.
21:23 moritz ok
21:23 Coke ugh. the segfault appears to be a result of something in one of my pcms.
21:26 Tene This kitten is much too affectionate for my tastes right now.
21:57 s1n pmichaud: i need to run something by you real quick
22:22 dalek r31466 | cotto++ | trunk:
22:22 dalek : [config] allow additional include paths in dynpmc.pl via $ENV{DYNPMC_INCLUDE}
22:22 dalek : * also remove a bcg-specific hack in dynpmc.pl
22:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31466
22:33 Tene pmichaud: ping
22:44 slavorgn joined #parrot
22:58 dalek r31467 | cotto++ | trunk:
22:58 dalek : [config] allow extra .o files to be linked in dynpmc libs via $ENV{DYNPMC_LINK}
22:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31467
23:45 japhb joined #parrot

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

Parrot | source cross referenced