r29115 | chromatic++ | trunk: : [src] Prevented pathological comparison function passed to Parrot's internal : quicksort from causing segfaults (Andrew Johnson, RT #56636). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29115 r29116 | moritz++ | trunk: : [rakudo] t/harness warns on no-existiing test files. : Patch curtesy of Jason Switzer , j1s++ diff: http://www.parrotvm.org/svn/parrot/revision?rev=29116 r29117 | moritz++ | trunk: : [rakudo] added .perl tests to spectest_regression, Auzon++ diff: http://www.parrotvm.org/svn/parrot/revision?rev=29117 r29118 | moritz++ | trunk: : [rakudo] one more test file for spectest_regression diff: http://www.parrotvm.org/svn/parrot/revision?rev=29118 % contingencyplan has left contingencyplan!~contingen@cpe-76-186-27-146.tx.res.rr.com % barney has joined #parrot % bacek_ has left bacek_!~bacek@mcas-151.usr.optusnet.com.au % Ademan has joined #parrot r29119 | bernhard++ | trunk: : [Pipp PCT] add a dummy rule for class definition diff: http://www.parrotvm.org/svn/parrot/revision?rev=29119 r29120 | bernhard++ | trunk: : [Pipp PCT] Replace some tokens with literals, : for improved readabiltity. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29120 % cybergirl has joined #parrot % Whiteknight has joined #parrot % cybergirl has left cybergirl!~cybergirl@212-198-248-33.rev.numericable.fr % iblechbot has joined #parrot % bacek has joined #parrot good localtime() everyone and to you ;) % cybergirl has joined #parrot % cybergirl has left cybergirl!~cybergirl@212-198-248-33.rev.numericable.fr % ruoso has left ruoso!~ruoso@201009120124.user.veloxzone.com.br % Whiteknight has left Whiteknight!~nobody@c-71-230-33-251.hsd1.pa.comcast.net % unenana has joined #parrot % unenana has left unenana!~unenana@212-198-248-33.rev.numericable.fr % cybergirl has joined #parrot % Ademan has left Ademan!~dan@h-68-167-204-133.snfccasy.dynamic.covad.net % cybergirl has left cybergirl!~cybergirl@212-198-248-33.rev.numericable.fr % purl has left purl!~purl@florence.kuiki.net r29121 | moritz++ | trunk: : [rakudo] use Test::Diff in autounfudge.pl to avoid non-perl dependencies diff: http://www.parrotvm.org/svn/parrot/revision?rev=29121 % pancake has joined #parrot % Ademan has joined #parrot % purl has joined #parrot moritz: around? nope. bacek: yes "bacek" at 202.7.166.173 pasted "Fixed patch from #56640 for moritz" (23 lines) at http://nopaste.snit.ch/13500 It's reworked masak's patch for 'empty block' can you try it? bacek: yes, will do it just changes == 1 to == 0, right? I wondered what the == 1 was meant to be running spectest_regression % iblechbot has left iblechbot!~iblechbot@128.16-dial.augustakom.net moritz: no, I moved it into more proper place t/spec/S12-role/mixin............................Null PMC access in find_method() I'm looking in this test. Looks like parrot bug... S12-class/instantiate also fails % tetragon has joined #parrot % UltraDM has joined #parrot % NotFound has left NotFound!~julian@50.Red-213-96-228.staticIP.rima-tde.net moritz: parrot bug... Or PCT. "bacek" at 202.7.166.173 pasted "parrot/PCT bug test" (7 lines) at http://nopaste.snit.ch/13502 replacing get_global with get_hll_global solves problem. But I'm not quite sure about correctness of this approach... bacek: I'm not very proficient with either... best thing you can do is to attached the revised patch to masak's ticket, and open a new one for this bacek, moritz: Those class related tests were passing for me yesterday on Win32. jonathan: they still passing without my/masak patch for 'empty block' jonathan: the failures only occur with the patch in http://nopaste.snit.ch/13500 jonathan: which in turn solves the 'sub f { }; say f()' failure Ah, OK, understand. jonathan: ho! I think you should know, how to proper implement 'find_method'! I trying to make 'autothreading' for junction bacek: Leave it. I'm re-doing all MMD stuff and related this month. And will work it in as part of that. But still thinking about the right/best way. jonathan: oh... You steal my karma! :) jonathan: does that mean you'll also do Captures? I'm not saying don't do it as such, just it's on my task list and fits neatly in with the other bits I'll be doing. moritz: Signatures for sure, will give captures more of a look too; we already sorta have them. jonathan: ah, be don't have prefix:<\\>, which accounts for many fudges my ($a,$b) stopping more... moritz: I don't think that is too hard. and 'adverbial closures' as well... moritz: I can look at that tomorrow if it's going to get us passing more stuff. ack -a rakudo t/spec|grep 'prefix:<\\'|wc -l 36 OK, it's on my todo list! % iblechbot has joined #parrot % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com % gmansi has left gmansi!~gmansi@190.55.35.246 % Whiteknight has joined #parrot % gmansi has joined #parrot r29122 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] updating to trunk r29121 diff: http://www.parrotvm.org/svn/parrot/revision?rev=29122 % tetragon has left tetragon!~seneca@76-10-148-120.dsl.teksavvy.com moritz: ping pmichaud: pong r29111 looks wrong. (changing double quotes to single quotes) why? because "\n".perl then returns '\n' good point Thanks, moritz, I'm glad you agree with me. % petdance has joined #parrot purl, forget good point moritz: I forgot good point the test should check for double-quotes, I think. pmichaud: so we should fix the llist of escaped chars iinstead pmichaud: no. I shouldn't check of any particular quoting there's nothing that stops Str.perl from returning q:foo[...] as the spec stands now, that's correct. feel free to revert my commit should I open a ticket for Str.perl % petdance has left petdance!~Andy@64.81.227.163 % gryphon has joined #parrot ? no, I just wanted to check that there wasn't something else going on. I'll revert, or you can. my thoughts about "\n".perl where that it could return a literal newline, but that's probably a bit ugly % Juerd has left #parrot r29123 | moritz++ | trunk: : [rakudo] reverted r29111 and added a TODO comment, pmichaud++ diff: http://www.parrotvm.org/svn/parrot/revision?rev=29123 % jhorwitz has joined #parrot now S02-names_and_variables/perl.t fails - should I fudge it? looking yes, please fudge it. we can clean it up from there. it fails because sigils and { and } aren't interpolated correct s/interpolated/escaped/ they need to be escaped. % paco has joined #parrot pmichaud: will you do it, or should I fudge the tests? I'll fix up the escaping somehow, but it may be a few hours so I'd fudge the tests for now % ruoso has joined #parrot done moritz++ % sandra_f has joined #parrot no need for more karma, I b0rked it in the first place ;-) :-) % sandra_f has left sandra_f!~sandra_f@212-198-248-33.rev.numericable.fr how do i restart the x server? ^-meta+bs Ctrl + Alt + Backspace % rdice has joined #parrot ta! what's the plan for perl6/parrot cpan? I think that the design mostly stands, but the implementation is waiting for a Perl 6 compiler % TiMBuS has left TiMBuS!~Hurf@123-243-167-27.static.tpgi.com.au so, it will be theorically possible to use libs from other langs with parrot? that's the plan, yes I think Coke is working on a proof of concept coke or cola? oops sry :) my mind is playing weird games with me the question is Coke or DietCoke pancake: Will Coleda aka Coke aka DietCoke i was thinking in languages/cola . sry cool :) btw i have been out of parrot for a long time, and now im having some time and getting interest on it i would like to greet you (to all the parrot team) for this great job thanks ;) although I'm not the right person to accept the greetings since I only contributed a few lines of code, and I'm a commiter for only two weeks ;-) bah, greets are for free, take one of them if you like ;) ;-) % uniejo has left uniejo!~uniejo@193.88.64.250 r29124 | pmichaud++ | trunk: : [rakudo]: spectest-progress.csv update: 90 files, 1618 passing tests diff: http://www.parrotvm.org/svn/parrot/revision?rev=29124 % donaldh has joined #parrot % UltraDM has left UltraDM!~george@dasapass.avira.com % davidfetter has joined #parrot % Debolaz has joined #parrot http://pastebin.com/m4ea8daf9 small patch O:) r29125 | bernhard++ | trunk: : [Pipp PHC] add non-working rules and actions for : method_call, constructor_call and method_definition. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29125 can anyone have a look/apply this patch? pancake: in general send patches to parrotbug@parrotcode.org * moritz is not sure what that program should demonstrate ok r29126 | kjs++ | trunk: : [pirc] fixes for the heredoc preprocessor. : includes a strange piece of hacky code (which is documented), but it works. : also, i realized that having a separate heredoc preprocessor won't work when the macro preprocessor (which is activated after there heredoc stuff) won't work for .included files that contain heredoc. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29126 % girlalone has joined #parrot pancake: if it's not clear from the context, add information about your current directory (from which the patch is made) pancake: in this case I had to use find(1) to figure out where that patch would go % Theory has joined #parrot ok sry no problem for example you can go the parrot root dir and type 'svn diff languages/punie/$whatever', then it's perfectly clear from the patch anyway, pancake++ # first patch ;-) pancake++ yay :) pancake++ #although now I'm getting hungry * pancake fears hey, it's been a while since I last ate pancakes ;) if you've only made one change, you can just use svn diff see docs/submissions.pod +OK % sjansen has joined #parrot r29127 | bernhard++ | trunk: : [Pipp] remove trailing spaces diff: http://www.parrotvm.org/svn/parrot/revision?rev=29127 % girlalone has left girlalone!~girlalone@212-198-248-33.rev.numericable.fr % donaldh has left donaldh!~chatzilla@proxy-sjc-2.cisco.com % olgagirl has joined #parrot % NotFound has joined #parrot Hello % olgagirl has left olgagirl!~olgagirl@212-198-248-33.rev.numericable.fr hello bonjour, Whiteknight. hello purl purl doesn't like me :'( NotFound: what? maybe it's the lower-case h PPP? i guess PPP is Public Private Partnership or perverted perl poetry PPP is also Point to Point Protocol okay, moritz. % jjore has joined #parrot ppp is also pianississimo okay, cotto-work. r29128 | moritz++ | trunk: : [rakudo] one more test file for spectest_regression, +2 pass +1 skip diff: http://www.parrotvm.org/svn/parrot/revision?rev=29128 % lafille has joined #parrot % lafille has left lafille!~lafille@212-198-248-33.rev.numericable.fr % ruoso has left ruoso!~ruoso@201.45.49.162 ppp is also Pretty, Pretty Please okay, japhb. OK, so I'm a little punchy % mj41_ has joined #parrot % mj41 has left mj41!~chatzilla@pc-jurosz.ro.vutbr.cz % mj41_ is now known as mj41 % pancake has left pancake!~pancake@core.fluendo.com ppp? somebody said ppp was Public Private Partnership or perverted perl poetry or Point to Point Protocol or pianississimo or Pretty, Pretty Please pianississimo? Is that how they spell it in missississippi? ;-) it's like Mississippi, only more so ppp is also pretty polly parrot okay, Infinoid. moar! ppp is also purchasing power parity okay, cotto-work. ppp is also Potter Puppet Pals okay, cotto-work. ppp is also the IATA code for Whitsunday Coast Airport, inexplicably okay, Infinoid. Infinoid++ Infinoid++ indeed What's perverted perl poetry? Some award for code obfuscators? it's the kind of poetry which you think will woo women, but doesn't. See "Black Perl" google "Black Perl" bah % sjansen has left sjansen!~sjansen@206.83.88.66.ptr.us.xo.net % sjansen has joined #parrot wow. I can't wait for Black Perl6 black lolcode what exactly constitutes "syntax abuse" for a language like lolcode? correctly spelled words? * Infinoid cracks up L)L * jhorwitz meant LOL jhorwitz, next time you demo mod_parrot with lolcode, you should make 'maek' a symlink to the 'make' binary i'll alias all commands to their all-uppercase spellings. :) * jhorwitz contemplates LOL-OS or LOLSH lol.ko I CAN HAS IRET? libolcode lol32.dll lolbios hello keyboard error: yer doing it wrong Hi purl boot failure: bukkit not found WANTZ TURBO: [LOLZ!!!11!] [OH NOEZ] % slightlyoff has joined #parrot % slightlyoff has left #parrot purl, PDL? hmmm... PDL is at http://www.aao.gov.au/local/www/kgb/perldl/ or perl data language or at http://pdl.perl.org % barney has left barney!~bernhard@p549A009C.dip0.t-ipconnect.de Distributing a CS paper as PDF is bad enough, but TWO TO THREE INCH MARGINS? Come on! Were you afraid that people wouldn't take your paper seriously if it wasn't 18 pages long? Why are you forcing me to choose between wasting piles of paper printing out your paper so I can read it, or running my PDF viewer fullscreen and still getting only a few lines of blurry text in the middle of acres of whitespace? WHAT ARE YOU P EOPLE THINKING?!? Ahem. CS? Computer Science Computer Science is, like, no more about computers than astronomy is about telescopes. --E.W. Dijkstra Trust a man with five consecutive consonants in his name to say that. (That's a reference to a ribbing from one of his contemporaries, BTW. :-) That man also says that unstructured Basic ruins minds, and I learned to program that way X-) Clearly he was right. ;-) Touché To be fair, my first languages were unstructured BASIC and Z-80 assembly language, so I'm clearly in a glass house on this one. japhb: this is the path of all people that liked computers in the '80, except those lose souls that have Apple II or Commodores. s/lose/lost They were using unstructured BASIC too. :-) But not Z80. Just using a 6502 instead of a Z-80 * jhorwitz seconds that japhb: those that used 6502 have his minds ruined to work with lots of registers ;) And yet there goes Dan designing Parrot. IIRC we had to rip out his original design with limited register counts. Of course, he was limiting it to 32 of each .... Conclusion: to work in parrot a ruined mind is prerequisite. Irrefutable. if it's not yet ruined, it takes only a few months to put you into that state heh * jhorwitz only needs A, X and Y registers. :) And a zero page. Reading this Lua paper, I am reminded again of two things: 1) There ain't no such thing as the fastest code, and 2) If you think you've produced the fastest, or smallest, or most otherwise amazing version of some archetype, you just don't know enough history. That sounds familiar. Which paper is it? The Lua 5.0 design paper pointed to from the SquirrelFish announcement on the WebKit blog. It's taken me a while to get around to reading those papers. % iblechbot has left iblechbot!~iblechbot@ppp-62-216-197-207.dynamic.mnet-online.de % cjfields has joined #parrot <- started with BASIC and a Z-80 also. scary. * moritz started with QBasic, which had normal control structures and subroutines moritz: you are not ruined enough. and a weird editor that would show each subroutine in a separated (text based) window must ... resist ... "kids these days" rant ... NotFound: I compensated that by learning Scheme and Eiffel in short succession (and failed with both ;-) I thought I learned nothing whatsoever from Scheme. Then I realized I had been using closures in Perl for years without thinking about it ... moritz: not bad, but you must learn some Forth to complete your path to the Dark Side. NotFound: hah! I've written an ANS Forth in Perl ... dark enough for you? ;-) NotFound: I did some postscript for balance japhb: better than Palpatine. NotFound: not Forth, but also stack based ;) heh In college, I had a roommate who liked to hand-code his documents in raw PostScript. I thought he was loopy. one of my websites generates EPS images of Sudokus in PS which is generated with HTML::Template::Compiled ;) ewww. Nice one. Sheesh we're a bent bunch. first I wanted to generated SVG (which I also do), but my server admin didn't want to install inkscape for conversion and it seemed a bit overkill to launch inkscape in a CGI program aynway ;) Isn't there a lib for SVG conversion that has a Perl wrapper ...? dunno imagemagick sucks on vector graphics but it's just 90 lines of template and 18 lines of perl code librsvg, iirc There's also SVGdraw I haven't checked if there's a perl wrapper for either It looks like there are three bindings for librsvg: Gnome2::Rsvg , XML::LibRSVG, and Image::LibRSVG Tiny problem in http://smoke.parrotcode.org/smoke/ It reports g++ builds as 'g' karma g g has karma of 433 Wow. The Lua implementors apparently adhere so strongly to pure ANSI C that they won't even do things that are undefined as per the spec, but exist in only a couple different ways in the wild, thus making their runtime slower and bloatier. I don't get how that jibes with the "small and efficient" goal .... Oh well, everyone has their own priorities, I guess. japhb: surely is efficient in terms of have a lot less of platform dependant bugs. At some point, you have to say "OK, we won't run on a platform with a 16-bit int and 64-bit void*. Oh well." I mean, is there any platform in existence in which int and void* differ in size by more than a factor of 2? % sjansen has left sjansen!~sjansen@206.83.88.66.ptr.us.xo.net % teknomunk has joined #parrot japhb, an example of something that is undefined in spec? there are actually quite many holes in the specs Whiteknight: "Is there any integral type that is as large as the largest pointer type?" for example what the optimizer is allowed to do with statements that might overflow moritz is right, there are a LOT of things like that. the specs allow int x = 42; while (x) { x++ } to be turned into an infinite loop okay because that's what it would be unless for overflow i rarely read specs, I just assume that the engineers in charge have the details under control moritz: yes, but I don't see any big reason to write code like that. Whiteknight: it's quite a problem for gcc development. Usually the people who say "but we're allowed to do it" win an argument, although it's braindead NotFound: you will if you deal with arithmetics that is close to overflowing And then there are questions like "Is this a ones-complement or twos-complement system?" twos-complement may be *implied*, but I don't think it's actually *required*. It's just that I seriously doubt there are any ones-complement systems programmed in C .... NotFound: for example bigint libraries moritz: you just need to check for the max value, wich is in the specs. NotFound: except that you have to cast to larger type first to meaningfully make that comparison NotFound: that doesn't tell you what overflow does, though. MAX_INT++ == ? NotFound: and what do you do when there's no larger native type? moritz: you check before ++ NotFound: ok, that works in the ++ case, but not in the general case of arithmetics japhb: but that is the whole point, you don't know what overflow can do un any platform with a C compiler. and when you do bigint calculations, you don't want to reduce everything to ++ and -- ;-) NotFound: er, yes, that's what I was trying to say. Then if you want complete portability you can't overflow. and that's a bit sad because all modern architectures make the result of a $n bit integer multiplication a 2*$n bit integer which means that you can do stuff very efficient at assembly level, and not good at all on the C level moritz: but C is not so modern ;) neither are "most modern platforms" minus all the vectorized instructions, x86 is the same nonsense that it's been for 30 years moritz: the answer to that dilemma is simple: write that part in assembler or in not portable C for any platform you want, or sacrifice some optimization. NotFound: right ... and my original point was that by such slavish avoidance of grey areas in the spec, you throw a lot of efficiency into the wastebasket -- when you'd be hard pressed to find a piece of hardware that still actually runs and doesn't do the "normal" thing. NotFound: of course - but it shows that all those "but C is the most efficient thing on the plant" advocates are just plain wrong what japhb++ said ;) % rdice has left rdice!~richard_d@CPE0014bfafbbd5-CM0011e6ecf48a.cpe.net.cable.rogers.com and I bet that D does the same braindead thing to just make C programmers happy (but I don't know) It may have changed in the 15 years since, but I remember hearing in college that there are algorithms that can never be as fast in ANSI C as in FORTRAN, because being spec-compliant in C required throwing away some optimizations that every FORTRAN compiler does as a matter of course. japhb: at least the complete adherence to the spec has the advantage of simplifying debates about what things you can take as granted. LOL certainly worked for us, eh? ;-) japhb: The aliasing thing? NotFound: could be. Like I said, it's been a while. japhb: this topic is still discussed in C and C++. And I was never a FORTRAN compiler guy. ;-) NotFound: discussed, as in "still a weakness"?" japhb: the point is similar to that we have with the non nullness argument: you can declare that certain function arguments will never have aliases, but you can't enforce or check that in practice. nodnod % sjansen has joined #parrot Stroustrup's analisis of the question was: programs that take benefit of such optimization are big number crunching programs, and that are better served with specialized libraries than wih language modifications. Yay PDL ;) That begs the question of what to write the libraries in ... ATLAS anyone? japhb: in assembler, in non-portable C... or in Fortran ;) So the end conclusion is to separate code into 'ANSI C safe' and 'completely unsafe' modules. Not a bad principle. Which is laudable, but does not itself argue in favor of never using an unportable module. so C isn't a general purpose programming language? ;-) moritz: *ANSI* C isn't. :-) moritz: yes, and be able to write non portable code is one of the purposes ;) And we are targetting an Ansi C version that is not the most moder one, by the way. r29129 | pmichaud++ | trunk: : [rakudo]: Remove obsolete $?PERL6SCALAR from src/parser/actions.pm diff: http://www.parrotvm.org/svn/parrot/revision?rev=29129 Yeah, we're stuck in an era before the invention of the web .... there are good reasons for me wanting to program in perl6, not in C ;-) moritz++ # hear, hear! moritz: yes, but to be able to do that we need a lot of C programming. And debugging. i heard debugging was for wimps! or working there's an ansi c newer than 89? c99 is iso, not ansi and c89 is not a subset of c99 Yes, I was saying 'ansi' as a silly synonim for 'standard', sorry. particle: ANSI adopts ISO specs Or rather, ANSI C89 -> ISO C90. ISO C99 -> ANSI C99 i've never heard anyone refer to c99 as ansi c NotFound, Fortran is never an acceptable alternative Whiteknight: remember a true programmer can write Fortran code in any language. particle: *shrug* No disagreement. I'm just saying that it's technically true. yeah, unfortunately Sadly, for me C99 might as well not exist. Because the only places I ever use C require C89/C90 compliance for portability reasons. japhb: and we are even stricter by requiring that the code also compiles as C++. ah, just deleted my plaxo account. that felt good. % cjfields has left cjfields!~cjfields@newrad.igb.uiuc.edu NotFound: nodnod. % kid51 has joined #parrot r29130 | pmichaud++ | trunk: : [rakudo]: Parameter initializations belong in the params node of : a block (not in the mainline). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29130 % ruoso has joined #parrot % cognominal has left cognominal!~cognomina@82.67.232.89 % Andy is now known as AndyAway Is there a way to force a subclassed PMC to be loaded in a given HLL instead of its parent? e.i. PHP Arrays need a special Iterator, so I want that iterator to be used or is the best option to make sure higher-level code generates pir that uses the iterator explicitly? you could call it a different name, like PHP_iterator yes, that's not an issue % gryphon has left gryphon!~gryphon@dsl-209-221-185-54.zipcon.net r29131 | moritz++ | trunk: : [rakudo] add my.t to spectest_regression, +15 fail, +3 todo, +12 skip diff: http://www.parrotvm.org/svn/parrot/revision?rev=29131 % rdice has joined #parrot % tetragon has joined #parrot % Coleoid has left Coleoid!~Coleoid@adsl-76-251-83-159.dsl.bltnin.sbcglobal.net % Z2Z has joined #parrot r29132 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] added a few changes, diagnostic messages, etc. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29132 % Z2Z has left Z2Z!~user@77.as-24.nienschanz.ru % Z2Z has joined #parrot r29133 | jkeenan++ | trunk: : Applying slightly modified version of patch submitted in RT 43334 by Francois : Perrad. Pass $icushared and $icuheaders explicitly to _try_icuconfig(). : Adjust one test file. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29133 anyone have an opinion on subdirectories below examples/benchmarks? I will be adding several related benchmarks, and figured to put them in a subdir, but the current organization is completely flat. Per find ./examples -type d -a ! -path '*/.svn*', a few other directories under examples/ have subdirs, so I don't see any reason why examples/benchmark/ could not. kid51: nodnod. That's two votes in favor of a subdir, so unless I hear arguments against, that's what I'll do. % Coleoid has joined #parrot * jonathan is back from a nice evening with Vienna.pm :-) % apeiron_ has joined #parrot ping Coleoid I can't find Coleoid in the DNS. Coleoid ping % baest has left baest!~baest@2206ds1-suoe.0.fullrate.dk % apeiron has left apeiron!~apeiron@c-69-248-118-67.hsd1.pa.comcast.net % bacek_ has joined #parrot morning everyone kid51 pong good morning and a lovely morning to you too, Whiteknight Coleoid: Just had to do a fix on config/auto/icu.pm. Can you svn up in trunk and rerun the same tests and configuration as past days? Sure. A moment... No rush. I gotta eat. % kid51 is now known as kid51_at_dinner purl, I'm over here. Coleoid: i'm not following you... bacek_: happy localtime. * bacek_ yawning and going for first coffee Gah! % TiMBuS has joined #parrot Does IMCC do any constant expression folding, and if so, how do I convince it to do so? I want to do something like this: '.macro_const ROWS 10; .macro_const COLS 5; $I0 = 4 * .ROWS * .COLS' % AndyA has left AndyA!~andy@ca93nt.hexten.net And have it actually work. % Z2Z has left Z2Z!~user@77.as-24.nienschanz.ru japhb: check my patch from rt #56630. It uses macros. Similarly, I want '.macro_const FLAG_FOO 1; .macro_const FLAG_BAR 2; .macro_const FLAG_BAZ 4; $I0 = FLAG_FOO | FLAG_BAR | FLAG_BAZ' work ... bacek_: checking $I0 = 4 * .ROWS * .COLS will not work anyway bacek_: it *should*. Because the RHS is a constant expression that should be turned into a single integer constant by the compiler. COMPARISON is misspelled in your patch. ;-) "Coleoid" at 76.251.83.159 pasted "kid51: win32 'prove' and 'Configure.pl' auto_icu details" (231 lines) at http://nopaste.snit.ch/13512 japhb: imcc doesn't do expressions. it does pir % Khisanth has left Khisanth!~Khisanth@151.205.125.14 you can create a '|'() function that takes slurpy args, and similarly a '*'() function particle: By which I assume you mean, purely desugaring. yes % AndyA has joined #parrot OK, fine. But what about the macro engine? Is it purely text substitution as well, or can it be made to evaluate an expression? % Khisanth has joined #parrot I'd happily settle for '.macro_const ROWS 10; .macro_const COLS 5; $I0 = .EXPR(4 * .ROWS * .COLS)' or the moral equivalent I want no runtime cost. And the result of the expression to be stored in the constant table. you're out of luck sigh .... you can use the .NL() macro * japhb blinks, goes to look up .NL() $I0 = 4 * .ROWS .NL() $I0 *= .COLS it at least allows you to put it on one line :) particle: oh sure ... but it's still a runtime cost. runtime/parrot/include/hllmacros.pir japhb: Just emit clear code that does the right thing. And worry about to optimize it for you. imcc internally does constant folding but you can't do expressions in pir Trying to emit clever code only makes things harder for the PIR optimizer to improve. And the kind of thing you're pointing out, should be simple optimizations to implement, if they aren't already there. (Not that I'm sure, how bit-rotten the PIR optimizer is.) particle: OK, if it doesn't handle expressions in the source, what is it doing? Does it collapse away ops in the source that it can calculate a forced result for? jonathan: I'm not trying to be clever. A constant expression is the clearest way to express what I'm doing. Since the expression is a no-go, it's then a matter of knowing how to feed the beast with a less-clear version that still does what I want. Besides, I'm writing a benchmark. Unintentionally doing something that breaks internal optimization would invalidate the results. :-) To be more precise, I'm benchmarking different ways of handling packed data that will exchanged with C. One of the goals is to determine the fastest way to do it *now*, given the current state of Parrot. The other goal is to determine if the current packed structure handling is just too slow by design, and thus in need of a redesign. s/(fastest way)/$1s/ what's the right way to use get_iter from PIR? iter = get_iter p #doesn't work cotto-work: $P0 = iter thingy thanks jonathan++ japhb: Disassembling $I0 = 1 + 3 is curious. :-) It disassembles to 00000330 00000000 00000004 In there, the first value is op code, the second means integer register zero, and the third word in there holds a 4 So it's generating a set $I0, 4 If you want to have similar fun, pdump is your friend. :-) (And probably the best way, if you're happy reading Parrot bytecode in binary form, of seeing what stuff compiles down to.) OK, sleep, Rakudo hacking once I wake up. Night folks. g'night Night! % bacek_ has left bacek_!~bacek@mcas-151.usr.optusnet.com.au % clunker9_ has joined #parrot % Limbic_Region has joined #parrot /nick kid51 % kid51_at_dinner is now known as kid51 % contingencyplan has joined #parrot % contingencyplan has left contingencyplan!~contingen@cpe-76-186-27-146.tx.res.rr.com % clunker3 has left clunker3!~IRC@procura.xs4all.nl % contingencyplan has joined #parrot make pdump dies, although deleting the offending constraint makes the build succeed (line 40 of src/packdump.c) % bacek_ has joined #parrot % bacek_ has left bacek_!~bacek@mcas-151.usr.optusnet.com.au % sjansen has left sjansen!~sjansen@p1125.clients.superclick.com If I make spectest_regression, it tells me 2252 tests. How can I learn the number actually passed? I could... uh... Subtract the wallclock seconds. Coleoid: try "perl tools/test_summary.pl" Very cool, thanks! "make spectest_regression" wasn't giving me the statistics I wanted (as in "tests actually passed"), so I created tools/test_summary.pl as an alternative I'm about to commit a version that also summarizes todo results, as well as 'skip' % bacek_ has joined #parrot r29134 | pmichaud++ | trunk: : [rakudo]: Make tools/test_summary.pl summarize TODO results also diff: http://www.parrotvm.org/svn/parrot/revision?rev=29134 r29135 | pmichaud++ | trunk: : [rakudo]: Get empty subs to properly return undef : * Refactor 'undef' to be a named_0ary : * Clean up routine_declarator a bit diff: http://www.parrotvm.org/svn/parrot/revision?rev=29135 *blink* Not kidding, 'about to commit'. Hey, isa_ok() is working. Coleoid: Thanks again for the testing assistance! kid51: Sure thing! The help was mutual, I build now! :D % bacek_ has left bacek_!~bacek@mcas-151.usr.optusnet.com.au Coleoid: the developer who filed the test failure report on auto::icu, François Perrad, is one of our major people on Win32. So he can probably be helpful in problems you encounter. % bacek_ has joined #parrot kid51: Thanks. Is François often here? r29136 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] Fixed some pointer arithmetic for proper alignment. Doesn't solve my segfault problem, but makes me feel better. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29136 Coleoid, I can't remember having seen fperrad (and I've been looking) r29137 | chromatic++ | trunk: : [pdump] Fixed pdump compilation (reported by Christoph Otto). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29137 chromatic++ purl doesn't seen to know any 'fperrad' -- but he follows the list and RT closely karma fperrad fperrad has karma of 766 (probably mostly from svn commits) that's the best way to earn karma % bacek_ has left bacek_!~bacek@mcas-151.usr.optusnet.com.au at least, best for the project playing with polyglotbot would be the fastest, but someone would probably notice r29138 | chromatic++ | trunk: : [PMC] Fixed a warning in the Float PMC. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29138 % magnachef has joined #parrot % bacek_ has joined #parrot r29139 | jkeenan++ | trunk: : Use a named variable () instead of config/auto/pack.pm inside foreach loop inside runstep(). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29139 segfault-- r29140 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] Okay, now I've ACTUALLY fixed that pointer arithmetic. It's ugly, but it should do the job for now. +comments. Fixes an assertion failure, doesn't fix my segfault error. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29140 r29141 | jkeenan++ | trunk: : Make program flow inside runstep() more coherent. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29141 % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % nopaste has joined #parrot "magnachef" at 74.78.109.88 pasted "make error on CentOS release 4.6" (20 lines) at http://nopaste.snit.ch/13513 does anyone else have issues making parrot trunk on CentOS 4.x? (wild guess) -- that looks to me as though libparrot isn't being built or linked properly oh... perhaps you did a "make install" step previously? if so, then it's probably grabbing the wrong libparrot I've done make cleans, and tried making from a new co well, if you ever did 'make install' on that system, then make clean and a new checkout won't help r29142 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] Fixed an existing problem with the Memory_Pool compacting code attempting to dereference links in non-PObj memory objects. Doesn't fix my segfault error. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29142 it'll still grab the "install" version of the library instead of the newly built on *one I'm still just guessing here ahhh, so how do I clear the old libparrot out? I don't know. perhaps look for libparrot in /lib, /usr/lib, /usr/local/lib, or the other standard "lib" places yeah, running a find now r29143 | pmichaud++ | trunk: : [rakudo]: Make 'return' with no arguments work for now. (RT #56638, masak++ ) : * Patch courtesy "Carl Mäsak" : * See also note in ticket regarding proper return value. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29143 hmmm...still can't find libparrot anywhere I have done builds fine on freebsd, openbsd, netbsd, etc with no issue did you look for libparrot.*, or just "libparrot"? just libparrot let me try with libparrot.* found it in: /home/parrot/builds/trunk/blib/lib/ that's the one you just built (at least it should be) any others? that was it it was there after a make clean I would expect it to remain after 'make clean' -- it shouldn't be there after 'make realclean' though. 'make realclean' is the smoke tester's friend! make clean just gets rid of the files needed to build parrot -- it doesn't eliminate the files needed to run parrot ahhh, realclean is what I need It's like castor oil for the configuration system! guess I need to change those VMs then * magnachef makes 'make realclean' is friend s/is/his/ % Limbic_Region has left Limbic_Region!~chatzilla@pool-70-105-230-71.port.east.verizon.net r29144 | jkeenan++ | trunk: : Additional refactoring from within auto::sizes::runstep(). Test resulting internal subs. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29144 * kid51 must sleep $kid51->sleep(8 * 3600); % kid51 has left kid51!~jkeen@pool-71-247-53-69.nycmny.east.verizon.net % tetragon has left tetragon!~seneca@76-10-148-120.dsl.teksavvy.com % apeiron_ is now known as apeiron ha, if I manage to get a full 8 hours, I'll say something nice about purl * Whiteknight is sure that won't happen % Whiteknight has left Whiteknight!~nobody@c-71-230-33-251.hsd1.pa.comcast.net % jhorwitz has left jhorwitz!~chatzilla@96.245.16.45 % contingencyplan has left contingencyplan!~contingen@cpe-76-186-27-146.tx.res.rr.com "japhb" at 76.191.190.8 pasted "Limits of IMCC constant folding" (67 lines) at http://nopaste.snit.ch/13514 jonathan: See paste above. It's not clear how a constant expression of more than two operands can be folded successfully .... % Ademan has left Ademan!~dan@h-67-101-40-38.snfccasy.dynamic.covad.net % teknomunk has left teknomunk!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net % magnachef has left magnachef!~magnachef@cpe-74-78-109-88.buffalo.res.rr.com % Coleoid has left Coleoid!~Coleoid@adsl-76-251-83-159.dsl.bltnin.sbcglobal.net % clunker9_ is now known as clunker3 % baest has joined #parrot % Psyche^ has joined #parrot % Patterner has left Patterner!~Psyche@e177233205.adsl.alicedsl.de % Psyche^ is now known as Patterner % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % nopaste has joined #parrot % Ademan has joined #parrot % Theory has left Theory!~Theory@c-67-160-131-113.hsd1.wa.comcast.net % Theory has joined #parrot r29145 | pmichaud++ | trunk: : [rakudo]: Refactor Perl6Capture to use Capture_PIR, implement prefix:<\\> : * This implementation is almost certainly buggy, but it's a start. : * Partially addresses RT #56684 (moritz++) diff: http://www.parrotvm.org/svn/parrot/revision?rev=29145 Yo! pmichaud++ * bacek_ running autounfudge --auto r29146 | pmichaud++ | trunk: : [rakudo]: More updates to empty 'return', RT #56638 : * Based on comments from TimToady++ diff: http://www.parrotvm.org/svn/parrot/revision?rev=29146 time for sleep -- be back tomorrow % Auzon has left Auzon!~ak9@24-171-76-148.dhcp.mtvr.il.charter.com % Auzon has joined #parrot % uniejo has joined #parrot % Ademan has left Ademan!~dan@h-68-164-168-77.snfccasy.dynamic.covad.net