Camelia, the Perl 6 bug

IRC log for #parrot, 2008-05-13

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:10 pmichaud q
00:57 Zaba_ joined #parrot
01:11 japhb joined #parrot
01:26 AndyA joined #parrot
01:36 AndyA joined #parrot
01:44 petdance joined #parrot
01:45 kid51 joined #parrot
02:36 petdance joined #parrot
02:58 Ademan joined #parrot
02:59 Eevee joined #parrot
03:09 Zaba joined #parrot
04:17 cotto_home parrot?
04:17 purl parrot is, like, our teacher, our mother, our secret lover or the reason Dan started or the reason Dan left or pretty onionish:)
04:25 peepsalot joined #parrot
04:32 Psyche^ joined #parrot
04:56 Zaba_ joined #parrot
05:00 tetragon joined #parrot
05:11 davidfetter joined #parrot
05:19 Theory joined #parrot
05:31 Zaba joined #parrot
05:31 Theory joined #parrot
05:39 Coke joined #parrot
05:39 Coke I'm going to poke albany-pm to play with Rakudo.
05:47 Coke joined #parrot
06:06 * Coke smacks the pm.org mail server around.
06:06 Coke configure.pl is not a spammy domain name. it's not even registered.
06:08 Eevee ha
06:09 Coke I can't send a message to albany-pm@pm.org telling them how to build parrot.
06:09 Eevee clbuttic overzealous regex use
06:10 Coke I think it's a prank entry, too.
06:10 Coke dig configure.pl is pretty quiet.
06:11 Tene So, how do we get dalek back?
06:12 Coke ping the mailing list.
06:12 purl I can't find the in the DNS.
06:13 Coke ping configure.pl
06:13 purl I can't find configure.pl in the DNS.
06:13 Coke ping yahoo.com
06:13 purl 10 packets transmitted, 10 packets received, 0% packet loss
06:13 Coke (configure.pl) and, good luck forwarding the bounce message to support@pm.org =-)
06:14 * Coke finally gets a message past google.
06:14 Coke yay nopaste.
06:14 Coke -> abed
06:14 Eevee just do something clever like $ './configure''.pl'
06:15 Eevee well.  "clever"
06:17 japhb Anyone here understand Parrot's namespaces and/or what the following PIR translates to: 'P0 = some_func(some_arg)'?  If so, I need to pick your brain.  Mmmm, brains ....
06:18 japhb FWIW, I tried './parrot -o foo.pasm foo.pir', and got a file that doesn't make a whole lot of sense, especially given that it starts off with a warning about IMCC-generated PASM being wrong ....
06:26 uniejo joined #parrot
06:32 japhb Is there a Parrot bytecode decompiler?
06:34 Patterner src/disassemble.c maybe...
06:35 Zaba_ joined #parrot
06:36 japhb Hmmm, doesn't seem to be compiled ...
06:38 Patterner gcc -I./include -o src/disassemble src/disassemble.c -L./blib/lib -lparrot  # or something like that
06:38 japhb Yeah, I was grepping around for that
06:38 japhb It looks like the makefile has rules for it, they're just not used
06:39 japhb oooh ... 'make disassemble' seems to work
06:39 japhb IMHO, that ought to be done by default.
06:40 Patterner maybe it's outdated...
06:40 japhb It's a small wrapper around embed.c
06:40 japhb So one hopes it's kept up to date
06:41 Patterner hmmm... gcc links it to the old parrot lib in /usr/lib64... not good...
06:41 japhb It does seem to find chromatic's recent 'find_sub_not_null_p_sc', that's a good sign
06:48 japhb What would you call a script that weaves disassembled bytecode back into the original source?  Because I'm about to write one ....
06:51 Patterner pbc_to_pasm?
06:54 nopaste "Patterner" at 85.177.224.33 pasted "add "disassemble" to the list of files to create" (13 lines) at http://nopaste.snit.ch/12950
06:56 particle joined #parrot
07:14 cosimo joined #parrot
07:21 UltraDM joined #parrot
07:25 masak joined #parrot
07:31 japhb Hmmm.  Disassembled "source line numbers" seem to not always match actual source line numbers.
07:32 * japhb vaguely recalls someone mentioning that debug info in the PBCs was not entirely correct ATM, and this seems to be bearing that out.
07:47 nopaste "japhb" at 76.191.190.8 pasted "Woven source/disassembler output" (243 lines) at http://nopaste.snit.ch/12951
07:49 japhb You can see that for some reason that 'if' and 'get_params' opcodes for some reason appear before the source lines that correspond to them.
07:49 * japhb repeats himself
07:51 * japhb decides to sleep on it.
08:00 Ademan joined #parrot
08:40 IllvilJa joined #parrot
09:05 wknight8111 joined #parrot
09:14 iblechbot joined #parrot
09:31 wknight8111 left #parrot
11:03 ewilhelm_ joined #parrot
11:17 rdice joined #parrot
11:42 wknight8111 joined #parrot
12:41 ruoso joined #parrot
12:42 Coke japhb: if you want to see what bytecode is getting executed for that, try "parrot -t1 foo.pir"
12:42 Coke it shows each opcode as it goes by.
13:11 nnunley joined #parrot
13:15 gryphon joined #parrot
13:30 paco joined #parrot
13:30 AndyA joined #parrot
13:34 nnunley joined #parrot
13:41 rdice joined #parrot
13:45 jan joined #parrot
13:49 Zaba joined #parrot
14:26 ruoso joined #parrot
14:27 AndyA joined #parrot
14:32 NotFound joined #parrot
14:32 NotFound Hello.
14:33 NotFound We have other bunch of code candidate for deletion? #54062
14:38 IllvilJa joined #parrot
14:40 Coke pmichaud: nice segfault.
14:40 Coke it is pointing out what a twisty maze our opcode building is.
14:40 pmichaud indeed.
14:40 NotFound Are you in Jedi mood?
14:40 pmichaud the register coercion table I'm building is, well, messy.
14:41 cjfields joined #parrot
14:42 Theory joined #parrot
14:43 Coke pmichaud: I think the problem is that we're using mmd, it's getting sent down the String PMC path, but is really a STRING.
14:43 Coke so when we try to invoke the vtable, boom. I think. checking.
14:43 pmichaud okay.  I don't need it -- I just happened to notice it while playing with a few things.
14:52 Coke or, the line numbers could be off in the pmc -> c conversion. :|
14:55 Coke hurm. can we do dispatch on base types?
14:55 particle iirc yes
14:58 Infinoid hmm... I didn't do anything parrot-related at all this week. :(
15:01 particle i hate when that happens.
15:04 Tene orite, #ps today, ya?
15:04 NotFound Some comment on #54062? Can the function Parrot_find_vtable_meth be deleted?
15:05 particle tene: ya
15:05 Coke NotFound: depends a lot on if any tests fail if you remove it. =-)
15:05 NotFound Coke: none.
15:06 pmichaud NotFound: +1
15:06 purl 1
15:07 pmichaud NotFound:  your analysis looks completely correct to me.  I'll be glad to see us get rid of this very large function.
15:07 Coke In general, I don't see any issue with removing unused functions, no.
15:07 NotFound There is some prize to the most prolific code deleter? ;)
15:07 Coke I can go ahead and apply that.
15:07 Coke NotFound: I was trying to win that, but wil happily cede to you.
15:08 japhb Coke: thanks for the -t1 tip
15:11 NotFound By the way, I noticed that the CREDITS file has an unicode mark converted to utf8 at his start. Is this intentional?
15:11 sjansen joined #parrot
15:12 moritz it's not a normal BOM?
15:13 Juerd moritz: thanks!
15:13 Juerd Feather has new SSH keys: rsa => 44:88:fb:48:cb:79:72:da:67:bd:18:4f:84:d9:2a:cf, dsa => cf:8c:46:ff:41:f5:b5:e0:07:73:3d:6b:30:7c:2f:56
15:13 NotFound Looks like that, but I have readed somewhere that they must be ignored when converting to utf8.
15:14 moritz NotFound: the file *is* in utf8 and doesn't need to be converted any more
15:15 moritz NotFound: or what do you want to do with it?
15:15 NotFound moritz: yeah, I mean the editor that someone used to write the file.
15:15 NotFound moritz: I just noticed it in the diff file.
15:15 kj joined #parrot
15:17 moritz fperrad in r9495
15:17 moritz doesn't look bad to me
15:19 peepsalot joined #parrot
15:20 Coke NotFound: you going to send in a patch to delete those unused functions?
15:20 Coke (saving me the trouble of doing so? =-)
15:21 NotFound I'm working on it.
15:22 particle FASTER!!!
15:22 purl *whutcchhh* *whutcchhh* or Citius, Altius, Fortius! or the wrong goal
15:22 NotFound Sir, yes, sir!
15:22 jhorwitz joined #parrot
15:23 lidden joined #parrot
15:25 Tene purl: #parrotsketch?
15:25 purl #parrotsketch is the channel where the core parrot committers report weekly status or moderated by our project manager, coke
15:25 Tene purl: I wanted you to tell me the time.  I'm disappointed in you.
15:25 purl Tene: what?
15:26 Infinoid purl, parrotsketch?
15:26 purl parrotsketch is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
15:26 Tene feh
15:26 * particle pounds purl
15:26 Tene Infinoid-- # being more awesome than me
15:26 Infinoid purl, #parrotsketch is also 18:30 UTC
15:26 purl okay, Infinoid.
15:26 particle Infinoid: a day of week would help...
15:27 Infinoid Tene++ # being awesome in different ways
15:27 particle karma Infinoid
15:27 purl infinoid has karma of 172
15:27 particle karma Tene
15:27 purl tene has karma of 45
15:27 particle ut-oh. tene has some catching up to do
15:27 Tene That's a boring number.  I need more commits.
15:27 Zaba_ joined #parrot
15:28 particle it adds up to nine, which is a nice number
15:29 Infinoid one more -- and I'd add up to nine too :)
15:31 moritz rakudo segfaults on t/00-parrot/05-var.t
15:32 particle karma particle
15:32 purl particle has karma of 1315
15:32 particle ooh, same for me!
15:32 particle infinoid--
15:32 particle now me!
15:32 Tene particle--
15:32 moritz particle: fix that rakudo segfault and I'll give you +8
15:32 moritz particle: or +9, now ;)
15:33 particle 9++
15:33 particle moritz: rebuilding parrot now
15:33 particle moritz: can you try running the test with -G?
15:34 moritz particle: no segfault wiht -G
15:34 Coke #parrotsketch is also tuesdays.
15:34 purl okay, Coke.
15:35 particle moritz: good, that means that anybody can probably reproduce it with parrot --runcore=gcdebug
15:36 particle AHA! that reminds me, i want to deprecate the parrot options that --runcore= replaces
15:36 particle there is a ticket for that work, and i probably own it.
15:36 moritz could it be that gcdebug is *freakin* slow?
15:37 particle yes
15:37 particle it runs gc after every opcode
15:37 NotFound Looks like make test is actually using --gc-debug
15:37 particle --gc-debug ne --runcore=gcdebug
15:37 particle (confusing options)--
15:38 NotFound moritz: oh, no, is very fast... catching bugs.
15:39 moritz NotFound: it runs for about 4 minutes on that short file without any output so far
15:39 wknight8111 joined #parrot
15:40 NotFound moritz: that's good, it means that the code is less prone to have gc bugs.
15:41 moritz NotFound: it's bad because it means that say '1..12'; in perl6 translates to a freakin' lot of opcodes
15:41 NotFound But they are good opcodes, at least ;)
15:43 NotFound Searching a bug the other day I take a look at severar perl6-generated pir files, seems to have a lot of unneeded register copy.
15:43 Coke moritz: this is why it's key to trim the HLL code down to the bare minimum to generate the error.
15:44 moritz Coke: I'll try that
15:45 moritz unfortunately the segfault goes away if I remove something as simple as 'say "1..12"'
15:46 jan joined #parrot
15:47 * moritz gives up
15:47 moritz *any* removed line will remove the segfault
15:48 NotFound Patch ready, tested and sended, sir!
15:48 Coke NotFound++
15:49 Coke moritz: good enough. but if you can duplicate the segfault... let me ask you... why are you running with the gc debug cor?
15:49 * NotFound is Code Undertaker
15:49 Coke (there's no point then, is there?)
15:49 moritz Coke: because particle suggested it ;)
15:49 Coke don't listen to him. =-)
15:50 * moritz stops listening to particle
15:50 Coke if you can generate a segfault, get the stacktrace and put it in the ticket.
15:50 Coke (or fix it!)
15:50 moritz how do I obtain the stack trace?
15:50 Coke what platform are you on?
15:50 particle i said anyone can replicate it with gcdebug runcore
15:50 moritz linux
15:50 Coke gdb ./parrot
15:50 particle moritz already has it, so doesn't need to replicate it
15:51 moritz ok
15:51 Coke run languages/perl6/perl6.pbc languages/perl6/t/the_file.t
15:51 Coke then 'bt'
15:52 NotFound moritz: you listened to it!
15:53 gryphon joined #parrot
15:58 Coke NotFound: you delete 3 functions, but only one func def?
15:58 Coke (were the others missing from the .h?)
16:00 * particle hopes NotFound ran 'make headerizer' after removing the functions
16:00 NotFound 2 functions, one header in .h and the other the in the .c file for the static function.
16:00 Coke can we make headerizer just run when it needs to?
16:01 Coke (or in --maintainer, at least; need to reduce the complexity of managing the build.)
16:01 NotFound particle: eeeehhh... no.
16:02 Coke (running headerizer doesn't affect those two files in re: the patch, but does affect about six others.)
16:02 Coke either that means we're due to re-run it, or it's borked.
16:02 NotFound But include/parrot/oo.h seems to not be auto generated.
16:03 particle headerizer isn't just for generated files
16:03 pmichaud (unneeded register copy)  I'm working on that right now, in fact.  :-)
16:05 pmichaud but first it's time for errands, lunch.
16:05 pmichaud bbiaw
16:06 Coke bbiaw?
16:06 Coke (I know, just seeing if purl had something silly for me.)
16:08 pmichaud purl, bbiaw is something silly for Coke.
16:08 purl OK, pmichaud.
16:11 * Coke wonders if the new RT has a GUI more like hiveminder.
16:11 Coke suspects that would be much faster.
16:13 silug joined #parrot
16:13 particle coke: i suspect it will, but right now it's cli-only
16:16 Infinoid hmm!  looks like http://sourceforge.net/projects/gocache/ supports MSVC.
16:17 iblechbot joined #parrot
16:20 particle i wonder if we can get gocache to support imcc!
16:21 Infinoid c2str and pmc2c are the biggest components of my build time, these days, because ccache takes care of the rest.  I wouldn't mind caching those, too.
16:22 * particle would love to have core_ops and core_ops_switch cached
16:25 particle it may support msvc, but it looks like you need cygwin to build :(
16:32 cognominal that always freaks me out on my mac when I forgot to run the rakudo shell and I type "say ..."
16:38 tewk c99: unable to parse regex at line 498, near "{\n    [L]?"
16:39 allison joined #parrot
16:39 tewk I'm sure its bit rot,
16:41 nopaste "tewk" at 155.97.237.62 pasted "c99 grammar bit rot, Ideas?" (6 lines) at http://nopaste.snit.ch/12957
16:43 spinclad no, purl, #parrotsketch is the channel where the core parrot committers report weekly status, moderated by our project manager, coke, every Tuesday at 18:30 UTC
16:43 purl okay, spinclad.
16:44 spinclad # cause if i only know it's 18:30 UTC *or* Tuesday, that doesn't do me much good
16:45 cxreg left #parrot
16:49 cxreg joined #parrot
16:51 ruoso joined #parrot
17:02 AndyA_ joined #parrot
17:08 Zaba joined #parrot
17:19 dalek joined #parrot
17:19 * diakopter growls at dalek (well, feather really)
17:20 Juerd diakopter: What's wrong?
17:20 purl somebody said wrong was http://laughingsquid.com/pink-​polka-a-pink-floyd-polka-band/ or http://the-isb.blogspot.com/2007/04/fan​-film-roundup-batman-defenders-of.html
17:21 pmichaud twek:  (c99)   <string_literal: ">  needs to be   <string_literal: '"'>
17:22 allison joined #parrot
17:22 tewk pmichaud: thanks I just figured that out.
17:27 NotFound By the way, is there some easy way to make case-insentive reserved words?
17:28 NotFound I'm working on a toy pascal.
17:28 particle you mean, inside a grammar?
17:28 NotFound Yes.
17:28 particle try <:i[begin]>
17:28 pmichaud [:i ThIs|IS|case-INSenSITIVE]
17:29 peepsalot joined #parrot
17:29 pmichaud pge doesn't know <:i ...>
17:29 particle oops <[:i begin>
17:29 pmichaud no <
17:29 particle grr
17:29 pmichaud [:i begin]
17:30 ambs joined #parrot
17:30 diakopter well, perl on feather was upgraded to 5.10.0 which broke both SVN::Web (http://www.parrotvm.org/svn/parrot/revision) and dalek... attempting to repair.
17:30 ambs (perl 5.10)++
17:30 ambs :D
17:35 moritz the upgrade was my doing; I wanted to upgrade openssl which debian had severly b0rked
17:36 moritz and I wasn't too specific about what I wanted to see upgraded ;)
17:36 Juerd Also, please stick to debian packages for perl modules whenever feasible.
17:36 Juerd 'cause those *were* properly upgraded.
17:36 particle stable-only packages?
17:36 Juerd sid
17:36 Juerd feather runs sid/unstable
17:37 particle ah
17:37 Juerd 'cause stable is too old for our uses
17:37 particle that was my concern
17:37 Juerd In fact, I run sid/unstable on most of my production machines too.
17:39 ambs Slackware++
17:39 * ambs coughs
17:40 Juerd Hm, I think I'd have commited suicide if I had tried to run feather on slackware.
17:40 ambs LOL
17:40 ambs :D
17:40 Juerd Feather has its weird issues because of the uncoordinated multiple root access, but I think Debian has saved my butt quite a few times with that :)
17:41 ambs Juerd, er, multiple root access would be crazy with slack :)
17:41 ambs yeah
17:41 Juerd It's crazy on any system.
17:41 ambs Coke, do not forget to answer my email O:-)
17:41 Juerd The problem is not really that there are multiple people with root access, the problem is that they lack the tuits to document and discuss the changes :)
17:41 Juerd So we don't know what the other guy did.
17:42 ambs Juerd, yeah, probably I am crazy as well :)
17:42 Juerd Multiply this with a box with lots of experimental and beta software users, and you have feather :)
17:42 * particle taps coke with the +5 wand of responsibility
17:48 Coke ambs: did you tell us when we had to reply by?
17:48 Coke aha! no. =-)
17:49 Coke How many votes are you waiting for?
17:49 ambs Coke, 5 :)
17:49 ambs erm, 4
17:49 ambs yup, 4
17:50 ambs Coke, no hurry. Just pressing you a litle :)
17:51 NotFound I attended some time ago to a unix administration course: about 20 boys as root in the same machine.
17:51 ambs how much time did it take for a 'nohup rm -fr / &' ?
17:51 Infinoid beware the kid in the back of the class, reading BOFH
17:53 NotFound ambs: actually it was worse. A guy managed to enter other machine, not intended for the course, and broke it.
17:53 ambs :-S
17:54 NotFound It makes something like: while true ; do mkdir test ; cd test ; done
17:54 ambs heh
17:54 particle looks like ambs is itching to spend someone else's money
17:54 ambs particle, basically :D
17:55 ambs NotFound, I do not want to test it, but what is the usual result for that?
17:55 NotFound Or at least the rumour was something like that, don't know for secure.
17:55 ambs k
17:55 NotFound ambs: in a modern shell, string space por $PWD exhausted.
17:56 ambs then, probably not too bad
17:56 NotFound In an older, file system full and fsck fucked up, I think.
17:59 diakopter well, when (and if) dalek does return fully, there will likely be a large backlog of svn commit and wiki changelog messages to spool through
18:11 chromatic joined #parrot
18:13 Coke do we need that?
18:18 * pmichaud starts preparing his #parrotsketch report.
18:19 NotFound pmichaud: with slides?
18:21 Coke PS in 9.
18:30 pmichaud NotFound:  probably could use slides for some of this.  :-)
18:31 Eevee speaking of slides.  will perl 6/parrot have any bigger presence at yapc::na this year than last year?
18:31 Coke ... an entire room for an entire day was not big enough?
18:31 chromatic Smaller I think; Coke's dieting.
18:31 Coke chromatic: bite me and the horse I rode in on.
18:31 Eevee there was an entire day?  maybe I missed this
18:32 chromatic But I have a bigger ego, so it might be constant!
18:32 Eevee I only remember a session somewhere and a keynote.  $job might have been shuffling me around to other things though
18:32 * Coke is down 9.5 # this first week.
18:32 pmichaud at yapc::na the parrot track had the main auditorium for an entire day
18:33 ambs just one parrot talk at PPW :(
18:33 ambs but then, few talks at PPW :(
18:33 particle eevee there will be a parrot/rakudo hackathon before yapc::na, a full day of talks, a parrot/rakudo workshop, and a general hackathon
18:35 Eevee before == sunday?
18:36 chromatic Saturday and Sunday.
18:36 Coke and maybe friday.
18:36 Coke depending on when I get in, how low my blood sugar is, etc.
18:37 pmichaud I arrive Saturday noon.
18:37 particle i arrive friday night
18:37 Eevee nice.  alas I'm getting in sunday afternoon sometime
18:38 pmichaud come by anyway -- we may still be there.
18:38 pmichaud I mean, what else will there be to do on a sunday night?
18:38 pmichaud although maybe I'll bring the Wii.  :-)
18:41 * jhorwitz arrives sunday afternoon
18:41 ambs WiiStep is what we (me and Coke) needs
18:41 desertmax joined #parrot
18:42 Coke bah, I already lost 9.5 pounds in 7 days with only 60m of barely moving.
18:42 nopaste "pmichaud" at 76.183.97.54 pasted "new PCT code generation in pctcoerce branch" (44 lines) at http://nopaste.snit.ch/12958
18:42 ambs purl, convert 9.5 pounds to Kg
18:42 purl I don't know how to convert 9.5 pounds to Kg.
18:42 * ambs uses google
18:42 ambs 4.3kg, k
18:43 Eevee pmichaud: hm, brawl or rakudo, brawl or rakudo..
18:44 chromatic Hm, that's 9 lines of code versus 14.  Big improvement.
18:45 pmichaud and we avoid creating lots of unnecessary PMCs
18:46 pmichaud i.e., we no longer create PMCs for the second 'hello' constant or the return value
18:46 chromatic That'll speed things up.
18:47 pmichaud well, it's still not the "slow" part of the system (parsing is still slow), but it does give us some more flexibility and conciseness in code generation.
18:48 chromatic You'd be surprised how cutting down the number of allocations speeds things up in Parrot.
18:48 Coke elbh.
18:48 Coke (and send?)
18:49 NotFound chromatic: have you seen my comment on #50894?
18:50 chromatic Yes.
18:50 chromatic I'm not sure always creating that segment is the answer, but it's a reasonable idea.
18:51 NotFound Maybe a different option for creating and/or loading debug segment is the correct solution.
18:52 chromatic Or checking that there *is* a debug segment.
18:53 NotFound Actually I don't know if the current problem is creating, loading, or both.
18:53 NotFound On loading, loks like the segment is not created unless there is one in the pbc.
18:54 chromatic Makes sense.
18:55 lichtkind joined #parrot
18:55 NotFound But loading and compiling-running seems to use different ways.
18:56 chromatic Yeah, that's true.
18:59 chromatic pmichaud, when do you think your coercion branch will land?
18:59 pmichaud I don't know yet.  Maybe a day or so?
18:59 ambs dinner &
19:00 pmichaud I think I've got the difficult stuff done... but I don't know if there's some case I haven't considered that is just waiting to bite me
19:00 NotFound A temprary solution can be to always generate the debug info if compiling and running, but I think that information is not available in e_pbc_emit
19:01 chromatic I'd like to see it before the next release, but that's a nice-to-have, not a require.
19:02 pmichaud oh, I think it'll be before the release.  It doesn't really impact any other systems.
19:02 pmichaud so I can fold it in without having to update a bunch of translators.  Unlike the PGE grammar syntax changes.  :-)
19:02 chromatic Excellent.
19:04 lichtkind chromatic: hello
19:04 chromatic pong
19:05 gryphon joined #parrot
19:05 lichtkind chromatic: glad i see you wanted catch you since .... its always better than mail
19:07 chromatic What can I do for you?
19:08 lichtkind chromatic: you do a lot with you patiente :) i wanted just see whats your chedule
19:09 chromatic I'm always here for #parrotsketch, at 18:30 UTC on Tuesdays.
19:09 chromatic Other than that, I try to backlog if someone needs me.
19:10 lichtkind chromatic: may i know how you gather perl.com articles ?
19:12 chromatic Usually someone sends me an idea or outline and I review it, make any suggestions, and then we work on writing, editing, and publishing.
19:15 lichtkind chromatic: its really astonishing to see how much you handle at once,
19:16 Coke lichtkind: yah, but you should see his apartment! Oy!
19:16 diakopter hm, dalek is 48 revisions behind.  that could take a while to spew...
19:16 pmichaud ...apartment?
19:16 Coke ... it's a mess?
19:17 lichtkind Coke: how you know? :)
19:17 * Coke will try harder next time.
19:17 lichtkind who is dalek? a bot?
19:17 Coke yes
19:17 Coke dalek?
19:17 purl dalek is probably dha's distributed perl community badger badger badger attack or http://ourworld.compuserve.com/hom​epages/grahamwalters/dalek_fr.htm or 'Dalek' for the language, and 'dalek' for the program or http://www.daleklinks.co.uk/ or a Dr Who baddie or {see: dalek meme} or at http://www.deviantart.com/deviation/20016573/ or http://www.asciiartfarts.com/20020615.html or http://xrl.us/2doh
19:17 chromatic House, and I have a half-finished arcade cabinet downstairs.
19:17 pmichaud ...still half-finished?  ;-)
19:17 Coke that's not the one from 1987, is it?
19:17 pmichaud (and the arcade cabinet is tres cool)
19:18 chromatic I don't have a table saw, so I'm relying on my father to cut the pieces for me.
19:18 particle i have a table saw, next time you're here
19:19 particle or maybe i'll take it on the train to pdx for oscon :)
19:19 particle bbl &
19:22 lichtkind chromatic: sometimes im wondering that you didnt have written to me piss of
19:23 * Coke tries to parse that.
19:25 chromatic I usually go through article proposals once every couple of weeks in a batch.
19:25 Ivatar joined #parrot
19:25 lichtkind chromatic: are they a lot?
19:27 chromatic I have five or six to look at today.
19:27 wknight8111 joined #parrot
19:28 diakopter brace yourselves
19:29 dalek joined #parrot
19:31 diakopter or not
19:31 tewk Is there a chomp opcode?
19:31 tewk I only found chopn
19:32 rdice Hi folks... anyone know if any core p6 people are at YAPC::RU this week?
19:32 pmichaud I don't know of any, no.
19:32 askie joined #parrot
19:33 NotFound chromatic: a new flag in --imcc-debug meaning 'always create debug info' can be a solution?
19:33 lichtkind chromatic: how much time you spend for summer of code so far?
19:34 pmichaud looks like there's a talk about rakudo at yapc::ru, though.
19:35 Coke who's giving it?
19:35 pmichaud http://event.perlrussia.ru/yr2008/talk/1182
19:35 dalek r27481 | allison++ | pdd25cx:
19:35 dalek : [pdd25cx] Bringing the pdd25cx branch up-to-date with trunk r27480.
19:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27481
19:35 pmichaud (Andrew Shitov)
19:35 chromatic NotFound, I'm not convinced.  If someone forgets that flag, won't we still have the potential crash?
19:35 chromatic lichtkind, only a few hours.
19:36 ambs joined #parrot
19:36 Coke wow. google's translate on the fly rocks.
19:36 NotFound chromatic: for the item about showing line info, I mean.
19:36 Coke More information - Rapporteur on the site:
19:36 Coke * ......: http://rakudo.org/ Report: http://rakudo.org/
19:36 Coke ....... . ..., ... ..... Rakudo, . ...... ... .... ..... ...... Brief that such Rakudo, and why you need to know about him.
19:36 pmichaud grrrrr
19:37 Coke needs a little work, but the GUI is nice. looks like it's a short report.
19:37 Coke pmichaud: ?
19:37 pmichaud looks like register coercion is going to need to distinguish between integer constants and float constants
19:37 pmichaud I was hoping to not have to do that.
19:37 pmichaud $I0 = iseq $N0, 3     # error.
19:40 pmichaud afk # pick up kids from school
19:41 diakopter SVN::Web (the diff links) and dalek just needed some new debian packages and a little handholding to work with 5.10 and the new mod_perl.  here's hoping they stay stable for a while.
19:46 lichtkind chromatic: i currently do many things are aoverlap  a lot, its mostly to make the dream of chocolate perl come true
19:51 dalek r27482 | tewk++ | trunk:
19:51 dalek : RT#53966  gmtime & localtime returns wrong string length
19:51 dalek :   asctime always returns a \n terminated 25 character string even on WIN32
19:51 dalek :   26 includes the \0 which shouldn't be passed on to string_from_cstring
19:51 dalek :
19:51 dalek :   original patch from Ivan B. Serezhkin
19:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27482
19:53 ambs dalek is back!
19:55 lichtkind dalek where the doctor?
19:56 lichtkind dalek: who is the superior being ?
19:56 lichtkind its not a real dalek :)
19:59 dalek r27483 | allison++ | pdd25cx:
19:59 dalek : [pdd25cx] Deleting two now unused functions: do_str_exception and do_pmc_exception.
19:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27483
20:02 NotFound chromatic: I have tried a quick hack for #50894 by using --imcc-debug=0200 and looks like an acceptable temporary solution.
20:03 NotFound Uh, sorry, --parrot-debug
20:05 Tene my isp kicked me offline before #ps
20:06 Tene still offline, but running into a pct problem
20:09 NotFound Now with --imcc-debug
20:11 Tene I'm trying to add some classes to cardinal, and whenever I add a :returns('CardinalString') to the PAST::Val, the emitted pir doesn't have any quotes around the string
20:11 Tene $P11 = foo
20:11 pmichaud tene:  you need the following:
20:12 pmichaud %P0 = get_hll_global ['PAST::Compiler'], '%valflags'
20:12 pmichaud $P0['CardinalString'] = 'e'
20:12 pmichaud that tells PAST that it needs to quote+escape the string value when using it in PIR
20:13 barney joined #parrot
20:13 Tene pmichaud: thank you.
20:17 chromatic Ready to go faster, pmichaud?
20:17 pmichaud sure!
20:18 * pmichaud prepares for a power-up mushroom.
20:18 chromatic r27484
20:18 chromatic I went from 44 seconds in the slow part of Rakudo building to 28.
20:18 dalek r27484 | chromatic++ | trunk:
20:18 dalek : [GC] Skipped DOD runs from mem_allocate() if there have been no successful
20:18 dalek : allocations since the last DOD run.  We'll get the same answer back, so don't
20:18 dalek : waste CPU cycles trying to find the same amount of free memory.
20:18 dalek : This provides a 17.59% performance improvement in a different Rakudo-building
20:18 dalek : benchmark.
20:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27484
20:19 chromatic Those aren't scientific numbers, but it'll take me a while longer to get accurate Callgrind findings.
20:19 pmichaud niiiiiiice
20:19 ambs All tests successful @ linux
20:19 chromatic The 17.59% is from the src/gen_grammar.pir step.
20:19 moritz not scientific but still with four digits ;)
20:20 chromatic That part *is* scientific.
20:20 moritz ;)
20:20 Coke I thought it was magical?
20:20 Coke chromatic++
20:20 * Coke will have to check that patch to make sure chromatic didn't use a global!
20:21 NotFound chromatic: patch sended to #50894
20:21 chromatic It only uses tuning information we already collected.
20:22 chromatic Hmm, continuation runloop jumping problems in Pheme.
20:23 dalek r27485 | chromatic++ | trunk:
20:23 dalek : [Pheme] Added quotes to a PGE rule to make Pheme build again.
20:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27485
20:24 Coke (runloop) yay!
20:24 Coke (it's not just tcl)
20:26 chromatic My guess is that it's a PGE change.
20:26 pmichaud PGE causes an runloop jump?  that's new.
20:26 pmichaud PCT has done that (because of closures and :init/:load subs)
20:26 chromatic Could be PCT.
20:27 pmichaud if you're not able to track it down, file a ticket and I'll look.
20:27 chromatic I haven't touched anything in Pheme in a couple of weeks, so it's most likely one of the compiler tools somewhere.
20:27 chromatic I'll do a bisect in a bit.
20:27 pmichaud (feel free to assign me the ticket)
20:28 Coke pmichaud: can you point me at the recent PGE changes so I can fix tcl?
20:28 * Coke checks the list.
20:28 pmichaud basically there are two
20:29 pmichaud the one that causes failures is    <xyz: foo>  needs to be <xyz: 'foo'>
20:29 Coke danke.
20:29 pmichaud the other change is that  <?xyz>  (non-capturing subrule)  needs to be <.xyz>  instead
20:29 pmichaud but the <?xyz> form still works for now
20:29 pmichaud <xyz: foo> works as long as foo doesn't start with an unmatched quote
20:30 pmichaud i.e.,   <something: '>   or   <something: ">   will break.
20:31 Coke what about <!before:\s> ?
20:31 Coke <!before: "\s"> ?
20:31 Coke yup.
20:31 Coke (well, it compiles, anyway.)
20:33 pmichaud oh
20:34 pmichaud that should probably be <!before \s>  (no colon)
20:34 chromatic token ws { [ [ ';' \N+ ]? \s+ ]* } ?
20:36 pmichaud is that failing somehow?
20:36 Coke pmichaud: <xyz: foo> works, but does <xyz: foo bar baz> ?
20:37 pmichaud Coke:  it means <xyz: 'foo bar baz'>
20:37 chromatic No parse fail, just wondering if it's correct.
20:37 Theory joined #parrot
20:37 Coke ok.
20:37 chromatic Hmm, at least a 22.22% speedup on the slow Rakudo benchmark.
20:37 pmichaud The <xyz: foo bar baz> syntax is deprecated
20:38 pmichaud I just left it for combatibility until the next release.
20:38 Coke doh. guess I should have left in my edits then.
20:41 mj41 joined #parrot
20:41 tewk pmichaud: Its been a while since I've used PGE, Is there any way to trace PGE, I know its not matching I just don't know why?
20:41 pmichaud depends on what you mean by "trace"
20:41 pmichaud you can put <panic: ... >  in various rules to stop at given points
20:42 tewk I guess I'd like to see rule failure and how much was parsed when the rule failed.
20:42 pmichaud which rule?  :-)
20:43 dalek r27486 | coke++ | trunk:
20:43 dalek : [tcl]
20:43 dalek : Keep up with recent PGE/S05 updates
20:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27486
20:43 pmichaud rule failure is "normal"
20:43 pmichaud so it's not something easily traced.
20:44 pmichaud (at least, not automatically)
20:47 pmichaud we could have PGE generate "entering rule 'foo' at nnn", "passing rule 'foo' at nnn", "failing rule 'foo' at nnn"  debug messages, I suppose.
20:47 pmichaud there would be a ton of output, though.
20:50 tewk That would be nice.  I hacked something like that ages ago.  Don'
20:50 tewk t have it now.
20:50 pmichaud what rule are you wanting to trace?
20:52 tewk Checking in a fix now so you can look at it.
20:55 dalek r27487 | tewk++ | trunk:
20:55 dalek : [c99] Fixed tab in makefile
20:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27487
20:55 tewk svn up; cd languages/c99/src/cpp; make;
20:56 tewk ../../../../parrot cpp.pbc --target=parse t/cpp_0.t
21:00 pmichaud you can rewrite the control_line rule to give better output
21:00 pmichaud but note that in
21:00 pmichaud | '#' 'define' <identifier> <lparen> <identifier_list>? ')' <replacement_list> <newline>
21:00 pmichaud <newline> can never match.
21:01 tewk ah
21:07 tewk How do I match \n?
21:07 pmichaud well, the problem is that the space prior to <newline> will eat it up
21:08 pmichaud I don't have a good answer.  Parsing c99 seems like it would require a mix of line-oriented and non-line oriented parsing
21:08 pmichaud might need to write the rule as
21:08 pmichaud as token with
21:09 pmichaud | '#' \h* 'define' \h* <identifier> \h* <lparen> ... etc.
21:09 pmichaud but even then we have to make sure that the <replacement_list> subrule doesn't eat up trailing whitespace
21:09 NotFound pmichaud: the usual way is to preprocess first.
21:10 pmichaud NotFound: yes.
21:11 tewk Well src/cpp is the cpp pulled out.  I'm trying to just write the cpp.
21:11 pmichaud ahhh
21:11 pmichaud then you should change the default <.ws> token to not include newlines
21:11 pmichaud token ws { \h* }     # might be a good start
21:11 chromatic Heh, it was 27.79%.  Nice.
21:11 pmichaud chromatic++
21:12 pmichaud afk # break
21:13 tewk pmichaud++ makes sense, I wouldn't have realized on my own that the \n were getting eaten.
21:30 donaldh joined #parrot
21:31 Coke NOM NOM
21:31 * Coke wonders if tcl is any faster.
21:31 * Coke will check tomorrow. nite, folks.
21:33 chromatic Tcl crashes faster with parse errors.
21:34 lichtkind :)
21:34 Eevee but it IS faster
21:35 chromatic I guess r27486 might be good for Tcl.  Perhaps I should update.
21:35 askie joined #parrot
21:37 donaldh I have a Rakudo question. How do I access all those nice PIR library functions from perl6 ?
21:38 chromatic Hm, Tcl's test suite takes 3 minutes for me.  That seems faster.
21:38 * moritz measures pre- and post r27486 performance, just for fun ;)
21:39 chromatic pre-r27486 should be pretty fast: parsefail.
21:40 chromatic r27484 is the important one.
21:40 chromatic donaldh, which PIR library functions would you like to use?
21:42 donaldh Well, I was looking at postgres. In fact I was considering learning how to use the NCI for Sqlite
21:46 chromatic There's no 'use' support in Rakudo yet, but it's on the priority list.
21:46 Juerd joined #parrot
21:47 donaldh ah, I wondered. I took a look at the use implementation, but it is hard coded to .pm
21:49 donaldh Is that non-trivial to extend?
21:50 chromatic Depends on your definition of trivial.
21:50 chromatic I suspect the non-trivial part is getting namespacing correct.
21:50 donaldh heh
21:51 Zaba_ joined #parrot
21:52 donaldh I suspect that understanding what is meant by correct namespacing might be the non-trivial part for me.
21:55 chromatic pmichaud should be back in a while.  Either he or Jonathan will know what Rakudo needs for this.
21:56 donaldh Is the goal to allow any language to 'use' libraries from other languages hosted on parrot?
21:56 donaldh Or is the goal less ambitious?
21:57 chromatic That's the goal.
21:57 donaldh so Rakudo's use should really be implemented in parrot?
21:58 donaldh And automagically select the correct compiler?
21:58 moritz it's not that easy, because different languages have different ideas about namespaces (or at least I think)
21:58 pmichaud well, Parrot takes that into account (supposedly)
21:59 pmichaud the real issue at the moment is that we don't have export/import well defined yet
22:00 pmichaud so even if we load a library, we need a (perl 6 compatible) way to get to the defined classes and objects
22:00 pmichaud i.e., to import them into Perl 6's namespace
22:00 donaldh to make it look more Perl 6 ish?
22:01 pmichaud well, that's really the only mechanism we have for accessing them at the moment
22:03 donaldh This has helped my understanding considerably.
22:04 pmichaud we can access subroutines in other libraries okay
22:04 pmichaud but what we really need are protoobjects so that we can access the classes/objects defined by the libraries
22:05 pmichaud I had been toying with the notion of having rakudo automatically create protoobjects if it's given something that looks like a class name and there's a corresponding Parrot class
22:05 donaldh Is it just Rakudo that has a notion of protoobjects?
22:06 pmichaud no, that's Perl 6.
22:06 pmichaud (synopsis 12)
22:06 pmichaud my $x = Dog.new();     # Dog is a protoobject
22:06 donaldh Sorry, Perl 6. (I'll get the nomenclature eventually)
22:06 pmichaud no problem.  :-)
22:07 pmichaud so, for example, even though we could probably come up with a mechanism to load, say, the SDL library -- we still need a way to create protoobjects for its classes.
22:07 moritz donaldh: it's a common feature in many languages, for example Javascript's OO is protoobject based
22:08 donaldh Yes, I'm familiar with protoobjects. I was just not sure if it was Perl 6 specific or parrot centric? Forgive me if I'm misusing terminology.
22:08 pmichaud Perl 6, definitely.  Parrot doesn't have a notion of protoobjects (except for the ones we create to get Perl 6 stuff to work :-)
22:10 donaldh Thanks. The learning curve isn't as steep as it looked this morning. I actually picked up a surprising amount correctly.
22:11 Eevee we definitely need a glossary; this must sound so convoluted to people who have only used simple traditional OO
22:12 donaldh :D
22:12 moritz http://www.perlfoundation.org/perl6/index​.cgi?glossary_of_perl_6_terms_and_jargon
22:12 shorten moritz's url is at http://xrl.us/bfee5
22:12 Eevee better glossary then  :P
22:12 * Eevee edits with extreme prejudice
22:14 * davidfetter hands Eevee a PT boat and a machete
22:15 Eevee this edit button doesn't do anything
22:15 donaldh Perhaps more than a glossary.  Perhaps a diagram would help?
22:16 moritz Eevee: do you have javascript enabled?
22:16 davidfetter it does for me
22:16 Eevee yes, although I'm not sure why a *link* (or basic site functionality) should ever require javascript
22:16 Eevee nothing in error console
22:17 davidfetter it's all part of web 2.0 :P
22:17 Eevee great, debugging time
22:17 Eevee screw web 2.0
22:17 donaldh davidfetter: you beat me to it.
22:17 Eevee actually, wait, I will guess what this problem is ahead of time
22:17 Eevee it's doing some really dumb user agent sniffing and, because my user agent is neither "MSIE6" nor "Firefox2", I get nothing
22:18 davidfetter ducking felightful :P
22:18 Eevee good lord I hate javascript
22:18 Eevee (its use, not the language.  language is cool)
22:19 * davidfetter notes that the most fun browser plugin he has is viewsourcewith
22:19 donaldh firebug for me.
22:20 davidfetter i have to write stuff in textareas. without my favorite editor, doing so would be intensely painful
22:21 donaldh Mmmm. Web two dot oh. Every application is now a textarea.
22:21 davidfetter fortunately, i've got viewsourcewith and gvim to hit back :)
22:21 Eevee from the source: // XXX Surely we could use plain HTML here
22:22 Eevee surely!
22:22 davidfetter "...and don't call me Shirley!"
22:22 davidfetter the "advanced" button lets you edit the markup raw
22:23 Eevee where?
22:23 donaldh joined #parrot
22:24 davidfetter ass-u-m'ing the editing page loads
22:24 Eevee it doesn't
22:24 davidfetter top left, there are 3 buttons, save, preview, cancel
22:24 Eevee I am glad someone's decision to make everything as shiny as possible has rendered this wiki inoperable
22:25 davidfetter just to the right of those are two links, simple and advanced
22:25 davidfetter the advanced one lets you edit the markup in its source form
22:25 moritz socialtext--
22:25 davidfetter yeah
22:25 moritz it doesn't even render properly without javascript
22:25 Eevee yeah, I noticed; tried disabling js in the hopes of a fallback
22:26 Eevee (progressive enhancement)++
22:26 * donaldh installs viewsourcewith and bombs his irc
22:27 donaldh soon all life will exist inside a maximized firefox window
22:27 donaldh Does parrot run in Firefox yet?
22:27 moritz you have to ask "does firefox run in parrot yet?" ;-)
22:28 donaldh :)
22:28 Eevee actually
22:28 moritz you know, a significant part of FF's code base is javascript
22:28 Eevee that's an interesting idea
22:28 Eevee yeah
22:28 Eevee build parrot into a browser, and you can run DOM code in whatever language you want
22:28 donaldh :D
22:29 moritz I'd love to have perl[56] on the client side
22:29 Eevee downside being that it would be bytecode and the web tends to thrive more when source is readily available
22:29 donaldh Catalyst::View::Perl6
22:29 moritz ;)
22:29 Eevee alright well
22:29 pmichaud embedding parrot into firefox is definitely something I'm interested in.
22:29 Eevee before I can edit this glossary
22:29 pmichaud afk # dinner
22:30 Eevee first I have to write a wiki that runs on rakudo and convince tpf to use it instead
22:30 pmichaud I already have a wiki, but it's written in that "other language"
22:30 donaldh Thanks guys. I might hack on Rakudo tomorrow.
22:30 * donaldh goes to bed.
22:30 * purl grabs the lube and follows donaldh
22:32 Eevee surprise, doesn't work in Opera either
22:32 donaldh left #parrot
22:36 Eevee there we go, christ
22:37 davidfetter 1.0/3.2
22:37 purl 0.3125
22:37 davidfetter hrm
22:46 Zaba joined #parrot
22:55 teknomunk joined #parrot
23:08 PerlJam Eevee: writing anything in rakudo (or parrot) that is used in a production environment would be a good thing.
23:08 Eevee I know, I was only half-kidding
23:09 PerlJam There's too many of us half-kidding people.  We need a few more all-serious people  :)
23:10 PerlJam wow.  feather is fast.  I just compiled parrot in the time it took to have that short conversation with Eevee
23:10 Eevee I try to make a point of never being *entirely* serious
23:10 Eevee haha, nice
23:11 Eevee the main problem is that (afaik) there's no way to interface C from rakudo/parrot at the moment, so no way to use e.g. a database
23:11 Eevee unless there's a system() in which case I could probably shell out to mysql or sqlite3 a lot, but that's terrible
23:11 PerlJam NCI?
23:11 purl NCI is Native Call Interface or the National Cancer Institute, a part of the NIH or national cancer institute
23:11 chromatic You should be able to interface with C from Parrot through NCI.
23:11 Eevee oh really
23:11 Eevee I had not heard of this
23:11 chromatic There are bindings for PostgreSQL, SDL, PCRE, and OpenGL.
23:11 PerlJam it's nice
23:12 PerlJam well, except when you need to access C structs, then NCI seems cumbersome.
23:12 chromatic ... enter Tewk.
23:13 japhb It's got a few weaknesses, but one of my goals with the OpenGL stuff is shedding a little light on those dusty corners; without one or more bindings that collectively push the NCI system to its limits, we don't have the experience needed to iterate to a better design
23:13 japhb ... and I've already come across a few.  :-)
23:14 Eevee how hard is it to use NCI from rakudo?
23:14 PerlJam few better designs or dusty corners?  :)
23:14 PerlJam Eevee: I don't think you can just yet.
23:14 japhb PerlJam: more of the latter, but I think I've found at least one of the former.
23:15 Eevee well, that would be a problem
23:16 PerlJam I wish we could compile the call_list stuff at run time in a pack()-like fashion.  If I knew more about things, I might even try to make that happen.
23:16 tewk NCI direction - http://docs.google.com/Doc?id=dgbncnxx_9d2n6q2nq
23:17 PerlJam tewk: did that get funded?
23:17 cjfields joined #parrot
23:17 PerlJam when do they make the call?
23:18 chromatic Already accepted.
23:18 Eevee awesome
23:18 PerlJam awesome indeed!
23:18 PerlJam tewk++
23:18 PerlJam chromatic: I assume you're the "mentor"?  :)
23:18 * Eevee adds to list of things that should probably be in the glossary
23:19 pmichaud http://code.google.com/soc/2008/perl/about.html
23:19 chromatic particle is the mentor.
23:19 PerlJam ah.
23:20 pmichaud also: http://code.google.com/soc/2008/asf/​appinfo.html?csaid=D24D128FC3FD87F9
23:20 shorten pmichaud's url is at http://xrl.us/bkh93
23:21 tewk pmichaud: how would you do a /* */ comment in PGE
23:21 tewk token multilinecomment { '/*' .*? '*/' }
23:21 tewk token multilinecomment { '/*' .*? '*/' }
23:22 pmichaud tewk: something like that ought to work, yes.
23:22 pmichaud it's at least a good start.
23:23 tewk Also rule pp_tokens { <preprocessing_token>+ } should pick up ws between <preprocessing_token>s right?
23:23 pmichaud no
23:23 PerlJam pm: do I remember right that you were going to incorporate larry's longest token matcher into PGE (or at least *a* LTM)?
23:23 pmichaud for that use
23:23 pmichaud rule pp_tokens { [ <preprocessing_token>]+ }
23:23 pmichaud pj:  ltm is my summer project.
23:24 pmichaud I want to get rakudo just a little farther along and on its way, and then I'll go back an look at pge and ltm
23:24 rafl joined #parrot
23:24 pmichaud but yes, I'm hoping to have LTM as part of PGE by this summer.
23:25 PerlJam Seems like that would allow rakudo's grammar to look significantly more like STD.pm than it does now.
23:25 pmichaud as well as being significantly faster.
23:25 japhb What's the status of source line number info in PBC files?
23:25 chromatic /dev/entropy
23:26 japhb frack
23:26 chromatic Oh, I thought you said "source".  Sorry.
23:26 pmichaud japhb: haven't heard anything in the past couple of weeks.
23:26 pmichaud PCT may get a workaround soon, though.
23:27 pmichaud whee!  NQP passes all tests with the new coercing version of PCT
23:27 japhb pmichaud: but the real problem is in IMCC? Or deeper?
23:27 pmichaud japhb: I don't really know.
23:28 nopaste "japhb" at 76.191.190.8 pasted "dump-pbc: source/disassembly weaver" (61 lines) at http://nopaste.snit.ch/12960
23:29 Eevee hm.  this wiki could have a lot more..  things..  in it.
23:29 cjfields_ joined #parrot
23:29 japhb The above paste is a quick hack, but it's helpful to me ... up to the limit of the PBC line number inaccuracies.
23:30 tewk japhb: usually bpc line numbers are from the generated pir source.
23:31 dalek r27488 | pmichaud++ | pctcoerce:
23:31 dalek : [pct]:
23:31 dalek : * Add initial register coercion to PCT.
23:31 dalek : * Add 'opattr' method to make it easier to grab PAST::Op attributes
23:31 dalek :   from OPTable entries.
23:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27488
23:31 japhb tewk: they're off for certain constructions even if I directly compile hand-coded PIR to PBC and look at it.
23:32 japhb if ops are off by a line, param handling appears out of order, and so on.
23:34 dalek r27489 | pmichaud++ | pctcoerce:
23:34 dalek : [nqp]:
23:34 dalek : * Get rid of a bunch of inline PIR for handling comparison ops
23:34 dalek :   since they can now be handled directly by PCT coercions.
23:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27489
23:34 pmichaud I love deleting code.
23:35 japhb oh yeah
23:35 Tene awesome, got do blocks and some class structure working in cardinal
23:35 japhb (insert St. Exupery quote here)
23:35 japhb Tene++
23:35 pmichaud r27489 removed 102 lines of code.  :-)
23:35 Tene I can now run /usr/share/doc/ruby/sample/fact.rb (except for ARGV)
23:35 pmichaud woo hoo!  Tene++
23:36 pmichaud tonight's use.perl post should be a biggie :-)
23:36 Tene if I get internet back, I'll commit
23:37 chromatic . o 0 O { How are you posting to IRC? }
23:37 pmichaud carrier pigeons.
23:37 chromatic latency++
23:37 Tene pmichaud: found a specific place where a rule recursively matching itself causes problems
23:37 Tene chromatic: ssh on phone
23:37 pmichaud Tene: if the rule is left recursive and doesn't eat any tokens, then it's an infinite loop, yes.
23:37 chromatic sorry... but if my typing is too noisy, turn off your screen reader
23:38 Tene So, anyone know if I can set svn props through git-svn, or, alternately, how much of a problem is it if I do it in a separate commit?
23:39 Eevee cpip++
23:40 Tene pmichaud: I have a restricted case where it's giving me problems in cardinal. I'll see if I can find a workaround for now...
23:40 tewk Tene: don't you still have to do two commits to get MANIFEST updated, or did someone fix that.
23:41 Tene tewk: I update it by hand
23:41 tewk Tene: cool sounds like you have at least what I had working before I blew it away. Cool.
23:42 tewk I'm lazy, I just check in twice and use the script for MANIFEST.
23:48 dalek r27490 | pmichaud++ | pctcoerce:
23:48 dalek : [pct]:
23:48 dalek : * Add signatures for isfalse, istrue, issame.
23:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27490
23:48 dalek r27491 | pmichaud++ | pctcoerce:
23:48 dalek : [nqp]:
23:48 dalek : * Update prefix:+, prefix:-, prefix:?, prefix:!, prefix:~, infix:<=:=>
23:48 dalek :   to use pirops directly instead of inline pir.
23:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27491
23:53 rdice joined #parrot
23:55 nopaste "pmichaud" at 76.183.97.54 pasted "Code generation, old PCT versus new (with register coercions)" (33 lines) at http://nopaste.snit.ch/12961
23:56 chromatic There are some nice wins there.
23:57 pmichaud more coming -- the places where I optimized thus far are in comparisons and string handling
23:59 chromatic How close are you to a merge back?
23:59 pmichaud what the numbers don't show is that most of the lines that are gone were doing things like   $P0 = new 'String';  $P0 = "foo";
23:59 pmichaud in place of those we have    $S0 = "foo"
23:59 japhb Nice work, pmichaud

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

Parrot | source cross referenced