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