Camelia, the Perl 6 bug

IRC log for #parrot, 2008-07-07

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced