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