% iblechbot has joined #parrot % davidfetter has left davidfetter!~chatzilla@start.fetter.org % Debolaz has joined #parrot % AndyA has left AndyA!~andy@82.152.157.85 % IllvilJa has left IllvilJa!~jilves@emea-netcache1.oracle.co.uk % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % iblechbot has left iblechbot!~iblechbot@ppp-62-216-200-70.dynamic.mnet-online.de % lichtkind has joined #parrot % kj has joined #parrot % lichtkind_ has joined #parrot % Psyche^ has joined #parrot % kj has left kj!~IceChat7@ip565fd420.direct-adsl.nl % lichtkind has left lichtkind!~chatzilla@d83-189-55-18.cust.tele2.de % Patterner has left Patterner!~Psyche@e177231181.adsl.alicedsl.de % ilbot2 has left ilbot2!moritz@faui2k3.org % lathos has left lathos!~simon@morison.arjam.net % Psyche^ is now known as Patterner % lichtkind_ is now known as lichtkind % ilbot2 has joined #parrot % lathos has joined #parrot % AndyA has joined #parrot % IllvilJa has joined #parrot % ruoso has joined #parrot % ask_ has joined #parrot % davidfetter has joined #parrot % ask_ has left ask_!~ask@pat-tdc.opera.com % ask_ has joined #parrot % ruoso has left ruoso!~ruoso@195.23.92.2 % davidfetter has left davidfetter!~chatzilla@start.fetter.org % ruoso has joined #parrot % kid51 has joined #parrot % kid51 has left kid51!~jkeen@pool-71-247-44-219.nycmny.east.verizon.net % skids has left skids!~bri@c-71-233-204-100.hsd1.ma.comcast.net % moritz has joined #parrot * Coke yawns * Debolaz ponders yawning too * moritz wonders why rakudo's List.reverse method is so weird my @a = ('foo'); say @a.reverse oof % tetragon has left tetragon!~seneca@gw-312-705.somanetworks.com stop yawning and get to work!@ anyway, I added a test to the pugs test suite, so it will be caught at some point * particle can look at it after rebuilding parrot t/codingstd/perlcritic.......................Undefined subroutine &Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames::default_forbidden_words called at t/codingstd/perlcritic.t line 141. # Looks like your test died before it could output anything. anyone know something about that? % cognominal has left cognominal!~cognomina@82.67.232.89 Yup. r26659 | particle++ | trunk: : [RELEASE] add some info to META.yml diff: http://www.parrotvm.org/svn/parrot/revision?rev=26659 I updated that test recently to add that test. er, rephrase: to call that particular method. perhaps it was only added in a version so recent you do not have it? a version of Perl::Critic? no, that particular policy. ... which may be bundled with P:C, sure. perhaps. iunno how to test for that ok c:\usr\local\parrot\trunk>perl -MPerl::Critic -e"print $Perl::Critic::VERSION" 1.080 Worked for me before I committed it: Basically, I was telling it to prohibit everything it normally does, except to allow the name 'abstract' as a name. Is there a timeline for when parrot is expected to be production ready? Debolaz: we're trying to reach 1.0 this year, but don't have all the dates mapped out to make that happen yet 1.031.03 er, 1.03 let's require 1.03 then, and i'll upgrade % dalek has left dalek!dalek@feather.perl6.nl % dalek has joined #parrot is 1.03 > 1.080 ? freaky. * diakopter sets the throttling to 1 bit/second. hopefully botnix will interpret that as 1 message/second. m e t o o point taken, the variable name is 'bps', when it should be 'Bps' * particle needs a perl module that can read an exchange (outlook) inbox suggestions? suggestions are welcome. particle: see the FILE-FORMAT.htm file in this .zip: http://www.marklyon.org/gmail/readpst.zip particle: did you mean read PST/OST files or access Exchange via MAPI mapi, more likely. % skids has joined #parrot % pjcj has left pjcj!~pjcj@84-73-177-217.dclient.hispeed.ch % gryphon has joined #parrot any cygwin users here? i've heard of cygwin got it installed. should probably update it to latest, and update parrot there I am now able to build parrot, but building all dies on one of the PIR files like, parrot segfaults? ./parrot.exe -o runtime/parrot/library/PGE/P6Grammar.pbc runtime/parrot/library/ PGE/P6Grammar.pir error:imcc:syntax error, unexpected $end in file 'runtime/parrot/library/PGE/P6Grammar.pir' line 373 very odd hurm. i think this might be a result of using tortoisesvn vs. cygwin svn. that file is going away in a few minutes anyway :-) tortoisesvn has a toggle for unix eol... particle: are you okay with eliminating languages/tap ? pmichaud: well, if you can make it go away, then I can have this fail on another file. That would be good. =-) i wanna save the grammar, as it's close to correct it can go in examples/pge particle will do excellent idea * particle updates cygwin * pmichaud updates in preparation for removing pgc, P6Grammar, P6Regex diakopter: where is that toggle? * particle updates parrot on cygwin I get that error on a few files. If I set the eol-style on one of those files to 'unix' instead of 'native', it works. % paco has joined #parrot ... but not all of them. (Crow.pir fails too.) Coke: It's a system-wide toggle, unfortunately, I think. I didn't know about the per-file one. It's been a year or two since I used TortoiseSVN the per-file is stored on the svn, and not specific to toroisesvn oh; there's a checkbox in the TortoiseSVN config window. I dunno which tab/area. diakopter: If I go to tortoisesvn->settings-> ... I dont see line endings in any tabs except general -> subversion configuration file. * Coke checks the svn-book Infinoid: I think dalek always skips notification of the first new revision it sees after it awakens. (r26659 in this case) yes. that's because botnix doesn't call the shutdown() method when you kill it, so it doesn't save the previous value so it autodetects it, by finding the max() of the current rss contents. ah. I wonder how to gracefully shutdown botnix. :) svc -d dalekbot is what I've been doing I don't actually know. I've been using SIGTERM, which wasn't so graceful particle, Coke: Latest GSoC Application submitted and published http://docs.google.com/Doc?id=dgbncnxx_9d2n6q2nq anyway, you can put an "} else { $newestrev-- }" near the bottom of process_rss() if you want it to output the newest rev on startup the way I did initially for debugging. * particle wishes google supported diffs between submission versions if only they had some kind of document management system that allowed that... kdiff3 Works For Me, but its a lot of infrastructure oh, SoC submissions. nevermind. luckily, tewk uses google docs before submitting, so we can check it there tewk++ wow, TPF up to 20 submissions. yeah, they just keep pouring in! only 4 parrot and 1 perl 6, though diakopter: oh, better idea! you can just write out the latest rev after every process_rss() run. assuming botnix writes the file immediately, that should work perfectly tewk: looks good to me % Andy has joined #parrot r26660 | pmichaud++ | trunk: : Preparation for removing P6Regex from trunk (RT#48028): : * Remove outdated TAP.pg from examples/pge/ : * Preserve languages/tap/src/TAP_grammar.pg in examples/pge diff: http://www.parrotvm.org/svn/parrot/revision?rev=26660 r26661 | pmichaud++ | trunk: : [tap]: : * Remove languages/tap from trunk, can be rebuilt using new language tools. : * Grammar is preserved in examples/pge/grammars/ . : * Changed status of tap in LANGUAGES_STATUS.pod. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26661 r26662 | pmichaud++ | trunk: : [tap]: : * Remove tap from Parrot configuration scripts. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26662 * Coke is surprised that nothing exploded after his immc change. whee! using my cygwin build script, parrot build successfully #!/bin/sh -x PATH=$PATH:`pwd`/blib/lib export PATH perl Configure.pl make i heard #!/bin/sh -x was the same as running 'set -x' as the first command, if that helps % cognominal has joined #parrot % cognominal has left cognominal!~cognomina@82.67.232.89 make test fails miserably, though particle: what is your default text file type? % skids has left skids!bri@charon.clarku.edu % sjansen has joined #parrot % skids has joined #parrot probably unix. how do i tell you? run cygwin setup and see what it defaults to? Unix / binary (RECOMMENDED) hurm. what subversion client did you use? tortoisesvn? or cygwins? (or some other way of grabbing source.) cygwin's svn package and 'svn up' iirc using windows svn with cygwin is broken * Coke tries to config this properly... % rdice has joined #parrot % Theory has joined #parrot particle: (*@#&$@#(*&$ yah. avoiding tortoisesvn, it builds fine. I will add tha to the readme before I close the ticket. Argh! I don't trust my normal laptop anymore, so I borrowed my girl's for this week, and it suddenly won't power on at all. tene: don't ever touch my pacemaker. not that I have one yet. r26663 | coke++ | trunk: : [docs] : Cygwin does, in fact, build, if you follow these steps. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26663 particle: I only have 4 failures. nothing major. % pjcj has joined #parrot r26664 | pmichaud++ | trunk: : [pge]: : * Remove deprecated P6Regex, P6Grammar, and pgc.pir from trunk. : * Resolves RT#48028 and RT#48026. : * Updated NEWS, DEPRECATED.pod diff: http://www.parrotvm.org/svn/parrot/revision?rev=26664 pmichaud++ My treo is just a bit too weak to consider compiling parrot on. * Coke waits for chromatic to figure out how much lighter parrot is. r26665 | pmichaud++ | trunk: : [pge]: : * Missed a P6Regex --> Perl6Regex conversion in pgegrep. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26665 looks like we might need a "svn:ignore" for src/exec_dep.c ? Is that a new file? anyway, time for me to reward myself with lunch :-) odd. is that a generated file? the comments don't seem to think so. it just showed up. realclean doesn't remove it I'll remove it manually and rebuild... one moment /usr/bin/perl.exe -MExtUtils::Command -e cp src/jit/i386/exec_dep.c src/exec_dep.c do we really want to be doing a copy? yes we really want a copy % iblechbot has joined #parrot it's part of the jit system, which gets copied depending on your platfrom unless you're proposing to generate those files during configure? % kj has joined #parrot % barney has joined #parrot % IllvilJa has left IllvilJa!~jilves@emea-netcache1.oracle.co.uk % cognominal has joined #parrot % IllvilJa has joined #parrot % davidfetter has joined #parrot % Psyche^ has joined #parrot % jq has left jq!~jquelin@merlin.mongueurs.net % jq has joined #parrot % Patterner has left Patterner!~Psyche@e177231181.adsl.alicedsl.de % Psyche^ is now known as Patterner r26666 | bernhard++ | trunk: : Update copyright years. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26666 % jjore is now known as zz_jjore % zz_jjore is now known as jjore * particle notes the horrible inefficiencies in t/steps/*.t and sighs holy code duplication! % cotto_work has joined #parrot particle: and you're cleaning that up, right? :) particle: (copy) uh, why not just link in the one we care about? r26667 | bernhard++ | trunk: : Make t/codingstd/c_parens.t happy. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26667 r26668 | bernhard++ | trunk: : [HQ9+] : Use the stringified Match object for implementing 'quine'. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26668 links don't work on all platforms % peeps[work] has joined #parrot % davidfetter has left davidfetter!~chatzilla@start.fetter.org no, just build the file we want and link in the resulting .o; not a symlink. (or hard link, or anything) http://www.pmichaud.com/sandbox/commits.gif trend line is trend of commits Nov 2006-Oct 2007 red is commits Nov 2007 to present is that based on the data from the tool i wrote? no, it's from the svn commit logs tools/util/gen_release_info.pl - generate release info for graphs and charts % davidfetter has joined #parrot * Coke wonders if he can make another google doc with widgets that does something similar. I did this chart in openoffice calc, was pretty easy once I knew what I was doing :-) % peeps[work] has left peeps[work]!~peepsalot@bwext.kpimdp.com my script takes the revision of the release tag so it's commits between releases as opposed to some arbitrary date Infinoid, I can occasionally get make -j to fail. ./src/pmc/role.pmc:52:27: error: pmc_namespace.h: No such file or directory That looks like the offending line I can nopaste more output if you're interested aha. I can fix that. I wanted to use first-of-each-month so I could get reasonable labels on the x-axis I could probably do that with release date as well (i.e., show the release dates on the x-axis) cotto_work: how many jobs are you running with? as many as make feels like spawning if you can show the release dates on a constant time scale, that's better % davidfetter has left davidfetter!~chatzilla@start.fetter.org I'm running make -j *consistent ah. I don't feel like putting my laptop in swap hell, so I've limited myself to -j10 cotto_work: do me a favor, submit a ticket: do to that right is going to involve a programmatic change, not just declaring a dependency. np doesn't -j default to #procs+1? If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously. basically, pmc/role.c is depending only pmc/role.pmc, when it should also depend on any .h's, *especially* the ones that are generated. (from the man page) yes, I can get the release dates on a consistent time scale no, given a sufficiently parallizable Makefile it defaults to "all your RAM are belong to us" I'm getting a failure in t/compilers/imcc/syn/regressions.t ah. well 6G must be enough ram that i never run into problems. Infinoid: I just touched that file. which one, #2? yes #1 segfaults, but is marked as TODO #2 wants the nonexistent 'div_i_ic_ic' op r26669 | bernhard++ | trunk: : [HQ9+] : Implement '+' with 'postfix:++' diff: http://www.parrotvm.org/svn/parrot/revision?rev=26669 DOH. checking. somebody said checking. was that necessary? I'm accessing it via http://localhost/~jkeroes/cgi-bin/test.cgi purl, forget checking Infinoid, I didn't have anything matching checking purl, forget checking. Infinoid, I didn't have anything matching checking cotto_work: is it consistent at all? or 1 chance in 10, or...? I'd guess it fails ~20% of the time * Infinoid runs 100 builds in a for loop Infinoid: the failure makes sense. that dependency is not listed. if you do a make realclean, then try to make src/pmc/role.c, it should fail. s/c$/o/ er, right. Coke++ the thing that generates the deps list in the makefile for pmcs needs to take the includes into a ccount. Infinoid: I cannot duplicate that error on feather (regressions.t) do we do a deps pass at Configure.pl time? doing a realclean and trying again... Infinoid: for pmcs, yes. maybe I'm putting this stuff in the wrong place, then Coke: I just rebuilt (with -j1) and reproduced t/compilers/imcc/syn/regressions.t in r26668. my only local modification is some explicit deps for role.pmc nopaste seems to be down % ask_ has left ask_!~ask@pat-tdc.opera.com Infinoid: what os? Linux x86-64 http://pastebin.com/d82c35a1 It makes sense, it's the same kind of thing I was skipping. those opcodes don't exist, presumably because we optimized them all away. I didn't pass any arguments to Configure.pl. should I? for which now? for the failure in test 2 of t/compilers/imcc/syn/regressions.t no. I think my solution to the const folding is flawed. :| is parrot's optimization non-portable somehow? its odd that I'd see an issue when you aren't. yah, that's odd. but now that you're seeing it, I think I should be seeing it. :| * Infinoid tries a couple other boxes to see how specific to his laptop it is * Coke does a realclean to be sure. wiiiierd. jit? rumour has it jit is a Just In Time compiler. Or just more Java hype. or new Parrot hype I didn't think x86-64 had jit maybe that's the issue. =-) * Infinoid is jit-clueless do me a favor and reopen the ticket I closed. :| hold on, trying on a couple of x86-32 boxes with nearly identical software setups is there a --without-jit or the like? passes on x86-32 default config or you could TODO the test on that one platform and put the ticket number into the todo. =-) if you don't think it'll show up anywhere else, I can do that if I back out r26657, the test still fails, but with a different error and a TODO tag. so that wasn't as insightful as I had hoped :) is x86-64 the only supported platform missing jit? can I somehow test for jit-ness, instead of making a list of broken platforms? Infinoid: note that the test changed slightly. I have a patch to add shift/unshift/push/pop/elems methods to RPA. Should I commit it directly, or submit it to RT for review/discussion? commit, then comment on list sounds good to me. i would say post the patch, but I think c already gave it a +1. he did I am inclined to vote against, but not strongly. % peeps[work] has joined #parrot +0.33333333 0.33333333 % grim_fandango has joined #parrot okay, I'll apply and comment. hmm. amd64 does have a --jitcapable flag I'm supposed to pass, which supposedly turns jit on for me. it has no effect on the test. k. was a wild stab. r26670 | pmichaud++ | trunk: : * Add shift, unshift, push, pop, and elems methods to ResizablePMCArray. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26670 % particle has left particle!~particle@c-24-19-3-148.hsd1.wa.comcast.net Coke: #43048 reopened, sorry :) sokay % paco has left paco!~chatzilla@139.Red-80-36-122.staticIP.rima-tde.net % paco_ has joined #parrot % paco_ is now known as paco % ruoso has left ruoso!~ruoso@195.23.92.2 % particle has joined #parrot % particle has left particle!~particle@c-24-19-3-148.hsd1.mn.comcast.net % particle has joined #parrot % lichtkind has left lichtkind!~chatzilla@d83-189-55-18.cust.tele2.de Infinoid: what does $I0 = 0; $II = 1/ $I0 generate on your machine? (that should avoid the bad opcode but generate the div by zero error.) $II or $I1? error:imcc:'$II' is not a valid register name Divide by zero % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.mn.comcast.net % Theory has joined #parrot % barney has left barney!~bernhard@dslb-084-058-152-143.pools.arcor-ip.net r26671 | pmichaud++ | trunk: : * Fix coding standards oops noted by chromatic++ . diff: http://www.parrotvm.org/svn/parrot/revision?rev=26671 weird. so yeah, that fixes the test for me There should be a syntax to expose a vtable call as a METHOD in pmcs. ie shift unshift etc that would be cool we already have a way in PIR of designating a method as a vtable entry It shouldn't be that hard, codegen like that is really what pmc2c.pl is for We should take the same sort of syntax as pir :method(method_export_name) or something VTABLE METHOD get_bool that'd be my vote no, we need a way to specify the method name i.e., I want 'shift', not 'shift_pmc' also, the METHODs need to conform to PCC VTABLE METHOD("true") get_bool(...) (including autoboxing) so perhaps we really need the opposite METHOD VTABLE('get_bool') true(...) that would match imcc :-) works for me, modulo the c syntax nit actually, now that I think of it, VTABLE METHOD("foo") might make more sense creates a vtable entry and a corresponding wrapper method right ah well, I'll let you pmc2c.pl magicians handle it :-) how do i get the length of a match inside a p5 regex? $_ = 'foo: some variable-length text'; s/foo: (.*)/X*/ probably use the /e flag particle: (?{ ... }) or, yeah, /e ah, right anyone know of an OS DRY-detector that works on something other than java? (CPD says you can just give it a file extension, but it fails to work.) oh, (?{}) might not be right... (or do I need to write one.) % Ademan has left Ademan!~dan@h-68-164-168-66.snfccasy.dynamic.covad.net % Ademan has joined #parrot DRY? i heard DRY was Don't Repeat Yourself particle: on gen_release_info.pl, might it make more sense to simply have a file that gets updated as part of release steps, rather than re-querying the svn repo? sure, that could work, too I have a project at work where this would be extremely useful. But I can see it being helpful for parrot too. =-) pmichaud: does that imply storing that data in the repo? yes -1: the data is already IN the repo. in an easily parseable form? it's metadata we could fix up the ChangeLog to provide what we're looking for we already have date + committer lines there -- we would just need release number and revision number (release number is there too, but not as easy to get to at the moment) changelog entries could be 2008.03.18 bernhard 0.6.0 r26142 * pmichaud notices that he forgot to update ChangeLog as part of the 0.5.3. Bad pmichaud, no cookie. extracting from the repo avoids human errors like yours we'd be more likely to notice the human error :-) anyway, it was just a thought. I suppose bandwidth and electrons are cheap :-) % skids has left skids!bri@charon.clarku.edu % skids has joined #parrot % skids has left skids!bri@charon.clarku.edu % skids has joined #parrot r26672 | pmichaud++ | trunk: : * Forgot to update the ChangeLog when I did the 0.5.3 release (pmichaud--). diff: http://www.parrotvm.org/svn/parrot/revision?rev=26672 particle: ping % lola22 has joined #parrot % grim_fandango has left grim_fandango!~matt@bas2-kingston08-1167933634.dsl.bell.ca % lola22 has left lola22!~lola22@d033.dhcp212-198-248.noos.fr % ruoso has joined #parrot % iblechbot has left iblechbot!~iblechbot@ppp-62-216-201-247.dynamic.mnet-online.de * jonathan yawns % Senaka has joined #parrot hi Infinoid where can I find info on how to submit a patch to a bug? % skids has left skids!bri@charon.clarku.edu for parrot? yes http://svn.perl.org/parrot/trunk/docs/submissions.pod thanks purl, submissions is http://svn.perl.org/parrot/trunk/docs/submissions.pod OK, pmichaud. % iblechbot has joined #parrot r26673 | jonathan++ | trunk: : [PCT] Generalize iterator code in for loop to use iter rather than to create an Iterator object. This means that objects that want to supply their own iterators can do so. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26673 purl, submissions is also http://www.parrotcode.org/docs/submissions.html okay, cotto_work. there's an iter opcode? ARGIN is used for a const input variable right? r26674 | jonathan++ | trunk: : [rakudo] Make rand actually likely to generate a different sequence of numbers between runs. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26674 % cotto_work has left cotto_work!~cotto@tide502.microsoft.com jonathan: ping % cotto_work has joined #parrot pmichaud: pong Yes, there is. re-seeding on each call to 'rand' is likely wrong r26675 | jonathan++ | trunk: : [rakudo] More work on IO. Now we can iterate over a file handle and $*IN, $*OUT and $*ERR are available. Probably. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26675 Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder. r26676 | jonathan++ | trunk: : [rakudo] Bring STATUS document somewhat more up to date. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26676 I don't know what the right way to do it is, and I didn't really care much at the time, other than making my "guess the number" IO example program work. :-) % ask_ has joined #parrot the problem with re-seeding based on time is that if rand is called multiple times quickly, it will always return the same number Yeah, you're right. My comment was entirely accurate. ;-) normally we seed once at the beginning of the process Makes sense. Can change it. I didn't know there was an iter opcode, that's cool. Not sure the time is the right thing to seed it with. Yeah, iter opcode calls the get_iter vtable method. yes, time has its own problems with seeding as well, but it's less wrong than re-seeding on every call :-) % cotto_work has left cotto_work!~cotto@tide502.microsoft.com Which is in turn less wrong, that not seeding at all and always getting the same number to guess in your guess the number game. :-) Will post on rakudo.org :-) % cotto_work has joined #parrot * PerlJam hands jonathan a cup of entropy * jonathan wishes it was a cup of beer I'd think you'd want a pint rather than a cup :) A stein is even better, you can get a litre in one of those. pmichaud: Hope the IO stuff looks vaguely OK. It's at least part of an answer, to the discussion in the last conference call about the lack of it. pmichaud: patch sent thanks jonathan++ # great work This is a Python opcode. ## This should probably be removed then, neh? Coke: Que opcode? s/que/what/ slice % Senaka has left #parrot Didn't know it existed. pmichaud: You still planning to come to YAPC::EU? Someone should talk about Rakudo progress there. * Coke hopes to go this year. can be the backup if so. -> jonathan: I'm coming if it can be funded somehow I'm happy to give it. (and perhaps even if it isn't) But need to get submissions in before the deadline. deadline is in may, yes? Yeah, sure, but I'm away on vacation when the deadline is, so just trying to be organized. I intend to speak at YAPC::EU, it's just helpful to know if one of my talks will be the Rakudo one, so I know how much else I need to dream up. I think I can work my talk(s) around any that you want to give if you send me a copy of your submission, I'll try to be sure not to conflict :-) % paco has left paco!~chatzilla@139.Red-80-36-122.staticIP.rima-tde.net % rrando has left rrando!~jrt4@c-24-18-106-126.hsd1.mn.comcast.net % AndyA has left AndyA!~andy@82.152.157.85 % paco has joined #parrot pmichaud: have you submitted anything for yapc::na? I guess there should be a general "Rakudo Update" talk. particle: yes i'm thinking rakudo's 'main' is starting to look cluttered % japhb has left japhb!~geoff@76-191-190-8.dsl.static.sonic.net Which while I'm very happy to do, feels like I'm nabbing off with your talk. i think the new io code should be in a 'create_std_io_handles' sub Since you're the Rakudo dev lead. % AndyA has joined #parrot particle: Feel free to refactor. pmichaud: same as oscon? particle: I basically did the same as osc.... right ok. we can split that, too, like oscon but I also sent additional comments it's a good way to polish it up just a sec while I check jonathan: I'm more than happy to let others who are qualified do a "Rakudo Update" talk, unless the community really expects to hear it from me I can find plenty of other talks but I think that talks about the process of contributing to Rakudo could be even better for example, I _really_ enjoyed your .net on parrot talk last year at oscon I think a talk about junctions in Rakudo, or objects/classes, or any of those might be interesting particle: here's the comment I added to my talk proposals At the conference I'm wanting to do 2 or 3 talks regarding Rakudo (the Parrot implementation of Perl 6) and the new Parrot Compiler Toolkit. I'm submitting potential abstracts here, but I can easily change my talks to other relevant topics if there are others proposing a topic similar to this one. so if others propose talks substantially the same as what I proposed, I'm willing to change my talks ok. any timeline on the talks? that might help josh et al with slot-picking pmichaud: The European Perl Community have heard me talk a lot already from me about Perl 6 classes and roles - I've run that talk for a while... I think I did 45 mins for the Rakudo update and 70 mins for PCT The difference now being that, a lot of what I showed in the talk is implemented. jonathan: good point, I forgot you already did those :-) Junctions - yes, *but* only if they're implemented. % rdice has left rdice!~richard_d@CPE0014bfafbbd5-CM0011e6ecf48a.cpe.net.cable.rogers.com Like, properly. By YAPC::EU. :-) oh, I was thinking of turning my attention to junctions again soon And for that, we need the type hierarchy refactor, and type based MMD. And that in turn I am pretty sure, means we need to start using .HLL. I don't think we need HLL for that. The type-based MMD we have already isn't sufficient? pmichaud: did you update the makefile template when you ripped out P6Regex? particle: I think I did, yes. I might've missed something. You might need to re-configure :_) that's what i'll try next i have a broken build atm yes, several makefiles got updated * teknomunk is away: Gone away for now. % teknomunk is now known as teknomunk_afk jonathan: anyway, I'm flexible on talks. In many ways I'd like to do the "State of Rakudo" talk (and it may be expected of me if I'm in attendance) but I'm also wanting to let as many other people as possible give talks pmichaud: I'm trying to remember my reasoning; I did think through a chunk of this stuff. % teknomunk_afk has left teknomunk_afk!~teknomunk@ubuntubob.residential.okstate.edu I'm being called for dinner .. bbl ok % rdice has joined #parrot % rdice has left rdice!~richard_d@CPE0014bfafbbd5-CM0011e6ecf48a.cpe.net.cable.rogers.com % jan has left jan!~chatzilla@89-253-66-101.customers.ownit.se % jan has joined #parrot % kj has left kj!~IceChat7@ip565fd420.direct-adsl.nl % paco has left paco!~chatzilla@139.Red-80-36-122.staticIP.rima-tde.net % Limbic_Region has joined #parrot % skids has joined #parrot % kid51 has joined #parrot % gryphon has left gryphon!~gryphon@dsl-209-221-185-54.zipcon.net % wknight8111 has joined #parrot % iblechbot has left iblechbot!~iblechbot@ppp-62-216-200-93.dynamic.mnet-online.de % particle has left particle!~particle@c-24-19-3-148.hsd1.wa.comcast.net % peepsalot has left peepsalot!~peeps@67.9.161.48 % peepsalot has joined #parrot % tetragon has joined #parrot % liona29 has joined #parrot % liona29 has left liona29!~liona29@d033.dhcp212-198-248.noos.fr % slightlyoff has joined #parrot r26677 | coke++ | trunk: : [build] : pmc's used to depend on PCCMETHOD generation module: now that PCCMETHOD is spelled : 'METHOD', update this so the makefile dep is properly generated again. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26677 % Sartak has left Sartak!~sartak@69.25.196.249 before I forget to mention it, ewilhelm++ ewilhelm++ ewilhelm++ # for all the SoC cat-herding Infinoid: I am working on the pmc deps. just fixed another one that got broken during pdd17. Coke: are you having to add them by hand? I was meaning to figure out if its possible to automate all that stuff % sjansen has left sjansen!~sjansen@hq-nat2.gurulabs.com % peeps[work] has left peeps[work]!~peepsalot@bwext.kpimdp.com it looks like the explicit pmc_* includes in several of the PMCs are unnecessary the only necessary ones seem to be pmc_class in object.pmc and pmc_object in class.pmc http://pastebin.com/m65451335 none of the others are needed for a successful build, and I'm confirming that make test is still happy Infinoid: there. nearly done. testing now on linux & windows. % Sartak has joined #parrot whoops. moment... make test is happy hmm. aren't they all "pmc_.h"? (apart from some unrelated codingstd stuff) Infinoid, yes afaict the patch looks awesome, but I'm wondering if it will catch some extra headers you didn't want guess if it builds, that's proof that it didn't. :) % ruoso has left ruoso!~ruoso@81.84.156.87 why don't I want *all* the headers? the pmc's depend on parrot/parrot.h - if that isn't included... that patch is borked, btw. moment. Coke: depending on things in /usr/include/ is bad http://pastebin.com/d18e2f195 (especially if you then prepend a "src/pmc/" to them) ok. moment. don't worry too much... if everything built, that means nothing depends on external headers, which is a good thing nothing does. but moment. % Sartak has left Sartak!~sartak@69.25.196.249 % Sartak has joined #parrot one of these depends on a .str file. one of them includes ../src/io/io_private.h - where is that path relative from? relative to the location of the source file (or header file, whatever file contains the #include line) that's in one of the pmcs. src/pmc/../src/io/io_private.h isn't right. =-) yeah, that does look wrong but it must compile or we'd have seen it before, neh? oh. duh, it's relative to ./include is it split out by pmc2c? or just relying on the -Iinclude? % darbelo has joined #parrot the latter the latter is better % rdice has joined #parrot http://pastebin.com/de49c558 has an updated patch that builds on linux. otto... I'm working on this right now. thanks oh, that's from 6 hours ago. =-) % kid51 has left kid51!~jkeen@pool-70-107-19-158.ny325.east.verizon.net cotto_work: try that patch. that generates a proper dep line for src/pmc/role.o (testing on windows...) did you notice that most of those includes are unnecessary/redundant? nope! =-) checking. like what? include/parrot/parrot.h ? all the pmc_* includes except pmc_{object|class}.h in {class|object}.pmc parrot make and make test run fine if all the other includes are commented out s/parrot// cotto++ just because it's a dep on a static file doesn't mean it's not a dep. I'm putting in *all* the missing deps that file has, regardless of whether it's a generated file or not. doesn't matter for joe-parrot-builder, but for a developer who is changing one of the included .h files, that's important. for build deps, sure, but isn't cotto talking about the #include lines themselves? that's SEP. =-) yes, I'm talking about the explicit #includes in the .pmc files ok. but if it doesn't include the other file, it doesn't need a build dep either well, if those are removed, then the deps will vanish the next time someone builds the makefile. =-) ok :) % particle has joined #parrot Bleh, parrot stopped building recent revision? what os? OS X 10.5.2, ppc Current rev can you nopaste/pastebin the build error? And I know the manual changes I have to do to the makefiles didn't kill the missing rule I did just change somethign that gens the makefile, so it's a likely culprit. which revision? (i mean, do you have a before and after?) particle: can you test something for me on windows? applying a patch is murder. k Just after, it built a couple days ago http://pastebin.com/de49c558 http://pastebin.com/m47e4d2b8 tetragon: you shouldn't be compiling jit at all, methinks. I'm not explicitly telling it to do that Coke - I have access to Win32/MinGW and Win32/Cygwin if testing all variations is required I figured, but I'm fairly certain jit is still borked on ppc, so I'm not sure why it's building. Hrm... some of the darwin stuff is using deprecated functions Limbic_Region: Doubtful, but if you're feeling paranoid... tetragon: yup. open ticket on that somewhere. (patches welcome, in a not at all snarky way.) nope, just offering what little contribution I provide these days I was preparing to see if I could convince this thing to build without requiring manual Makefile edits * tetragon grumbles about Apple's /usr/bin/perl being built as a universal binary tetragon: you shouldn't need manual edits at all. :| ah, is that why? Back when builds still worked for me, it would trip over i386 assembly probably a matter of smartening up the darwin hints file to pick one or the other and not both. Coke, I'm not seeing any build failures so far. Apple's perl includes '-arch i386 -arch ppc' in its build flags, which causes parrot to try to build itself as universal coke: realcleaned, applied patch, configured, building now particle: danke. build succeeds. testing now * particle bets the t/configure tests are as repetitive as the t/steps tests particle: if the build worked, it worked. sure. commit it. i'm still gonna test it :) course, i can't test nmake -j that's not a valid option :( hmm, I should test -j on mingw sometime r26678 | chromatic++ | trunk: : [GC] Fixed build for --gc=libc (Senaka Fernando, RT #52332). diff: http://www.parrotvm.org/svn/parrot/revision?rev=26678 * particle wonders when our svn revision will surpass our rt number Coke: Some people would want both -arch flags tetragon: well, sure, if it built... but if it doesn't... Coke: I haven't tested on my Intel yet... Coke: I find universal builds tend to work there better than on ppc looks like the make race condition is gone as am I thanks for fixing that r26679 | coke++ | trunk: : [build] : Resolve #52316 ([BUG] undeclared dependency between role and namespace PMCs). : cotto++ for diagnosis. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26679 % slightlyoff has left slightlyoff!~slightlyo@204.14.154.209 * Coke goes to find the old open ticket about the darwin deprecation so he can merge the new bug with the old one... # Trailing space or tab char found in the following files: # C:\usr\local\parrot\trunk\config\auto\pmc.pm 131 * Coke grumbles. * Coke can't find the old ticket he is sure that is a duplicate of. ah well. Coke: open a ticket about it. you funny. :p % Limbic_Region has left Limbic_Region!~Limbic_Re@c-68-49-236-220.hsd1.md.comcast.net I certainly think so. :) I found a build from a couple days ago. It has jit built r26680 | coke++ | trunk: : [codingstd] : remove trailing whitespace introduced by myself and other villians. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26680 tetragon: hokay. r26681 | coke++ | trunk: : [oops] : Undo accidental commit included in r26680. Villians, indeed. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26681 * Coke wonders if anyone has thought about how we're going to do MMD without type ids. % grim_fandango has joined #parrot % arbingersys has joined #parrot what is MMD? i think MMD is the media database...do not hurt thanks purl, you're a lifesaver % arbingersys has left arbingersys!~jar@75-167-146-8.bois.qwest.net purl: no, MMD is multi-method dispatch okay, Infinoid. Multi-method dispatch? looking that up now.... haha, it's reassuring when the documentation says "Part or all of this document is outdated" if you have multiple methods of the same name, MMD is the process of finding out which one to call, based on the types of arguments you've passed oh. Suddenly I see what coke is worried about without explicit data types, matching prototypes is going to suck mad nutz type ids would help, indeed excuse my internet slang :) making MMD as easy (and foolproof) as possible would seem like a good thing, to me. purl, without explicit data types, matching prototypes? well, without explicit data types, matching prototypes is going to suck mad nutz sorry, had to. % contingencyplan has left contingencyplan!~contingen@cpe-76-186-27-146.tx.res.rr.com % contingencyplan has joined #parrot r26682 | duff++ | trunk: : [config] git URL might not be https and it might not be of trunk diff: http://www.parrotvm.org/svn/parrot/revision?rev=26682 % grim_fandango_ has joined #parrot % grim_fandango has left grim_fandango!~matt@bas2-kingston08-1167933634.dsl.bell.ca r26683 | infinoid++ | trunk: : [raduko] minor change to pass t/codingstd/trailing_space.t diff: http://www.parrotvm.org/svn/parrot/revision?rev=26683 Coke: should I check in your amd64 t/compilers/imcc/syn/regressions.t workaround? * Infinoid doesn't want to paper over the fact that something is weird on amd64, but maybe the open ticket is enough. % rdice has left rdice!~richarddi@CPE001217e365c7-CM00159a01d44c.cpe.net.cable.rogers.com what is weird about amd64? i guess i haven't read enough bug reports yet something is being optimized differently enough to break a test see the last post on http://rt.perl.org/rt3/Ticket/Display.html?id=43048 I'm not too familiar with IMCC (thankfully), but apparently all situations where the "div_i_ic_ic" was to be useful are supposed to have been optimized away. so it was considered fair game to remove the op. which uncovered the fact that apparently it isn't being optimized away on amd64, though everything seems great on x86 or something like that. that is weird that PIR would behave differently on the two platforms. sounds like a bug, doesn't it? % Ademan has left Ademan!~dan@h-68-164-168-66.snfccasy.dynamic.covad.net % Ademan has joined #parrot maybe amd64 has some strange floating point bug, like a problem representing 0.0 of course, it's rarely productive to assume that the error lies in the hardware hah. well, this is an Intel chip, so I wouldn't put it past them i would like to see a hex dump of the floating point results out of the imcc parser, see if it's generating the proper values for 0.0 I would have thought such a bug would have been discovered, advertized and worked around by now. but then again, very little of the stuff I do uses floating point at all. if you give me a command line I can run, I will run it (as I said, I'm IMCC-clueless) i wouldn't know how to do it either, i'm not big on imcc internals either ./parrot --target=imcc-parse-results-thingy and i dont have an amd64 laying around here, so i cant play with it that's odd. nopaste? i guess nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating http://rafb.net/p/w27OrL16.html apparently div_x_xc_xc is shorthand for a class of ops that includes div_i_ic_ic ? with -D I can see that parrot did attempt compile time constant folding, and got a real_exception (Divide by zero) so presumably it fell back on the runtime op and the same thing happened on x86, except for the runtime failure parrot's debugging flags aren't helping. time for gdb... looks like gdb loves continuations almost as much as I do. ok.... here's where behavior starts to diverge compilers/imcc/parser_util.c line 648: ins = IMCC_subst_constants_umix(interp, unit, name, r, n + 1); oops, try again compilers/imcc/parser_util.c line 653: ins = IMCC_subst_constants(interp, unit, name, r, n + 1, &ok); both x86 and amd64 return NULL however, x86 sets &ok to 11, amd64 leaves it set to 0. I'm actually not sure whether that ok=11 thing was a stack smash, or somehow valid. longjmp-- % liona29 has joined #parrot % davidfetter has joined #parrot The make rule that my system is tripping over didn't exist a couple days ago % liona29 has left liona29!~liona29@d033.dhcp212-198-248.noos.fr which rule? $(SRC_DIR)/exec_dep.c * Infinoid fixed some Makefile stuff for "make -j", and possibly broke some other stuff It works in i386 since the file src/jit/i386/exec_dep.c exists, but there is no file by an equivalent name for ppc and jit is somehow being detected on your platform, despite being ppc? There is a jit directory for ppc and it built on the weekend Anyway, the build is proceeding smoothly with the new rule commented out And if an equivalent rule gets pumped out no matter which platform, I can already see that ARM'll break when in doubt, blame chromatic. do you think it could have been r26636 ? that's where i386/exec_dep.c was created, and a corresponding ppc/exec_dep.c wasn't. and that's where the rule was added, too Build didn't complete, fell over the missing object exec_dep.o http://www.parrotvm.org/svn/parrot/revision?rev=26636 Looks like chromatic can be blamed That commit appears to fit the bill svn merge -r26636:26635 . if that fixes it, flame away :) (you'll need a realclean/reconfigure after that) The majority of the commit looks to be moving exec_dep.h contents into exec_dep.c * Infinoid looks at RT#47289 aaw, I don't know that we can blame chromatic after all. not fully, at least. :( % petdance has joined #parrot * Infinoid reopens it * tetragon notes that her build is now at jit any luck? I determined that I forgot to clean the tree sufficiently before that build (Where that build is the one that had just reached jit) At the very least, my -arch flag stripping is working I don't have to edit every generated makefile in the tree to remove them But I'm back at jit ok. please post a followup to RT #47289 when you've finished your testing It succeeded in building jit Now I just have to wait the rest out I reopened that ticket and posted a description of the problem % chromatic has joined #parrot I think I can fix the JIT problem. great! Which platform has the problem? ppc Good. There are others that do, but not encountered yet good luck with it, I'm outta here. thanks for the quick response, chromatic % jrockway has left jrockway!~jrockway@dsl092-134-178.chi1.dsl.speakeasy.net You're welcome. With that merge, parrot built % jrockway has joined #parrot It looks like ARM will also have the problem. The ARM I have laying around has neither Perl nor gcc on it I know what the problem is there too, fortunately. r26684 should work unmodified for you. The appropriate .c files weren't created? r26684 | chromatic++ | trunk: : [JIT] Fixed the JIT build on PPC accidentally broken in r26636. This also : finishes more of what RT #47289 tried to accomplish. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26684 Right. I'll test in a few minutes, need to relocate my computer % tetragon has left tetragon!~seneca@206-248-175-68.dsl.teksavvy.com % grim_fandango_ has left grim_fandango_!~matt@bas2-kingston08-1167933634.dsl.bell.ca r26685 | chromatic++ | trunk: : [JIT] Fixed the JIT build on ARM accidentally broken in r26636. This also : finishes more of what RT #47289 tried to accomplish. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26685 % TonyC has left TonyC!~tony@202-154-105-237.people.net.au % tetragon has joined #parrot chromatic: Build failed Syntax error http://pastebin.com/m4f813132 I'm taking a quick look at it Me too. Is it just me, or do both clauses of #if JIT_CGP in exec_dep.h have identical contents What if you include "jit.h" in src/jit/ppc/exec_dep.h? Good catch. Same error, error message line numbers offset by one How about also jit_emit.h? % wknight8111 has left wknight8111!~nobody@c-71-230-33-251.hsd1.pa.comcast.net Same error, offset two It doesn't understand Parrot_jit_info_t, but that's defined in jit.h. Can you do 'make realclean; perl Configure.pl; make' again? make -j should be fine Don't worry, this little ppc only has one cpu Still goes faster this way. On this box, the thing that recently sped it up the most was tweaking it to automatically strip out the -arch flags it got from Perl 5 Same error Bizarre. vous avez dit "bizarre" ? oui I'll have to pull out my PPC and try it then. when did parallel make start working? Grr... When I went from "make -j2" to a plain old "make" it decided to rebuild (Not rebuild as in start working) Infinoid and Coke made it work in the past couple of days. Actually, I'm trying a change to the file that I think will fix it sweet. Infinoid++; Coke++ * ewilhelm mentions distcc Yeah, if you want to have multiple machines running simultaneously. heh, does it work on ppc? you could get about 10 of those for $200 now or so right? If you want to burn that much electricity yeah! And i386 works? Yes. (hmm... put a cross-compiler on your real machine and use the ppc just for disk) Scratch-that Computing indeed! It works now I stuck #include "parrot/parrot.h" into exec_dep.c http://pastebin.com/m7bddf9d2 That's all it took? Yes Alright, I'll patch the other files. Wait... linker failed ld: duplicate symbol _ppc_flush_line in src/jit.o and src/exec_dep.o The symbol is definitely in both, text section It's in jit_emit.h I'll remove that #include from exec_dep.h Now the compile fails Remove both includes from exec_dep.h and copy the #include block from src/jit/i386/exec_dep.c into src/jit/ppc/exec_dep.c lines 18 - 22 compile succeeds Looks like the link succeeded Now the real test TEST_PROG_ARGS=1 prove t/op/*.t (provided you're using bash or a bash-workalike) I'm on a Mac, I get bash by default And I get a whole stack of failing tests It was tcsh for a while. They switched to bash a couple major releases ago Er, I mean TEST_PROG_ARGS=-j prove t/op/*.t Not nearly as many failing tests That's better. I got one sigbus so far Not too surprising. Either in t/op/interp.t or t/op/jit.t And one test unexpectedly succeeded info.t? debuginfo.t? Need to run them individually Neither Wait, it was debuginfo I'll apply these changes for PPC and ARM, and hopefully that'll solve the compilation problem everywhere. And the sigbus was interp.t % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.mn.comcast.net And I got the same sigbus before these changes (and it's on a TODO test) What's the TODO message? not ok 3 - runinterp - works with printing # TODO something funky here There's a forehead slapper. r26686 | chromatic++ | trunk: : [JIT] Really fixed JIT for PPC and ARM (thanks to Seneca Cunningham). diff: http://www.parrotvm.org/svn/parrot/revision?rev=26686 I can put up the trace http://pastebin.com/m6db3bd3f And the prove -v output http://pastebin.com/m7593b46e The constant string is invalid for some reason. ... probably not getting copied correctly from the parent interpreter. ... due to some crazy system-dependent weirdness. ... because it works on x86. You're the one on the funky little-endian box % TonyC has joined #parrot Time to drop some coredumps I fully admit that the x86 is a patch on a patch on a patch on the 4004, which is the best engineering the '60s had to offer (despite coming out in the '70s), but might I just add that cross-platform arch-independent JIT sucks? I now have a coredump of the crash I'm pretty sure I know where it is. Do you mind filing these crashes as bugs? Even the TODOs? I think I currently have seven of them If they succeed, bring them up here. Otherwise they're groovy. Most of the sigbus crashes are on TODO I don't think there are any non-TODO ones left That's probably good... but we should probably fix them at some point. How about this. If there aren't any RT numbers in the TODO descriptions, file them and I'll add the ticket numbers. That way we'll *know* know they're there, instead of just thinking knowing. r26687 | chromatic++ | trunk: : [pobj] Removed a blatant lie from the STRING struct comments. diff: http://www.parrotvm.org/svn/parrot/revision?rev=26687 % teknomunk has joined #parrot % petdance has left petdance!~Andy@64.81.227.163 I'm outright failing t/compilers/imcc/syn/regressions.t The non-TODO fails, and the TODO crashes Coke made some recent changes there. The TODO already has an RT number on it Someone else had that one crash Excellent. That ticket doesn't have a stack trace, though (41097) Feel free to reply with one if you like. % chromatic has left chromatic!~chromatic@sub17-30.member.dsl-only.net % peepsalot has left peepsalot!~peeps@67.9.161.48 % iblechbot has joined #parrot