|
Parrot 0.6.3 "Beautiful Parrot" Released | parrotcode.org/ | 5/649/88 new/open/stalled tix | logged in irclog.perlgeek.de/parrot/today Set by moderator on 26 June 2008. |
|||
|
00:09
AndyA joined
00:23
bacek joined
00:54
allison joined
01:02
TiMBuS joined
01:05
nopaste joined
01:09
bacek joined
01:20
lafille joined
|
|||
| dalek | r29114 | jkeenan++ | autojit: | 01:44 | |
| : [configure] Refactor code from within runstep() into _handle_exec_protect(), | |||
| : then test it. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29114 | |||
|
01:47
kid51 joined
02:53
contingencyplan joined
02:55
gryphon_ joined
03:14
purl joined
03:38
cotto_home joined
03:46
davidfetter joined
03:57
britneypire joined
04:05
camgirl25 joined
04:11
s1n joined
|
|||
| s1n | i have a patch for an almost trivial thing that has been bugging me in the rakudo tests, the harness to be precise. | 04:12 | |
| are mailinglist patches still the preferred method of reporting? | 04:13 | ||
|
04:13
cjfields joined
04:15
lafille joined
04:17
Eevee joined
|
|||
| bacek | rakudobug? | 04:26 | |
| purl | rakudobug is mailto:rakudobug@perl.org | ||
| bacek | s1n: send you patch to rakudobug with '[PATCH]' in the beginning of subject line | 04:27 | |
| s1n: there is also languages/perl6/README with description of how to send patches. | 04:28 | ||
| s1n | bacek: yes, thanks, i saw that note, i just sent it | 04:29 | |
| do the patches get tracked by RT? | 04:30 | ||
| nevermind | |||
| bacek | s1n: yes, they are | ||
| you should receive autoreply from RT. | 04:31 | ||
| s1n | yeah i did thanks | ||
| how can i, as the author of the ticket, change the custom fields, such as platform or severity? | 04:35 | ||
| bacek | s1n: register with bitcard | 04:36 | |
| s1n | i did, i logged in, clicked on the "Custom Fields" link, and no platform chooser | 04:38 | |
|
04:44
bacek_ joined
05:11
particle joined
05:19
jennyf joined
05:26
Psyche^ joined
05:31
particle joined
05:49
cybergirl joined
06:01
uniejo joined
06:26
unenana joined
06:48
cosimo joined
|
|||
| dalek | r29115 | chromatic++ | trunk: | 07:12 | |
| : [src] Prevented pathological comparison function passed to Parrot's internal | |||
| : quicksort from causing segfaults (Andrew Johnson, RT #56636). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29115 | |||
| r29116 | moritz++ | trunk: | 07:26 | ||
| : [rakudo] t/harness warns on no-existiing test files. | |||
| : Patch curtesy of Jason Switzer <jswitzer@gmail.com>, j1s++ | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29116 | |||
| r29117 | moritz++ | trunk: | 07:51 | ||
| : [rakudo] added .perl tests to spectest_regression, Auzon++ | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29117 | |||
| r29118 | moritz++ | trunk: | 08:19 | ||
| : [rakudo] one more test file for spectest_regression | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29118 | |||
|
08:36
barney joined
08:41
Ademan joined
|
|||
| dalek | r29119 | bernhard++ | trunk: | 08:46 | |
| : [Pipp PCT] add a dummy rule for class definition | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29119 | |||
| r29120 | bernhard++ | trunk: | 09:02 | ||
| : [Pipp PCT] Replace some tokens with literals, | |||
| : for improved readabiltity. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29120 | |||
|
09:27
cybergirl joined,
Whiteknight joined
09:37
iblechbot joined
09:46
bacek joined
|
|||
| bacek | good localtime() everyone | 09:46 | |
| moritz | and to you ;) | 09:47 | |
|
09:55
cybergirl joined
10:26
unenana joined
10:35
cybergirl joined
|
|||
| dalek | r29121 | moritz++ | trunk: | 10:55 | |
| : [rakudo] use Test::Diff in autounfudge.pl to avoid non-perl dependencies | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29121 | |||
|
11:06
pancake joined
11:12
Ademan joined
11:13
purl joined
|
|||
| bacek | moritz: around? | 11:17 | |
| purl | nope. | ||
| moritz | bacek: yes | ||
| nopaste | "bacek" at 202.7.166.173 pasted "Fixed patch from #56640 for moritz" (23 lines) at nopaste.snit.ch/13500 | 11:18 | |
| bacek | It's reworked masak's patch for 'empty block' | ||
| can you try it? | |||
| moritz | bacek: yes, will do | ||
| it just changes == 1 to == 0, right? | 11:20 | ||
| I wondered what the == 1 was meant to be | 11:21 | ||
| running spectest_regression | 11:22 | ||
| bacek | moritz: no, I moved it into more proper place | 11:23 | |
| moritz | t/spec/S12-role/mixin............................Null PMC access in find_method() | ||
| bacek | I'm looking in this test. Looks like parrot bug... | 11:24 | |
| moritz | S12-class/instantiate also fails | 11:27 | |
|
11:31
tetragon joined
11:33
UltraDM joined
|
|||
| bacek | moritz: parrot bug... | 11:49 | |
| Or PCT. | |||
| nopaste | "bacek" at 202.7.166.173 pasted "parrot/PCT bug test" (7 lines) at nopaste.snit.ch/13502 | ||
| bacek | replacing get_global with get_hll_global solves problem. But I'm not quite sure about correctness of this approach... | 11:50 | |
| moritz | 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 | 11:51 | |
| jonathan | bacek, moritz: Those class related tests were passing for me yesterday on Win32. | 11:52 | |
| bacek | jonathan: they still passing without my/masak patch for 'empty block' | 11:53 | |
| moritz | jonathan: the failures only occur with the patch in nopaste.snit.ch/13500 | ||
| jonathan: which in turn solves the 'sub f { }; say f()' failure | 11:54 | ||
| jonathan | Ah, OK, understand. | ||
| bacek | jonathan: ho! I think you should know, how to proper implement 'find_method'! | 11:57 | |
| I trying to make 'autothreading' for junction | 11:58 | ||
| jonathan | bacek: Leave it. I'm re-doing all MMD stuff and related this month. | 11:59 | |
| And will work it in as part of that. | |||
| But still thinking about the right/best way. | 12:00 | ||
| bacek | jonathan: oh... You steal my karma! | ||
| :) | |||
| moritz | jonathan: does that mean you'll also do Captures? | ||
| jonathan | 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. | |||
| moritz | jonathan: ah, be don't have prefix:<\\\\>, which accounts for many fudges | 12:01 | |
| bacek | my ($a,$b) stopping more... | ||
| jonathan | moritz: I don't think that is too hard. | ||
| bacek | and 'adverbial closures' as well... | 12:02 | |
| jonathan | moritz: I can look at that tomorrow if it's going to get us passing more stuff. | ||
| moritz | ack -a rakudo t/spec|grep 'prefix:<\\\\'|wc -l | 12:04 | |
| 36 | |||
| jonathan | OK, it's on my todo list! | 12:10 | |
|
12:19
iblechbot joined
12:42
Whiteknight joined
12:52
gmansi joined
|
|||
| dalek | r29122 | Whiteknight++ | gsoc_pdd09: | 13:03 | |
| : [gsoc_pdd09] updating to trunk r29121 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29122 | |||
| pmichaud | moritz: ping | 13:26 | |
| moritz | pmichaud: pong | ||
| pmichaud | r29111 looks wrong. | ||
| (changing double quotes to single quotes) | |||
| moritz | why? | ||
| pmichaud | because "\\n".perl then returns '\\n' | 13:27 | |
| moritz | good point | ||
| purl | Thanks, moritz, I'm glad you agree with me. | ||
|
13:27
petdance joined
|
|||
| moritz | purl, forget good point | 13:27 | |
| purl | moritz: I forgot good point | ||
| pmichaud | the test should check for double-quotes, I think. | ||
| moritz | pmichaud: so we should fix the llist of escaped chars iinstead | 13:28 | |
| pmichaud: no. I shouldn't check of any particular quoting | |||
| there's nothing that stops Str.perl from returning q:foo[...] | |||
| pmichaud | as the spec stands now, that's correct. | ||
| moritz | feel free to revert my commit | 13:29 | |
| should I open a ticket for Str.perl | |||
|
13:30
gryphon joined
|
|||
| moritz | ? | 13:30 | |
| pmichaud | no, I just wanted to check that there wasn't something else going on. I'll revert, or you can. | ||
| moritz | my thoughts about "\\n".perl where that it could return a literal newline, but that's probably a bit ugly | 13:32 | |
|
13:33
Juerd left
|
|||
| dalek | r29123 | moritz++ | trunk: | 13:37 | |
| : [rakudo] reverted r29111 and added a TODO comment, pmichaud++ | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29123 | |||
|
13:37
jhorwitz joined
|
|||
| moritz | now S02-names_and_variables/perl.t fails - should I fudge it? | 13:39 | |
| pmichaud | looking | ||
| yes, please fudge it. we can clean it up from there. | 13:40 | ||
| moritz | it fails because sigils and { and } aren't interpolated | 13:41 | |
| pmichaud | correct | ||
| moritz | s/interpolated/escaped/ | ||
| pmichaud | they need to be escaped. | ||
|
13:41
paco joined
|
|||
| moritz | pmichaud: will you do it, or should I fudge the tests? | 13:45 | |
| pmichaud | I'll fix up the escaping somehow, but it may be a few hours | 13:46 | |
| so I'd fudge the tests for now | |||
|
13:47
ruoso joined
|
|||
| moritz | done | 13:48 | |
| pmichaud | moritz++ | ||
|
13:49
sandra_f joined
|
|||
| moritz | no need for more karma, I b0rked it in the first place ;-) | 13:49 | |
| pmichaud | :-) | 13:50 | |
| particle | how do i restart the x server? | 13:55 | |
| pancake | ^-meta+bs | ||
| moritz | Ctrl + Alt + Backspace | 13:56 | |
|
13:56
rdice joined
|
|||
| particle | ta! | 13:57 | |
| pancake | what's the plan for perl6/parrot cpan? | 14:02 | |
| moritz | I think that the design mostly stands, but the implementation is waiting for a Perl 6 compiler | 14:04 | |
| pancake | so, it will be theorically possible to use libs from other langs with parrot? | 14:05 | |
| moritz | that's the plan, yes | 14:06 | |
| I think Coke is working on a proof of concept | |||
| pancake | coke or cola? | 14:07 | |
| oops sry :) my mind is playing weird games with me | |||
| moritz | the question is Coke or DietCoke | ||
| pancake: Will Coleda aka Coke aka DietCoke | |||
| pancake | i was thinking in languages/cola . sry | 14:08 | |
| 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 | |||
| moritz | thanks ;) | 14:11 | |
| 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 ;-) | |||
| pancake | bah, greets are for free, take one of them if you like ;) | 14:13 | |
| moritz | ;-) | ||
| dalek | r29124 | pmichaud++ | trunk: | 14:24 | |
| : [rakudo]: spectest-progress.csv update: 90 files, 1618 passing tests | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29124 | |||
|
14:27
donaldh joined
15:04
davidfetter joined
15:12
Debolaz joined
|
|||
| pancake | pastebin.com/m4ea8daf9 | 15:26 | |
| small patch O:) | |||
| dalek | r29125 | bernhard++ | trunk: | 15:27 | |
| : [Pipp PHC] add non-working rules and actions for | |||
| : method_call, constructor_call and method_definition. | 15:28 | ||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29125 | |||
| pancake | can anyone have a look/apply this patch? | 15:31 | |
| moritz | pancake: in general send patches to parrotbug@parrotcode.org | 15:32 | |
| moritz is not sure what that program should demonstrate | 15:33 | ||
| pancake | ok | ||
| dalek | r29126 | kjs++ | trunk: | 15:34 | |
| : [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: www.parrotvm.org/svn/parrot/revision?rev=29126 | |||
|
15:35
girlalone joined
|
|||
| moritz | pancake: if it's not clear from the context, add information about your current directory (from which the patch is made) | 15:37 | |
| pancake: in this case I had to use find(1) to figure out where that patch would go | |||
|
15:39
Theory joined
|
|||
| pancake | ok sry | 15:39 | |
| moritz | no problem | 15:40 | |
| 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 ;-) | 15:41 | ||
| Tene | pancake++ | ||
| pancake | yay :) | 15:42 | |
| cotto_home | pancake++ #although now I'm getting hungry | 15:43 | |
| pancake fears | |||
| moritz | hey, it's been a while since I last ate pancakes ;) | ||
| cotto_home | if you've only made one change, you can just use svn diff | ||
| particle | see docs/submissions.pod | 15:47 | |
| pancake | +OK | 15:48 | |
|
15:51
sjansen joined
|
|||
| dalek | r29127 | bernhard++ | trunk: | 15:59 | |
| : [Pipp] remove trailing spaces | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29127 | |||
|
16:40
olgagirl joined
16:42
NotFound joined
|
|||
| NotFound | Hello | 16:42 | |
| Whiteknight | hello | 16:44 | |
| purl | bonjour, Whiteknight. | ||
| Whiteknight | hello purl | ||
| NotFound | purl doesn't like me :'( | 16:45 | |
| purl | NotFound: what? | ||
| Whiteknight | maybe it's the lower-case h | 16:46 | |
| cognominal | PPP? | 16:48 | |
| purl | i guess PPP is Public Private Partnership or perverted perl poetry | ||
| moritz | PPP is also Point to Point Protocol | ||
| purl | okay, moritz. | ||
|
16:52
jjore joined
|
|||
| cotto-work | ppp is also pianississimo | 17:00 | |
| purl | okay, cotto-work. | ||
| dalek | r29128 | moritz++ | trunk: | 17:02 | |
| : [rakudo] one more test file for spectest_regression, +2 pass +1 skip | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29128 | |||
|
17:15
lafille joined
|
|||
| japhb | ppp is also Pretty, Pretty Please | 17:35 | |
| purl | okay, japhb. | ||
| japhb | OK, so I'm a little punchy | ||
|
17:35
mj41_ joined
|
|||
| cotto-work | ppp? | 17:40 | |
| purl | somebody said ppp was Public Private Partnership or perverted perl poetry or Point to Point Protocol or pianississimo or Pretty, Pretty Please | ||
| pmichaud | pianississimo? Is that how they spell it in missississippi? | 17:41 | |
| ;-) | |||
| cotto-work | it's like Mississippi, only more so | ||
| Infinoid | ppp is also pretty polly parrot | 17:42 | |
| purl | okay, Infinoid. | ||
| cotto-work | moar! | 17:43 | |
| ppp is also purchasing power parity | 17:44 | ||
| purl | okay, cotto-work. | ||
| cotto-work | ppp is also Potter Puppet Pals | ||
| purl | okay, cotto-work. | ||
| Infinoid | ppp is also the IATA code for Whitsunday Coast Airport, inexplicably | 17:47 | |
| purl | okay, Infinoid. | ||
| cotto-work | Infinoid++ | ||
| japhb | Infinoid++ indeed | 17:48 | |
| NotFound | What's perverted perl poetry? Some award for code obfuscators? | 17:50 | |
| Infinoid | it's the kind of poetry which you think will woo women, but doesn't. | ||
| japhb | See "Black Perl" | 17:51 | |
| google "Black Perl" | |||
| bah | |||
|
17:51
sjansen joined
|
|||
| Infinoid | wow. | 17:54 | |
| cotto-work | I can't wait for Black Perl6 | 18:12 | |
| jhorwitz | black lolcode | 18:16 | |
| Infinoid | what exactly constitutes "syntax abuse" for a language like lolcode? | 18:17 | |
| pmichaud | correctly spelled words? | 18:18 | |
| Infinoid cracks up | |||
| jhorwitz | L)L | 18:19 | |
| jhorwitz meant LOL | |||
| cotto-work | jhorwitz, next time you demo mod_parrot with lolcode, you should make 'maek' a symlink to the 'make' binary | 18:36 | |
| jhorwitz | i'll alias all commands to their all-uppercase spellings. :) | 18:37 | |
| jhorwitz contemplates LOL-OS | |||
| or LOLSH | |||
| confound | lol.ko | 18:44 | |
| japhb | I CAN HAS IRET? | 18:45 | |
| confound | libolcode | ||
| japhb | lol32.dll | ||
| Infinoid | lolbios | 18:46 | |
| paco | hello | ||
| Infinoid | keyboard error: yer doing it wrong | ||
| paco | Hi purl | 18:47 | |
| Infinoid | boot failure: bukkit not found | 18:48 | |
| japhb | WANTZ TURBO: [LOLZ!!!11!] [OH NOEZ] | ||
|
19:19
slightlyoff joined,
slightlyoff left
|
|||
| Auzon | purl, PDL? | 19:24 | |
| purl | hmmm... PDL is at www.aao.gov.au/local/www/kgb/perldl/ or perl data language or at pdl.perl.org | ||
| japhb | <rant type="mini">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 | 20:07 | |
| EOPLE THINKING?!?</rant> | |||
| Ahem. | |||
| NotFound | CS? | 20:10 | |
| japhb | Computer Science | 20:14 | |
| purl | Computer Science is, like, no more about computers than astronomy is about telescopes. --E.W. Dijkstra | ||
| japhb | 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. :-) | 20:15 | ||
| NotFound | That man also says that unstructured Basic ruins minds, and I learned to program that way X-) | 20:16 | |
| japhb | Clearly he was right. ;-) | ||
| NotFound | TouchƩ | 20:17 | |
| japhb | 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. | 20:18 | |
| NotFound | japhb: this is the path of all people that liked computers in the '80, except those lose souls that have Apple II or Commodores. | 20:19 | |
| s/lose/lost | |||
| japhb | They were using unstructured BASIC too. :-) | 20:20 | |
| NotFound | But not Z80. | ||
| japhb | Just using a 6502 instead of a Z-80 | ||
| jhorwitz seconds that | |||
| NotFound | japhb: those that used 6502 have his minds ruined to work with lots of registers ;) | 20:21 | |
| japhb | 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 .... | 20:22 | |
| NotFound | Conclusion: to work in parrot a ruined mind is prerequisite. | 20:23 | |
| japhb | Irrefutable. | ||
| moritz | if it's not yet ruined, it takes only a few months to put you into that state | 20:30 | |
| japhb | heh | ||
| jhorwitz only needs A, X and Y registers. :) | 20:31 | ||
| NotFound | And a zero page. | 20:32 | |
| japhb | 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. | ||
| cotto-work | That sounds familiar. Which paper is it? | 20:33 | |
| japhb | The Lua 5.0 design paper pointed to from the SquirrelFish announcement on the WebKit blog. | 20:34 | |
| It's taken me a while to get around to reading those papers. | 20:35 | ||
|
20:39
cjfields joined
|
|||
| pmichaud | <- started with BASIC and a Z-80 also. | 20:40 | |
| scary. | |||
| moritz started with QBasic, which had normal control structures and subroutines | |||
| NotFound | moritz: you are not ruined enough. | 20:41 | |
| moritz | and a weird editor that would show each subroutine in a separated (text based) window | ||
| japhb | must ... resist ... "kids these days" rant ... | ||
| moritz | NotFound: I compensated that by learning Scheme and Eiffel in short succession (and failed with both ;-) | ||
| japhb | I thought I learned nothing whatsoever from Scheme. Then I realized I had been using closures in Perl for years without thinking about it ... | 20:42 | |
| NotFound | moritz: not bad, but you must learn some Forth to complete your path to the Dark Side. | ||
| japhb | NotFound: hah! I've written an ANS Forth in Perl ... dark enough for you? ;-) | 20:43 | |
| moritz | NotFound: I did some postscript for balance | 20:44 | |
| NotFound | japhb: better than Palpatine. | ||
| moritz | NotFound: not Forth, but also stack based ;) | ||
| japhb | heh | ||
| In college, I had a roommate who liked to hand-code his documents in raw PostScript. I thought he was loopy. | 20:45 | ||
| moritz | one of my websites generates EPS images of Sudokus in PS which is generated with HTML::Template::Compiled ;) | 20:46 | |
| japhb | ewww. Nice one. | ||
| Sheesh we're a bent bunch. | 20:47 | ||
| moritz | 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 ;) | 20:48 | ||
| japhb | Isn't there a lib for SVG conversion that has a Perl wrapper ...? | 20:49 | |
| moritz | dunno | ||
| imagemagick sucks on vector graphics | 20:50 | ||
| but it's just 90 lines of template and 18 lines of perl code | 20:52 | ||
| Tene | librsvg, iirc | 20:54 | |
| There's also SVGdraw | |||
| I haven't checked if there's a perl wrapper for either | 20:55 | ||
| japhb | It looks like there are three bindings for librsvg: Gnome2::Rsvg , XML::LibRSVG, and Image::LibRSVG | 21:01 | |
| NotFound | Tiny problem in smoke.parrotcode.org/smoke/ It reports g++ builds as 'g' | ||
| japhb | karma g | ||
| purl | g has karma of 433 | ||
| japhb | 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 .... | 21:23 | |
| Oh well, everyone has their own priorities, I guess. | 21:24 | ||
| NotFound | japhb: surely is efficient in terms of have a lot less of platform dependant bugs. | 21:25 | |
| japhb | 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." | 21:26 | |
| I mean, is there any platform in existence in which int and void* differ in size by more than a factor of 2? | 21:28 | ||
|
21:34
teknomunk joined
|
|||
| Whiteknight | japhb, an example of something that is undefined in spec? | 21:42 | |
| moritz | there are actually quite many holes in the specs | ||
| japhb | Whiteknight: "Is there any integral type that is as large as the largest pointer type?" | ||
| moritz | for example what the optimizer is allowed to do with statements that might overflow | 21:43 | |
| japhb | moritz is right, there are a LOT of things like that. | ||
| moritz | the specs allow int x = 42; while (x) { x++ } to be turned into an infinite loop | ||
| Whiteknight | okay | 21:44 | |
| moritz | because that's what it would be unless for overflow | ||
| Whiteknight | i rarely read specs, I just assume that the engineers in charge have the details under control | ||
| NotFound | moritz: yes, but I don't see any big reason to write code like that. | ||
| moritz | 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 | 21:45 | |
| NotFound: you will if you deal with arithmetics that is close to overflowing | |||
| japhb | 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 .... | ||
| moritz | NotFound: for example bigint libraries | ||
| NotFound | moritz: you just need to check for the max value, wich is in the specs. | 21:46 | |
| moritz | NotFound: except that you have to cast to larger type first to meaningfully make that comparison | ||
| japhb | NotFound: that doesn't tell you what overflow does, though. | ||
| MAX_INT++ == ? | 21:47 | ||
| moritz | NotFound: and what do you do when there's no larger native type? | ||
| NotFound | moritz: you check before ++ | ||
| moritz | NotFound: ok, that works in the ++ case, but not in the general case of arithmetics | ||
| NotFound | japhb: but that is the whole point, you don't know what overflow can do un any platform with a C compiler. | 21:48 | |
| moritz | and when you do bigint calculations, you don't want to reduce everything to ++ and -- ;-) | ||
| japhb | NotFound: er, yes, that's what I was trying to say. | ||
| NotFound | Then if you want complete portability you can't overflow. | 21:49 | |
| moritz | 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 | 21:50 | ||
| NotFound | moritz: but C is not so modern ;) | ||
| Whiteknight | neither are "most modern platforms" | ||
| minus all the vectorized instructions, x86 is the same nonsense that it's been for 30 years | 21:51 | ||
| NotFound | 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. | ||
| japhb | 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. | ||
| moritz | NotFound: of course - but it shows that all those "but C is the most efficient thing on the plant" advocates are just plain wrong | 21:52 | |
| what japhb++ said ;) | |||
| and I bet that D does the same braindead thing to just make C programmers happy (but I don't know) | 21:53 | ||
| japhb | 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. | 21:54 | |
| NotFound | japhb: at least the complete adherence to the spec has the advantage of simplifying debates about what things you can take as granted. | ||
| japhb | LOL | ||
| certainly worked for us, eh? ;-) | |||
| NotFound | japhb: The aliasing thing? | 21:55 | |
| japhb | NotFound: could be. Like I said, it's been a while. | ||
| NotFound | japhb: this topic is still discussed in C and C++. | ||
| japhb | And I was never a FORTRAN compiler guy. ;-) | ||
| NotFound: discussed, as in "still a weakness"?" | 21:56 | ||
| NotFound | 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. | ||
| japhb | nodnod | 21:57 | |
|
21:58
sjansen joined
|
|||
| NotFound | 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. | 22:01 | |
| PerlJam | Yay PDL ;) | ||
| japhb | That begs the question of what to write the libraries in ... ATLAS anyone? | 22:02 | |
| NotFound | japhb: in assembler, in non-portable C... or in Fortran ;) | 22:03 | |
| japhb | So the end conclusion is to separate code into 'ANSI C safe' and 'completely unsafe' modules. | 22:05 | |
| NotFound | Not a bad principle. | ||
| japhb | Which is laudable, but does not itself argue in favor of never using an unportable module. | ||
| moritz | so C isn't a general purpose programming language? ;-) | 22:06 | |
| japhb | moritz: *ANSI* C isn't. :-) | ||
| NotFound | 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. | 22:08 | ||
| dalek | r29129 | pmichaud++ | trunk: | 22:09 | |
| : [rakudo]: Remove obsolete $?PERL6SCALAR from src/parser/actions.pm | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29129 | |||
| japhb | Yeah, we're stuck in an era before the invention of the web .... | ||
| moritz | there are good reasons for me wanting to program in perl6, not in C ;-) | ||
| japhb | moritz++ # hear, hear! | ||
| NotFound | moritz: yes, but to be able to do that we need a lot of C programming. | ||
| And debugging. | |||
| purl | i heard debugging was for wimps! or working | ||
| particle | there's an ansi c newer than 89? | 22:11 | |
| c99 is iso, not ansi | |||
| and c89 is not a subset of c99 | 22:12 | ||
| NotFound | Yes, I was saying 'ansi' as a silly synonim for 'standard', sorry. | ||
| japhb | particle: ANSI adopts ISO specs | ||
| Or rather, ANSI C89 -> ISO C90. ISO C99 -> ANSI C99 | 22:13 | ||
| particle | i've never heard anyone refer to c99 as ansi c | ||
| Whiteknight | NotFound, Fortran is never an acceptable alternative | 22:14 | |
| NotFound | Whiteknight: remember a true programmer can write Fortran code in any language. | ||
| japhb | particle: *shrug* No disagreement. I'm just saying that it's technically true. | ||
| Whiteknight | yeah, unfortunately | ||
| japhb | Sadly, for me C99 might as well not exist. Because the only places I ever use C require C89/C90 compliance for portability reasons. | 22:15 | |
| NotFound | japhb: and we are even stricter by requiring that the code also compiles as C++. | 22:16 | |
| particle | ah, just deleted my plaxo account. that felt good. | ||
| japhb | NotFound: nodnod. | ||
|
22:21
kid51 joined
|
|||
| dalek | r29130 | pmichaud++ | trunk: | 22:21 | |
| : [rakudo]: Parameter initializations belong in the params node of | |||
| : a block (not in the mainline). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29130 | |||
|
22:25
ruoso joined
|
|||
| cotto-work | Is there a way to force a subclassed PMC to be loaded in a given HLL instead of its parent? | 22:44 | |
| e.i. PHP Arrays need a special Iterator, so I want that iterator to be used | 22:45 | ||
| or is the best option to make sure higher-level code generates pir that uses the iterator explicitly? | 22:47 | ||
| Whiteknight | you could call it a different name, like PHP_iterator | 22:48 | |
| cotto-work | yes, that's not an issue | 22:49 | |
| dalek | r29131 | moritz++ | trunk: | 23:02 | |
| : [rakudo] add my.t to spectest_regression, +15 fail, +3 todo, +12 skip | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29131 | |||
|
23:02
rdice joined
23:03
tetragon joined
23:07
Z2Z joined
|
|||
| dalek | r29132 | Whiteknight++ | gsoc_pdd09: | 23:08 | |
| : [gsoc_pdd09] added a few changes, diagnostic messages, etc. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=29132 | |||
|
23:12
Z2Z joined
|
|||
| dalek | r29133 | jkeenan++ | trunk: | 23:18 | |
| : 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: www.parrotvm.org/svn/parrot/revision?rev=29133 | |||
| japhb | anyone have an opinion on subdirectories below examples/benchmarks? | 23:27 | |
| I will be adding several related benchmarks, and figured to put them in a subdir, but the current organization is completely flat. | 23:28 | ||
| kid51 | 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. | 23:34 | |
| japhb | kid51: nodnod. That's two votes in favor of a subdir, so unless I hear arguments against, that's what I'll do. | 23:37 | |
|
23:41
Coleoid joined
|
|||
| jonathan is back from a nice evening with Vienna.pm :-) | 23:41 | ||
|
23:43
apeiron_ joined
|
|||
| kid51 | ping Coleoid | 23:43 | |
| purl | I can't find Coleoid in the DNS. | ||
| kid51 | Coleoid ping | ||
|
23:48
bacek_ joined
|
|||
| bacek_ | morning everyone | 23:50 | |
| Coleoid | kid51 pong | 23:53 | |
| Whiteknight | good morning | 23:55 | |
| purl | and a lovely morning to you too, Whiteknight | ||
| kid51 | 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? | ||
| Coleoid | Sure. A moment... | ||
| kid51 | No rush. I gotta eat. | 23:56 | |
| Coleoid | purl, I'm over here. | 23:57 | |
| purl | Coleoid: i'm not following you... | ||
| Coleoid | bacek_: happy localtime. | 23:58 | |
| bacek_ yawning and going for first coffee | 23:59 | ||