Camelia, the Perl 6 bug

IRC log for #parrot, 2009-10-19

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 mgrimes wow, I think I got it. To be honest, I really don't understand what the code does, but with a little copy and paste, it seems to work
00:02 mgrimes Should I submit a patch through the bug tracker?
00:03 jonathan mgrimes: I think that's the right place for patches, yes.
00:03 mgrimes will do. thank.
00:03 Austin Rock on, mgrimes!
00:04 Austin You got a t/ test case written, too?
00:05 mgrimes yep: t/compilers/imcc/end.t
00:05 Austin Sweet.
00:07 mgrimes thanks for the guidance. just pointing me to imcc.l was huge!
00:08 Austin There's always somebody that knows ...
00:08 Austin So now you can get more tests perl->pir-ified, yes?
00:13 Austin And I guess the 64-squillion dollar question is, have you submitted a CLA to the Parrot Foundation?
00:16 mgrimes Can hardly wait to use the new feature.
00:17 mgrimes No CLA yet. Do I really need to submit one?
00:18 chromatic Not for submitting a patch.
00:18 Austin I'm not sure of the rules. To be a "committer" you do. I think if you submit your patch via trac, one of the official committers can look it over, make sure it does or doesn't do whatever it should or shouldn't, and commit it for you.
00:19 * jonathan -> sleep
00:19 mgrimes Good.
00:20 Wolong_ joined #parrot
00:30 dalek TT #1118 created by mgrimes++: [PATCH] Added __END__ to pir
00:49 mgrimes I started working on converting t/op/jit.t to pir, and I've gotten to the "2 non jit" which just has two 'print "ok #\n"' statements.
00:50 mgrimes How is that testing the jit? Any issues with converting that to ok(1,'...')?
00:50 Austin Should be easy. say "ok #"
00:50 Austin Oh.
00:50 Austin You got me there.
00:50 Austin Maybe they're supposed to get printed really, really fast?
00:51 mgrimes lol
00:56 dalek close: r183 | Austin++ | trunk/ (29 files):
00:56 dalek close: Cleaned up some code. Created special classes for upper reaches of namespace
00:56 dalek close: tree. Transitioned Slam::Node to use Class::HashBased instead of PAST::Node as
00:56 dalek close: its root class. (NOTE: There are likely to be some residual problems because of
00:56 dalek close: this.)
00:56 dalek close: review: http://code.google.com/p/close/source/detail?r=183
00:57 mgrimes joined #parrot
00:58 abqar joined #parrot
01:03 hercynium joined #parrot
01:05 dalek close: r184 | Austin++ | trunk/close.cfg:
01:05 dalek close: Removed close.cfg from svn
01:05 dalek close: review: http://code.google.com/p/close/source/detail?r=184
01:07 davidfetter joined #parrot
01:38 kid51 joined #parrot
02:16 dalek close: r185 | Austin++ | trunk/ (14 files):
02:16 dalek close: Replaced close.cfg with close_cfg.tmpl, per red-book. Fixed up *@children init
02:16 dalek close: subs left over after switch to Class::HashBased.
02:16 dalek close: review: http://code.google.com/p/close/source/detail?r=185
02:25 patspam1 joined #parrot
02:41 janus joined #parrot
03:17 brooksbp joined #parrot
03:51 dalek TT #1119 created by mgrimes++: [PATCH] Converted tests from perl to pir
04:12 desertm4x joined #parrot
04:17 mberends joined #parrot
04:31 theory joined #parrot
04:42 dalek nqp-rx: 66906e8 | pmichaud++ | src/NQP/ (2 files):
04:42 dalek nqp-rx: More nqp value handling improvements.
04:42 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/6​6906e8ebb7bf890e168371a5214e7e10f97aefc
04:42 dalek nqp-rx: 4778331 | pmichaud++ | src/ (3 files):
04:42 shorten dalek's url is at http://xrl.us/bfszrv
04:42 dalek nqp-rx: Allow Cursors to bind non-Match objects.
04:42 dalek nqp-rx: Update bootstrap files to latest code.
04:42 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/4​778331ed95a44a36068464d8f1c3bf3f0d0ad30
04:42 shorten dalek's url is at http://xrl.us/bfszrx
04:42 dalek nqp-rx: 557d3bf | pmichaud++ | src/ (3 files):
04:42 dalek nqp-rx: Allow subrules to return non-Cursor objects.
04:42 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/5​57d3bfd4a2cb86b64e512cb9c4a2c8f1ddd8109
04:42 shorten dalek's url is at http://xrl.us/bfszrz
04:42 dalek nqp-rx: 875be8a | pmichaud++ | src/ (3 files):
04:42 dalek nqp-rx: Allow cursors to return things other than Regex::Match.
04:42 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/8​75be8a1644cf756469021eb9e6a20f3164cd6dc
04:42 shorten dalek's url is at http://xrl.us/bfszr3
04:42 dalek nqp-rx: c2b8fd7 | pmichaud++ | src/ (4 files):
04:42 dalek nqp-rx: Clean up match handling a bit.  Allow <foo(...args...)> form of subrule.
04:42 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/c​2b8fd72fedcafa98de71b1826887476f7935ad0
04:42 dalek nqp-rx: a27d5d1 | pmichaud++ |  (4 files):
04:42 dalek nqp-rx: Initial steps for operator precedence parsing via
04:42 dalek nqp-rx: the magic <O(...)> subrule.  :-)
04:42 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/a​27d5d1d58db11ef6fe73847a37755712a82f073
04:42 shorten dalek's url is at http://xrl.us/bfszr5
04:42 dalek nqp-rx: 2a077e8 | pmichaud++ | src/cheats/nqp-grammar.pir:
04:42 dalek nqp-rx: Add code for .panic and the <O(...)> subrule.
04:42 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/2​a077e8313a1953cb85f41f9eb418b2ffa6f5b27
04:42 shorten dalek's url is at http://xrl.us/bfszr7
04:48 japhb pmichaud, what is the "magic <O(...)> subrule" about?
04:49 japhb Infinoid, it looks like dalek needs to slow down in #perl6, it's getting flood kicked
04:51 Austin It tells nqp to run in O(...) time. It's a nice way to set optimization levels, and at the same time make it clear to the reader what's going on.
04:51 Austin :->
04:55 cotto It's about time that a language made optimization that easy.
04:56 Austin I think it's part of the perl6 spec. S39 - Optimization & Performance
04:56 cotto Why waste time twiddling algorithms and pruning data structures when you can change O(n^2) to O(log n).
04:57 Austin BEGIN { O(log n) unless P == NP };
04:57 Austin What more do you need?
04:59 Austin Speaking of P==NP, a buddy of mine mentioned the other day that someone has written a paper describing how the halting problem can be encoded into a financial derivative. The argument seems to be that the derivative then is effectively "encrypted" by this - legal-wise. I didn't catch all the ramifications, but it was certainly bizarre to encounter computational complexity as a legal instrument.
05:00 dalek parrot-plumage: 88106a0 | japhb++ | :
05:00 dalek parrot-plumage: [CORE] Glue.pir: Add unlink()
05:01 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/88106a0e9845d3a5e8d6bc1f1fbffbdfc35a58c8
05:01 shorten dalek's url is at http://xrl.us/bfszti
05:01 dalek parrot-plumage: fd47591 | japhb++ | :
05:01 dalek parrot-plumage: [CORE] Util.nqp: Add test_dir_writable(); fix typo
05:01 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/fd475911aa52f64f050f125ab2cc1fd2ee0ece26
05:01 shorten dalek's url is at http://xrl.us/bfsztk
05:01 dalek parrot-plumage: 3df70d9 | japhb++ | :
05:01 dalek parrot-plumage: [plumage] Automatically sudo for make install if Parrot's bin dir is not...
05:01 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/3df70d90f4135374d89d5a1f3dfa707b53fdd6b6
05:01 shorten dalek's url is at http://xrl.us/bfsztv
05:16 dalek nqp-rx: a5131aa | pmichaud++ | src/ (4 files):
05:16 dalek nqp-rx: Split NQP into shared (HLL) and non-shared (NQP) components.
05:16 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/a​5131aa37cfdfc9c09dc40702373e1e3c658939b
05:16 shorten dalek's url is at http://xrl.us/bfszvr
05:16 dalek nqp-rx: b25240b | pmichaud++ |  (5 files):
05:16 dalek nqp-rx: Split NQP into shared (HLL) and non-shared (NQP) components.
05:16 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/b​25240b49f37d70a35e4784139f30701b902a928
05:16 shorten dalek's url is at http://xrl.us/bfszvt
05:16 dalek nqp-rx: 532f8aa | pmichaud++ | .gitignore:
05:16 dalek nqp-rx: Some .gitignore updates.
05:16 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/5​32f8aac0b7940aa4140f995b82e639ea7aa2b3d
05:17 shorten dalek's url is at http://xrl.us/bfszvv
05:24 mikehh joined #parrot
05:24 Austin Howdy, mikehh
05:28 Zak joined #parrot
05:30 cotto clock?
05:30 purl cotto: LAX: Sun 10:30pm PDT / CHI: Mon 12:30am CDT / NYC: Mon 1:30am EDT / LON: Mon 6:30am BST / BER: Mon 7:30am CEST / IND: Mon 11:00am IST / TOK: Mon 2:30pm JST / SYD: Mon 4:30pm EST /
05:38 cotto rakudo: say "it works"
05:49 rakudo it works
05:57 uniejo joined #parrot
05:57 cotto seen chromatic
05:57 purl chromatic was last seen on #parrot 5 hours, 39 minutes and 23 seconds ago, saying: Not for submitting a patch.
06:00 patspam joined #parrot
06:31 chromatic joined #parrot
06:44 chromatic Only 34 minutes early.
06:46 cotto chromatic, care for a quick patch review?
06:46 chromatic I'm ready.
06:46 cotto (I'm mostly concerned about variable names, as the rest seems to work)
06:47 nopaste "cotto" at 74.61.2.46 pasted "Parrot_Sub_get_line_from_pc optimizations for chromatic" (42 lines) at http://nopaste.snit.ch/18371
06:48 chromatic Modest; how's it perform for you?
06:49 cotto measurable but modest
06:50 chromatic Yeah, a good compiler and a better language would recognize that those constants are hoistable, but getting const for structs and pointers working sanely in C is more work than I can contemplate.
06:50 chromatic The only variable name that isn't sufficiently clear to me is offs.
06:50 chromatic current_annotation seems better, but it's long.
06:50 cotto ironically that's not one I changed
06:50 chromatic While you're in there.
06:50 cotto sure
06:53 cotto Do you have any thoughts how I could make that function faster?  Before the patch it takes up ~38.74% of the time of the profiling runcore.
06:53 cotto s/of the profiling/of the time spent in the profiling/
06:54 chromatic The problem is that our ops have variable sizes.  Thus if we store annotations by index, we always have to walk the bytecode to get the current pc's annotation index.
06:54 cotto I'm specifically thinking of optimizations to make the data easier to find, but I don't know packfiles well enough thoroughly understand what the code is doing.
06:55 Austin Actually, names i and n in the same loop are failing to convey much in the way of meaning.
06:56 chromatic I think we should use an array-based binary tree, which is O(log n) lookup if we use opcode addresses as keys.
06:56 chromatic Insertion time isn't incredibly speedy, but we build that annotation segment once and use it much.
06:57 Austin cotto: Is this for compiled code only?
06:57 Austin Or, put another way, can you count on a "compiler" being involved always?
06:57 Austin Because you could just build an offset table and do a ragged bsearch for it.
06:58 chromatic That's basically the way to do it.
06:59 cotto The speedup is on the order of 10% for non-optimized.
06:59 cotto on oofib.pir
06:59 chromatic Stupid C and non optimizability, take that all you armchair language benchmarkers!
07:00 cotto really
07:00 Austin What does ADD_OP_VAR_PART() do?
07:00 cotto Those changes should make a difference at all, but it's measurable even with --optimize.
07:01 chromatic Austin, because our ops have varying numbers of arguments, it has to look up the number of arguments for that op and figure out the address of the *next* op based on that.
07:01 Austin Right, but what's the output?
07:02 cotto the last arg, n
07:02 chromatic It increments the last arg.
07:02 cotto chromatic, do you have any idea of a better name for n and/or i?
07:02 Austin The last arg that I can see is "var_args".
07:03 cotto Austin, yes.  That's the one that gets incremented.  It's 'n' in the macro's definition.
07:03 Austin Ah.
07:04 chromatic 'n' might be better as 'op'
07:07 Austin Would it improve things to eliminate 'n' entirely, and recast the loop in terms of base_pc <= pc?
07:07 chromatic Doesn't hurt my feelings.
07:07 Austin Also, how often does this function get called?
07:08 cotto nor mine, but I need to go to bed and want to commit something before #ps.
07:08 Austin :)
07:08 cotto once per op in the profiling runcore
07:08 cotto iirc
07:08 Austin Oh
07:08 Austin Then why not cache the last result in a couple of statics, and only do the one computation?
07:09 Austin if (pc is still in this range) { re-use statics } else {do everything over}
07:09 chromatic Threads, for example.
07:09 moritz would that skew timing operations?
07:10 chromatic Also it's not trivial to test if we've switched bytecode segments.
07:10 Austin That should be thread-safe, chromatic. If a different thread has a pc in the same sub, the results are still valid. We aren't using the same bytes with different entry points, yet, are we?
07:11 cotto night
07:11 Austin g'night, cotto
07:12 davidfetter joined #parrot
07:12 chromatic Sure, now try synchronizing multiple threads writing to that static.
07:12 dalek parrot: r41936 | cotto++ | trunk/src/sub.c:
07:12 dalek parrot: [profiling] hoist some dereferencing out of a loop in Parrot_Sub_get_line_from_pc
07:12 dalek parrot: This yields a measurable (~10%) improvement for the profiling runcore.  Also,
07:12 dalek parrot: improve some variable names.
07:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41936/
07:13 Austin Is that an issue? I had the impression threads all had their own cores.
07:13 Austin If so, s/static/interp parasite/
07:14 chromatic I'm much more comfortable with it as somehow thread/interpreter local storage.
07:15 Austin Why not as an attachment on the sub. Build a table of pc -> line offsets one time, do a lookup.
07:16 chromatic That's better, but why not build it when we build the annotation structure?
07:17 Austin I don't know what the use case is.
07:17 chromatic I can't think of a case where we want to look in the annotation structure *without* tying it to specific ops.
07:17 Austin If we can jam it into the compiled pbc, that's a win. But if we have to support the current format or something, it's doable on the fly.
07:17 Austin Do we care about size?
07:18 chromatic Within reason, no.
07:19 Austin So a lookup table, then. Offset -> line
07:20 Austin int offset = pc - base_bc; int line = debug_info->sub[subid]->offset2line[offset]; return line;
07:20 chromatic Exactly.
07:21 Austin Where's mgrimes at?
07:21 Austin He was just hacking imcc earlier tonight.
07:21 Austin :)
07:21 chromatic This is worse; this is PBC.
07:21 chromatic Did you see 300?
07:21 Austin Nope.
07:21 chromatic Did you read the book?
07:21 Austin Like Titanic, I already knew how it was going to end.
07:21 Austin Nope.
07:21 chromatic Yeah, I have the Battle of Thermopylae trading cards too.
07:22 Austin I'm 300-ignorant.
07:22 Austin Laugh
07:22 chromatic I'll put it this way: people complain about IMCC because the few people stubborn enough to work on it and I complain about it.
07:22 chromatic People don't complain about PBC or freeze/thaw because no one's stubborn enough to work on it.
07:23 Austin I thought bacek was doing something with PBC generation from pir a few weeks back.
07:23 joeri joined #parrot
07:24 chromatic I thought he *was* a Spartan.
07:24 gaz joined #parrot
07:24 Austin :)
07:24 Austin Oh Thpartakis!
07:25 chromatic Classic whodunit.
07:27 Austin Romani ite domum. Romani ite domum. Romani ite domum. ...
07:33 fperrad joined #parrot
07:34 nopaste joined #parrot
07:59 bacek joined #parrot
08:02 bacek who called my name?
08:04 moritz some name caller :-)
08:06 bacek moritz: :)
08:14 TiMBuS joined #parrot
08:14 JimmyZ joined #parrot
08:29 bacek_ joined #parrot
08:31 dalek parrot: r41937 | bacek++ | branches/pcc_reapply/src/pmc/class.pmc:
08:31 dalek parrot: Set and restore current_object during Class instantiate. Fix benchmark tests.
08:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41937/
08:34 moritz so what's the state of pcc_reapply? can it be merged right after the release?
08:34 bacek_ moritz: mostly. One failing test atm
08:35 moritz the threading issue?
08:37 bacek_ moritz: yes.
08:39 bacek_ moritz: but Rakudo can't be build on branch anyway.
08:40 moritz I know, it pokes the guts too deeply
08:43 allison jonathan: very possibly (references into the constant's table)
08:45 bacek_ allison: question about r41937. Should invoke_from_sig_object always set current_object?
08:46 allison bacek: no, only methods set current_object
08:47 masak joined #parrot
08:47 allison bacek: but then in all other cases current_object should be NULL
08:48 allison bacek: honestly, current_object shouldn't be in the interpreter at all, it should be in the context
09:02 bacek_ allison: it's in context. Sub PMC copy it across.
09:03 bacek_ But we should remove it from interp anyway
09:04 allison bacek: ah, I was just skimming through the sub code, was skimming past interp->current_cont
09:04 allison bacek: no 'ext'
09:05 allison bacek: so, just a knee-jerk reaction
09:05 allison there is no interp->current_context
09:05 bacek_ INTERP->current_object
09:05 bacek_ sub.pmc, line 410
09:06 allison bacek: that should be removed
09:06 allison bacek: yes
09:08 bacek_ probably during CallSignature/Context unification
09:08 allison bacek: yes, after the current refactor
09:09 * allison needs breakfast
09:09 * bacek just got dinner
09:12 bacek allison: btw, we can avoid :call_sig after merging CallSignature and Context. It will be available from interp anyway
09:14 einstein joined #parrot
09:15 allison bacek: yes, but we don't want that as the commonly used interface
09:15 bacek allison: why?
09:16 allison bacek: it's a pain to use, requires writing ugly code for a simple operation
09:17 allison bacek: and, getting people to poke into the internals that way makes them more likely to make errors in the process
09:17 allison bacek: it's the old Huffman coding principle
09:17 allison bacek: if an operation is common, it deserves a simple way of using it
09:18 bacek allison: I don't see much difference between ".param pmc sig :call_sig" and ".local pmc sig; sig = interpinfo .PARROT_CURRENT_CONTEXT"
09:18 bacek apart from less code in core
09:19 allison bacek: people certainly can use the latter at any time, even if they have real parameters in the subroutine signature
09:19 jonathan Either works for me. OTOH, I'm still going to need to grab the current call sig from C anyway, since in at least one place I need it pre-invoke.
09:19 jonathan morning, btw
09:19 allison bacek: but :call_sig is different, it specifies the signature of the subroutine as taking a single PMC
09:19 bacek evening, jonathan :)
09:19 allison bacek: it also allows people to pass in a single object as the call signature
09:20 allison bacek: call it an advanced form of :flat
09:20 bacek allison: ah. So it's blocking whole PCC?
09:21 allison bacek: aye, it's a back-door for access
09:21 jonathan Привет, bacek :-)
09:21 allison bacek: also, :call_sig on the param says "don't do any of the usual arg/param processing, I'll do that"
09:21 bacek С добрым утром, Джонатан :)
09:21 jonathan bacek: The point is that PCC doesn't have any work to do.
09:22 bacek allison: thats what I mean by " blocking whole PCC"
09:22 allison BTW, jonathan: for your purposes, when you get a raw call signature, would you rather have :flat args already flattened, or left whole for you to flatten your own way?
09:22 jonathan It's useful for languages that are insane enough to feel they need their own custom binders.
09:22 jonathan ;-)
09:22 allison bacek: yes,
09:23 jonathan allison: I was expecting those to have been flattened when building the call_sig
09:23 jonathan allison: I can handle it either way though.
09:23 allison jonathan: they are now
09:23 dalek parrot: r41938 | bacek++ | branches/pcc_reapply/src/call/args.c:
09:23 jonathan allison: That works for me.
09:23 dalek parrot: Don't append "Pi" in front of signature if it's already present.
09:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41938/
09:24 jonathan allison: The bigger deal is not losing multiple named args when they both have the same name, but you've already suggested I may need my own subclass of CallSignature to make that work.
09:25 allison jonathan: yes, we're not supporting that
09:25 allison jonathan: duplicate names are an explicit error in Parrot calling conventions
09:25 * bacek think that we should get rid of Hashes for CallSignature.
09:25 bacek Hashes are slow in this case anyway
09:26 moritz maybe we can coax perl 6 into adapting the same policy
09:26 allison jonathan: what do you do with duplicate named args?
09:27 allison jonathan: anything useful?
09:27 allison jonathan: randomly pick one?
09:27 bacek moritz: but we have to provide ways to override this behaviour.
09:27 bacek moritz: (from parrot side)
09:28 allison bacek: we have gotten rid of the internal Hash PMC in CallSignature, but are still using a hashing algorithm internally
09:28 allison bacek: sure, that's a custom CallSignature object, can do anything
09:29 bacek allison: I still see hashes inside CallSignature
09:29 jonathan allison: I think if we have an array parameter and multiple named args binding to it, then it's meant to collect them all into the array.
09:29 jonathan allison: I don't actually care a lot for the feature myself, tbh.
09:30 allison jonathan: I can see that working, but yeah, it's borderline
09:31 allison jonathan: I can see it leading to some confusion in reading the error messages when duplicate named's are passed accidentally
09:31 jonathan allison: Heh, yeah.
09:32 jonathan allison: I think there may well be enough arguments against it to make it go away. :-)
09:32 allison jonathan: :)
09:33 * bacek thinking about std::multi_map from old good C++ world
09:34 dalek tracwiki: v15 | bacek++ | CallingConventionsTasklist
09:34 dalek tracwiki: Strike out couple of implemented items
09:34 dalek tracwiki: https://trac.parrot.org/parrot/wiki/CallingCo​nventionsTasklist?version=15&amp;action=diff
09:34 shorten dalek's url is at http://xrl.us/bfs2xf
09:49 desertm4x joined #parrot
10:09 mikehh joined #parrot
10:28 mikehh joined #parrot
10:32 AndyA joined #parrot
10:36 Hunger joined #parrot
10:54 Hunger joined #parrot
10:55 payload joined #parrot
11:01 fperrad_ joined #parrot
11:02 cconstantine_ joined #parrot
11:08 plobsing joined #parrot
11:20 einstein does any body know what the current state is off the orderedhash_revamp branch?
11:21 einstein does the inplementation of ordered hash in this implementation work properly?
11:28 AndyA joined #parrot
11:46 mikehh joined #parrot
11:53 pancake joined #parrot
11:53 pancake what's parrot_nqp?
11:53 purl parrot_nqp is just the name of the fakecutable binary
11:53 pancake it aborts in my box
11:54 moritz there's some trouble with parallel builds and parrot_nqp
11:54 moritz pancake: are you using make -j $something?
11:54 pancake no
11:55 moritz anyway, parrot_nqp is the executable of the NQP compiler
11:55 pancake ok
11:56 dalek parrot: r41939 | allison++ | branches/pcc_reapply/t/pmc/threads.t:
11:56 dalek parrot: [pcc] Don't compare the constants table to the namespace, as the namespace is
11:56 dalek parrot: cloned with all its contents, while the constants table isn't. See TT #1120.
11:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41939/
11:56 Hunger joined #parrot
11:56 dalek TT #1120 created by allison++: [CAGE] More rigorous testing for constant tables across threads
11:58 whiteknight joined #parrot
11:58 whiteknight good morning #parrot!
11:58 allison good morning, whiteknight
11:59 mgrimes joined #parrot
12:02 whiteknight hello allison, how are you today?
12:02 allison very well
12:03 allison whiteknight: you?
12:03 purl you is very bed in engrish too
12:03 allison thanks, purl
12:03 purl no worries allison
12:04 whiteknight tired. My wife was a bridesmaid in a wedding this weekend, so between rehearsal/rehearsal dinner/preparations/wedding/reception I was too busy
12:05 allison yes, those events tend to keep you running
12:05 whiteknight did you see the awesome progress in the pcc_reapply branch this weekend?
12:06 whiteknight we were down to only one test failure when I logged off yesterday
12:06 allison whiteknight: I did, yes, very impressed!
12:06 allison whiteknight: that one failure is gone, but I modified the test
12:07 whiteknight what was the root cause there?
12:07 allison whiteknight: it's a pretty buggy test (fails on various runcores)
12:07 whiteknight yeah, I noticed that
12:07 allison whiteknight: it expects the constants table and the namespace to always store the same sub object
12:08 allison which is true in the main interpreter
12:08 mikehh there were still failures in benchmark_tests - haven't tested this morning
12:08 mikehh doing so now
12:08 allison but, in the thread the namespace and the sub object stored in it are cloned
12:08 allison while the constants table remains the same
12:09 whiteknight okay, that's what I figured the issue was
12:09 allison mikehh: okay, thanks, I'm just running fulltest now
12:09 whiteknight but then why does that test pass in trunk but not in brnach?
12:10 allison whiteknight: it can be argued that either a) the constants table should be cloned, b) the namespace and sub object shouldn't be cloned or c) all sub access should be going through the namespace rather than directly through the constants table
12:10 allison (i.e. what if the namespace is dynamically changed?)
12:11 whiteknight My opinion there is that the NameSpace probably shouldn't be cloned
12:11 whiteknight but the real question is why the test was failing in the branch.
12:11 whiteknight I didn't see any real changes to the NameSpace PMC or the cloning behavior
12:12 allison whiteknight: still digging into that, but the time spent on this is seeming less and less useful, when it looks more like we've revealed a preexisting bug than caused one
12:12 whiteknight okay, gotcha
12:12 whiteknight if it passes, and we're mergable, I say to just focus on that instead
12:12 allison mikehh: got t/pmc/os.t failure in testr
12:13 allison whiteknight: aye, it's passing the part of the test that's enabled, just skipping one part of the test, and I added a ticket for that part
12:13 mikehh running the tests now
12:21 allison mikehh: mkay, weird, I get the failure in 'testr' in 'fulltest', but can't duplicate it running 'make testr' directly
12:22 bluescreen joined #parrot
12:28 mikehh testr PASSed in fulltest
12:30 mikehh in fact fulltest Passed all tests
12:30 allison mikehh: excellent!
12:30 purl EGG-see-lent!
12:30 allison mikehh: I'll try a realclean
12:31 mikehh so as of now r41939 all tests PASS in pcc_reapply branch for me - Ubuntu 9.10 beta amd64
12:31 moritz purl: forget excellent
12:31 purl moritz, I didn't have anything matching excellent
12:31 moritz purl: forget excellent!
12:31 purl moritz, I didn't have anything matching excellent
12:32 ruoso joined #parrot
12:33 mikehh pcc_reapply branch - All tests PASS (pre/post-config, smoke (#29190), fulltest) at r41939 - Ubuntu 9.10 (beta updated) amd64
12:33 * Coke skips review!
12:33 Coke (how refreshing.)
12:37 whiteknight all tests pass!?! I
12:37 whiteknight 've been waiting to hear that for weeks
12:37 jonathan Wow!
12:37 jonathan Nice work, all!
12:38 whiteknight not time for congratulations quite yet. Still need to merge it and fix all the performance issues
12:39 jonathan whiteknight: Oh, for sure. But it's an achievement to have reached this point too. :-)
12:39 whiteknight true
12:39 jonathan I think Parrot has just achieved a register allocation failure too. :-/
12:39 whiteknight a lot of people with a very focused prolonged effort got us to this point.
12:39 jonathan Investigating.
12:40 whiteknight damnit! Who the hell is even making changes in trunk right now?
12:40 whiteknight the branch is where the party is
12:40 jonathan whiteknight: Oh, I doubt this is new...
12:40 whiteknight oh, okay
12:40 jonathan whiteknight: If it is that.
12:41 jonathan whiteknight: I'm struggling to believe it really is that. But I'm also struggling to see why the address of something in a P register would change betwen two points where I don't set anything to that register.
12:42 moritz threads!
12:42 purl threads is probably ithreads, Thread is 5.005 threads (older)
12:43 jonathan moritz: There's the small issue that I only have one thread running, afaik...
12:43 jonathan :-P
12:43 mikehh looking at the fulltest log I get 2 TODO passes in testS
12:45 mikehh Test Summary Report
12:45 mikehh -------------------
12:45 mikehh t/op/debuginfo.t                   (Wstat: 0 Tests: 8 Failed: 0)
12:45 mikehh TODO passed:   7
12:45 mikehh t/pmc/threads.t                    (Wstat: 0 Tests: 14 Failed: 0)
12:45 mikehh TODO passed:   13
12:45 mikehh Files=215, Tests=6028, 57 wallclock secs ( 2.94 usr  0.63 sys + 43.84 cusr 22.42 csys = 69.83 CPU)
12:45 mikehh Result: PASS
12:45 einstein I found a litte but nasty bug which could cause problem in system.c->trace_mem_block
12:46 whiteknight einstein: do tell!
12:46 whiteknight that whole file is a nasty little bug
12:46 moritz did anybody benchmark PGE in trunk and pcc_reapply branch?
12:46 whiteknight :)
12:47 einstein prefix = mask & buffer_min; should be prefix = maks & (buffer_min < pmc_min ? buffer_min : pmc_min);
12:47 Coke does the no-or-mostly-no-failures-in-pcc-reapply still need buildframes=0?
12:48 mikehh and t/pmc/threads.t has a TODO pass 13 in testC
12:48 whiteknight t/pmc/threads.t:13 is the devil
12:48 einstein it is a small one but in certain condition this can cause nasty problems
12:49 allison mikehh: yes, I commented out a part of t/pmc/threads.t that was failing before in trunk
12:49 mikehh should I remove those TODO's or are we going to do some more work on that
12:49 whiteknight einsein: ah, that is pretty obscure
12:49 whiteknight but yes, I can see that being a proble
12:50 einstein could you make the small change and patch it into the trunk?
12:51 whiteknight einstein: could you make a ticket? I'm not really able to make changes or test them at work
12:51 einstein ok i will do
12:52 whiteknight thanks
12:56 whiteknight pcc_reapply build still fails on win32
12:57 whiteknight src/nci_test.c:750: Undefined reference to 'PMCNULL'
12:57 whiteknight the parrot executable builds, but this stupid test library does not
12:57 whiteknight and without that apparently I can't run coretest
12:58 jonathan whiteknight: It fails when compiling the C file or when linking?
12:58 jonathan Any warnings?
12:58 whiteknight jonathan: when linking
12:58 whiteknight no warnings that I can see, at least none in this file
12:58 dalek TT #1121 created by jessevdam++: system.c trace_mem_block small bug
12:59 whiteknight although for some reason it appears to be linking that library with g++ instead of gcc like everything else in the build
12:59 whiteknight that's weird
12:59 whiteknight oh nevermind, it linked libparrot with g++ too for some reason
12:59 jonathan whiteknight: Is libparrot referenced in the link line?
13:00 jonathan In the same was as for the Parrot executable?
13:00 whiteknight don't know, already closed the window and am trying something different
13:00 jonathan ah, ok :-)
13:00 whiteknight sorry
13:02 jonathan np
13:03 jonathan Am I right in thinking that PASM output is broken?
13:03 jonathan That is, taking PIR and seeing what PASM it emits?
13:04 moritz I think somebody mentioned that here last week, yes
13:04 jonathan aww
13:05 jonathan Makes it a tad harder to see whether I've actually got a regalloc issue.
13:05 moritz have fun inspecting the byte code
13:08 jonathan :'(
13:10 whiteknight PASM output from PIR has always been broken, I think
13:10 whiteknight and I have no idea why
13:11 whiteknight jonathan: no, libparrot is not included in the link for libnci_test.dll
13:11 purl okay, whiteknight.
13:12 whiteknight goddamnit purl!
13:13 jonathan whiteknight: That may well be the issue.
13:13 jonathan Hmm
13:13 jonathan tmp = wrapper.'get_outer'()
13:13 jonathan Why on earth would this line affect the value of another symbolic register?
13:14 jonathan Commenting it out means a totally unrelated register...doesn't get changed.
13:14 whiteknight what type is wrapper?
13:14 jonathan a Sub, or some subclass of it.
13:14 whiteknight and is this in branch or trunk?
13:14 jonathan Working against Parrot trunk.
13:15 jonathan Thing is, I think it works without my other Rakudo changes. :-S
13:15 jonathan I just can't see what on earth it's doing.
13:17 whiteknight what is tmp then, a context?
13:18 jonathan No, should just be the outer sub.
13:18 whiteknight you could be corruping memory somewhere, overwriting the register storage
13:18 jonathan Could be.
13:18 jonathan Just tyring to work out how/where.
13:18 whiteknight right
13:18 jonathan And what has changed that's caused this.
13:18 whiteknight what project are you trying to work on right now?
13:19 whiteknight (personal curiosity)
13:19 jonathan Rakudo
13:19 whiteknight right, which project in rakudo
13:19 jonathan I'm trying to deal with the last remaining test failures in the resig2 branch.
13:19 jonathan So it can be merged.
13:19 whiteknight oh, okay
13:19 jonathan Preferably regressing on as little as possible.
13:21 jonathan Somehow the .wrap implementation has got broken.
13:21 jonathan Which is the bit I'm trying to work out at the moment.
13:26 mj41_ joined #parrot
13:28 bluescreen joined #parrot
13:29 whiteknight yay! building on win32 again
13:29 whiteknight and testing now...
13:32 jonathan I think this will count as one of the worst patches I ever commit...
13:32 jonathan http://gist.github.com/213359
13:32 jonathan The worst bit is that it actually works.
13:45 pancake joined #parrot
13:45 pancake parrot fails the build on scratchbox
13:45 pancake i get an illegal instruction with ../../parrot ../../runtime/parrot/library/PGE/Perl6Grammar.pir
13:47 whiteknight illegal instruction?
13:47 purl well, illegal instruction is "fcomi" or a perl's way of saying "You done messed up good, boy!'"
13:47 whiteknight don't see too many of those around here
13:47 pancake yep, it's an immigrant
13:48 pancake qemu: uncaught target signal 4 (Illegal instruction) - core dumped
13:48 pancake any idea about how to debug this without ptrace? (qemu-arm doesnt supports ptrace)
13:52 payload joined #parrot
13:52 JimmyZ joined #parrot
14:08 Andy joined #parrot
14:09 PacoLinux joined #parrot
14:21 dalek TT #1122 created by mgrimes++: [PATCH] Convert more tests from perl to pir
14:29 payload joined #parrot
14:48 payload joined #parrot
14:53 dalek parrot: r41940 | cotto++ | trunk/src/hash.c:
14:53 dalek parrot: [hash] typo fix in docs
14:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41940/
14:55 Zak joined #parrot
14:57 Psyche^ joined #parrot
15:02 rdice joined #parrot
15:12 whiteknight pcc_reapply: all tests pass on win32 (except the ones that don't pass in trunk anyway)
15:16 cotto yay for caching!
15:19 iblechbot joined #parrot
15:21 dalek parrot: r41941 | cotto++ | trunk (2 files):
15:21 dalek parrot: [profiling] add a pc->line number cache to the profiling runcore
15:21 dalek parrot: This speeds up oofib.pir profiling by about 13.9% and drastically reduces the
15:21 dalek parrot: time spent in Parrot_Sub_get_line_from_pc, reducing it from ~38% to ~0%.
15:21 dalek parrot: (parrot_hash_get is at about 2.74%.) This will cause a slowdown for programs
15:21 dalek parrot: without many loops, but such programs are not likely to be profiled in the
15:21 dalek parrot: first place.
15:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41941/
15:25 hercynium joined #parrot
15:26 whiteknight cotto++
15:31 dalek parrot: r41942 | whiteknight++ | branches/pcc_reapply/config/gen/makefiles/root.in:
15:31 dalek parrot: [pcc] update makefile so that libnci_test.dll builds properly on win32. Don't know why this isn't happening already, but this was breaking the build
15:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41942/
15:38 donaldh joined #parrot
15:41 zostay joined #parrot
15:42 dalek rakudo: 1f16505 | moritz++ | README:
15:42 dalek rakudo: [README] mention win32 builds
15:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​f165051fd852119e19eec15f9e026dc734f0b08
15:42 shorten dalek's url is at http://xrl.us/bfs37r
15:45 Austin joined #parrot
15:49 cotto_work I see my counterpart's been active ;)
16:06 theory joined #parrot
16:36 bacek joined #parrot
16:42 cotto_work hi bacek_at_work
16:42 cotto_work s/_at_work//
16:46 bacek cotto_work: I'll be at work soon...
16:46 cotto_work clock?
16:46 purl cotto_work: LAX: Mon 9:46am PDT / CHI: Mon 11:46am CDT / NYC: Mon 12:46pm EDT / LON: Mon 5:46pm BST / BER: Mon 6:46pm CEST / IND: Mon 10:16pm IST / TOK: Tue 1:46am JST / SYD: Tue 3:46am EST /
16:47 cotto_work I guess that magical coding robots don't need much sleep.
16:48 cotto_work speaking of magical robots: http://jwz.livejournal.com/1107303.html
16:48 bacek cotto_work: sigh... We have big production release at 5AM...
16:48 cotto_work urg
16:49 mikehh joined #parrot
16:59 Austin cotto_work: nice video. I have to agree with the guy that asks why they haven't weaponized it yet. Don't they *want* a billion-dollar grant from the Air Force?
17:03 donaldh left #parrot
17:05 cotto_work It looks like the parallel build is br0ken in pcc_reapply
17:05 dalek parrot-plumage: 68f1caa | japhb++ | :
17:05 dalek parrot-plumage: [plumage] Dependency resolution step 1: showdeps command
17:05 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/68f1caace5e5dadf692f0a848cb1797f9f445939
17:05 shorten dalek's url is at http://xrl.us/bfs4jv
17:12 whiteknight stupid build
17:16 whiteknight how goes it Austin?
17:16 whiteknight how is Close coming along?
17:16 Austin It's getting closer.
17:16 Austin :)
17:16 whiteknight yay! puns.
17:16 * cotto_work groans
17:17 Austin I just now stumbled on this error from PCT:  rtype not set
17:17 Austin I must be making progress if I can make PCT break, no?
17:18 payload joined #parrot
17:19 bacek_at_work good morning. fsvo good
17:19 whiteknight hello bacek_at_work
17:19 bacek_at_work whiteknight, hi
17:20 whiteknight pcc_reapply is passing all tests now
17:20 Austin How goes the production release, bacek?
17:20 whiteknight so we did good work this weekend!!
17:20 Austin Congratulations, WhiteKnight.
17:20 cotto_work isn't that because some tests got todo
17:20 cotto_work 'd though?
17:20 whiteknight the one test that was marked TODO was busted anyway
17:20 bacek_at_work Austin, it's going.
17:27 dalek nqp-rx: eb3ae12 | pmichaud++ | src/cheats/hll-grammar.pir:
17:27 dalek nqp-rx: Add some comments and documentation to hll-grammar.pir .
17:27 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/e​b3ae129395f81f275438732363469c2e94146b4
17:27 dalek nqp-rx: b596526 | pmichaud++ | src/ (4 files):
17:27 shorten dalek's url is at http://xrl.us/bfs4nq
17:27 dalek nqp-rx: Add quote_EXPR subrule, start to handle various combinations for
17:27 dalek nqp-rx: quoted expressions.
17:27 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/b​59652683323e770f8ba0c5ce2193332b7f5aa8e
17:27 shorten dalek's url is at http://xrl.us/bfs4ns
17:27 dalek nqp-rx: 5648720 | pmichaud++ | src/ (5 files):
17:27 dalek nqp-rx: OPP first step -- parse a term.
17:27 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/5​648720ffb5ce549593be9badc4180b882324386
17:27 shorten dalek's url is at http://xrl.us/bfs4nu
17:27 dalek nqp-rx: f4c2dcb | pmichaud++ | src/ (2 files):
17:27 dalek nqp-rx: Add a termstack, some infix grammar rules.
17:27 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/f​4c2dcb3d73fab8643bcd79f1419cd3584ad6a10
17:27 shorten dalek's url is at http://xrl.us/bfs4nw
17:27 dalek nqp-rx: 0bd524c | pmichaud++ | src/ (4 files):
17:27 dalek nqp-rx: OPP: first stage of handling infix tokens
17:27 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/0​bd524c774d07eb290ade1ad43d9ed5a266affeb
17:27 shorten dalek's url is at http://xrl.us/bfs4ny
17:27 dalek nqp-rx: 74835b5 | pmichaud++ | src/ (4 files):
17:27 dalek nqp-rx: Add some precedence to the operator tokens, fix operator spec parsing.
17:27 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/7​4835b58bc56cdccdf74e20b421ab83a2296659d
17:27 shorten dalek's url is at http://xrl.us/bfs4n2
17:27 treed What is nqp-rx?
17:27 treed Aww, purl doesn't know.
17:27 japhb treed: a rewrite of NQP and PGE
17:27 treed Oh! This is that.
17:27 treed Neat.
17:27 japhb Indeed!
17:34 Austin purl, nqp-rx is a rewrite of NQP and PGE.
17:34 purl OK, Austin.
17:35 cotto_work whiteknight, whatever happened to your proposal for libjit- and llvm-based frame builders?  Are you going ahead with that?
17:35 Austin FWIW, "rtype not set" in this particular case meant:   Don't write self.declarator := ...; but rather write self.declarator(...) because it's a method.
17:35 whiteknight cotto_work: yes. pcc_reapply has been priority
17:35 cotto_work glad to hear it
17:37 cotto_work it's also excessively nice to see all tests passing in pcc_reapply
17:40 jonathan Is pcc_reapply likely going to get merged after the next release
17:40 jonathan ?
17:40 jonathan As in, shortly after?
17:40 whiteknight jonathan: yes
17:40 whiteknight that's the plan anyway
17:40 jonathan Excellent.
17:40 whiteknight and then we can focus on performance issues in trunk
17:41 whiteknight tomorrow at #ps would be a good time to talk about it more
17:41 whiteknight and then after the release we can have a merge frenzy
17:41 cotto_work Heh.  I've been enough out of the loop that I didn't even realize how soon the release is when I made those earlier commits.
17:42 whiteknight yeah, tomorrow is dukeleto, I think
17:43 jonathan \o/
17:43 jonathan Also, looks like Rakudo's signature re-working will land in master in a couple of hours.
17:44 jonathan A few days ahead of the Rakudo release. :-)
17:44 jonathan After that's in, I'll start a branch to focus on getting it to build against pcc_reapply.
17:45 whiteknight okay. If it's priority I can probably add :call_sig within afew hours tonigh
17:45 jonathan whiteknight: I was thinking of doing it in two steps.
17:45 jonathan First just make it build and work with the slurpies, as it uses now.
17:46 jonathan And then when that will fly and pass the tests, do call_sig, which should make us faster.
17:46 whiteknight I may add :call_sig soon anyway. It's going to be very easy I think
17:47 jonathan whiteknight: Sure, my point was, don't sweat over it. :-)
17:47 jonathan It'll be great to have.
17:47 whiteknight okay, awesome
17:47 payload joined #parrot
17:47 jonathan :-)
17:48 jonathan You'll do it on the caller side as well as the callee, yes?
17:48 jonathan (when you get to it, that is)
17:48 whiteknight caller side? How would that work?
17:48 whiteknight like, specify an existing CallSignature to use?
17:48 jonathan whiteknight: foo($P1 :call_sig)
17:48 jonathan whiteknight: Right. So consider the case where I'm delegating.
17:48 allison whiteknight: they can pass in any object to use as the call signature
17:49 whiteknight gotcha. That should be relatively easy to add as well
17:49 jonathan I don't want to take a call signature apart only to build a new one with the same stuff in. :-)
17:49 whiteknight in set_params, if the input PMC type is a CallSignature, use that directly instead of creating a new one
17:50 jonathan Sounds about right.
17:50 jonathan break, bbs
17:50 whiteknight ok
17:51 whiteknight Allison: are there any other of these "special" parameter types that we might want to add?
17:51 whiteknight being able to specify the caller Sub, or a Context or something in a parameter might be interesting
17:53 allison whiteknight: I'd hold off until we have a specific use for it (can always add features later, harder to remove them).
17:53 allison whiteknight: we're planning to unify context in to call signature, so that'll be the same option
17:53 whiteknight Okay, what I'm mostly asking about in a roundabout way is whether to make this mechanism general or specific to this case
17:54 cotto_work allison, with all the fancy stuff that pcc does, is it possible that it'll be faster for a language with C-style function calls to do its own processing?
17:55 fperrad_ joined #parrot
17:55 allison cotto: if the language only uses simple positionals, it's pretty cheap
17:55 allison cotto: the expense comes when you use the fancy features
17:55 cotto_work ok
17:56 allison cotto: and we can do more to make the simple case even cheaper
17:56 whiteknight we have the pretty algorithm now, there is plenty we can do to make it faster all around
17:56 cotto_work I'm sure there are many optimizations lurking in all that freshly-written code.
17:56 whiteknight and more importantly, we have a lot of developers empowered to make those changes
17:56 cotto_work very yes
17:57 allison aye
17:58 cotto_work and it's much more discoverable for the rest of us
17:59 nopaste "pmichaud" at 72.181.176.220 pasted "operator precedence parsing in nqp-rx" (38 lines) at http://nopaste.snit.ch/18372
18:00 whiteknight pmichaud: looks awesome
18:00 whiteknight Allison: do we want any particular rules concerning :call_sig? I'm thinking it should be the one and only parameter
18:01 whiteknight that makes a lot of short-circuiting logic cleaner, I think
18:01 allison yes, other args or params would be an error
18:01 whiteknight okay. Perfect. I could have that added tonight then if no issues come up
18:01 whiteknight (or wait till after the merge too)
18:02 allison work on it tonight, but don't commit it
18:02 allison (keep the scope creep down on the branch)
18:02 allison it's a small feature, can be committed right after the merge
18:03 dalek nqp-rx: 9083197 | pmichaud++ | src/ (2 files):
18:03 dalek nqp-rx: Refactor the opstack and termstack to hold Match objects instead of cursors.
18:03 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/9​0831979eca78f4f5a7844cd36e4f0183e226cb0
18:03 shorten dalek's url is at http://xrl.us/bfs4tb
18:03 dalek nqp-rx: ecc6416 | pmichaud++ | src/cheats/hll-grammar.pir:
18:03 dalek nqp-rx: Add left associativity to precedence parser.
18:03 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/e​cc64167aaa4b3870dbe48322e07e55957256128
18:03 shorten dalek's url is at http://xrl.us/bfs4td
18:03 dalek nqp-rx: 5b872f0 | pmichaud++ | src/ (3 files):
18:03 dalek nqp-rx: Reduce higher predecence operators immediately.
18:03 dalek nqp-rx: Test nqp with multiple levels of precedence.
18:03 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/5​b872f027bf71f6f9bb0d92fed732651dab38916
18:03 shorten dalek's url is at http://xrl.us/bfs4tf
18:03 dalek nqp-rx: 0428b85 | pmichaud++ | src/cheats/hll-grammar.pir:
18:03 dalek nqp-rx: Remove some debugging code.
18:03 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/0​428b855218d192e5552f1ef9d636aac7693c52f
18:03 shorten dalek's url is at http://xrl.us/bfs4th
18:04 whiteknight fair enough, I'll put together a patch
18:13 dalek parrot-plumage: 950fede | japhb++ | :
18:13 dalek parrot-plumage: [CORE] Glue.pir: Add readdir(); add missing SYNOPSIS entry for unlink()
18:13 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/950fedeffd76766458937799a135f34308076e47
18:13 shorten dalek's url is at http://xrl.us/bfs4ut
18:13 dalek parrot-plumage: 20d3533 | japhb++ | :
18:13 dalek parrot-plumage: [plumage] Dep. handling 2: Separate missing projects v. unrecognized dep...
18:13 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/20d35331fdfcf5e14d3bdcb84854ba2dd41d9e72
18:13 shorten dalek's url is at http://xrl.us/bfs4uv
18:13 dalek parrot-plumage: 14fc150 | japhb++ | :
18:13 dalek parrot-plumage: [plumage] Add projects command to list known projects
18:13 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/14fc150dfa72e98869684d833f1595752f96f4da
18:13 shorten dalek's url is at http://xrl.us/bfs4ux
18:13 * whiteknight loves watching the commits roll through
18:13 whiteknight it's so exciting when things are happenig
18:13 japhb whiteknight, yeah, it's a good day, isn't it?  :-)
18:16 mikehh joined #parrot
18:20 dukeleto 'ello
18:20 whiteknight hello dukeleto
18:20 whiteknight ready for your big day tomorrow?
18:20 dukeleto tomorrow is release day, anything I should know about, to add to the release notes?
18:20 whiteknight it should be an easy month for release notes, much of the focus was in the pcc_reapply branch
18:21 darbelo joined #parrot
18:21 dukeleto whiteknight: trying my best. I am chilling in the airport right now, waiting to go to SFO and then the GSoC summit on Wed
18:21 whiteknight lucky
18:21 dukeleto whiteknight: yes, seems so
18:21 whiteknight I'm sitting at work, waiting to go back to work tomorrow
18:22 cotto_work whiteknight, nothing to do?
18:22 whiteknight cotto_work: lots of work to do
18:22 whiteknight but nothing else
18:22 purl nothing else is counting how many hours scrottie's computer has been on!  SMART rules!
18:25 payload joined #parrot
18:26 dukeleto the pcc_reapply branch fails to build without an installed parrot already present. can someone fix that?
18:27 nopaste "dukeleto" at 67.88.206.98 pasted "pcc_reapply fails at without an installed parrot" (5 lines) at http://nopaste.snit.ch/18373
18:27 dukeleto gotta board soon
18:28 cotto_work dukeleto, are you using -j with make?
18:28 whiteknight that can't be true, I don't ever install Parrot and it works on my machine
18:28 cotto_work I saw a similar problem with a parallel build earlier today
18:29 * whiteknight hates makefile problems
18:29 * whiteknight hates makefiles
18:29 fperrad_ joined #parrot
18:33 * makefiles hate whiteknight
18:34 darbelo ;)
18:34 whiteknight ah, poetic irony
18:35 darbelo whiteknight: Do you have a tasklist of TODO for matrixy or parrot-linear-algebra?
18:36 whiteknight darbelo: nothing formal, no. I talked about it on my blog recently.
18:36 whiteknight Maybe we should come up with a roadmap for those projects
18:36 whiteknight One thing we could start on immediately would be to create that 2-D matrix PMC type
18:37 whiteknight if you have any ideas about that, I would love to hear them
18:37 whiteknight because right now Matrixy is using nested RPAs, and that's a huge mess
18:38 whiteknight Also, we're going to need something better if we want to properly support Cell arrays
18:38 darbelo Not many ideas, I was expecting matrixy to be harder to get going. It was a case of "Wait. I'm done? Where do I go from here?"
18:40 whiteknight I have't even tried, but do the tests work and all?
18:40 whiteknight The tests that rely on the libraries won't pass, of course
18:40 darbelo I only tried the fakecutable/REPL
18:42 darbelo And only did very basic stuff there, multiplied vectors, etc.
18:42 * darbelo barely recalls any MATLAB
18:44 whiteknight the hardest part about Matlab to reproduce is all the syntax, which can be a little weird.
18:45 whiteknight I think Matrixy faithfully reproduces the whitespace handing, and the function dispatcher is working well too
18:45 whiteknight next big steps are variadic input/output arguments, and then supporting Cell arrays
18:45 whiteknight and structures
18:47 whiteknight once that's done, syntax is mostly complete and we can write all the rest in M itself
18:49 darbelo self-hosting++
18:50 nopaste "darbelo" at 200.49.154.173 pasted "matrixy test output." (29 lines) at http://nopaste.snit.ch/18374
18:50 desertm4x joined #parrot
18:51 darbelo Seems to work, but I don't know where that "error: Direct creation of Iterator" is coming from.
18:52 whiteknight that is weird. Never saw that error before
18:52 whiteknight and more tests should have run, there are like 2 dozen test files
18:52 whiteknight oh, did you make test?
18:53 darbelo nope, just ran individual test files.
18:54 whiteknight oh, okay
18:55 whiteknight ah, I know. These files come from before the iterators refactor by bacek++
18:55 whiteknight so we're using the wrong syntax for some of our helper functions somewhere
18:55 whiteknight need to replace all "new 'Iterator'" to use "iter" opcode
18:56 darbelo I haven't fixed the harness yet. So, make test fails horribly, but I probably can do that today.
18:58 whiteknight src/internals/stdio.pir contains a few instances of "new 'Iterator'" that need to be fixed
18:59 darbelo src/builtins/sum.pir has another one.
18:59 whiteknight those are the ones probably borking up the test output
18:59 whiteknight yeah, just goes to show how old some of this code is
19:00 darbelo And yet, it worked with minor tweaks.
19:00 darbelo It's a nice change from breaking partcl and rakudo every week.
19:00 Ron joined #parrot
19:04 whiteknight we definitely need to write proper bindings for CBLAS and CLAPACK in parrot-linear-algebra first
19:04 whiteknight We might also want to have bindings for GSL as well
19:05 whiteknight I don't know what all libraries people might want, or what's sticktly "in scope"
19:05 darbelo dukeleto had ideas about that.
19:05 whiteknight ...and he's probably on a plane now
19:06 whiteknight there are a lot of ways we could go about it, even if we just look at CBLAS
19:07 whiteknight like we could create a matix PMC type that contains bindings for all the CBLAS routines internally, as methods and stuff
19:07 whiteknight or we could provide raw NCI bindings and a dumb PMC type and let the PIR programmers worry about the details
19:08 desertm4x I would prefer the first one.
19:09 desertm4x But actually, one of the things that worries me most is the fact that there are lots of different types of matrices (even having different packing formats).
19:10 whiteknight right, that's what I'm worried about
19:10 whiteknight the average user might not know whether they have a diagonal matrix, or a hermitian matrix, etc. And then nothing gets dispatched to the correct functions
19:11 whiteknight of course, most of them are optimizations
19:12 bacek joined #parrot
19:12 darbelo handling sparse matrices gracefully is more of a need thatn an optimization for matrixy.
19:12 whiteknight Matlab syntax does require sparse matrices
19:12 desertm4x yes, but general sparse matrices are a bit out of scope as they are not well supported by LAPACK
19:13 whiteknight so we could end up with a few PMC types: 2DNumber, 2DComplex, 2DSparseNumber, 2DSparseComplex, etc
19:13 whiteknight desertm4x: true. Of course, we could provide translation routines Sparse<->Dense
19:14 desertm4x Yes, that's actually what MATLAB does when multypling a sparse matrix and a dense matrix, for example, I think.
19:14 whiteknight So all the LAPACK bindings could convert automatically
19:14 whiteknight right
19:15 desertm4x What I wanted to say is that we need a different library for sparse matrices and that this is probably not the first step, though we should consider it when thinking about the data types, etc.
19:15 whiteknight do libraries for that exist?
19:16 whiteknight nevermind, ACML
19:16 desertm4x Well, MATLABs implementation for sparse matrices is proprietary, I think, but I do not know exactly.
19:18 whiteknight me either
19:19 darbelo Octave has sparse matrices, we could take a look at that.
19:19 whiteknight Yes, I really should look more at the Octave source for some of these things
19:20 whiteknight I don't want to steal from them wholesale, but it would be nice to see how they do it
19:22 PerlJam You could look at how PDL does its magic too
19:22 whiteknight I always forget about PDL
19:22 whiteknight but I suspect they are using a lot of XS evilness that I don't want to deal with
19:22 PerlJam could be.
19:23 darbelo "XS: evilness that I don't want to deal with."
19:24 ash_ joined #parrot
19:30 dalek parrot-plumage: 483e9e1 | japhb++ | :
19:30 dalek parrot-plumage: [CORE] Glue.pir: Add append() I/O function; Util.nqp: Add set_from_array...
19:30 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/483e9e16ad0ef42e04a3797025a71f35d81dccba
19:30 whiteknight Matrixy currently stores everything in nested ResizablePMCArrays. And for every BLAS call has to rearrange those data items into a dumb buffer for the function call and then ack out again afterwards
19:30 dalek parrot-plumage: 10a25e1 | japhb++ | :
19:30 shorten dalek's url is at http://xrl.us/bfs5bf
19:30 dalek parrot-plumage: [plumage] Dep. handling 3: Remember installed projects; use them to reso...
19:30 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/10a25e1b8597a8592ec4563ca2cde903a895fe36
19:30 shorten dalek's url is at http://xrl.us/bfs5bh
19:31 whiteknight at the very least we want a solution that doesn't have these algorithmic problems
19:32 darbelo Ouch.
19:32 whiteknight right
19:33 whiteknight so I'm thinking we do two things: (1) PMC types that implement buffer storage, use BLAS library calls to implement some VTABLEs, and add a few methods as well as necessary
19:33 Zak joined #parrot
19:33 whiteknight and (2) proper NCI bindings for PIR so other people can play with those if they are interested
19:34 whiteknight since LAPACK calls are going to be tricky, we will probably want to keep them as bindings and not integrate them into the PMC directly
19:35 desertm4x Yes.
19:36 whiteknight otherwise we would end up with a PMC type that has hundreds of methods, or something equally lousy
19:37 darbelo We should leverage the vtable interface as much as possible there. Methods have a speed penalty.
19:37 whiteknight very true. VTABLE_add, VTABLE_multiply, VTABLE_divide would all be good to implement directly
19:38 whiteknight VTABLE doesn't really have a good interface for specifying rectangular coordinates though
19:39 whiteknight brb
19:39 zerhash joined #parrot
19:42 whiteknight joined #parrot
19:43 whiteknight back
19:44 darbelo Say, have you given any thought to plot()?
19:44 whiteknight we should probably decide which libraries we want to target
19:44 whiteknight darbelo: no. Not at all
19:45 whiteknight none of that graphics stuff is going to be doable for a while
19:45 * darbelo is all about the pretty pictures.
19:45 darbelo ;)
19:45 whiteknight yeah
19:45 desertm4x =)
19:45 whiteknight well, I think moritz was doing some cool SVG libraries for Perl6, so we could import his library
19:46 whiteknight and I know proper Tk bindings are in the pipeline somewhere
19:47 whiteknight Octave taps into GNUPlot, so maybe we could do the same
19:50 desertm4x Concerning the matrix PMC, CBLAS is the only option. Using LAPACK within the PMC is not a good idea, in my opinion (though I do not have any experience about what is good and bad when talking about PMCs).
19:50 joeri left #parrot
19:51 desertm4x We may also should think about implementing a separate vector PMC, especially to avoid confusion about norms.
19:51 whiteknight desertm4x: Right, but which BLAS implementation do we want to use? CBLAS? ATLAS? GSL?
19:52 whiteknight vector PMC would be very very good, so long as we had a solid way to convert
19:52 whiteknight or a PMC with an "is_vector" flag
19:52 whiteknight because we need row and column vectors
19:53 pnate joined #parrot
19:53 desertm4x Yes, but that could also be a "transposed" flag or we could implicitly treat it as a vector if either the number of rows or columns is 1.
19:56 ash_ i think there is an issue with make test on at least OS X 10.6.1, with a fresh checkout, the first time i run it, it gives me an error, is this a known issue? for some reason if you run make test again, it works fine, but the first time it gives me an error
19:56 darbelo ash_: Can you nopaste the error?
19:57 mikehh joined #parrot
19:57 desertm4x Do we need to decide which BLAS implementation we use? Can't we detect the one that is available if one is available?
19:57 darbelo I'd go for cblas.
19:58 whiteknight if we can detect, that would be best
19:58 ash_ darbelo: http://nopaste.com/p/a8EsOqgAl
19:58 whiteknight but then we would need to add in checks to the configure/build process
19:58 darbelo GSL is a lot more than a BLAS, and I don't have anything other than those two on my platform ;)
19:58 ash_ pnate had the same issue, http://paste.lisp.org/display/88921
19:59 whiteknight so let's come up with a Configure.pl script that attempts to detect CBLAS. Once we have that, we can try to extend it to discover other implementations as well
20:00 desertm4x Sounds good to me.
20:00 darbelo +1
20:00 purl 1
20:01 darbelo purl: die in a fire.
20:01 purl HALP
20:02 darbelo ash_: That's one odd failure. Can you open a trac ticket for it?
20:03 ash_ sure
20:03 ash_ its happened on 2 OS X 10.6.1 computers, don't know how long its been going on, we both had the trunk checked out too
20:12 whiteknight okay, I think CBLAS is a good bet then
20:13 desertm4x Yes, I think it's widely-used as well.
20:15 kurahaupo joined #parrot
20:16 whiteknight ok. I think that's enough information for us to really get started
20:16 whiteknight which is good, since I have to pack up and go home now
20:17 desertm4x Yes, in the long term we still should think about matrix types and sparse matrix formats, but a dense full matrix type is the thing we need first anyway.
20:17 whiteknight true
20:18 whiteknight tonight I'll update the README file, and then create a CREDITS file where we can all "sign in"
20:18 kurahaupo desertm4x: How does a tensor differ from a fixed-size numeric array?
20:18 whiteknight tensor is more then 2D
20:19 kurahaupo (Yes, that's why I said "tensor" rather than "matrix" or "vector")
20:19 * darbelo throws his colection of 1D tensors away.
20:19 moritz actually a tenso is a mathematical object that follows certain transformation properties
20:19 moritz *tensor
20:19 whiteknight Okay, I am signing off and heading home. Talk to you guys later
20:19 moritz so not every matrix is a tenso
20:19 moritz r
20:19 moritz but there are also 3-dim tensors
20:20 kurahaupo moritz: point taken
20:20 purl Hey, give that back!
20:25 desertm4x kurahaupo, so you are interested in differences between a matrix and a fixed-size numeric array?
20:29 dalek TT #1123 created by ash.gti++: Make Test errors on OS X 10.6.1
20:30 kurahaupo desertm4x: yes please. Have been looking at the implementation of arrays and realising that variable-sized arrays are bad for thread-safety vs performance
20:32 kurahaupo (fixed-sized arrays are better, but only if we "do it right")
20:35 dalek close: r186 | Austin++ | trunk/ (18 files):
20:35 dalek close: Got function marshalling working better.
20:35 dalek close: review: http://code.google.com/p/close/source/detail?r=186
20:35 dalek close: r187 | Austin++ | trunk/src/Slam/Visitors/FunctionMarshalling.nqp:
20:35 dalek close: Got function marshalling working better. (Now with FunctionMarshalling.nqp)
20:35 dalek close: review: http://code.google.com/p/close/source/detail?r=187
20:35 dalek close: r188 | Austin++ | trunk/ (2 files):
20:35 dalek close: Added NamespaceDefinition - models the input code structure better than
20:35 dalek close: Namespace (now only used for search).
20:35 dalek close: review: http://code.google.com/p/close/source/detail?r=188
20:36 desertm4x I do not know much about fixed-size arrays yet, but internally the data is stored similarly. The matrix allows more types than there are fixed-size arrays for, as far as I can see, for example. And operations are defined quite differently. I do not see too much these containers have in common actually, but maybe I'm just missing your point.
20:39 dalek close: r189 | Austin++ | trunk:
20:39 dalek close: Ignoring close.cfg now that close_cfg.tmpl is working.
20:39 dalek close: review: http://code.google.com/p/close/source/detail?r=189
20:40 dalek parrot-plumage: ad0dd7d | japhb++ | :
20:40 dalek parrot-plumage: [plumage] Dep. handling 4: Automatically install project dependencies be...
20:40 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/ad0dd7da3c3d73be8698f1e78c877356a32e1b14
20:40 shorten dalek's url is at http://xrl.us/bfs5ni
20:45 japhb I'm thinking that the code that maintains and updates the metadata (basically, server-side stuff) can be in "real" Perl 6, unlike the code that uses the metadata (client-side stuff), which is all in NQP and PIR.  Anyone disagree?
20:45 japhb Tene, dukeleto, darbelo: feel highlighted and look up a line.
20:45 kurahaupo desertm4x: the internal implementation of a fixed-sized 2D array of number-like things is basically identical to a Matrix, or at least should be if we do arrays right.
20:46 moritz japhb: no objections, just make sure are explicit about the Rakudo version you're using
20:46 kurahaupo (The trick is treatment of arrays as *values* rather than *containers*. Which also makes multithreading go faster -- MUCH faster.)
20:46 japhb moritz, how do you mean?
20:47 moritz japhb: like "current rakudo from git" or "latest release" or "release $xy" or whatever
20:47 moritz it still has incompatible changes occasionally
20:47 japhb moritz, Ah, I get it.  Yes, understood.
20:52 darbelo We target moving targets on top of moving targets ;)
20:53 japhb darbelo, BTW, as of latest commit, you should be able to express the dependency between matrixy and the library project, and plumage will DTRT.
20:54 darbelo japhb++ #Adding new feature for me to break.
20:54 japhb heh
21:14 bluescreen joined #parrot
21:19 dalek parrot-plumage: 0c082d3 | japhb++ | :
21:19 dalek parrot-plumage: [TOOLS] Add README introducing news tools/ directory
21:19 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/0c082d38436ee54496b42c0266d9ca90c240c0e6
21:19 shorten dalek's url is at http://xrl.us/bfs5s6
21:25 darbelo Mmmmm, tasty, tasty dog food!
21:26 cotto_work cachegrind has some interesting output
21:30 cconstantine joined #parrot
21:37 cotto_work Wow.  Looking at Parrot_Sub_get_line_from_pc before those changes, the cache misses are epic.
21:40 cotto_work I need to buy the valgrind and kcachegrind guys a pizza or something.
21:41 darbelo cotto++ # profiling *after* commiting.
21:42 cotto_work I profiled before committing.  I just wanted to see if cachegrind would have helped.
21:42 cotto_work Answer: yes.
21:43 mokurai joined #parrot
21:44 darbelo It's a very cool tool. But they aren't getting any pizza out of me until it's ported to OpenBSD ;)
21:44 cotto_work nm.  misread
21:44 mokurai left #parrot
21:44 mokurai joined #parrot
21:49 dalek rakudo: b1ffd35 | jonathan++ | src/classes/Routine.pir:
21:49 dalek rakudo: Epic hack to work around an apparent Parrot register allocation bug. Gets us passing more of wrap.t.
21:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​1ffd35402be6553808d22f954192326bb3c0c89
21:49 shorten dalek's url is at http://xrl.us/bfs5y4
21:49 dalek rakudo: aa20505 | jonathan++ | src/builtins/control.pir:
21:49 dalek rakudo: The various other refactors mean that callsame and nextsame can now become way simpler.
21:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​a20505b15abd09b50a16f6ba35cda0f5f85c6bb
21:49 shorten dalek's url is at http://xrl.us/bfs5y6
21:49 dalek rakudo: 7c28f95 | jonathan++ | src/classes/Routine.pir:
21:49 dalek rakudo: Add comment about why we have the p6i_copy workaround, as suggested my moritz++.
21:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​c28f950aba46e6a5c44775546904ff668fce3a6
21:49 shorten dalek's url is at http://xrl.us/bfs5y8
21:49 dalek rakudo: e0c6910 | jonathan++ | src/ (3 files):
21:49 dalek rakudo: Correct our hanlding of package blocks somewhat. They're now immediate blocks, as per spec. This does, along the way, also fix the lexicals and classes bugs.
21:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​0c6910ee3e3adb88d12da36396eb98312bc8e2b
21:49 shorten dalek's url is at http://xrl.us/bfs5za
21:49 dalek rakudo: f55aa6f | jonathan++ | src/parser/signature.pm:
21:49 dalek rakudo: Fix for named unicode parameters, hopefully.
21:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​55aa6f21708f53f88e1467e5e5670a0cad6cc15
21:49 shorten dalek's url is at http://xrl.us/bfs5zc
21:49 dalek rakudo: b641d31 | jonathan++ | src/binder/bind.c:
21:49 dalek rakudo: Do capture types for invocants. Fixes my last failing test on 32-bit ICU-less.
21:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​641d31bb0360a2afd0f05e3e9b4ca82de087f61
21:49 shorten dalek's url is at http://xrl.us/bfs5ze
21:49 dalek rakudo: 3819f41 | jonathan++ | src/binder/bind.c:
21:49 dalek rakudo: Awesomimze the error messages in the new signature binder.
21:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​819f419cc7b6ef520287f483431b3a4967772a8
21:49 shorten dalek's url is at http://xrl.us/bfs5zp
21:49 dalek rakudo: 1d15716 | jonathan++ | :
21:49 dalek rakudo: Merge branch 'resig2'
21:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​d15716043e56cb96a2ef6bf2c72abb19b48e5a0
21:49 shorten dalek's url is at http://xrl.us/bfs5zr
21:53 athomason joined #parrot
21:54 dalek rakudo: fca32d8 | jonathan++ | build/Makefile.in:
21:54 dalek rakudo: Try to unbreak parallel build.
21:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​ca32d85e899b355183ebf795ae1783beae7ee9b
21:54 shorten dalek's url is at http://xrl.us/bfs52f
21:56 darbelo japhb: ping
22:07 japhb darbelo, pong
22:07 hercynium joined #parrot
22:08 darbelo I started playing with the deps in plumage.
22:08 japhb and?
22:08 darbelo I caused a failure in the fetching of the dep and the build kept going.
22:09 japhb That's odd ... oh, duh, yes, I know why that error was not being transmitted back.  OK, will deal with that in a bit, sorry.
22:10 * japhb trying to keep toddler from causing major damage to self or house
22:10 darbelo Heh, self is manageable, house is a lost cause.
22:13 japhb afk for a while, buit will backlog
22:19 Whiteknight joined #parrot
22:23 Whiteknight good afternoon, Parrot
22:23 cotto_work hi Whiteknight
22:23 Whiteknight hello cotto_work
22:26 Whiteknight I hate Piper and Tweety
22:26 Whiteknight and I don't know how to tell xchat to ignore them forever
22:27 cotto_work Window -> ignore list ?
22:29 Whiteknight do I want to block ~robert@x3.develooper.com?
22:29 cotto_work Tweety!*@*.*
22:30 cotto_work As you'd expect, that blocks Piper.
22:30 darbelo Piper was offline for a while, right?
22:30 * cotto_work wasn't paying attention
22:31 mikehh joined #parrot
22:31 Whiteknight piper and tweety were both offline for a while
22:32 Whiteknight how do I update my local git repo to match changes made on github?
22:33 darbelo git pull?
22:33 purl git pull is not slow.
22:33 * darbelo is probably missing something here.
22:33 Whiteknight oh damnit, I was in the wrong directory
22:33 Whiteknight nevermind
22:35 Whiteknight ...no, still not working
22:37 darbelo nopaste the error?
22:38 jonathan Note for anyone interested: what's in Rakudo master is now ready to be branched so we can get it running under pcc_reapply.
22:38 jonathan I'll probably start looking at that in a day or two if nobody beats me to starting on it. :-)
22:38 kid51 joined #parrot
22:39 nopaste "Whiteknight" at 69.249.176.251 pasted "git error for darbelo++" (4 lines) at http://nopaste.snit.ch/18376
22:40 darbelo Whiteknight: try it without the git@...
22:40 darbelo just 'git pull'
22:41 Whiteknight same error
22:41 darbelo Or with a capital W in Whiteknight. But your local copy should already know where it came from.
22:41 Whiteknight it didn't come from github, mine is the original and I pushed to github
22:42 darbelo Then try with the capital 'W'
22:43 Whiteknight that did it
22:43 Whiteknight I must be retarded
22:43 darbelo github usernames look like they are case sensitve.
22:45 Whiteknight I want to set up that in the config, but that's probably a battle for a different day
22:48 cognominal joined #parrot
22:50 dukeleto 'ello
22:50 Whiteknight hello dukeleto
22:51 dukeleto made it to SFO, after some rain delays
22:51 Whiteknight Can't open perl script "/usr/local/lib/parrot/1.6.0-de​vel/tools/dev/gen_makefile.pl": No such file or directory
22:52 Whiteknight you see that error darbelo?
22:52 cognominal joined #parrot
22:52 darbelo Hmm, matrixy?
22:52 Whiteknight yeah, matrixy
22:53 Whiteknight oh, I only did make install, probably needed install-dev
22:53 jonathan Forgot to make install-dev ?
22:53 jonathan damm too slow :)
22:53 Whiteknight at was it
22:56 dukeleto cotto_work: yes, I was using -j with make
22:57 dukeleto cotto_work: is -j not working on pcc_reapply ?
22:59 cotto_work dukeleto, no afaict
22:59 cotto_work I'
22:59 cotto_work d hack on it but I can't commit from here. ;)
23:00 dukeleto cotto_work: ok. /me is backlogging
23:00 * cotto_work is fat-fingered today
23:01 * dukeleto is cloning matrixy for the first time, w00t
23:02 dukeleto first time on this machine, i guess.
23:02 darbelo dukeleto++
23:02 patspam joined #parrot
23:03 * dukeleto really needs to start prepping for the release
23:03 dukeleto which docs should I be reading? #lazyirc
23:04 dalek nqp-rx: 2188043 | pmichaud++ | src/cheats/regex-cursor-protoregex.pir:
23:04 dalek nqp-rx: Empty protoregexes return a fail.
23:04 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/2​1880437b753ff9e2311ce66bdf690acbcd5b5ad
23:04 shorten dalek's url is at http://xrl.us/bfs6cj
23:04 dalek nqp-rx: 2d1ddd7 | pmichaud++ | src/ (5 files):
23:04 dalek nqp-rx: Add prefix: and postfix: processing.
23:04 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/2​d1ddd70f66142655dd8d39804537aecff43e611
23:04 shorten dalek's url is at http://xrl.us/bfs6cm
23:05 cotto_work dukeleto, docs/project/release_manager_guide.pod
23:05 dukeleto cotto_work++
23:05 cconstantine joined #parrot
23:07 cotto_work it's surprisingly easy, if time-consuming
23:09 dukeleto done backlogging. I missed lots of matrixy talk! Vector, Matrices, Tensors, oh MY!
23:10 dalek nqp-rx: 7574241 | pmichaud++ | src/NQP/ (2 files):
23:10 dalek nqp-rx: Verify that right associativity is working (it is).
23:10 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/7​574241c990398d123ab9bc5c6cb38c5905e3f71
23:10 shorten dalek's url is at http://xrl.us/bfs6c8
23:10 dukeleto Whiteknight, darbelo: GSL has binding to BLAS built in. if we target GSL, we get those for free, along with 45 other subsystems
23:10 Whiteknight this is true
23:11 Whiteknight But GSL has a lot of stuff we won't necessarily use
23:11 Whiteknight I think it's the best idea to stick to the BLAS API, and detect multiple implementations like GSL
23:11 dukeleto Whiteknight: it has lots of stuff that we might not want in the beginning, but there is probably 10 subsystems or so that we really want
23:11 Whiteknight true
23:12 dukeleto broken link in release guide: https://trac.parrot.org/parrot/wiki/ParrotRoadmap
23:12 dukeleto where should that be?
23:12 Whiteknight report 14
23:12 Whiteknight hold on
23:12 Whiteknight https://trac.parrot.org/parrot/report/14
23:13 dukeleto if anybody has pdates to NEWS, CREDITS, PLATFORMS, RESPONSIBLE_PARTIES, DEPRECATED.pod
23:13 dukeleto let me know
23:13 dukeleto updates, even
23:13 dukeleto Whiteknight: that link looks the same as https://trac.parrot.org/parrot/roadmap
23:14 dukeleto Whiteknight:  should the first link in the release guide be the same as the first?
23:14 dukeleto so, should I ask people to stop committing anything non-release-related about now?
23:15 dukeleto at least to trunk
23:15 darbelo dukeleto: probably.
23:15 Whiteknight I don't know
23:15 dalek nqp-rx: 29c3519 | pmichaud++ | src/ (4 files):
23:15 dalek nqp-rx: Add circumfix: .
23:15 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/2​9c35194fd8b046baa4b80714fec997334382173
23:15 shorten dalek's url is at http://xrl.us/bfs6d3
23:16 cotto_work dukeleto, I might need to revert something, but yes it'd be a good idea
23:17 cotto_work for future reference, it'd have been a better idea on Saturday
23:20 Topic for #parrotis now Parrot 1.7.0 "African Grey" is coming soon, no non-release-related commits to trunk, please | Test CallSignature PMC | pcc_reapply is almost there! https://trac.parrot.org/parrot/​wiki/CallingConventionsOverview
23:21 cotto_work dukeleto, I think that name's been taken
23:21 cotto_work nm.
23:21 dukeleto cotto_work: it isn't in parrothist
23:22 darbelo parrothist?
23:22 dukeleto cotto_work: i consulted docs/parrothist.pod
23:22 cotto_work parrothist is docs/parrothist.pod
23:22 darbelo purl: parrothist is docs/parrothist.pod
23:22 purl i already had it that way, darbelo.
23:23 Whiteknight urg, we have to fix this test harness
23:23 darbelo Whiteknight: I'm looking at it now-
23:23 Whiteknight darbelo++
23:23 Whiteknight I just fixed that iterator issue
23:23 dukeleto looks like 'bytecode testing framework' and 'prune c data structures' are not happening before tomorrow. should I remove the 1.7 milestone from them?
23:23 Whiteknight and added a CREDITS file, which you should sign
23:23 cotto_work I really shouldn't be surprised at how long it takes to run rakudo hello world with profiling under valgrind
23:24 darbelo Ugh.
23:24 dukeleto 'prune c data structures' is quite an ambiguous TT, no wonder it has been kicked around so much
23:25 darbelo Well, we did some pruning. But not enough.
23:26 darbelo chromatic was supposed to put some notes on the wiki about that.
23:26 Whiteknight all tests successful Ubuntu 9.04, x86_64
23:26 cotto_work darbelo, at least I'm not trying that with Druid. ;)
23:26 cotto_work but yeah, it'll be a while
23:28 cotto_work wow.  20 minutes or so and valgrind dies with a bus error
23:28 darbelo ouch
23:29 dukeleto cotto_work: maybe run valgrind on valgrind on ...
23:30 darbelo Or write an x86 emulator in parrot and ...
23:32 cotto_work I don't even want to think about that.
23:33 darbelo It could even self-host!
23:35 dalek parrot: r41943 | dukeleto++ | trunk/docs/project/release_manager_guide.pod:
23:35 dalek parrot: [cage] Fix Parrot roadmap link in Release Manager Guide
23:35 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41943/
23:37 mikehh dukeleto: All tests PASS (pre/post-config, smoke (#29194), fulltest) at r41942 - Ubuntu 9.10 (beta updated) amd64
23:37 Whiteknight dalek isn't tracking matrixy commits
23:38 Whiteknight at least, it hasn't noticed any of my changes yet tonight
23:39 darbelo Hmm. I added it to the languages page, but it looks like that's not enough.
23:39 darbelo Somebody should ping Infinoid about it.
23:40 Whiteknight Infinoid: ping
23:40 dukeleto mikehh++ # thanks!
23:43 ash_ joined #parrot
23:44 plobsing joined #parrot
23:47 cotto_work it looks like the profiling optimizations make rakudo less painful to profile.
23:48 cotto_work probably at the expense of memory
23:48 payload joined #parrot
23:48 jonathan Given developers mostly profile rather than uses, I'm not sure that extra memory for faster profiling results is a bad trade-off, unless it's like, unusably more. :-)
23:49 jonathan cotto_work: I just landed a big branch in Rakudo. Startup is still really quite slow, though. I'd be really interested to know where we spend our time.
23:49 cotto_work it makes a hash with ~30000 elements for rakudo hello world
23:49 jonathan Oh?
23:49 jonathan Wow.
23:49 cotto_work (pointer/int pairs)
23:50 jonathan That's kinda...impressive.
23:50 jonathan "impressive"
23:50 cotto_work basically one per unique pc value
23:50 Whiteknight how do I commit to my github repo? Do I always have to do "git push origin master"?
23:50 jonathan cotto_work: oh, you mean the profier does
23:50 jonathan cotto_work: Sorry, it's kinda late her. :-)
23:50 jonathan *here
23:50 cotto_work jonathan, yes
23:50 cotto_work you don't say ;)
23:51 jonathan cotto_work: OK, phew. I thought you menat Rakudo makes a hash like that on startup. ;-)
23:51 cotto_work nope.  I'm pretty rakudo-agnostic.
23:51 dukeleto somebody throw me something that they want to so in NEWS or Changelog
23:52 cotto_work "improved HLL profiling"
23:52 cotto_work s/improved/faster/
23:52 dukeleto why is NEWS not in POD, but some other crazy format ?
23:53 cotto_work because we've always done it that way
23:53 bacek_at_work Whiteknight, just git push
23:55 Whiteknight bacek_at_work: not git dcommit or something like that?
23:55 dukeleto Whiteknight: dcommit is a git-svn thing
23:55 dukeleto Whiteknight: what are you trying to do
23:56 dukeleto cotto_work: that is an explanation, but not a reason ;)
23:56 bacek_at_work Whiteknight, just commit, just push, just git without svn perversions
23:56 Whiteknight dukeleto: I'm just trying to figure out workflow
23:56 Whiteknight every time I try to commit, it gives me some weird message and I have to git add first
23:57 tokuhirom_________ joined #parrot
23:57 cotto_work It's an underscore party!
23:59 darbelo Whiteknight: you *do* have to git add <FILE> before commiting.
23:59 darbelo or using commit -a

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

Parrot | source cross referenced