Camelia, the Perl 6 bug

IRC log for #parrot, 2008-06-06

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 Zaba joined #parrot
00:09 AndyA joined #parrot
01:25 japhb joined #parrot
01:37 dalek r28125 | pmichaud++ | trunk:
01:37 dalek : [rakudo]:
01:37 dalek : * Improved List.reduce (bacek++)
01:37 dalek : * Patch courtesy Vasily Chekalkin <bacek  at bacek.com>, RT#55368
01:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28125
01:49 TiMBuS joined #parrot
02:13 ank joined #parrot
02:13 bacek_ summon pmichaud
02:13 bacek_ spell failed...
02:13 purl failed... looks funny
02:14 particle what's up?
02:14 purl The Canadian Dollar
02:14 particle no shizzle, purl
02:14 purl particle: huh?
02:14 bacek_ msg pmichaud 'Is it good idea to reimplement List.(map, grep, reduce, first,...) as free function which accepts Sub and Iterator.
02:15 bacek_ it will making of lazy lists more easy.
02:16 bacek_ particle: almost Lunch time.
02:16 tetragon Hrm... decided to try running "make spectest", and a segfault fell out
02:16 particle tetragon: which test?
02:16 tetragon And it actually has SIGSEGV in the crash report, instead of the usual SIGBUS
02:17 tetragon particle: I think it came from t/spec/S12-class/basic.t
02:18 particle that's unexpected
02:18 tetragon The trace I have when I tried to reproduce it is different to the one that popped out during make
02:18 tetragon I'll paste my reproduction attempt
02:18 tetragon It had a double free
02:20 nopaste "tetragon" at 69.196.141.26 pasted "Fun with attempting to reproduce a spectest crash" (163 lines) at http://nopaste.snit.ch/13184
02:21 particle tetragon: you're running svn head, i assume?
02:21 tetragon Yes, current as of a couple hours ago
02:22 tetragon r28124
02:22 pmichaud bacek_: how exactly do you mean?
02:23 * bacek_ sub 'sort' :method  .return '!sort'
02:23 particle tetragon: definitely want a parrotbug filed on that
02:23 Patterner joined #parrot
02:23 * tetragon is busy hooking gdb up to the crash
02:23 bacek_ sub 'sort' method .param pmc e .return '!sort'(e, self.'iterator'())
02:23 tetragon And it's now sitting in malloc_error_break
02:23 bacek_ s/sort/grep/
02:23 pmichaud why would we need a separate function for that?
02:24 bacek_ say (1..5).grep { $_ % 2)
02:24 particle tetragon: if you run ../../parrot perl6.pbc t/spec/... do you get that segfault?
02:24 particle ...or is perl6 there a link?
02:24 particle naw, can't be link or alias
02:24 pmichaud i.e., why can't 'sort' return the generator directly?
02:24 pmichaud that's more what I would expect.
02:24 pmichaud er, grep.
02:25 pmichaud (since sort isn't really lazy)
02:25 bacek_ > say (1..5).grep({ $_ % 2})
02:25 nopaste "tetragon" at 69.196.141.26 pasted "Yay, gdb at the breakpoint suggested by Apple libc" (49 lines) at http://nopaste.snit.ch/13185
02:25 bacek_ Method 'grep' not found for invocant of class 'Range'
02:25 tetragon particle: No crash
02:25 particle tetragon: after Parrot_exit! i'm the only one who's seen that before
02:26 * particle hugs tetragon
02:26 particle finally, that bug has been reproduced!
02:26 particle ...and not on win32+msvc
02:26 bacek_ pmichaud: i agreed that 'grep' should return generator.
02:26 tetragon This time on OS X 10.5/ppc
02:26 pmichaud bacek_: I'll have to think about it a bit.
02:27 pmichaud bacek_: it's a reasonable approach, but I'm not quite sure that it's "right"
02:27 tetragon particle: So new ticket, or is there an existing one to append to?
02:27 particle isn't List the lazy one?
02:27 particle tetragon: new ticket please
02:28 * tetragon now wonders which test it was that actually crashed during spectest
02:28 bacek_ pmichaud: software isn't cut from stone :) We can change it later
02:29 bacek_ actually '!grep' will return generator. So every other classes can get benefit from calling it
02:29 dalek r28126 | coke++ | trunk:
02:29 dalek : From RT#55358
02:29 dalek : > The static function get_op is declared but not defined in several
02:29 dalek : > files, because the declaration is unconditionally generated in
02:29 dalek : > Ops2c/Utils.pm
02:29 dalek : NotFound++, this silences a few warnings when building with --cage.
02:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28126
02:39 tetragon particle: You want anything from the gdb session I have open?
02:39 particle tetragon: sorry, i'm too distracted right now, preparing for soccer
02:40 pmichaud List is lazy, yes, but so is Range
02:40 particle yes, range is lazy too
02:40 Whiteknight List and Range need to get off their asses and find jobs
02:40 particle you're one to talk, Whiteknight
02:40 pmichaud :-P
02:41 Whiteknight ...:(
02:41 particle :)
02:41 particle pmichaud: Range will for sure have a generator
02:41 * Whiteknight got hit where it hurts. He'll shut up now
02:44 particle Range needs a generator that works from either end
02:46 Psyche^ joined #parrot
02:48 purl joined #parrot
02:57 dalek r28127 | Whiteknight++ | gsoc_pdd09:
02:57 dalek : [gsoc_pdd09] some work on flags, state, resume.
02:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28127
02:58 tetragon The crash I was trying to find was in t/spec/S12-class/inheritance-class-methods.t
03:00 bacek_ particle: +1 for Range geneartor.
03:11 ilbot2 joined #parrot
03:11 Topic for #parrotis now Parrot 0.6.2 "Reverse Sublimation" Released | http://parrotcode.org/ | 18/672 new/open tix | logged in http://irclog.perlgeek.de/parrot/today
03:11 AndyA joined #parrot
03:12 wolverian joined #parrot
03:14 leo joined #parrot
03:16 integral joined #parrot
03:21 ruoso joined #parrot
03:23 cizra joined #parrot
03:29 vany joined #parrot
03:40 pmichaud_ actually, a range really *is* a generator of sorts
03:53 DietCoke joined #parrot
03:53 DietCoke if I want to test something in the jit core on feather, is TEST_PROG_ARGS=-j prove t/path/to/file.t sufficient?
03:54 DietCoke (do I have to specifically config with --jitcapable? (doing that now just in case.))
04:03 bacek_ pmichaud_: +1.
04:03 purl 1
04:14 Zaba_ joined #parrot
04:15 cotto_home If anyone ever talks about PHP's design, they're wrong.
04:15 cotto_home There isn't one.
04:19 Patterner "Repeating 5 year old mistakes"
04:20 cotto_home there wasn't an excuse for this mess ever, much less 5 years ago
04:21 cotto_home of course, it'll totally be worth it once I can load a CPAN module from PHP
04:22 cotto_home php?
04:22 Auzon purl, php?
04:22 purl php is really badly designed or swahili for "child molestor" or  or Philippine pesos or the best or PHP: Hardly Programming or brought to you by the teletubbies or proof there is no god or http://xrl.us/t6wx or more modular than perl or the little transgender brother of perl or a WOMBAT or http://tnx.nl/php or easy or or was better when it was a templating system or blamed on Rasmus Lerdorf
04:24 Patterner A bit biased one might think.
04:24 cotto_home purl, php is also taking the worse-is-better approach to dazzling new depths
04:24 purl i'm sorry, but that's too long, cotto_home
04:25 cotto_home stupid bot
04:25 purl Up yours, too, bruddah!
04:25 Auzon dumb bot.
04:25 purl Go away or I'll replace you with a small and useless factoid!
04:26 * Auzon enjoys poking purl
04:26 Whiteknight haha, the "swahili for 'child molestor'" one had me actually laughing out loud
04:26 cotto_home do what you know how to, I guess
04:26 cotto_home (in response to the bot)
04:27 Auzon :)
04:27 cotto_home purl, php is also taking worse-is-better to dazzling new depths
04:27 purl that is too long, cotto_home
04:27 cotto_home grrr
04:27 cotto_home purl, php is also taking worse-is-better to new depths
04:27 purl that is too long, cotto_home
04:29 cotto_home purl, nvb?
04:29 purl no idea, cotto_home
04:29 cotto_home purl, nvb is not very bright
04:29 purl OK, cotto_home.
04:29 cotto_home purl, purl is nvb
04:29 purl ...but purl is a buggy piece of shit or a flooterbuck or a douchebag or an autonomic handjob system, well beyond the need for human intervention or a retard or a trannybot or a fuckslut in GumbyBRAIN's mind or going alone. or almost an anagram of Donaudampfschiffahrtskapitaensmuetzenkordel or a perv or an auto-triage bot or a she or a smartass or the sixth beatle. or http://github.com\/dagbrown\/flooterbuck\/...
04:29 cotto_home purl, purl is also nvb
04:29 purl okay, cotto_home.
04:29 cotto_home purl, purl?
04:29 purl rumour has it i am a buggy piece of shit or a flooterbuck or a douchebag or an autonomic handjob system, well beyond the need for human intervention or a retard or a trannybot or a fuckslut in GumbyBRAIN's mind or going alone. or almost an anagram of Donaudampfschiffahrtskapitaensmuetzenkordel or a perv or an auto-triage bot or a she or a smartass or the sixth beatle. or http://github.com\\\ or nvb
04:30 cotto_home If I can't make it do what I want, I can at least make it insult itself.
04:33 Ademan_ joined #parrot
04:34 Auzon purl, auzon?
04:34 purl you are, like, primarily working on rakudo test suite, yes
04:35 Auzon It must've learned that on its own.
04:36 cotto_home I am doing stuff
04:36 cotto_home purl, cotto_home?
04:36 purl somebody said cotto_home was doing stuff
04:37 Auzon purl, karma?
04:37 purl karma is just as useful as the Perlmonks XP :-) or at http://ircxory.jrock.us/
04:38 tetragon joined #parrot
04:40 Auzon purl, forget me
04:40 purl Auzon: I forgot me
04:40 Auzon purl, I am working on the Perl 6 Test Suite that lives in the Pugs repo
04:40 purl ...but auzon is primarily working on rakudo test suite, yes?...
04:40 Auzon no purl, I am working on the Perl 6 Test Suite that lives in the Pugs repo
04:40 purl okay, Auzon.
04:40 Auzon purl, auzon?
04:40 purl you are working on the Perl 6 Test Suite that lives in the Pugs repo
04:41 tetragon purl, Auzon?
04:41 purl i think Auzon is working on the Perl 6 Test Suite that lives in the Pugs repo
04:41 Auzon purl, I am also watches a task file at pugs/t/TASKS
04:41 purl okay, Auzon.
04:41 Auzon purl, auzon?
04:41 purl you are working on the Perl 6 Test Suite that lives in the Pugs repo or watches a task file at pugs/t/TASKS
05:01 japhb cognominal_, vany: New OpenGL portability patch for you two up on RT #55228
05:02 japhb y'all are seriously making me work for it, aren't ya?
05:08 tetragon japhb: Just so you know, normal OS X boxes don't have /usr/include/GL
05:09 japhb tetragon: yes, I know.  er ... and?
05:09 tetragon But they can have a number of different sets in /Developer/SDKs (which are normally only used if you're targetting a specific release)
05:09 japhb yep, noticed that from cognominal's hell
05:09 tetragon japhb: I looked at the ticket and you mentioned that you weren't sent /usr/include/GL
05:09 japhb tetragon: Ah, gotcha, now I see where you're going
05:09 tetragon My Macintel has the headers for 10.3.9
05:10 tetragon (And the 10.4 that is actually in use)
05:10 japhb Apparently, cognominal's box *did* have a /usr/include/GL, which included headers for non-core GL stuff, like GLEW.  And GLEW was what was killing his configure.
05:11 tetragon You can't count on any mac having headers in /opt/local.  The ones that do obtained them via (Darwin|Mac)ports
05:11 tetragon What I saw in the ticket was /opt/local/include, so getting it through darwinports
05:12 japhb I'm not even searching /opt/local/ ... should I?  Is that "polite" on Mac OS X?  Right now, I'm only doing /usr/include/GL/, /usr/local/include/GL/, and the Mac OS X Frameworks directories
05:12 japhb Oh, and the Win32 $ENV{INCLUDE} path
05:13 tetragon I normally don't deal with anything there as I work from source (found fink and darwinports too annoying)
05:13 * japhb wonders what crazy moon directories Solaris will want to use ....
05:13 japhb tetragon: nodnod
05:22 DietCoke (searching) ... why not just search those paths that have already been identified as potential search paths?
05:23 DietCoke you shouldn't be duplicating that logic in your little slice of config.
05:24 japhb DietCoke: explain, please.  kid51 told me back in the early days that Configure currently has no way to track locations of where system headers can be found.
05:25 japhb [OT] Oh ZOT!  No wonder this $day_job sanity checking code is always returning false ... I forgot to add an "is sane" case.  Sheesh.  Been debugging that for half an hour ...
05:30 cotto-work joined #parrot
05:43 DietCoke japhb: perhaps it should?
05:44 DietCoke though if it's currently being stored anywhere, no need to refactor it to make your stuff work.
05:44 DietCoke not being.
05:45 DietCoke (but I know, for example, darwin is already probing for fink/darwinports)
05:51 japhb DietCoke: yes,  I believe there are some probes for non-standard locations (as with, as you say, fink/darwinports) ... but no probing or storage of "standard" locations.
05:52 japhb In general, I think the config system needs some refactoring, but it's a task I'm putting off for the moment ....
05:53 japhb For one thing, I need some more experience with the various pain points before I'm qualified to do a refactoring that doesn't just trade one set of problems for another.
05:54 japhb (Though I admit that the 'make clean' versus 'make realclean' issue is really starting to bug me.)
05:54 DietCoke well, if you're dabbling in config, that's unfortunately to be expected at the moment.
05:54 DietCoke though it seems a reconfig should be fine in most cases.
05:57 japhb Oh, I always do 'make realclean' anyway (old habit) ... it's the problem reports from other people who just did a 'make clean' after I committed an OpenGL change and something didn't work. It's a bug in the config/build process design, not a bug in my code per se, but I get the bug anyway.
05:57 DietCoke ah, that. I addressed some of that in my response to you a few days ago.
05:57 japhb I mean, if even someone who has been at it as long as you sometimes trips over that, there's a problem.
05:57 DietCoke oh, definitely.
05:58 japhb DietCoke: yep, that's what I was referring to.
05:59 japhb I'm leaving your ticket open at the moment while I ruminate on what I want to do about it.  (How much do I want to bite off)
05:59 DietCoke most of my rant belongs in a new ticket(s). =-)
05:59 japhb true
06:00 japhb If you feel like opening a new ticket with the rant, and resolving the old one, that's fine by me.  Just let me know what the new RT # is (or add me as a watcher or whatever the RT equivalent is)
06:01 japhb Because even if someone else does the work, it's still going to have a major effect on the OpenGL stuff.
06:04 bacek joined #parrot
06:25 Psyche^ joined #parrot
06:31 uniejo joined #parrot
06:43 Zaba joined #parrot
07:13 iblechbot joined #parrot
07:20 Zaba joined #parrot
07:20 bacek_ > my $a = (1..5); my @b = $a; say 'One '~@b; @b = $a; say 'Two '~@b;
07:20 bacek_ One 1 2 3 4 5
07:20 bacek_ Two
07:21 bacek_ Range is broken badly.
07:21 * bacek_ going to implement lazy lists during long weekend...
07:21 bacek_ I just need little bit of luck to find free time.
07:23 Zaba bacek_, eh.. what should my $a = (1..5); assign to $a?
07:24 Zaba I can't think perl 6 yet
07:24 Zaba :/
07:24 moritz Zaba: a capture that holds the range, or a Range object or something along these lines
07:24 Zaba hmm..
07:24 Zaba what about my @b = $a, then?
07:25 moritz it evaluates $a in list context
07:26 moritz pugs assigns a List or Range to the first item of @b
07:26 Zaba and Range knows how to get converted to an array, right?
07:26 moritz I hope so ;-)
07:27 moritz well, yes
07:27 Zaba it's supposed to, at least
07:27 * Zaba svn ups his parrot trunk
07:27 Zaba my workstation's been somehow slow last days
07:28 Zaba and my connection very unstable
07:39 UltraDM joined #parrot
07:56 Zaba_ joined #parrot
08:02 jonathan_ A Range is an iterator, and it's .from (or .to if you iterate from the other end) change as you iterate it.
08:03 dalek allison@perl.org | A foundation for Parrot:
08:03 dalek link: http://www.perlfoundation.org/parro​t/index.cgi?a_foundation_for_parrot
08:03 shorten dalek's url is at http://xrl.us/bkxq5
08:03 jonathan_ Thus in the above example, it's getting iterated to produce values when it's evaluated in list context the first time. But it should perhaps clone itself so you can do that many times...I'm not completely sure.
08:05 dalek allison@perl.org | A foundation for Parrot:
08:05 dalek link: http://www.perlfoundation.org/parro​t/index.cgi?a_foundation_for_parrot
08:05 shorten dalek's url is at http://xrl.us/bkxq5
08:08 bacek_ jonathan: I have patch for Range
08:08 bacek_ it clones itself in get_iter and use this clone in list()
08:09 * bacek_ sent it to RT few minutes ago.
08:11 dalek allison@perl.org | Articles of Incorporation:
08:11 dalek link: http://www.perlfoundation.org/parrot​/index.cgi?articles_of_incorporation
08:11 shorten dalek's url is at http://xrl.us/bkyfj
08:11 bacek_ jonathan: 55400
08:11 jonathan bacek_: I think it should clone itself in list instead
08:12 jonathan In get_iter it should return itself, because it is an iterator
08:12 bacek_ but shift_pmc destructive.
08:12 bacek_ or its supposed to be destructive?
08:13 dalek allison@perl.org | Bylaws:
08:13 dalek link: http://www.perlfoundation.o​rg/parrot/index.cgi?bylaws
08:13 jonathan Yes, it is.
08:13 jonathan See S03, Range Semantics.
08:14 jonathan Explicitly says these operations are destructive.
08:14 jonathan I'm not completely sure the semantics you saw in your program above are out of line with S03, if a bit surprising.
08:15 jonathan But if they are wrong, the place to clone the iterator is inside Range's 'list' method.
08:15 bacek_ jonathan: already remade my patch
08:15 bacek_ actually implement clone :vtable
08:17 jonathan Aha, good.
08:17 nopaste "bacek" at 211.29.157.151 pasted "Fixed Range with clone using" (40 lines) at http://nopaste.snit.ch/13193
08:17 jonathan I'm tied up with $other_job today, please send patch to list. Then pm can review it too and give his thoughts on how this should work.
08:17 dalek allison@perl.org | Articles of Incorporation:
08:17 dalek link: http://www.perlfoundation.org/parrot​/index.cgi?articles_of_incorporation
08:17 shorten dalek's url is at http://xrl.us/bkyfj
08:18 bacek_ jonathan: ok
08:19 dalek allison@perl.org | A foundation for Parrot:
08:19 dalek link: http://www.perlfoundation.org/parro​t/index.cgi?a_foundation_for_parrot
08:19 shorten dalek's url is at http://xrl.us/bkxq5
08:21 dalek allison@perl.org | A foundation for Parrot:
08:21 dalek link: http://www.perlfoundation.org/parro​t/index.cgi?a_foundation_for_parrot
08:21 shorten dalek's url is at http://xrl.us/bkxq5
08:22 Ademan joined #parrot
08:50 spinclad (from backlog) re whether abs always preserves type: abs(Cpx) => Num  # a counterexample
08:51 moritz spinclad: that's right, but the tests don't do such foolish things ;)
08:52 moritz rakudo: say 1 ~~ Num
08:53 moritz EWRONGCHANNEL
09:38 TonyC joined #parrot
09:42 masak joined #parrot
09:47 ruoso joined #parrot
10:07 cognominal_ japbh :  it compiles ant the triangle demo runs fine. kudos.
10:11 moritz how do I build and run the demo?
10:13 cognominal_ parrot ./examples/opengl/triangle.pir
10:16 moritz cool
10:45 * bacek wanders why 'return' not implemented yet...
10:46 masak bacek: yeah, I see what you mean. apparently it's not trivial.
10:46 bacek masak, why?
10:46 masak I don't really know
10:46 moritz bacek: because it's not yet in PAST
10:46 moritz it's implemented through control exceptions
10:47 moritz and that was only recently refactored in parrot
10:47 masak how recently?
10:47 masak so now it's possible?
10:47 moritz now it's possible to do it in PAST
10:47 bacek wow
10:47 masak moritz: is there a PDD explaining all this?
10:48 moritz masak: presumably, yes... looking
10:48 masak (or a document of some sort)
10:49 moritz docs/pdds/pdd23_exceptions.pod
10:49 masak gracias
10:49 moritz https://svn.perl.org/parrot/trun​k/docs/pdds/pdd23_exceptions.pod
10:49 shorten moritz's url is at http://xrl.us/bmmku
10:50 moritz purl, moritz's url?
10:50 purl bugger all, i dunno, moritz
10:50 moritz ok, not that stupid ;)
10:50 masak that's a humorous interchange :)
10:51 moritz I try to hack and IRC -Ofun ;)
10:51 masak so -- see if I get this correctly -- a return is a kind of exception?
10:51 moritz yes
10:51 moritz a "control exception"
10:51 masak I think we just overused the term 'exception' in its original sense
10:52 masak to me returns are very unexceptional
10:52 masak but nvm
10:52 moritz "exception" = "dynamically scoped stack unwinding"
10:53 masak yeah, sure
10:53 moritz or s/stack/continuation/
10:53 masak my complaint was more along the lines that 'exception' is taking on a semantic life of its own within CS
10:53 masak but it probably did long ago anyway
10:54 moritz so did words like "regular"
10:54 masak and "function" :)
10:59 masak getting back to return=exception, what is it that catches a return exception?
10:59 masak an implicit try block around the method call?
11:00 moritz I think an implict try block around the function body
11:00 moritz so the try is on the callee side, not on the caller side
11:01 Whiteknight joined #parrot
11:01 masak ah, so the thrown exception makes the control flow end up at the bottom of the callee?
11:01 masak makes sense
11:01 masak and it's this mechanism that needs to be added?
11:02 masak and it's essentially a Simple Matter Of Programming?
11:04 moritz think so, yes
11:04 moritz if it's done in PAST, it should be trivial to add in any HLL that uses PAST
11:04 moritz but I don't know how "Simple" that SMOP is ;)
11:05 masak 'HLL'?
11:05 moritz high level language
11:05 masak ah
11:05 moritz parrot-speak for "language implemented on top of parrot"
11:05 moritz in other words "send PATCH" ;-)
11:05 masak so all HLLs compile down to PAST?
11:06 moritz most
11:07 masak is this what rakudo's actions.pm generates?
11:07 moritz aye
11:07 masak nice -- another stepping-stone towards enlightenment
11:07 masak thank you
11:07 moritz yw
11:08 masak so once actions.pm has done its work, where does the PAST go?
11:08 moritz one of the compiler/*/ thingies I guess
11:09 moritz compilers/pct/ that is
11:09 jonathan compilers/pct/src/past/compiler.pir, I believe
11:09 jonathan Which turns it into POST
11:10 masak PAST->POST
11:10 purl PAST->POST is (designed to be) hll independent
11:10 masak thx, purl
11:10 purl please don't say "thx", if you're genuinely grateful it's worth the effort to type three extra characters and say "thanks". this is IRC, after all, not SMS or twitter
11:11 masak :)
11:11 masak ic
11:11 moritz purl, PAST->POST is also compilers/pct/src/past/compiler.pir
11:11 purl okay, moritz.
11:12 masak would it be feasible to intercept the PAST before it goes off to compilers/pct/src/past/compiler.pir, and manually add in nodes that simulate a return?
11:12 masak just to get a feel for how it would all work
11:12 moritz ../../parrot perl6.pbc --target=PAST $source_file
11:13 moritz don't know if the output format is easily usable for re-evaluation, though
11:13 jonathan Well, you can also insert a stage into the pipeline
11:13 jonathan There's just a string inside I think perl6.pir
11:13 jonathan We already added the check stage to make -c work.
11:14 jonathan In the ML compiler I'm planning to work on, I expect I'll add a typecheck stage.
11:14 masak I'll look into how make -c works, then
11:14 masak s/make -c/-c/
11:15 jonathan And I'll make cheese sarnies for lunch.
11:15 masak :)
11:21 Zaba joined #parrot
11:25 cognominal_ sarnies?
11:26 masak http://cgi.peak.org/~jeremy​/retort.cgi?British=sarnie
11:27 masak right when you think you know the English language fairly well, you meet an Englishman...
11:29 moritz ... or you go to scottland and think "wtf? this is *english*?"
11:30 * masak loves Scottish
11:30 moritz of course they don't speak English there, but a somewhat rude approximation. Tooke me some time to figure out
11:30 masak I listen in to BBC Scotland sometimes
11:37 cognominal_ masak, I spent 3 years in the silicon valley, so I am more used to american english than regular english.  I have trouble with many English accents. But jonathan, I understand pretty well when he speaks.
11:38 cognominal_ and he is giving great talks too at conferences
11:38 masak definitely
11:39 masak I visited .nz a few years ago, and had to learn new words for ordinary concepts, like "boot" and "beanie"
11:40 cognominal_ and he appreciates french cooking so he has become a regular at french perl workshops.
11:40 masak cool
11:48 iblechbot joined #parrot
11:55 bacek ho!
11:55 bacek I've implemented 'return' based on exceptions!
11:58 moritz bacek: send patch!
11:58 purl Unpack Rachel and get out the puncture repair kit! I'm alive!
11:58 moritz (or mopaste)
11:59 moritz literal send patch!
11:59 purl moritz: send patch =is= <reply>Unpack Rachel and get out the puncture repair kit! I'm alive!
12:00 masak bacek++
12:00 bacek it requires a bit of polish
12:01 masak no matter. show us, now! :)
12:01 moritz do we have polish hackers here? ;-)
12:04 nopaste "bacek" at 202.7.166.182 pasted "Ugly hack for return 'statement'" (103 lines) at http://nopaste.snit.ch/13194
12:05 bacek It's ugly. Really ugly :)
12:06 barney joined #parrot
12:06 moritz yes
12:08 bacek moritz, but it works :)
12:08 moritz why does it need an extra namespace?
12:08 bacek for 'isa'. I don't want to catch wrong exception
12:09 moritz ok, makes sense
12:09 moritz so the namespace isn't visible in p6 land?
12:09 masak patch -p1 < the-return-of-bacek
12:11 bacek moritz, not sure. Probably visible.
12:12 moritz aye, just tested it
12:12 moritz it builds ;)
12:12 bacek moritz, WOW :)
12:13 moritz tests so far were all fine
12:13 masak hm, I got "Could not find non-existent sub return"
12:13 moritz > sub foo { 2; return 3; 5; }; say foo()
12:13 moritz 3
12:13 masak maybe I ran make in the wrong way...
12:14 moritz masak: did you add the Return.pir file?
12:14 masak let me check
12:14 moritz if you just did a patch -p1 < patch you didn't
12:14 moritz t/spec/S12-role/composition................Null PMC access in type()
12:14 masak ah
12:15 moritz bacek: your patch breaks a few tests in 'make fulltest', but it's a nice start
12:15 moritz > sub foo { 2;{ return 3;}; 5; }; say foo()
12:15 moritz [oops; continuation 0xb64243cc of type 22 is trying to jump from runloop 985 to runloop 52]
12:15 masak moritz: don't do that then! :)
12:15 pmichaud_ the except handler belongs inside the called sub
12:16 pmichaud_ not in the caller
12:16 pmichaud_ also, not all statement_blocks are subs.
12:17 moritz so actually the sub|method|submethod|...| action should install the exception handler, right?
12:17 pmichaud_ it _really_ belongs in past, not in actions.pm
12:17 moritz I know ;)
12:19 pmichaud_ beyond that, we want generic exception handlers for all blocks -- e.g., for CATCH, ENTER, LEAVE, START, etc.
12:20 masak I'd take an incomplete implementation of return over these any day
12:20 masak this early on, that is
12:20 pmichaud_ yes, bacek's patch is quite clever.
12:20 bacek pmichaud_, i forgot pop_eh..
12:21 pmichaud_ maybe I can do control exceptions today.
12:22 masak yay!
12:22 bacek pmichaud++
12:23 pmichaud_ at least 'return'
12:23 masak pmichaud_++
12:23 dalek r28128 | fperrad++ | trunk:
12:23 dalek : [Lua]
12:23 dalek : - changes format of rules, now Perl (previously .ini)
12:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28128
12:23 moritz pmichaud_: 'leave' isn't used taht often in the test suite
12:24 bacek pmichaud_, there is also fixed Range in #55400 waiting for review.
12:24 moritz except in builtins/control_flow/leave.t
12:25 pmichaud_ moritz: how about 'next' and 'last' ?
12:26 moritz pmichaud_: not all that often
12:26 pmichaud_ okay.
12:27 moritz mostly as "last element" or "next element" in test descriptions ;)
12:31 bacek pmichaud, welcome back :)
12:33 bacek afk
12:34 cjfields joined #parrot
12:45 pmichaud oops, can't do 'return' this morning -- have to do $otherjob first  :-(
12:45 pmichaud okay, this afternoon then.
12:47 masak still very good news
12:47 pmichaud well, only if I manage to do it :-)
12:56 masak course you will :)
13:02 DietCoke joined #parrot
13:03 gryphon joined #parrot
13:05 dalek r28129 | pmichaud++ | trunk:
13:05 dalek : [rakudo]:
13:05 dalek : * Handling cloning of ranges (RT#55400, bacek++)
13:05 dalek : * Patch courtesy Vasily Chekalkin <bacek  at bacek.com>
13:05 dalek : * Minor modifications by Pm
13:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28129
13:10 jonathan pmichaud: Should the iterator method really do $P0 = clone self?
13:11 jonathan Since a Range is an iterator anyway.
13:14 pmichaud I think that 'shift' should modify the range, but shifting on the thing returned by 'get_iter' should not.
13:14 pmichaud in particular:
13:15 pmichaud my $a = 1..5;    for =$a { say $_; };    say $a;
13:15 pmichaud I don't know that iterating over a range should deplete the range.
13:17 jonathan I'm not 100% sure on this either.
13:17 jonathan However, a range is an iterator itself, and S03 says that when as it is iterated, the to and from change.
13:18 jonathan s/when//
13:18 jonathan Well, to or from if you iterate at just one end. :-)
13:19 Whiteknight joined #parrot
13:23 pmichaud well, I'm sure that shifting or popping a range modifies it.  Despite what S03 says about prefix:<=>, I'm not so sure.
13:23 Zero_Yao joined #parrot
13:24 pmichaud let's see what pugs has to say :-)
13:25 pmichaud 13:24 <pmichaud> pugs:  my $a = 1..5;    for =$a { say $_; };    say $a;
13:25 pmichaud 13:25 <exp_evalbot> OUTPUT[1␤2␤3␤4␤5␤1 2 3 4 5␤]
13:25 dalek r28130 | coke++ | trunk:
13:25 dalek : [DOCS] mention the other RT queue
13:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28130
13:27 DietCoke does parrot currently support multiple iterators via get_iter?
13:27 pmichaud you mean for the base types?  I don't know.
13:27 pmichaud seems like it should.
13:28 DietCoke tcl's syntax gives you an ID for the iterator... [ set a array startsearch arrayName] [array nextelement arrayName $a]
13:29 DietCoke gonna have to store a list of iterator ids on my hash-like object.
13:29 DietCoke (er, tcl spells hash, 'array')
13:31 jonathan pmichaud: Hmm. Pugs seems to agree with you. :-)
13:31 pmichaud yes.  but we also have:
13:31 jonathan But I think maybe best is posting to p6l for clarification.
13:31 pmichaud 13:28 <pmichaud> pugs: my $a = 1..5; my $b = =$a; say $b; $b = =$a; say $b; say $a;
13:31 pmichaud 13:28 <exp_evalbot> OUTPUT[1␤2␤3 4 5␤]
13:32 jonathan Curious.
13:32 * purl hands jonathan a dead cat
13:32 pmichaud I'd probably post the question to p6c.
13:32 jonathan ok
13:32 jonathan will tonight if you don't beat me to it.
13:33 pmichaud I tend to use p6l for questions about Perl 6 design, and p6c for questions about clarification of the spec
13:33 jonathan Right now I'm bogged down in some...wait for it...CSS refactoring. :-(
13:33 pmichaud you'll probably beat me to it, at any rate.
13:39 DietCoke pmichaud: since you own PGE, can you comment on http://rt.perl.org/rt3/Tic​ket/Display.html?id=55210 ?
13:40 pmichaud I'll take the ticket for now.
13:41 pmichaud I don't have a good comment at the moment.
13:41 pmichaud it's a good idea, but instead of adding the opcode and then trying to figure out how PGE can use it, I'd rather figure out what PGE needs and then write an opcode to support it.
13:42 pmichaud but I've been thinking along these lines with respect to longest token matching, yes.
13:44 Andy joined #parrot
13:47 DietCoke ah, that's a more positive rxn than I anticipated. so good. =-)
13:49 jhorwitz joined #parrot
14:02 pmichaud I've actually had a little time to think about it.  :-)
14:05 pmichaud okay, commented.
14:06 pmichaud DietCoke++  # closing/handling old tickets.
14:08 pmichaud hrmmmmmm.
14:08 pmichaud > say (1..5).WHAT;
14:08 pmichaud [oops; continuation 0xb751f038 of type 22 is trying to jump from runloop 3226 to runloop 3066]
14:08 pmichaud Null PMC access in clone()
14:08 pmichaud > say Range.WHAT;
14:08 pmichaud weird.
14:08 pmichaud [oops; continuation 0xb7516fec of type 22 is trying to jump from runloop 3339 to runloop 3226]
14:08 pmichaud Null PMC access in clone()
14:09 pmichaud oh.  $!from and $!to are uninitialized in the protoobject.
14:09 pmichaud $P0 = self.'from'()
14:09 pmichaud from = clone $P0
14:10 jonathan pmichaud: I worked around that bug in Junction.
14:10 pmichaud .sub 'from' :method $P0 = getattribute self, '$!from' .return ($P0)
14:10 pmichaud .end
14:10 pmichaud we should check for null there.
14:10 DietCoke whenever I see that now, it's often an exception getting thrown from PIR through C into PIR again.
14:11 DietCoke you might actually get the exception properly in the cx branch. (if it's building atm.)
14:11 jonathan pmichaud: It's only the proto that has the issue. The call to new, for instances, fills all attribute slots with undefs.
14:11 DietCoke We are down to 48 tickets that don't have some kind of [TAG] in them.
14:11 jonathan Thus for any normal instance you know it's never null and can skip the check.
14:12 jonathan I *think* proto-objects probably should blow up on state access anyway...
14:12 pmichaud I wonder why .WHAT is generating a clone anyway
14:13 pmichaud (protoobject blowups)++
14:14 pmichaud however, I'm not sure that calling new should fill all attributes with undefs.
14:15 pmichaud (for the same reason that saying   my $a;   should not automatically fill $a with undef)
14:15 pmichaud (namely, existence.)
14:18 jhorwitz pmichaud: any further thoughts on the metaclass issue i was having yesterday?
14:18 jhorwitz namely this: Method 'item' not found for invocant of class 'Apache;RequestRec'
14:18 pmichaud jhorwitz: yes, I think I need to convert item() into a function.
14:19 pmichaud that then re-dispatches to the method if it exists.
14:19 jhorwitz when is that invoked?
14:19 pmichaud assignment.
14:19 purl assignment is different in scalar contexts than in array context
14:19 jhorwitz ah, so when i pass $r to a mod_perl6 handler, it gets assigned
14:19 pmichaud yes.
14:20 jhorwitz is that significant work on your part?
14:20 pmichaud but I don't think we can rely on every object (e.g., non-Perl6 objects) having a .item method.
14:20 pmichaud no, not too significant.
14:20 pmichaud I can take care of it in about an hour or so.
14:21 pmichaud actually 90 mins.  (right now $otherjob calls.)
14:21 * jhorwitz needs to pay the bills as well.  :)
14:49 cjfields joined #parrot
14:49 dalek r28131 | Whiteknight++ | gsoc_pdd09:
14:49 dalek : [gsoc_pdd09] update to trunk r28129
14:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28131
14:51 DietCoke left #parrot
14:55 dalek r28132 | fperrad++ | trunk:
14:55 dalek : [Lua]
14:55 dalek : - factorize some rules (easy with Perl)
14:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28132
15:03 dalek r28133 | Whiteknight++ | trunk:
15:03 dalek : [nqp] update to use ".namespace []" instead of ".namespace", as per #48549
15:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28133
15:04 dalek r28134 | Whiteknight++ | trunk:
15:04 dalek : [languages/squaak] update to use ".namespace []" instead of ".namespace", as per #48549
15:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28134
15:07 dalek r28135 | Whiteknight++ | trunk:
15:07 dalek : [docs/art] update to use ".namespace []" instead of ".namespace", as per #48549
15:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28135
15:09 dalek r28136 | Whiteknight++ | trunk:
15:09 dalek : [docs/pct] update to use ".namespace []" instead of ".namespace", as per #48549
15:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28136
15:12 dalek r28137 | Whiteknight++ | trunk:
15:12 dalek : [tools/dev] update to use ".namespace []" instead of ".namespace", as per #48549
15:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28137
15:14 dalek r28138 | Whiteknight++ | trunk:
15:14 dalek : [examples/past] update to use ".namespace []" instead of ".namespace", as per #48549
15:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28138
15:15 dalek r28139 | Whiteknight++ | trunk:
15:15 dalek : [examples/pir] update to use ".namespace []" instead of ".namespace", as per #48549
15:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28139
15:24 dalek r28140 | Whiteknight++ | trunk:
15:24 dalek : [Rakudo] update builtins to use ".namespace []" instead of ".namespace", as per #48549
15:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28140
15:29 dalek r28141 | Whiteknight++ | trunk:
15:29 dalek : [Rakudo] update classes to use ".namespace []" instead of ".namespace", as per #48549
15:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28141
15:32 cjfields_ joined #parrot
15:38 Zaba_ joined #parrot
15:41 dalek r28142 | pmichaud++ | rakudoparam:
15:41 dalek : Removing obsolete rakudoparam branch.
15:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28142
15:41 dalek r28143 | pmichaud++ | mutablerakudo:
15:41 dalek : Merged to trunk, removing obsolete branch.
15:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28143
15:42 dalek r28144 | pmichaud++ | mutamerge:
15:42 dalek : Merged to trunk, removing obsolete branch.
15:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28144
15:42 dalek r28145 | pmichaud++ | userstack:
15:42 dalek : Merged to trunk, removing obsolete branch.
15:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28145
15:43 particle pmichaud++ # dead branch cleanup
15:43 particle (spring cleaning)++
15:50 cotto_home purl, spring cleaning is http://www.ibiblio.org/Dave/D​r-Fun/df200204/df20020402.jpg
15:50 purl OK, cotto_home.
15:51 particle (gmail labs)++ # mouse gestures in gmail
15:53 cout joined #parrot
15:54 japhb Why is everyone so careful to delete old branches?
15:54 particle we don't need them anymore
15:55 particle keeps the size of the repo smaller
15:55 pmichaud keeps the perceived size of the repo smaller :-)
15:55 pmichaud the repo itself doesn't actually get smaller :-)
15:56 japhb pmichaud: hence my confusion.
15:56 moritz git would make the repo smaller ;)
15:56 japhb So it's just perception then?
15:56 Infinoid I like the practice... less clutter makes it easier to pick out the useful stuff
15:56 jonathan pmichaud: If it's still there, mutamerge can go too, I guess.
15:56 japhb moritz: +1 on that idea
15:56 japhb ... too bad it's probably not as portable as SVN yet
15:56 moritz japhb: you get a better overview of the active branches when you delete the inactive ones
15:57 pmichaud japhb: It's simply easier if they're removed when no longer needed, so that we no longer ask ourselves "is this branch imporant?  What's happening here?"
15:57 japhb pmichaud: That was my guess.  Makes sense, I suppose.
15:57 moritz .oO( and reduces the size if somebody is stupid enough to check out /branches or even / )
15:59 japhb vany: ping
16:00 pmichaud for example, there's a branches/gmc/ branch which none of us really knows is worth keeping around.  (However, it's so old by now we should probably just get rid of it.)
16:01 japhb Could someone with Win32 try the latest (2008-06-05) OpenGL patch attached to RT #55228, please?
16:01 japhb pmichaud: nodnod
16:07 particle pmichaud: it's a generational garbage collector, from 2006 SoC project
16:07 particle it is blocking on some stm fixes that may not have been resolved
16:08 particle in any case, branches/gms has been a help to Whiteknight i believe
16:09 Whiteknight yes, I've been reading it
16:09 Whiteknight i haven't gotten to that point, but i'll probably steal some code wholesale
16:12 Zaba joined #parrot
16:12 Theory joined #parrot
16:12 Tene purl: nopaste?
16:12 purl nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating or App::Nopaste or tools/dev/nopaste.pl
16:14 nopaste "tene" at 160.79.186.34 pasted "Failing build. Has anyone ever seen this before?" (8 lines) at http://nopaste.snit.ch/13196
16:14 * Tene prods buildy-people.
16:16 particle tene: no, but i suspect he has an old Storable
16:16 particle there were incompatible changes at some point
16:16 particle cpan Storable ; make -j realclean etc
16:29 Whiteknight pmichaud, ping
16:29 pmichaud Whiteknight: pong
16:30 Tene particle++ # on-demand problem-fixing
16:30 Whiteknight I'm working on 48549 and I have to update PCT to emit the proper directives
16:30 particle Tene: that's why they pay me the big bucks here!
16:30 Whiteknight I think i've traced the issue to the CodeString.pmc:key
16:30 pmichaud (big bucks)++
16:30 Tene purl: give particle a deer
16:30 purl Tene: huh?
16:31 moritz a deer? ;-)
16:31 masak "big buck" == "deer"
16:31 masak a large, male one, to be exact
16:32 pmichaud Whiteknight: I don't know that you'll be able to "fix" this particular issue just yet
16:32 moritz masak: thanks ;)
16:32 masak np ;)
16:32 pmichaud in particular, because PIR doesn't recognize "[]" as an empty key yet
16:32 Whiteknight pmichaud, that's okay, that's what I figured
16:32 pmichaud (this is why I was also commenting that we shouldn't rush to deprecate ".namespace" yet.)
16:32 Whiteknight that's why I ask first
16:32 * masak has been listening too much to 'tirdy point buck'
16:33 pmichaud I think the answer is for PCT to see if CodeString.key returns an empty string, and replace it with "[]" when generating the namespace directive.
16:33 Whiteknight okay, well both ".namespace" and ".namespace []" work currently, so there is no hurry either way. I'll put the ticket on the back burner
16:34 pmichaud or, have CodeString.key generate "[]" for an empty namespace, and check for that when generating a get_* opcode.
16:34 pmichaud but I think this latter option is much more difficult.
16:34 pmichaud (because there are so many opcodes involved.)
16:38 Whiteknight okay, i'll make a  note of the options in the ticket, and we can wait till we're ready to move on it
16:50 cotto-work joined #parrot
16:57 cognominal_ http://webkit.org/blog/189​/announcing-squirrelfish/  # yet another register based vm
17:41 particle http://amazon.com/ # amazon is down!
17:43 Tene don't you mean http://amazon.com/?referrer-id=tene ?
17:43 diakopter particle: maybe they were bought by Microsoft
17:51 sjansen joined #parrot
18:21 iblechbot joined #parrot
18:22 ruoso joined #parrot
18:59 dalek particle | A foundation for Parrot:
18:59 dalek link: http://www.perlfoundation.org/parro​t/index.cgi?a_foundation_for_parrot
18:59 shorten dalek's url is at http://xrl.us/bkxq5
19:00 dalek particle | parrot_foundation_notes:
19:00 dalek link: http://www.perlfoundation.org/parro​t/index.cgi?parrot_foundation_notes
19:00 shorten dalek's url is at http://xrl.us/bmna5
19:06 DietCoke joined #parrot
19:06 DietCoke patches welcome?
19:06 DietCoke purl, feel fre?
19:06 purl dietcoke: i haven't a clue
19:06 DietCoke purl, feel free?
19:06 purl dietcoke: bugger all, i dunno
19:06 DietCoke you suck, purl.
19:06 purl that be FIE DOLLAH
19:55 Zaba_ joined #parrot
20:10 particle hey dalek! i want karma for wiki edits, too!
20:13 diakopter particle: the problem is that folks' names on the wiki site vary widely from their irc names
20:13 diakopter except yours
20:13 purl except yours is 9" bigger.
20:13 jhorwitz purl is inappropriate
20:13 diakopter indeed
20:13 * jhorwitz was expecting a witty comeback
20:14 moritz purl, forget except yours
20:14 purl moritz: I forgot except yours
20:14 particle :)
20:20 Khisanth you're just thinking inappropriate things, she could have been referring to any number of things
20:22 DietCoke jhorwitz: Jeff.
20:22 DietCoke er, !
20:26 Zaba joined #parrot
20:27 japhb Is there someone here who can test the #55228 patch on Windows?
20:29 DietCoke I can tonight.
20:31 japhb DietCoke: Ah, cool.
20:32 japhb DietCoke: I will be away for a few days ... if your Win32 test is successful with that patch, go ahead and commit it.  I already have Linux and Mac OS X signoff.
20:42 pmichaud particle:  change your nick on perlfoundation.org to "particle++"
20:42 purl pmichaud: that doesn't look right
20:42 pmichaud then you'll get karma for wiki edits :-)
20:56 Tene Hm. If I'm going to get something done on the plane, I need caffiene.
20:57 slightlyoff joined #parrot
20:57 slightlyoff left #parrot
20:59 particle :)
21:04 Tene Coke++
21:13 jhorwitz DietCoke: pinging me?
21:19 Tene jhorwitz: I'll ping you if you'd like.
21:21 Zaba_ joined #parrot
21:23 davidfetter joined #parrot
21:26 teknomunk joined #parrot
21:37 dalek particle | parrot_foundation_notes:
21:37 dalek link: http://www.perlfoundation.org/parro​t/index.cgi?parrot_foundation_notes
21:37 shorten dalek's url is at http://xrl.us/bmna5
21:39 jhorwitz Tene: don't tease me
21:44 davidfetter when's that parrot hacking thing going on @ yapc?
21:44 jhorwitz weekend prior
21:45 * jhorwitz can only make sunday afternoon.  :(
21:45 davidfetter d'oh
21:45 davidfetter i'm thinking of flying in friday evening
21:47 DietCoke i'm there friday night, as is chromatic, I think.
21:47 DietCoke ->
21:48 IllvilJa joined #parrot
21:50 davidfetter jhorwitz, any chance i can steal some of your time in re: my ever-expanding vaporware integrating parrot and pg?
21:51 * davidfetter wonders whether there are plans to have parrot generate C
21:51 moritz davidfetter: PGE or parrot?
21:51 davidfetter um, i guess pge
21:52 davidfetter basically, i'd like to see about replacing lexx/yacc
21:52 moritz PGE then
21:56 ank joined #parrot
21:56 davidfetter how far is pge from being able to emit C? is anyone else interested in that?
22:05 dolmen joined #parrot
22:08 * davidfetter listens to chirping crickets
22:15 pmichaud I don't have any plans for PGE to emit C.  PGE really expects to have an underlying hash and array support.
22:16 pmichaud (and it wouldn't help anyway, unless we know that parrot is bundled with a C compiler :-)
22:16 davidfetter hrm
22:18 pmichaud although I have thought about making PGE into its own vm compnent
22:19 davidfetter i'm not following that last statement
22:19 pmichaud PGE emits PIR as its output.
22:19 davidfetter k
22:19 davidfetter couldn't PIR be compiled to C?
22:19 pmichaud I suppose, but PIR really expects to have the equivalent of the parrot VM underneath it.
22:20 pmichaud So, you could compile it to C, but you'd still need "objects" representing arrays and hashes
22:20 pmichaud and garbage collection, and coroutines.
22:20 davidfetter hrm
22:22 moritz you could of course compile PIR to pbc, and link that with libparrot.so
22:22 moritz just like the 'perl6' executable is built
22:29 davidfetter :)
22:31 moritz bed &
22:32 * davidfetter heads to airport to pick up more people
22:32 dolmen joined #parrot
22:35 pmichaud have to be careful not to let the airports become too full of people.
22:39 Patterner I think the TSA is already doing a good job with that.
22:48 dalek r28146 | pmichaud++ | trunk:
22:48 dalek : [rakudo]:
22:48 dalek : * Fix .list and !flatten so they don't generate clones of the elements.
22:48 dalek : * This also fixes Range.WHAT.
22:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28146
22:52 tetragon joined #parrot
23:09 cotto-work Is there a way to stop PGE from lexing/parsing a file once it reaches a certain token?
23:24 TimToady kill -9 usually works :)

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

Parrot | source cross referenced