Camelia, the Perl 6 bug

IRC log for #parrot, 2012-02-12

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:13 ilbot2 joined #parrot
00:13 Topic for #parrot is now Parrot 4.0.0 "Hyperstasis" | http://parrot.org | Log: http://irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
00:14 tadzik joined #parrot
00:14 masak joined #parrot
00:14 Hunger joined #parrot
00:14 Coke joined #parrot
00:14 tty234 joined #parrot
00:14 p6eval joined #parrot
00:14 perlite joined #parrot
00:14 whiteknight joined #parrot
00:14 pjcj joined #parrot
00:14 contingencyplan joined #parrot
00:14 autark joined #parrot
00:14 particle joined #parrot
00:14 losinggeneration joined #parrot
00:14 wagle joined #parrot
00:14 Kulag joined #parrot
00:14 silug joined #parrot
00:14 nopaste joined #parrot
00:14 alvis joined #parrot
00:14 jlaire joined #parrot
00:14 slavorg joined #parrot
00:14 PerlJam joined #parrot
00:14 simcop2387 joined #parrot
00:14 dngor joined #parrot
00:14 bacek joined #parrot
00:14 dukeleto joined #parrot
00:14 aloha joined #parrot
00:14 ttbot joined #parrot
00:14 kthakore joined #parrot
00:14 krunen_ joined #parrot
00:14 ascent_ joined #parrot
00:14 betterworld joined #parrot
00:14 NotFound joined #parrot
00:14 Kovensky joined #parrot
00:14 pmichaud joined #parrot
00:14 bacek_at_work joined #parrot
00:14 szbalint joined #parrot
00:14 sorear joined #parrot
00:14 sri joined #parrot
00:14 Felipe joined #parrot
00:14 rblackwe joined #parrot
00:17 janus joined #parrot
00:17 ingy joined #parrot
00:17 athomason joined #parrot
00:17 preflex joined #parrot
00:17 Maddingu1 joined #parrot
00:17 GeJ joined #parrot
00:17 ligne joined #parrot
00:17 PacoAir joined #parrot
00:17 Patterner joined #parrot
00:17 trey joined #parrot
00:17 Tene joined #parrot
00:17 alester joined #parrot
00:17 dalek joined #parrot
00:17 seme joined #parrot
00:17 Util joined #parrot
00:17 Khisanth joined #parrot
00:17 Timbus joined #parrot
00:17 arnsholt joined #parrot
00:17 jtpalmer joined #parrot
00:17 cxreg joined #parrot
00:17 cotto joined #parrot
00:17 kshannon joined #parrot
00:17 eternaleye_ joined #parrot
00:17 allison joined #parrot
00:17 atrodo joined #parrot
00:17 japhb joined #parrot
00:17 hernan joined #parrot
00:17 knewt joined #parrot
00:23 lucian joined #parrot
00:29 l3l1p joined #parrot
01:12 knewt joined #parrot
01:12 Khisanth joined #parrot
01:12 seme joined #parrot
01:12 trey joined #parrot
01:12 Patterner joined #parrot
01:12 GeJ joined #parrot
01:12 preflex joined #parrot
01:12 athomason joined #parrot
01:12 ingy joined #parrot
01:29 janus joined #parrot
01:29 Maddingu1 joined #parrot
01:29 ligne joined #parrot
01:29 Tene joined #parrot
01:29 alester joined #parrot
01:29 dalek joined #parrot
01:29 Util joined #parrot
01:29 Timbus joined #parrot
01:29 arnsholt joined #parrot
01:29 hernan joined #parrot
01:29 japhb joined #parrot
01:29 atrodo joined #parrot
01:29 allison joined #parrot
01:29 eternaleye_ joined #parrot
01:29 kshannon joined #parrot
01:29 cotto joined #parrot
01:29 cxreg joined #parrot
01:29 jtpalmer joined #parrot
02:42 dalek Rosella: 76d0d18 | Whiteknight++ | src/template/ (13 files):
02:42 dalek Rosella: [Template] Add the first bits of a compile_to_winxed feature. A template can be pre-compiled to winxed code and, eventually, to pbc.
02:42 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/76d0d1862c
02:42 dalek Rosella: 0072722 | Whiteknight++ | src/template/handler/Repeat.winxed:
02:42 dalek Rosella: [Template] Fix Handler.Repeat to generate correct winxed code in .to_winxed
02:42 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/00727227cd
02:42 dalek Rosella: 016421c | Whiteknight++ | src/template/ (2 files):
02:42 dalek Rosella: [Template] Factor out some common key-saving code into the Handler parent class
02:42 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/016421cdf1
02:42 dalek Rosella: 974c2f0 | Whiteknight++ | src/template/ (4 files):
02:42 dalek Rosella: [Template] Fix Handler.Include to recurse properly and generate correct code in .to_winxed
02:42 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/974c2f0461
02:42 dalek Rosella: 6c4210c | Whiteknight++ | src/template/handler/If.winxed:
02:42 dalek Rosella: [Template] Implement Node.If and Node.Unless .to_winxed compilation
02:42 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/6c4210c595
02:42 dalek Rosella: ac80896 | Whiteknight++ | src/template/handler/For.winxed:
02:42 dalek Rosella: [Template] Implement Node.For.to_winxed
02:42 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ac80896db9
03:00 whiteknight left #parrot
03:32 jtpalmer joined #parrot
03:32 cxreg joined #parrot
03:32 cotto joined #parrot
03:32 kshannon joined #parrot
03:32 eternaleye_ joined #parrot
03:32 allison joined #parrot
03:32 atrodo joined #parrot
03:32 japhb joined #parrot
03:32 hernan joined #parrot
03:32 arnsholt joined #parrot
03:32 Timbus joined #parrot
03:32 Util joined #parrot
03:32 dalek joined #parrot
03:32 alester joined #parrot
03:32 Tene joined #parrot
03:32 ligne joined #parrot
03:32 Maddingu1 joined #parrot
03:32 janus joined #parrot
03:32 ingy joined #parrot
03:32 athomason joined #parrot
03:32 preflex joined #parrot
03:32 GeJ joined #parrot
03:32 Patterner joined #parrot
03:32 seme joined #parrot
03:32 Khisanth joined #parrot
03:32 knewt joined #parrot
03:32 pjcj joined #parrot
03:32 contingencyplan joined #parrot
03:32 autark joined #parrot
03:32 particle joined #parrot
03:32 losinggeneration joined #parrot
03:32 wagle joined #parrot
03:32 Kulag joined #parrot
03:32 silug joined #parrot
03:32 nopaste joined #parrot
03:32 alvis joined #parrot
03:32 jlaire joined #parrot
03:32 slavorg joined #parrot
03:32 PerlJam joined #parrot
03:32 simcop2387 joined #parrot
03:32 dngor joined #parrot
03:32 dukeleto joined #parrot
03:32 aloha joined #parrot
03:32 ttbot joined #parrot
03:32 kthakore joined #parrot
03:32 krunen_ joined #parrot
03:32 ascent_ joined #parrot
03:32 betterworld joined #parrot
03:32 NotFound joined #parrot
03:32 Kovensky joined #parrot
03:32 pmichaud joined #parrot
03:32 bacek_at_work joined #parrot
03:32 szbalint joined #parrot
03:32 sorear joined #parrot
03:32 sri joined #parrot
03:32 Felipe joined #parrot
03:32 rblackwe joined #parrot
03:34 perlite joined #parrot
03:34 p6eval joined #parrot
03:34 tty234 joined #parrot
03:34 Coke joined #parrot
03:34 Hunger joined #parrot
03:34 masak joined #parrot
03:34 tadzik joined #parrot
04:00 dukeleto ~~
04:01 dukeleto splitty kind of day
04:07 sorear I don't suppose whoever's been picking on freenode and github decided to move on to magnet ...
05:33 parthm joined #parrot
06:49 preflex joined #parrot
07:31 dalek rakudo/nom: 9481a2c | moritz++ | src/core/control.pm:
07:31 dalek rakudo/nom: give eval()s a separate file annotation
07:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9481a2c485
07:31 dalek rakudo/nom: 9435a07 | moritz++ | tools/build/NQP_REVISION:
07:31 dalek rakudo/nom: bump to newest NQP to get -e file annotation fix
07:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9435a0771c
08:09 parthm left #parrot
08:14 dalek joined #parrot
09:38 ligne left #parrot
10:13 eternaleye_ joined #parrot
11:04 mj41 joined #parrot
11:45 lucian joined #parrot
11:50 dalek rakudo/nom: 941a305 | moritz++ | src/core/Backtrace.pm:
11:50 dalek rakudo/nom: improved backtrace printer
11:50 dalek rakudo/nom:
11:50 dalek rakudo/nom: When encountering a a non-Routine, it searches for an outer Routine that
11:50 dalek rakudo/nom: also appears in the call chain, and takes their name, but the line number
11:50 dalek rakudo/nom: of the block. The idea comes from jnthn++
11:50 dalek rakudo/nom:
11:50 dalek rakudo/nom: Testing welcome, not sure yet how well it interacts with lazy lists. At
11:50 dalek rakudo/nom: least for normal for-loops it cuts all those eager/reify methods.
11:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/941a305e86
11:56 dalek rakudo/nom: 2c672ae | jnthn++ | src/core/Range.pm:
11:56 dalek rakudo/nom: Optimize range iteration code a bit to shave 40% or so off [+] 1..10000 style things.
11:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2c672ae89e
11:56 dalek rakudo/nom: 6810cc6 | jnthn++ | src/core/metaops.pm:
11:56 dalek rakudo/nom: When doing a reduction, we are going to need the whole list anyway. Instead of chewing it element by element, instead take it in bigger chunks. This reduces the fixed-size overhead per reificication which, in the case of reifying a range, is massively greater than the time to produce a single value. With this and the previous patch [+] 1..1000 runs in 8% of the time it did before; TimToady++ for pointing out this epic performance fail.
11:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6810cc679b
12:02 dalek rakudo/nom: c96ad7d | moritz++ | docs/ChangeLog:
12:02 dalek rakudo/nom: update ChangeLog
12:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c96ad7d497
12:13 dalek rakudo/nom: cd5136e | moritz++ | docs/ChangeLog:
12:13 dalek rakudo/nom: remove duplicate ChangeLog entries, jnthn++
12:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cd5136eac1
12:16 whiteknight joined #parrot
12:21 whiteknight good morning, #parrot
12:21 tadzik good morning whiteknight
12:22 whiteknight hello tadzik, how are you doing?
12:23 tadzik really good. I'm after my exams now, and even managed to get some unexpected skiing this winter
12:23 moritz \o/
12:24 tadzik moritz: that means I'd be writing and sending my Prisoner's Dillema solution on friday evening or such :)
12:24 tadzik (I decided to leave laptop and everything at home_
12:24 tadzik )
12:24 JimmyZ joined #parrot
12:25 dalek nqp/bs: fd864b6 | moritz++ | src/HLL/Compiler.pm:
12:25 dalek nqp/bs: add "-e" file annotation where appropriate
12:25 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/fd864b606f
12:25 dalek nqp/bs: e0fdb23 | jnthn++ | src/HLL/Compiler.pm:
12:25 dalek nqp/bs: Merge branch 'master' into bs
12:25 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/e0fdb2324a
12:36 parthm joined #parrot
12:59 nine Good morning parrot
12:59 tadzik hello nine
13:16 nine Is there some good source of information about the history of threading support in Parrot?
13:16 tadzik the only thing I recall are whiteknight's blog posts
13:17 moritz nine: I think "quite messy" is an accurate summary of the history :-)
13:18 moritz (sorry for not being really help)
13:18 nine moritz: seems about right. But I'd like to expand that summary to about one written page ;)
13:19 nine I'll read Whitknight's blog posts (again). They really tend to be well written
13:30 nine I would so much like to just copy & paste most of the stuff whiteknight has written. Can't think of a way to explain those things better or more clearly.
13:31 not_gerd joined #parrot
13:31 not_gerd hello, #parrot
13:54 lateau__ joined #parrot
14:05 benabik o/ #parrot
14:44 whiteknight nine!
14:44 benabik eight!
14:46 masak seven!
14:46 tadzik six!
14:53 nbezzala joined #parrot
14:55 nine n-1!
14:56 whiteknight nine: what do we need to do to kick some threading-ass?
14:57 whiteknight I'm feeling like I'm not helping enough
14:59 whiteknight not_gerd: And I want to talk to you about object-model stuff too
15:04 nine whiteknight: well I need to write 39 more pages of my paper to get some spare time back ;) But on the other hand it can't hurt to spend a little time on the code again. Hardly know anymore where I stopped. But I think I was quite close to have everything working
15:04 whiteknight nine: On a semi-related note, I was a professional proof-reader back in college if you have need of such services
15:05 not_gerd whiteknight: sure - keep in mind that the gist was mostly me doing some brainstorming (more)
15:05 whiteknight nine: you might not believe me after seeing the flagrant abuse of commas on my own blog
15:05 not_gerd if you look at the history, you'll see that I thought about splitting up vtables into multiple interfaces before coming up with the message-passing system
15:05 not_gerd ^the gist history, that is
15:05 whiteknight not_gerd: It seems like you, bacek and I are of the same mind here
15:06 not_gerd things is, I don't really know a lot about parrot internals - in particular, how vtables currently are invokes from HLLs
15:06 benabik Vtables are mostly called from oeprators.
15:07 not_gerd my idea was to wrap the vtable arguments into a single 6model-introspectable object (located on the stack) and just use a single dispatch function
15:08 not_gerd instead of auto-generating a single vtable, you'd end up auto-generate argument-object representations...
15:09 benabik vtables do need to be very fast.  Minimal indirection would seem to be called for.
15:10 whiteknight not_gerd: the 6model source code should be very instructive here. It shows not only how that system works but how to interoperate with Parrot's current vtable system
15:10 not_gerd benabik: the way I factored it, you'd end up with an additional switch to dispatch ny message id
15:11 whiteknight Right no a vtable is called with the VTABLE_foo(interp, self, args) macros
15:11 whiteknight and those call self->vtable->foo(interp, self, args)
15:12 not_gerd whiteknight: how are the args unpacked?
15:13 whiteknight vtables are defined in src/vtable.tbl, which is translated through obscure perl magic into code in
15:13 whiteknight not_gerd: not packed at all, they're normal C-level functions
15:13 whiteknight prototypes from src/vtable.tbl are generated in include/parrot/vtable.h
15:13 benabik If the list of vtable entries can be kept short, rather than calling a dispatch function, it could be kept in an array.
15:13 not_gerd benabik: that's the current system
15:14 not_gerd whiteknight: I'm asking about the transition HLL -> vtable -> HLL
15:23 whiteknight not_gerd: it's all through ops. Certain ops call the corresponding vtables. look at src/pmc/object.pmc to see the mechanism for how a vtable override is called in an hll
15:24 * not_gerd is reading Parrot docs
15:24 whiteknight vtables on object.pmc call Parrot_pcc_invoke_sub_from_c_args, which creates a new runloop to execute the vtable
15:41 dalek Rosella: d210dfa | Whiteknight++ | src/template/ (2 files):
15:41 dalek Rosella: [Template] Some fixes so Template.Engine.compile() returns a proper executable Sub
15:41 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/d210dfa1dc
15:43 Psyche^ joined #parrot
15:46 not_gerd interisting tidbit: splitting the vtable into related categories has been proposed at least as early as 2006
15:46 not_gerd ^interesting
15:48 not_gerd btw, #perl6 needs to get uint64 into parrot for rational numbers as required by spec
15:49 nbezzala joined #parrot
15:49 not_gerd moritz and jntn were discussing that earlier today
15:49 dalek rakudo/rat-vs-fatrat: 2685a77 | moritz++ | src/core/Rat.pm:
15:49 dalek rakudo/rat-vs-fatrat: preliminary work to get both Rat and FatRat working
15:49 dalek rakudo/rat-vs-fatrat:
15:49 dalek rakudo/rat-vs-fatrat: Fails just one test that does (2/3) but SomeRole
15:49 dalek rakudo/rat-vs-fatrat: review: https://github.com/rakudo/rakudo/commit/2685a77081
15:49 dalek rakudo/rat-vs-fatrat: 7f1a890 | moritz++ | src/core/Rat.pm:
15:49 dalek rakudo/rat-vs-fatrat: some small fixes, plus Num fallback for Rats
15:49 dalek rakudo/rat-vs-fatrat: review: https://github.com/rakudo/rakudo/commit/7f1a89082b
15:49 dalek rakudo/rat-vs-fatrat: 4ab4ffa | moritz++ | src/core/Rat.pm:
15:49 dalek rakudo/rat-vs-fatrat: start to switch some arithmetic ops to smart Rat/FatRat semantics
15:49 dalek rakudo/rat-vs-fatrat: review: https://github.com/rakudo/rakudo/commit/4ab4ffa1bc
15:49 dalek rakudo/rat-vs-fatrat: d8d17cb | moritz++ | src/core/Rat.pm:
15:49 dalek rakudo/rat-vs-fatrat: switch the rest of the Rat ops to Rational
15:49 dalek rakudo/rat-vs-fatrat: review: https://github.com/rakudo/rakudo/commit/d8d17cb5ac
15:50 lateau__ joined #parrot
16:12 lateau__ left #parrot
16:31 mj41 joined #parrot
17:50 contingencyplan joined #parrot
17:58 contingencyplan joined #parrot
18:09 contingencyplan joined #parrot
18:15 contingencyplan joined #parrot
19:05 lucian joined #parrot
19:07 trey joined #parrot
19:22 contingencyplan joined #parrot
21:05 seme joined #parrot
21:20 dalek rakudo/rat-vs-fatrat: b23da9e | moritz++ | src/core/Rat.pm:
21:20 dalek rakudo/rat-vs-fatrat: fix thinko in DIVIDE_NUMBERS
21:20 dalek rakudo/rat-vs-fatrat: review: https://github.com/rakudo/rakudo/commit/b23da9eb33
21:20 dalek rakudo/rat-vs-fatrat: f27eab1 | moritz++ | src/core/Rat.pm:
21:20 dalek rakudo/rat-vs-fatrat: thinkos, syntax errors
21:20 dalek rakudo/rat-vs-fatrat: review: https://github.com/rakudo/rakudo/commit/f27eab1768
21:33 dalek rakudo/rat-vs-fatrat: 7dcb9e2 | moritz++ | src/core/Rat.pm:
21:33 dalek rakudo/rat-vs-fatrat: formatting changes
21:33 dalek rakudo/rat-vs-fatrat: review: https://github.com/rakudo/rakudo/commit/7dcb9e2890
21:33 dalek rakudo/rat-vs-fatrat: bdf0434 | moritz++ | t/spectest.data:
21:33 dalek rakudo/rat-vs-fatrat: run fatrat.t
21:33 dalek rakudo/rat-vs-fatrat: review: https://github.com/rakudo/rakudo/commit/bdf04345e7
21:35 Psyche^ joined #parrot
21:45 Kulag joined #parrot
22:03 dalek nqp/bs: 940f600 | jnthn++ | src/ (2 files):
22:03 dalek nqp/bs: Rename original add_code; will replace it with a new one and migrate towards it.
22:03 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/940f600774
22:03 dalek nqp/bs: 5e4a611 | jnthn++ | src/HLL/World.pm:
22:03 dalek nqp/bs: Start to sketch out new deserialization handling code.
22:03 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/5e4a6119ab
22:03 dalek nqp/bs: 44811ea | jnthn++ | src/NQP/World.pm:
22:03 dalek nqp/bs: Add code that can be uncommented to try out the new serialization mechanism (breaks build at the moment).
22:03 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/44811ead10
22:07 Psyche^ joined #parrot
22:21 dalek rakudo/nom: 29f5cf7 | jnthn++ | src/core/metaops.pm:
22:21 dalek rakudo/nom: Another fairly notable performance boost for reductions (maybe another factor of two or so). [+] 1..100000 now runs in about the same time that [+] 1..1000 used to.
22:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29f5cf7ca1
23:00 dalek nqp/bs: 3614f78 | jnthn++ | src/ops/nqp.ops:
23:00 dalek nqp/bs: Correct an error.
23:00 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/3614f7832b
23:00 dalek nqp/bs: 5641529 | jnthn++ | src/NQP/World.pm:
23:00 dalek nqp/bs: Start to register some static code refs; we'll need a bit more than this, though.
23:00 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/5641529640
23:00 dalek nqp/bs: 046bd1d | jnthn++ | src/6model/serialization.c:
23:00 dalek nqp/bs: Add a sanity check to catch an error, rather than SEGVin'.
23:00 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/046bd1d62c
23:00 dalek nqp/bs: 50459f4 | jnthn++ | src/HLL/World.pm:
23:00 dalek nqp/bs: A few fixes to code-gen for serialized output.
23:00 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/50459f4612
23:00 dalek nqp/bs: b61b053 | jnthn++ | src/NQP/World.pm:
23:00 dalek nqp/bs: Start sketching in a NEW_SER flag to NQP::World; this will allow gradual exploration of using the new serialization engine without busting the ability to get through a build to make sure collateral changes this work causes are OK in themselves. With it on, we now make it a couple of compilation units into the build of the second stage.
23:00 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/b61b053277

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

Parrot | source cross referenced