% jan has left jan!~chatzilla@89-253-66-101.customers.ownit.se % cosimo has joined #parrot % UltraDM has joined #parrot % masak has joined #parrot Hmmm. Disassembled "source line numbers" seem to not always match actual source line numbers. * japhb vaguely recalls someone mentioning that debug info in the PBCs was not entirely correct ATM, and this seems to be bearing that out. "japhb" at 76.191.190.8 pasted "Woven source/disassembler output" (243 lines) at http://nopaste.snit.ch/12951 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. * japhb repeats himself * japhb decides to sleep on it. % Ademan has left Ademan!~dan@h-69-3-235-19.snfccasy.dynamic.covad.net % Ademan has joined #parrot % IllvilJa has joined #parrot % wknight8111 has joined #parrot % iblechbot has joined #parrot % wknight8111 has left #parrot % iblechbot has left iblechbot!~iblechbot@ppp-62-216-196-204.dynamic.mnet-online.de % IllvilJa has left IllvilJa!~jilves@emea-netcache1.oracle.co.uk % ewilhelm_ has joined #parrot % ewilhelm has left ewilhelm!~ewilhelm@pool-71-111-48-138.ptldor.dsl-w.verizon.net % rdice has joined #parrot % wknight8111 has joined #parrot % tetragon has left tetragon!~seneca@216.126.67.44 % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com % AndyA has left AndyA!~andy@c-68-33-170-161.hsd1.md.comcast.net % ruoso has joined #parrot japhb: if you want to see what bytecode is getting executed for that, try "parrot -t1 foo.pir" it shows each opcode as it goes by. % nnunley has joined #parrot % nnunley has left nnunley!~nnunley@seatbelt.jerakeen.org % gryphon has joined #parrot % paco has joined #parrot % AndyA has joined #parrot % nnunley has joined #parrot % rdice has joined #parrot % jan has joined #parrot % Zaba has joined #parrot % jan has left jan!~chatzilla@89-253-66-101.customers.ownit.se % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru % silug has left silug!~steve@ppp-70-225-32-179.dsl.covlil.ameritech.net % ruoso has left ruoso!~ruoso@195.23.92.2 % AndyA has left AndyA!~andy@onager.omniti.com % ruoso has joined #parrot % AndyA has joined #parrot % NotFound has joined #parrot Hello. We have other bunch of code candidate for deletion? #54062 % ruoso has left ruoso!~ruoso@195.23.92.2 % IllvilJa has joined #parrot % uniejo has left uniejo!~uniejo@langebro.adapt.dk pmichaud: nice segfault. it is pointing out what a twisty maze our opcode building is. indeed. Are you in Jedi mood? the register coercion table I'm building is, well, messy. % cjfields has joined #parrot % UltraDM has left UltraDM!~george@dasapass.avira.com % Theory has joined #parrot 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. so when we try to invoke the vtable, boom. I think. checking. okay. I don't need it -- I just happened to notice it while playing with a few things. or, the line numbers could be off in the pmc -> c conversion. :| hurm. can we do dispatch on base types? iirc yes % masak has left masak!~user@130.238.45.242 hmm... I didn't do anything parrot-related at all this week. :( % lidden has left lidden!~stefan@puce.campus.luth.se i hate when that happens. % wknight8111 has left wknight8111!~nobody@c-71-230-33-251.hsd1.pa.comcast.net orite, #ps today, ya? Some comment on #54062? Can the function Parrot_find_vtable_meth be deleted? tene: ya NotFound: depends a lot on if any tests fail if you remove it. =-) Coke: none. % mj41 has left mj41!chatzilla@pc-jurosz.ro.vutbr.cz NotFound: +1 1 NotFound: your analysis looks completely correct to me. I'll be glad to see us get rid of this very large function. In general, I don't see any issue with removing unused functions, no. There is some prize to the most prolific code deleter? ;) I can go ahead and apply that. NotFound: I was trying to win that, but wil happily cede to you. Coke: thanks for the -t1 tip By the way, I noticed that the CREDITS file has an unicode mark converted to utf8 at his start. Is this intentional? % sjansen has joined #parrot it's not a normal BOM? moritz: thanks! 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 Looks like that, but I have readed somewhere that they must be ignored when converting to utf8. NotFound: the file *is* in utf8 and doesn't need to be converted any more NotFound: or what do you want to do with it? moritz: yeah, I mean the editor that someone used to write the file. moritz: I just noticed it in the diff file. % kj has joined #parrot fperrad in r9495 doesn't look bad to me % peepsalot has left peepsalot!~peeps@cpe-67-9-161-48.austin.res.rr.com % peepsalot has joined #parrot NotFound: you going to send in a patch to delete those unused functions? (saving me the trouble of doing so? =-) I'm working on it. FASTER!!! *whutcchhh* *whutcchhh* or Citius, Altius, Fortius! or the wrong goal Sir, yes, sir! % jhorwitz has joined #parrot % lidden has joined #parrot purl: #parrotsketch? #parrotsketch is the channel where the core parrot committers report weekly status or moderated by our project manager, coke purl: I wanted you to tell me the time. I'm disappointed in you. Tene: what? purl, parrotsketch? parrotsketch is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch feh * particle pounds purl Infinoid-- # being more awesome than me purl, #parrotsketch is also 18:30 UTC okay, Infinoid. Infinoid: a day of week would help... Tene++ # being awesome in different ways karma Infinoid infinoid has karma of 172 karma Tene tene has karma of 45 ut-oh. tene has some catching up to do That's a boring number. I need more commits. % Zaba_ has joined #parrot it adds up to nine, which is a nice number % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru one more -- and I'd add up to nine too :) rakudo segfaults on t/00-parrot/05-var.t karma particle particle has karma of 1315 ooh, same for me! infinoid-- now me! particle-- particle: fix that rakudo segfault and I'll give you +8 particle: or +9, now ;) 9++ moritz: rebuilding parrot now moritz: can you try running the test with -G? particle: no segfault wiht -G #parrotsketch is also tuesdays. okay, Coke. moritz: good, that means that anybody can probably reproduce it with parrot --runcore=gcdebug AHA! that reminds me, i want to deprecate the parrot options that --runcore= replaces there is a ticket for that work, and i probably own it. could it be that gcdebug is *freakin* slow? yes it runs gc after every opcode Looks like make test is actually using --gc-debug --gc-debug ne --runcore=gcdebug (confusing options)-- moritz: oh, no, is very fast... catching bugs. NotFound: it runs for about 4 minutes on that short file without any output so far % wknight8111 has joined #parrot moritz: that's good, it means that the code is less prone to have gc bugs. % gryphon has left gryphon!~gryphon@dsl-209-221-185-54.zipcon.net NotFound: it's bad because it means that say '1..12'; in perl6 translates to a freakin' lot of opcodes 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. moritz: this is why it's key to trim the HLL code down to the bare minimum to generate the error. Coke: I'll try that unfortunately the segfault goes away if I remove something as simple as 'say "1..12"' % jan has joined #parrot * moritz gives up *any* removed line will remove the segfault Patch ready, tested and sended, sir! NotFound++ moritz: good enough. but if you can duplicate the segfault... let me ask you... why are you running with the gc debug cor? * NotFound is Code Undertaker (there's no point then, is there?) Coke: because particle suggested it ;) don't listen to him. =-) * moritz stops listening to particle if you can generate a segfault, get the stacktrace and put it in the ticket. (or fix it!) how do I obtain the stack trace? what platform are you on? i said anyone can replicate it with gcdebug runcore linux gdb ./parrot moritz already has it, so doesn't need to replicate it ok run languages/perl6/perl6.pbc languages/perl6/t/the_file.t then 'bt' moritz: you listened to it! % gryphon has joined #parrot NotFound: you delete 3 functions, but only one func def? (were the others missing from the .h?) % kj has left kj!~IceChat7@193.1.100.110 * particle hopes NotFound ran 'make headerizer' after removing the functions 2 functions, one header in .h and the other the in the .c file for the static function. can we make headerizer just run when it needs to? % ewilhelm_ is now known as ewilhelm (or in --maintainer, at least; need to reduce the complexity of managing the build.) particle: eeeehhh... no. (running headerizer doesn't affect those two files in re: the patch, but does affect about six others.) either that means we're due to re-run it, or it's borked. But include/parrot/oo.h seems to not be auto generated. headerizer isn't just for generated files (unneeded register copy) I'm working on that right now, in fact. :-) but first it's time for errands, lunch. bbiaw bbiaw? (I know, just seeing if purl had something silly for me.) purl, bbiaw is something silly for Coke. OK, pmichaud. * Coke wonders if the new RT has a GUI more like hiveminder. suspects that would be much faster. % silug has joined #parrot coke: i suspect it will, but right now it's cli-only hmm! looks like http://sourceforge.net/projects/gocache/ supports MSVC. % iblechbot has joined #parrot % wknight8111 has left wknight8111!~nobody@c-71-230-33-251.hsd1.pa.comcast.net i wonder if we can get gocache to support imcc! 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. * particle would love to have core_ops and core_ops_switch cached it may support msvc, but it looks like you need cygwin to build :( that always freaks me out on my mac when I forgot to run the rakudo shell and I type "say ..." c99: unable to parse regex at line 498, near "{\n [L]?" % allison has joined #parrot I'm sure its bit rot, "tewk" at 155.97.237.62 pasted "c99 grammar bit rot, Ideas?" (6 lines) at http://nopaste.snit.ch/12957 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 okay, spinclad. # cause if i only know it's 18:30 UTC *or* Tuesday, that doesn't do me much good % cxreg has left #parrot % gryphon has left gryphon!~gryphon@dsl-209-221-185-54.zipcon.net % cxreg has joined #parrot % ruoso has joined #parrot % AndyA_ has joined #parrot % AndyA has left AndyA!~andy@onager.omniti.com % Zaba has joined #parrot % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru % dalek has joined #parrot * diakopter growls at dalek (well, feather really) % allison has left allison!~chatzilla@dsl-241-25-20.telkomadsl.co.za diakopter: What's wrong? 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 twek: (c99) needs to be % allison has joined #parrot pmichaud: thanks I just figured that out. By the way, is there some easy way to make case-insentive reserved words? % peepsalot has left peepsalot!~peeps@cpe-67-9-161-48.austin.res.rr.com I'm working on a toy pascal. you mean, inside a grammar? Yes. try <:i[begin]> [:i ThIs|IS|case-INSenSITIVE] % peepsalot has joined #parrot pge doesn't know <:i ...> oops <[:i begin> no < grr [:i begin] 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. % ambs has joined #parrot (perl 5.10)++ :D the upgrade was my doing; I wanted to upgrade openssl which debian had severly b0rked and I wasn't too specific about what I wanted to see upgraded ;) Also, please stick to debian packages for perl modules whenever feasible. 'cause those *were* properly upgraded. stable-only packages? sid % ruoso has left ruoso!~ruoso@195.23.92.2 feather runs sid/unstable ah 'cause stable is too old for our uses that was my concern In fact, I run sid/unstable on most of my production machines too. Slackware++ * ambs coughs Hm, I think I'd have commited suicide if I had tried to run feather on slackware. LOL :D 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 :) Juerd, er, multiple root access would be crazy with slack :) yeah It's crazy on any system. Coke, do not forget to answer my email O:-) 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. Juerd, yeah, probably I am crazy as well :) 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 ambs: did you tell us when we had to reply by? aha! no. =-) How many votes are you waiting for? Coke, 5 :) erm, 4 yup, 4 Coke, no hurry. Just pressing you a litle :) I attended some time ago to a unix administration course: about 20 boys as root in the same machine. how much time did it take for a 'nohup rm -fr / &' ? beware the kid in the back of the class, reading BOFH ambs: actually it was worse. A guy managed to enter other machine, not intended for the course, and broke it. :-S It makes something like: while true ; do mkdir test ; cd test ; done heh looks like ambs is itching to spend someone else's money particle, basically :D NotFound, I do not want to test it, but what is the usual result for that? Or at least the rumour was something like that, don't know for secure. k ambs: in a modern shell, string space por $PWD exhausted. then, probably not too bad In an older, file system full and fsck fucked up, I think. 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 % chromatic has joined #parrot do we need that? * pmichaud starts preparing his #parrotsketch report. pmichaud: with slides? PS in 9. NotFound: probably could use slides for some of this. :-) speaking of slides. will perl 6/parrot have any bigger presence at yapc::na this year than last year? ... an entire room for an entire day was not big enough? Smaller I think; Coke's dieting. chromatic: bite me and the horse I rode in on. there was an entire day? maybe I missed this But I have a bigger ego, so it might be constant! 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. at yapc::na the parrot track had the main auditorium for an entire day just one parrot talk at PPW :( but then, few talks at PPW :( eevee there will be a parrot/rakudo hackathon before yapc::na, a full day of talks, a parrot/rakudo workshop, and a general hackathon before == sunday? Saturday and Sunday. and maybe friday. depending on when I get in, how low my blood sugar is, etc. I arrive Saturday noon. i arrive friday night nice. alas I'm getting in sunday afternoon sometime come by anyway -- we may still be there. I mean, what else will there be to do on a sunday night? although maybe I'll bring the Wii. :-) * jhorwitz arrives sunday afternoon WiiStep is what we (me and Coke) needs % desertmax has joined #parrot bah, I already lost 9.5 pounds in 7 days with only 60m of barely moving. "pmichaud" at 76.183.97.54 pasted "new PCT code generation in pctcoerce branch" (44 lines) at http://nopaste.snit.ch/12958 purl, convert 9.5 pounds to Kg I don't know how to convert 9.5 pounds to Kg. * ambs uses google 4.3kg, k pmichaud: hm, brawl or rakudo, brawl or rakudo.. Hm, that's 9 lines of code versus 14. Big improvement. and we avoid creating lots of unnecessary PMCs i.e., we no longer create PMCs for the second 'hello' constant or the return value That'll speed things up. 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. You'd be surprised how cutting down the number of allocations speeds things up in Parrot. elbh. (and send?) chromatic: have you seen my comment on #50894? Yes. I'm not sure always creating that segment is the answer, but it's a reasonable idea. Maybe a different option for creating and/or loading debug segment is the correct solution. Or checking that there *is* a debug segment. Actually I don't know if the current problem is creating, loading, or both. On loading, loks like the segment is not created unless there is one in the pbc. Makes sense. % lichtkind has joined #parrot But loading and compiling-running seems to use different ways. Yeah, that's true. pmichaud, when do you think your coercion branch will land? I don't know yet. Maybe a day or so? dinner & 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 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 I'd like to see it before the next release, but that's a nice-to-have, not a require. oh, I think it'll be before the release. It doesn't really impact any other systems. so I can fold it in without having to update a bunch of translators. Unlike the PGE grammar syntax changes. :-) Excellent. chromatic: hello pong % gryphon has joined #parrot chromatic: glad i see you wanted catch you since .... its always better than mail What can I do for you? % ambs has left ambs!~ambs@255.92.54.77.rev.vodafone.pt chromatic: you do a lot with you patiente :) i wanted just see whats your chedule I'm always here for #parrotsketch, at 18:30 UTC on Tuesdays. Other than that, I try to backlog if someone needs me. chromatic: may i know how you gather perl.com articles ? Usually someone sends me an idea or outline and I review it, make any suggestions, and then we work on writing, editing, and publishing. chromatic: its really astonishing to see how much you handle at once, lichtkind: yah, but you should see his apartment! Oy! hm, dalek is 48 revisions behind. that could take a while to spew... ...apartment? ... it's a mess? Coke: how you know? :) * Coke will try harder next time. who is dalek? a bot? yes dalek? dalek is probably dha's distributed perl community badger badger badger attack or http://ourworld.compuserve.com/homepages/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 House, and I have a half-finished arcade cabinet downstairs. ...still half-finished? ;-) that's not the one from 1987, is it? (and the arcade cabinet is tres cool) I don't have a table saw, so I'm relying on my father to cut the pieces for me. i have a table saw, next time you're here or maybe i'll take it on the train to pdx for oscon :) bbl & chromatic: sometimes im wondering that you didnt have written to me piss of % askie has left askie!~askie@81.171.100.208 * Coke tries to parse that. I usually go through article proposals once every couple of weeks in a batch. % Ivatar has joined #parrot chromatic: are they a lot? I have five or six to look at today. % wknight8111 has joined #parrot brace yourselves % dalek has left dalek!dalek@feather.perl6.nl % dalek has joined #parrot or not Is there a chomp opcode? I only found chopn Hi folks... anyone know if any core p6 people are at YAPC::RU this week? I don't know of any, no. % askie has joined #parrot chromatic: a new flag in --imcc-debug meaning 'always create debug info' can be a solution? chromatic: how much time you spend for summer of code so far? looks like there's a talk about rakudo at yapc::ru, though. who's giving it? http://event.perlrussia.ru/yr2008/talk/1182 r27481 | allison++ | pdd25cx: : [pdd25cx] Bringing the pdd25cx branch up-to-date with trunk r27480. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27481 (Andrew Shitov) NotFound, I'm not convinced. If someone forgets that flag, won't we still have the potential crash? lichtkind, only a few hours. % ambs has joined #parrot wow. google's translate on the fly rocks. chromatic: for the item about showing line info, I mean. More information - Rapporteur on the site: * ......: http://rakudo.org/ Report: http://rakudo.org/ ....... . ..., ... ..... Rakudo, . ...... ... .... ..... ...... Brief that such Rakudo, and why you need to know about him. grrrrr needs a little work, but the GUI is nice. looks like it's a short report. 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 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. chromatic: i currently do many things are aoverlap a lot, its mostly to make the dream of chocolate perl come true r27482 | tewk++ | trunk: : 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: http://www.parrotvm.org/svn/parrot/revision?rev=27482 dalek is back! dalek where the doctor? dalek: who is the superior being ? its not a real dalek :) r27483 | allison++ | pdd25cx: : [pdd25cx] Deleting two now unused functions: do_str_exception and do_pmc_exception. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27483 % desertmax has left desertmax!~markus@62-47-162-44.adsl.highway.telekom.at chromatic: I have tried a quick hack for #50894 by using --imcc-debug=0200 and looks like an acceptable temporary solution. Uh, sorry, --parrot-debug my isp kicked me offline before #ps still offline, but running into a pct problem Now with --imcc-debug 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 $P11 = foo tene: you need the following: %P0 = get_hll_global ['PAST::Compiler'], '%valflags' $P0['CardinalString'] = 'e' that tells PAST that it needs to quote+escape the string value when using it in PIR % barney has joined #parrot pmichaud: thank you. Ready to go faster, pmichaud? sure! * pmichaud prepares for a power-up mushroom. r27484 I went from 44 seconds in the slow part of Rakudo building to 28. 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: http://www.parrotvm.org/svn/parrot/revision?rev=27484 Those aren't scientific numbers, but it'll take me a while longer to get accurate Callgrind findings. niiiiiiice All tests successful @ linux % jhorwitz has left jhorwitz!~chatzilla@96.245.16.45 The 17.59% is from the src/gen_grammar.pir step. not scientific but still with four digits ;) That part *is* scientific. ;) I thought it was magical? chromatic++ * Coke will have to check that patch to make sure chromatic didn't use a global! chromatic: patch sended to #50894 It only uses tuning information we already collected. Hmm, continuation runloop jumping problems in Pheme. r27485 | chromatic++ | trunk: : [Pheme] Added quotes to a PGE rule to make Pheme build again. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27485 (runloop) yay! (it's not just tcl) My guess is that it's a PGE change. PGE causes an runloop jump? that's new. PCT has done that (because of closures and :init/:load subs) Could be PCT. if you're not able to track it down, file a ticket and I'll look. 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. (feel free to assign me the ticket) pmichaud: can you point me at the recent PGE changes so I can fix tcl? * Coke checks the list. basically there are two % ambs has left ambs!~ambs@255.92.54.77.rev.vodafone.pt the one that causes failures is needs to be danke. the other change is that (non-capturing subrule) needs to be <.xyz> instead but the form still works for now works as long as foo doesn't start with an unmatched quote i.e., or will break. % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.or.comcast.net what about ? ? yup. (well, it compiles, anyway.) oh that should probably be (no colon) token ws { [ [ ';' \N+ ]? \s+ ]* } ? is that failing somehow? pmichaud: works, but does ? Coke: it means No parse fail, just wondering if it's correct. % Theory has joined #parrot ok. Hmm, at least a 22.22% speedup on the slow Rakudo benchmark. The syntax is deprecated I just left it for combatibility until the next release. doh. guess I should have left in my edits then. 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? % mj41 has joined #parrot depends on what you mean by "trace" you can put in various rules to stop at given points I guess I'd like to see rule failure and how much was parsed when the rule failed. which rule? :-) r27486 | coke++ | trunk: : [tcl] : Keep up with recent PGE/S05 updates diff: http://www.parrotvm.org/svn/parrot/revision?rev=27486 rule failure is "normal" so it's not something easily traced. (at least, not automatically) we could have PGE generate "entering rule 'foo' at nnn", "passing rule 'foo' at nnn", "failing rule 'foo' at nnn" debug messages, I suppose. there would be a ton of output, though. That would be nice. I hacked something like that ages ago. Don' t have it now. what rule are you wanting to trace? Checking in a fix now so you can look at it. r27487 | tewk++ | trunk: : [c99] Fixed tab in makefile diff: http://www.parrotvm.org/svn/parrot/revision?rev=27487 svn up; cd languages/c99/src/cpp; make; ../../../../parrot cpp.pbc --target=parse t/cpp_0.t you can rewrite the control_line rule to give better output but note that in | '#' 'define' ? ')' can never match. ah How do I match \n? well, the problem is that the space prior to 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 might need to write the rule as as token with | '#' \h* 'define' \h* \h* ... etc. but even then we have to make sure that the subrule doesn't eat up trailing whitespace pmichaud: the usual way is to preprocess first. NotFound: yes. Well src/cpp is the cpp pulled out. I'm trying to just write the cpp. ahhh then you should change the default <.ws> token to not include newlines token ws { \h* } # might be a good start Heh, it was 27.79%. Nice. chromatic++ afk # break pmichaud++ makes sense, I wouldn't have realized on my own that the \n were getting eaten. % askie has left askie!~askie@81.171.100.207 % barney has left barney!~bernhard@dslb-084-058-183-024.pools.arcor-ip.net % donaldh has joined #parrot NOM NOM * Coke wonders if tcl is any faster. * Coke will check tomorrow. nite, folks. Tcl crashes faster with parse errors. :) but it IS faster I guess r27486 might be good for Tcl. Perhaps I should update. % askie has joined #parrot I have a Rakudo question. How do I access all those nice PIR library functions from perl6 ? Hm, Tcl's test suite takes 3 minutes for me. That seems faster. * moritz measures pre- and post r27486 performance, just for fun ;) pre-r27486 should be pretty fast: parsefail. r27484 is the important one. donaldh, which PIR library functions would you like to use? Well, I was looking at postgres. In fact I was considering learning how to use the NCI for Sqlite % Juerd has left Juerd!juerd@feather.perl6.nl % rdice has left rdice!~richard_d@CPE0014bfafbbd5-CM0011e6ecf48a.cpe.net.cable.rogers.com There's no 'use' support in Rakudo yet, but it's on the priority list. % cjfields has left cjfields!~cjfields@cjfields.igb.uiuc.edu % Juerd has joined #parrot ah, I wondered. I took a look at the use implementation, but it is hard coded to .pm Is that non-trivial to extend? Depends on your definition of trivial. I suspect the non-trivial part is getting namespacing correct. heh % Zaba_ has joined #parrot I suspect that understanding what is meant by correct namespacing might be the non-trivial part for me. % NotFound has left NotFound!~julian@50.Red-213-96-228.staticIP.rima-tde.net % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru pmichaud should be back in a while. Either he or Jonathan will know what Rakudo needs for this. Is the goal to allow any language to 'use' libraries from other languages hosted on parrot? Or is the goal less ambitious? That's the goal. so Rakudo's use should really be implemented in parrot? And automagically select the correct compiler? it's not that easy, because different languages have different ideas about namespaces (or at least I think) well, Parrot takes that into account (supposedly) the real issue at the moment is that we don't have export/import well defined yet % lichtkind has left lichtkind!~chatzilla@d83-189-2-88.cust.tele2.de so even if we load a library, we need a (perl 6 compatible) way to get to the defined classes and objects i.e., to import them into Perl 6's namespace to make it look more Perl 6 ish? well, that's really the only mechanism we have for accessing them at the moment This has helped my understanding considerably. we can access subroutines in other libraries okay 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 Is it just Rakudo that has a notion of protoobjects? no, that's Perl 6. (synopsis 12) my $x = Dog.new(); # Dog is a protoobject Sorry, Perl 6. (I'll get the nomenclature eventually) 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. donaldh: it's a common feature in many languages, for example Javascript's OO is protoobject based 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. Perl 6, definitely. Parrot doesn't have a notion of protoobjects (except for the ones we create to get Perl 6 stuff to work :-) % vixey has left vixey!~qjkxbmwv@137.195.250.2 Thanks. The learning curve isn't as steep as it looked this morning. I actually picked up a surprising amount correctly. we definitely need a glossary; this must sound so convoluted to people who have only used simple traditional OO :D http://www.perlfoundation.org/perl6/index.cgi?glossary_of_perl_6_terms_and_jargon moritz's url is at http://xrl.us/bfee5 better glossary then :P * Eevee edits with extreme prejudice * davidfetter hands Eevee a PT boat and a machete this edit button doesn't do anything Perhaps more than a glossary. Perhaps a diagram would help? Eevee: do you have javascript enabled? it does for me yes, although I'm not sure why a *link* (or basic site functionality) should ever require javascript nothing in error console it's all part of web 2.0 :P great, debugging time screw web 2.0 davidfetter: you beat me to it. 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 ducking felightful :P 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 firebug for me. i have to write stuff in textareas. without my favorite editor, doing so would be intensely painful Mmmm. Web two dot oh. Every application is now a textarea. fortunately, i've got viewsourcewith and gvim to hit back :) from the source: // XXX Surely we could use plain HTML here surely! "...and don't call me Shirley!" the "advanced" button lets you edit the markup raw % donaldh has left donaldh!~chatzilla@host213-123-171-12.in-addr.btopenworld.com % AndyA_ has left AndyA_!~andy@onager.omniti.com where? % donaldh has joined #parrot ass-u-m'ing the editing page loads it doesn't top left, there are 3 buttons, save, preview, cancel I am glad someone's decision to make everything as shiny as possible has rendered this wiki inoperable just to the right of those are two links, simple and advanced the advanced one lets you edit the markup in its source form socialtext-- yeah it doesn't even render properly without javascript yeah, I noticed; tried disabling js in the hopes of a fallback (progressive enhancement)++ * donaldh installs viewsourcewith and bombs his irc soon all life will exist inside a maximized firefox window Does parrot run in Firefox yet? you have to ask "does firefox run in parrot yet?" ;-) :) actually you know, a significant part of FF's code base is javascript that's an interesting idea yeah build parrot into a browser, and you can run DOM code in whatever language you want :D I'd love to have perl[56] on the client side downside being that it would be bytecode and the web tends to thrive more when source is readily available Catalyst::View::Perl6 ;) alright well embedding parrot into firefox is definitely something I'm interested in. before I can edit this glossary afk # dinner first I have to write a wiki that runs on rakudo and convince tpf to use it instead I already have a wiki, but it's written in that "other language" Thanks guys. I might hack on Rakudo tomorrow. * donaldh goes to bed. * purl grabs the lube and follows donaldh surprise, doesn't work in Opera either % donaldh has left #parrot there we go, christ 1.0/3.2 0.3125 hrm % Zaba has joined #parrot % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru % teknomunk has joined #parrot Eevee: writing anything in rakudo (or parrot) that is used in a production environment would be a good thing. I know, I was only half-kidding There's too many of us half-kidding people. We need a few more all-serious people :) wow. feather is fast. I just compiled parrot in the time it took to have that short conversation with 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 unless there's a system() in which case I could probably shell out to mysql or sqlite3 a lot, but that's terrible NCI? NCI is Native Call Interface or the National Cancer Institute, a part of the NIH or national cancer institute You should be able to interface with C from Parrot through NCI. oh really I had not heard of this There are bindings for PostgreSQL, SDL, PCRE, and OpenGL. it's nice well, except when you need to access C structs, then NCI seems cumbersome. ... enter Tewk. 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 ... and I've already come across a few. :-) how hard is it to use NCI from rakudo? few better designs or dusty corners? :) Eevee: I don't think you can just yet. PerlJam: more of the latter, but I think I've found at least one of the former. well, that would be a problem 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. NCI direction - http://docs.google.com/Doc?id=dgbncnxx_9d2n6q2nq tewk: did that get funded? % cjfields has joined #parrot when do they make the call? Already accepted. awesome awesome indeed! tewk++ chromatic: I assume you're the "mentor"? :) * Eevee adds to list of things that should probably be in the glossary http://code.google.com/soc/2008/perl/about.html particle is the mentor. ah. also: http://code.google.com/soc/2008/asf/appinfo.html?csaid=D24D128FC3FD87F9 pmichaud's url is at http://xrl.us/bkh93 pmichaud: how would you do a /* */ comment in PGE token multilinecomment { '/*' .*? '*/' } token multilinecomment { '/*' .*? '*/' } tewk: something like that ought to work, yes. it's at least a good start. Also rule pp_tokens { + } should pick up ws between s right? no pm: do I remember right that you were going to incorporate larry's longest token matcher into PGE (or at least *a* LTM)? for that use rule pp_tokens { [ ]+ } % rafl has left rafl!~rafl@62.75.161.67 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 % rafl has joined #parrot but yes, I'm hoping to have LTM as part of PGE by this summer. Seems like that would allow rakudo's grammar to look significantly more like STD.pm than it does now. as well as being significantly faster. What's the status of source line number info in PBC files? /dev/entropy frack Oh, I thought you said "source". Sorry. 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 pmichaud: but the real problem is in IMCC? Or deeper? japhb: I don't really know. "japhb" at 76.191.190.8 pasted "dump-pbc: source/disassembly weaver" (61 lines) at http://nopaste.snit.ch/12960 hm. this wiki could have a lot more.. things.. in it. % cjfields_ has joined #parrot The above paste is a quick hack, but it's helpful to me ... up to the limit of the PBC line number inaccuracies. japhb: usually bpc line numbers are from the generated pir source. r27488 | pmichaud++ | pctcoerce: : [pct]: : * Add initial register coercion to PCT. : * Add 'opattr' method to make it easier to grab PAST::Op attributes : from OPTable entries. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27488 tewk: they're off for certain constructions even if I directly compile hand-coded PIR to PBC and look at it. % cjfields_ has left cjfields_!~cjfields@vpn3-14442.near.uiuc.edu if ops are off by a line, param handling appears out of order, and so on. % cjfields has left cjfields!~cjfields@adsl-99-147-12-205.dsl.chmpil.sbcglobal.net r27489 | pmichaud++ | pctcoerce: : [nqp]: : * Get rid of a bunch of inline PIR for handling comparison ops : since they can now be handled directly by PCT coercions. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27489 I love deleting code. oh yeah awesome, got do blocks and some class structure working in cardinal (insert St. Exupery quote here) Tene++ r27489 removed 102 lines of code. :-) I can now run /usr/share/doc/ruby/sample/fact.rb (except for ARGV) woo hoo! Tene++ tonight's use.perl post should be a biggie :-) if I get internet back, I'll commit . o 0 O { How are you posting to IRC? } carrier pigeons. latency++ pmichaud: found a specific place where a rule recursively matching itself causes problems chromatic: ssh on phone Tene: if the rule is left recursive and doesn't eat any tokens, then it's an infinite loop, yes. sorry... but if my typing is too noisy, turn off your screen reader 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? cpip++ 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... Tene: don't you still have to do two commits to get MANIFEST updated, or did someone fix that. tewk: I update it by hand 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. r27490 | pmichaud++ | pctcoerce: : [pct]: : * Add signatures for isfalse, istrue, issame. diff: http://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: http://www.parrotvm.org/svn/parrot/revision?rev=27491 % rdice has joined #parrot "pmichaud" at 76.183.97.54 pasted "Code generation, old PCT versus new (with register coercions)" (33 lines) at http://nopaste.snit.ch/12961 There are some nice wins there. more coming -- the places where I optimized thus far are in comparisons and string handling How close are you to a merge back? 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" Nice work, pmichaud I may be able to merge tonight. If not tonight, then tomorrow morning, certainly. Looks like r27450 killed Pheme. Sadly, it was a branch merge from pgeupdates. ohhhhhhh! I bet I know what it is. * pmichaud checks. yes. PGE doesn't like having rules names 'list' because Match objects have a 'list' method on them already I can fix that. same for 'hash', 'item', and 'chars'. It'll be fixed when either (1) I switch PGE to use MMD or (2) I redesign PGE with LTM % TonyC has left TonyC!~tony@202-154-105-237.people.net.au % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % sjansen has left sjansen!~sjansen@hq-nat2.gurulabs.com perhaps I'll put some code into PGE to warn about methods that collide with the existing ones. that would save a lot of grief. or I could just try switching to MMD. r27492 | chromatic++ | trunk: : [Pheme] Changed 'list' rule to 'pheme_list' to avoid conflicts with PGE's Match : object methods. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27492 MMD sounds good, but I'm of the inclination to wait just over a week for that. % nopaste has joined #parrot % TonyC has joined #parrot % Ivatar has left Ivatar!~graham@tu055.demon.co.uk (wait a week) okay. % particl1 has joined #parrot % particl1 has left #parrot % wknight8112 has joined #parrot % gryphon has left gryphon!~gryphon@dsl-209-221-185-54.zipcon.net % AndyA has joined #parrot % wknight8112 has left #parrot % kid51 has joined #parrot % wknight8113 has joined #parrot % wknight8111 has left wknight8111!~nobody@c-71-230-33-251.hsd1.pa.comcast.net % AndyA has left AndyA!~andy@c-68-33-170-161.hsd1.md.comcast.net % AndyA has joined #parrot % wknight8113 is now known as wknight8111 % davidfetter has left davidfetter!~davidfett@start.fetter.org % AndyA has left AndyA!~andy@c-68-33-170-161.hsd1.md.comcast.net % rdice_ has joined #parrot % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com % AndyA has joined #parrot what was the number on that ticket with configure problems on ubuntu? http://rt.perl.org/rt3/Ticket/Display.html?id=50068 thanks i just installed ubuntu, and i'm having that same exact problem It seems the ticket has been resolved twice already! So you may need to post to re-open it. no, it's actually a different issue. I seem to remember a different ticket configure is failing with "Compilation failed with 'cc'" fwiw, I'm on kubuntu and it seems to work for me i literally installed ubuntu less then 3 hours ago, so i'm still learning my way around. I probably need a setting or something what error are you getting? oh, I see it there. you may need to install an extra package. This one? http://rt.perl.org/rt3/Ticket/Display.html?id=49023 % particle has left particle!~particle@c-24-19-3-148.hsd1.mn.comcast.net have you installed the 'build-essentials' package? % particle has joined #parrot % particle has left #parrot wknight8111: FWIW, I build on an older Ubuntu every day, with just 'perl Configure.pl' probably not. I'll head out to cpan now and pick up all the stuff I need 'build-essentials' is a ubuntu package Can you paste failure? sudo apt-get install build-essentials % particle has joined #parrot (or whatever package manager you prefer using. I don't know if ubuntu uses adept, but that can be used also) Hmm, I probably have that, but probably added it so long ago I've forgotten that I have it. I have a setup script that I use nowadays so, after installing kubuntu, I just run my script and it grabs any packages I need :-) i'm not organized to have a script, i am enjoying the learning experiene aptitude hmmm... aptitude is http://www.cme.com/market/cfot/quiz/ or http://members.aol.com/jocrf19/ or http://members.aol.com/daveander/ I really like kubuntu -- it's my preferred distro at the moment. (and I'd use ubuntu if I were a gnome person.) it's easy to find KDE apps, they all start with L K kubuntu? i think kubuntu is ubuntu + kde (instead of gnome) Thanks, purl % rdice_ has left rdice_!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com * kid51 is busy with revamping one of his CPAN modules. Jim Keenan | YAPC::NA::2008: link: http://www.perlfoundation.org/parrot/index.cgi?yapc_na_2008 % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.mn.comcast.net apt-get can't find package "build-essentials" sorry, no 's' build-essential rumour has it build-essential is the psuedo package on debian iirc i'll try that ok, that solved my problem perfectly. pmichaud++ i love having a console that expands to full-screen. that feature alone was worth the switch * kid51 must sleep $kid51->sleep(8 * 3600); % kid51 has left kid51!~jkeen@pool-71-247-53-131.nycmny.east.verizon.net r27493 | pmichaud++ | pctcoerce: : [pct]: : * Optimize register handling for while, until, repeat_while, repeat_until. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27493 % wknight8111 has left wknight8111!~Whiteknig@c-71-230-33-251.hsd1.pa.comcast.net % Andy has left Andy!~AndyL@host3130.follett.com % grim_fandango has joined #parrot % Zaba_ has joined #parrot % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru would it be reasonable to have a haskell compiler for parrot? I'm talking to a haskell fan and he worries about performance, static language on a dynamic vm, etc % Andy has joined #parrot Sure, why not? will@coleda.com | YAPC::NA::2008: link: http://www.perlfoundation.org/parrot/index.cgi?yapc_na_2008 % Psyche^ has joined #parrot chromatic: he said, re how ghc works, "but in a nutshell it consists of rewriting code as it executes, jumping to and fro, without a traditional call stack / the sheer number of continuations, for example, would kill the stacks of most VMs" % Patterner has left Patterner!~Psyche@e177224033.adsl.alicedsl.de % Psyche^ is now known as Patterner Most VMs aren't register based. On the other hand, I do want to optimize our continuation scheme (no pun intended). * Eevee groan. chromatic: Would his comment remain true if you simply s/stacks/GC/ er s/remain/become for Parrot/ I know it's register-based but I don't know haskell or parrot well enough to know if that's enough to mitigate the concern ghc is deeply magical. That doesn't mean we can't make something that is reasonably source-compatible. Just because you can't beat Machine Forth on a P51, doesn't mean it's not fun to make Forth for Parrot. Parrot has more library support, for one thing. ;-) This all depends on the GC scheme for Continuations. You can probably make a very valid assumption that most continuations have either zero or one references. (the script for manifest should work if you svn add first!) Thus if you have a reference barrier for continuations, you can flip one bit and when you destroy continuations, you can immediately add them to the free list if that bit is off. nodnod ... and because we try to keep libparrot's internals opaque to the outside, we mandate that all access to continuations from the external interface goes through the barrier. A similar scheme (there's that word again) might even work for continuations. I mean PMCs. ... especially if we need a write barrier for compacting/copying collection anyway. Or whatever kind of barrier it is. % Coke is now known as DietCoke a big brick wall Some sort of mediated access anyway. a big brick wall with a brick missing % Debolaz has left Debolaz!~root@nat.andersberle.com Bob Geldof? % AndyA has left AndyA!~andy@c-68-33-170-161.hsd1.md.comcast.net % Debolaz has joined #parrot % Debolaz_ has joined #parrot % Debolaz has left Debolaz!~root@nat.andersberle.com % grim_fandango has left grim_fandango!~matt@bas2-kingston08-1167932448.dsl.bell.ca I'm having a lot of trouble getting the cardinal grammar to parse indexed variables. I guess part of this is what LTM is supposed to help with... By reordering rules in an alternation I can get it to parse incorrectly or fail. I'm having trouble figuring out why it's failing. Maybe I need to add some lookaheads at the end of some of these rules to get them to fail at the right time instead of matching inappropriately and causing other failures later. That sounds like a decent theory for now. Now sleep. i heard now sleep was impossible! % Andy has left Andy!~Andy@64.81.227.163 % mire has joined #parrot % chromatic has left chromatic!~chromatic@sub17-30.member.dsl-only.net r27494 | pmichaud++ | pctcoerce: : [pct]: : * Register coercion gets smarter (and a bit more complex). diff: http://www.parrotvm.org/svn/parrot/revision?rev=27494 r27495 | chromatic++ | trunk: : [GC] Reversed conditional from check added in r27484 to perform a DOD run only : *if* any buffer allocations have occurred since the last DOD run, not *unless*. : This gives another 10% performance improvement to the Rakudo-building : benchmark. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27495 % teknomunk has left teknomunk!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net * japhb looks into the face of IMCC and feels the insanity reaching into his addled brain r27496 | pmichaud++ | pctcoerce: : [pct]: : * Immediate blocks have to be invoked with 'newclosure' in order : for lexicals to work. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27496 % uniejo has joined #parrot r27497 | pmichaud++ | pctcoerce: : [pct]: : * In general, let the caller handle coercions instead of the callee. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27497