|
Parrot 4.0.0 "Hyperstasis" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 18 January 2012. |
|||
|
00:13
ilbot2 joined
|
|||
| moderator | Parrot 4.0.0 "Hyperstasis" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC | ||
|
00:14
tadzik joined,
masak joined,
Hunger joined,
Coke joined,
tty234 joined,
p6eval joined,
perlite joined,
whiteknight joined,
pjcj joined,
contingencyplan joined,
autark joined,
particle joined,
losinggeneration joined,
wagle joined,
Kulag joined,
silug joined,
nopaste joined,
alvis joined,
jlaire joined,
slavorg joined,
PerlJam joined,
simcop2387 joined,
dngor joined,
bacek joined,
dukeleto joined,
aloha joined,
ttbot joined,
kthakore joined,
krunen_ joined,
ascent_ joined,
betterworld joined,
NotFound joined,
Kovensky joined,
pmichaud joined,
bacek_at_work joined,
szbalint joined,
sorear joined,
sri joined,
Felipe joined,
rblackwe joined
00:17
janus joined,
ingy joined,
athomason joined,
preflex joined,
Maddingu1 joined,
GeJ joined,
ligne joined,
PacoAir joined,
Patterner joined,
trey joined,
Tene joined,
alester joined,
dalek joined,
seme joined,
Util joined,
Khisanth joined,
Timbus joined,
arnsholt joined,
jtpalmer joined,
cxreg joined,
cotto joined,
kshannon joined,
eternaleye_ joined,
allison joined,
atrodo joined,
japhb joined,
hernan joined,
knewt joined
00:23
lucian joined
00:29
l3l1p joined
01:12
knewt joined,
Khisanth joined,
seme joined,
trey joined,
Patterner joined,
GeJ joined,
preflex joined,
athomason joined,
ingy joined
01:29
janus joined,
Maddingu1 joined,
ligne joined,
Tene joined,
alester joined,
dalek joined,
Util joined,
Timbus joined,
arnsholt joined,
hernan joined,
japhb joined,
atrodo joined,
allison joined,
eternaleye_ joined,
kshannon joined,
cotto joined,
cxreg joined,
jtpalmer joined
|
|||
| dalek | sella: 76d0d18 | Whiteknight++ | src/template/ (13 files): [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 | |
| sella: 0072722 | Whiteknight++ | src/template/handler/Repeat.winxed: [Template] Fix Handler.Repeat to generate correct winxed code in .to_winxed |
|||
| sella: 016421c | Whiteknight++ | src/template/ (2 files): [Template] Factor out some common key-saving code into the Handler parent class |
|||
| sella: 974c2f0 | Whiteknight++ | src/template/ (4 files): [Template] Fix Handler.Include to recurse properly and generate correct code in .to_winxed |
|||
| sella: 6c4210c | Whiteknight++ | src/template/handler/If.winxed: [Template] Implement Node.If and Node.Unless .to_winxed compilation |
|||
| sella: ac80896 | Whiteknight++ | src/template/handler/For.winxed: [Template] Implement Node.For.to_winxed |
|||
|
03:00
whiteknight left
03:32
jtpalmer joined,
cxreg joined,
cotto joined,
kshannon joined,
eternaleye_ joined,
allison joined,
atrodo joined,
japhb joined,
hernan joined,
arnsholt joined,
Timbus joined,
Util joined,
dalek joined,
alester joined,
Tene joined,
ligne joined,
Maddingu1 joined,
janus joined,
ingy joined,
athomason joined,
preflex joined,
GeJ joined,
Patterner joined,
seme joined,
Khisanth joined,
knewt joined,
pjcj joined,
contingencyplan joined,
autark joined,
particle joined,
losinggeneration joined,
wagle joined,
Kulag joined,
silug joined,
nopaste joined,
alvis joined,
jlaire joined,
slavorg joined,
PerlJam joined,
simcop2387 joined,
dngor joined,
dukeleto joined,
aloha joined,
ttbot joined,
kthakore joined,
krunen_ joined,
ascent_ joined,
betterworld joined,
NotFound joined,
Kovensky joined,
pmichaud joined,
bacek_at_work joined,
szbalint joined,
sorear joined,
sri joined,
Felipe joined,
rblackwe joined
03:34
perlite joined,
p6eval joined,
tty234 joined,
Coke joined,
Hunger joined,
masak joined,
tadzik joined
|
|||
| dukeleto | ~~ | 04:00 | |
| splitty kind of day | 04:01 | ||
| sorear | I don't suppose whoever's been picking on freenode and github decided to move on to magnet ... | 04:07 | |
|
05:33
parthm joined
06:49
preflex joined
|
|||
| dalek | kudo/nom: 9481a2c | moritz++ | src/core/control.pm: give eval()s a separate file annotation |
07:31 | |
| kudo/nom: 9435a07 | moritz++ | tools/build/NQP_REVISION: bump to newest NQP to get -e file annotation fix |
|||
|
08:09
parthm left
08:14
dalek joined
09:38
ligne left
10:13
eternaleye_ joined
11:04
mj41 joined
11:45
lucian joined
|
|||
| dalek | kudo/nom: 941a305 | moritz++ | src/core/Backtrace.pm: improved backtrace printer When encountering a a non-Routine, it searches for an outer Routine that also appears in the call chain, and takes their name, but the line number of the block. The idea comes from jnthn++ Testing welcome, not sure yet how well it interacts with lazy lists. At least for normal for-loops it cuts all those eager/reify methods. |
11:50 | |
| kudo/nom: 2c672ae | jnthn++ | src/core/Range.pm: Optimize range iteration code a bit to shave 40% or so off [+] 1..10000 style things. |
11:56 | ||
| kudo/nom: 6810cc6 | jnthn++ | src/core/metaops.pm: 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. |
|||
| kudo/nom: c96ad7d | moritz++ | docs/ChangeLog: update ChangeLog |
12:02 | ||
| kudo/nom: cd5136e | moritz++ | docs/ChangeLog: remove duplicate ChangeLog entries, jnthn++ |
12:13 | ||
|
12:16
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:21 | |
| tadzik | good morning whiteknight | ||
| whiteknight | hello tadzik, how are you doing? | 12:22 | |
| tadzik | really good. I'm after my exams now, and even managed to get some unexpected skiing this winter | 12:23 | |
| moritz | \\o/ | ||
| tadzik | moritz: that means I'd be writing and sending my Prisoner's Dillema solution on friday evening or such :) | 12:24 | |
| (I decided to leave laptop and everything at home_ | |||
| ) | |||
|
12:24
JimmyZ joined
|
|||
| dalek | p/bs: fd864b6 | moritz++ | src/HLL/Compiler.pm: add "-e" file annotation where appropriate |
12:25 | |
| p/bs: e0fdb23 | jnthn++ | src/HLL/Compiler.pm: Merge branch 'master' into bs |
|||
|
12:36
parthm joined
|
|||
| nine | Good morning parrot | 12:59 | |
| tadzik | hello nine | ||
| 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 | ||
| moritz | nine: I think "quite messy" is an accurate summary of the history :-) | 13:17 | |
| (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 ;) | ||
| I'll read Whitknight's blog posts (again). They really tend to be well written | 13:19 | ||
| 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:30 | ||
|
13:31
not_gerd joined
|
|||
| not_gerd | hello, #parrot | 13:31 | |
|
13:54
lateau__ joined
|
|||
| benabik | o/ #parrot | 14:05 | |
| whiteknight | nine! | 14:44 | |
| benabik | eight! | ||
| masak | seven! | 14:46 | |
| tadzik | six! | ||
|
14:53
nbezzala joined
|
|||
| nine | n-1! | 14:55 | |
| whiteknight | nine: what do we need to do to kick some threading-ass? | 14:56 | |
| I'm feeling like I'm not helping enough | 14:57 | ||
| not_gerd: And I want to talk to you about object-model stuff too | 14:59 | ||
| 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 | ||
| 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 | ||
| 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 | ||
| ^the gist history, that is | |||
| whiteknight | not_gerd: It seems like you, bacek and I are of the same mind here | ||
| 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. | ||
| 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:07 | |
| instead of auto-generating a single vtable, you'd end up auto-generate argument-object representations... | 15:08 | ||
| benabik | vtables do need to be very fast. Minimal indirection would seem to be called for. | 15:09 | |
| 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 | ||
| whiteknight | Right no a vtable is called with the VTABLE_foo(interp, self, args) macros | 15:11 | |
| and those call self->vtable->foo(interp, self, args) | |||
| not_gerd | whiteknight: how are the args unpacked? | 15:12 | |
| whiteknight | vtables are defined in src/vtable.tbl, which is translated through obscure perl magic into code in | 15:13 | |
| not_gerd: not packed at all, they're normal C-level functions | |||
| prototypes from src/vtable.tbl are generated in include/parrot/vtable.h | |||
| benabik | If the list of vtable entries can be kept short, rather than calling a dispatch function, it could be kept in an array. | ||
| not_gerd | benabik: that's the current system | ||
| whiteknight: I'm asking about the transition HLL -> vtable -> HLL | 15:14 | ||
| 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:23 | |
| 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 | ||
| dalek | sella: d210dfa | Whiteknight++ | src/template/ (2 files): [Template] Some fixes so Template.Engine.compile() returns a proper executable Sub |
15:41 | |
|
15:43
Psyche^ joined
|
|||
| not_gerd | interisting tidbit: splitting the vtable into related categories has been proposed at least as early as 2006 | 15:46 | |
| ^interesting | |||
| btw, #perl6 needs to get uint64 into parrot for rational numbers as required by spec | 15:48 | ||
|
15:49
nbezzala joined
|
|||
| not_gerd | moritz and jntn were discussing that earlier today | 15:49 | |
| dalek | kudo/rat-vs-fatrat: 2685a77 | moritz++ | src/core/Rat.pm: preliminary work to get both Rat and FatRat working Fails just one test that does (2/3) but SomeRole |
||
| kudo/rat-vs-fatrat: 7f1a890 | moritz++ | src/core/Rat.pm: some small fixes, plus Num fallback for Rats |
|||
| kudo/rat-vs-fatrat: 4ab4ffa | moritz++ | src/core/Rat.pm: start to switch some arithmetic ops to smart Rat/FatRat semantics |
|||
| kudo/rat-vs-fatrat: d8d17cb | moritz++ | src/core/Rat.pm: switch the rest of the Rat ops to Rational |
|||
|
15:50
lateau__ joined
16:12
lateau__ left
16:31
mj41 joined
17:50
contingencyplan joined
17:58
contingencyplan joined
18:09
contingencyplan joined
18:15
contingencyplan joined
19:05
lucian joined
19:07
trey joined
19:22
contingencyplan joined
21:05
seme joined
|
|||
| dalek | kudo/rat-vs-fatrat: b23da9e | moritz++ | src/core/Rat.pm: fix thinko in DIVIDE_NUMBERS |
21:20 | |
| kudo/rat-vs-fatrat: f27eab1 | moritz++ | src/core/Rat.pm: thinkos, syntax errors |
|||
| kudo/rat-vs-fatrat: 7dcb9e2 | moritz++ | src/core/Rat.pm: formatting changes |
21:33 | ||
| kudo/rat-vs-fatrat: bdf0434 | moritz++ | t/spectest.data: run fatrat.t |
|||
|
21:35
Psyche^ joined
21:45
Kulag joined
|
|||
| dalek | p/bs: 940f600 | jnthn++ | src/ (2 files): Rename original add_code; will replace it with a new one and migrate towards it. |
22:03 | |
| p/bs: 5e4a611 | jnthn++ | src/HLL/World.pm: Start to sketch out new deserialization handling code. |
|||
| p/bs: 44811ea | jnthn++ | src/NQP/World.pm: Add code that can be uncommented to try out the new serialization mechanism (breaks build at the moment). |
|||
|
22:07
Psyche^ joined
|
|||
| dalek | kudo/nom: 29f5cf7 | jnthn++ | src/core/metaops.pm: 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 | |
| p/bs: 3614f78 | jnthn++ | src/ops/nqp.ops: Correct an error. |
23:00 | ||
| p/bs: 5641529 | jnthn++ | src/NQP/World.pm: Start to register some static code refs; we'll need a bit more than this, though. |
|||
| p/bs: 046bd1d | jnthn++ | src/6model/serialization.c: Add a sanity check to catch an error, rather than SEGVin'. |
|||
| p/bs: 50459f4 | jnthn++ | src/HLL/World.pm: A few fixes to code-gen for serialized output. |
|||
| p/bs: b61b053 | jnthn++ | src/NQP/World.pm: 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. |
|||