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