Camelia, the Perl 6 bug

IRC log for #parrot, 2010-06-23

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:10 patspam joined #parrot
00:11 darbelo Wait. When did I get a Tapir commit bit?
00:12 darbelo dukeleto: ping
00:15 cotto_work time to go home
00:15 Andy joined #parrot
00:16 dalek tapir: 3bb8c2e | darbelo++ | CREDITS:
00:16 dalek tapir: Add myself to credits.
00:16 dalek tapir: review: http://github.com/leto/tapir/commit/3b​b8c2e2514dcb73a49a71ff7c4c84c5a351be51
00:21 davidfetter joined #parrot
00:22 arnsholt joined #parrot
00:25 jjore joined #parrot
00:27 darbelo tell me more german
00:27 darbelo wrong window.
00:27 purl I love you too, dad.
00:27 Khisanth joined #parrot
00:31 slavorgn joined #parrot
00:31 cotto ohai'
00:32 patspam joined #parrot
00:33 theory joined #parrot
00:41 eternaleye joined #parrot
00:41 dalek parrot: r47770 | tcurtis++ | failed to fetch changeset:
00:41 dalek parrot: Sync with trunk and regen manifest.
00:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47770/
00:42 cotto parrot git?
00:42 purl parrot git is http://repo.or.cz/w/parrot.git or http://github.com/leto/parrot
00:48 darbelo msg whiteknight Plumage fixed for parrot HEAD. Spread the word!
00:48 purl Message for whiteknight stored.
00:50 kthakore darbelo: ok!
00:50 kthakore darbelo: can I do plumage parrotSDL ?
00:52 bacek_at_work aloha, cotto
00:52 darbelo kthakore: Not really. You have to teach plumage how to fetch, build, install, etc. your project.
00:53 darbelo That's done by writing a small json file in a predefined format.
00:53 kthakore darbelo: how?
00:53 kthakore darbelo: I have it
00:53 darbelo purl plumage?
00:53 purl i guess plumage is the future Parrot module ecosystem.  It will include tools to search metadata, handle dependencies, install modules, and so forth. The repository is at http://gitorious.org/parrot-plumage/parrot-plumage and the design docs are at https://trac.parrot.org/pa​rrot/wiki/ModuleEcosystem
00:53 kthakore darbelo: http://github.com/kthakore/parrotSDL​/blob/master/plumage/parrotSDL.json
00:54 kthakore darbelo: now how will people get it?
00:54 darbelo For now we just ship a few with plumage, or have people manually download. japhb has plans for a central repo and lots of automagic stuff.
00:55 japhb kthakore, In other words, send your .json to one of us with a commit bit, and we'll happily add it to the repo.
00:55 darbelo For now just dump it into your plumages metadata/ dir and do plumage test <name of the json file>
00:56 kthakore japhb: you want me to give you a commitbit to parrotSDL?
00:56 kthakore japhb: what is your github account?
00:56 kthakore japhb: also here is the .json http://github.com/kthakore/parrotSDL​/blob/master/plumage/parrotSDL.json
00:56 darbelo And on that note. I depart in the search for foods.
00:56 japhb kthakore, I don't have much time, sadly.  That's why Plumage has been not getting good attention recently.
00:56 kthakore japhb: ok
00:59 japhb kthakore, pushed.
00:59 kthakore japhb: yay!
01:00 japhb If you happen to know any companies interested in having Plumage and want to pay for my Plumage grant, let me know.  ;-)
01:00 kthakore japhb: I have 20 dollars
01:00 japhb Heh.
01:00 kthakore is that a grant?
01:01 kthakore ok food
01:03 abqar joined #parrot
01:04 tcurtis bacek: NQP appears to break if Capture provides array.
01:05 bacek_at_work tcurtis, hmm... Strange
01:08 tcurtis As a specific example, ext/NQP-rx/src/stage0/nqp-setting.pir will have [] in a number of places where it should have some other namespace, which produces some imcc syntax errors.
01:10 dalek parrot-plumage: 118d332 | japhb++ | metadata/parrotSDL.json:
01:10 dalek parrot-plumage: [metadata] Add parrotSDL.json; kthakore++
01:10 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/118d332f3de43ca550444e82fb98569e58eca0ac
01:11 cotto clever girl?
01:11 cotto clever girl is http://www.youtube.com/watch?v=LvLu9Nfd_SU
01:12 bacek_at_work tcurtis, I'll try to look at it tonight.
01:12 ash_ joined #parrot
01:23 rurban joined #parrot
01:39 tcurtis pmichaud: ping
01:40 dalek parrot-linear-algebra: a4211ba | Whiteknight++ | src/pmc/nummatrix2d.pmc:
01:40 dalek parrot-linear-algebra: when looping, we should do row first. Other cleanups and changes for consistency
01:40 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/a4211ba8e3d9a685cc003d2431b44787c575d16f
01:40 dalek parrot-linear-algebra: 63787f8 | Whiteknight++ |  (2 files):
01:40 dalek parrot-linear-algebra: Add 1.5 metric crap-tons of new vtables. Also, add stub tests. I think we can
01:40 dalek parrot-linear-algebra: call this a wrap when all these stub tests are implemented and pass
01:40 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/63787f87b6e04c6f1629f2f8d03f0b208174a874
01:42 cotto git++
01:47 dalek parrot: r47771 | tcurtis++ | branches/gsoc_past_optimiz​ation/src/pmc/capture.pmc:
01:47 dalek parrot: Capture provides hash. NQP breaks if Capture provides array.
01:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47771/
01:50 cotto Is there a slicker way of writing for/if in nqp?
01:50 tcurtis cotto, what do you mean?
01:51 plobsing joined #parrot
01:51 cotto for (@a) { if $_.foo { ... } }
01:53 tcurtis No idea.
01:57 sorear next unless $_.foo might work
01:57 bacek_at_work cotto, you can use "postfix" if afaik
01:58 cotto I'll make it work first, then make it all shiny.
02:00 bacek_at_work cotto, fair enough :)
02:01 cotto bacek_at_work, is there an easy way to turn on PIRATE debugging?
02:01 cotto s/?/ output?/
02:01 bacek_at_work cotto, which part?
02:03 cotto pbc generation in this case, but I'm not sure how in general either
02:04 ash_ plobsing: i am testing my nci changes on linux (ubuntu 10.04) it's building fine, but not all of the nci tests are passing, i am looking into that right now
02:06 bacek_at_work cotto, for PBC I'm usually just change setting DEBUG flag.
02:06 bacek_at_work proper way is implementing CLI handling in PIR::Compiler.
02:06 bacek_at_work just didn't have time to do it.
02:06 cotto ok
02:10 pmichaud tcurtis: pong
02:10 tcurtis pmichaud: do you know why NQP breaks if Capture "provides array"?
02:11 pmichaud likely because NQP or the regex engine depend on "does array" to distinguish arrays of match objects from individual match objects
02:18 tcurtis Okay, thanks.
02:28 cotto Is that the best way to differentiate between an array of match objects and an individual match object, given the other constraints at work in nqp?
02:32 pmichaud at the moment, yes.  isa checks don't quite work because there's not a common base class for arrays.
02:32 pmichaud ...and I never ran into a place where I needed a Capture or Match to be marked as "does array"
02:35 janus joined #parrot
02:45 cognominal joined #parrot
02:58 ash_ joined #parrot
03:09 dalek parrot: r47772 | tcurtis++ | branches/gsoc_past_optimization (14 files):
03:09 dalek parrot: Refactored ACCEPTS and ACCEPTSGLOBALLY logic from PAST::Pattern to Tree::Pattern.
03:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47772/
03:19 rurban_ joined #parrot
03:39 LoganLK joined #parrot
04:27 dalek parrot: r47773 | tcurtis++ | branches/gsoc_past_optimization (10 files):
04:27 dalek parrot: Start moving non-PAST-specific patterns to Tree::Pattern subclasses.
04:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47773/
04:35 s1n joined #parrot
04:44 dalek parrot: r47774 | tcurtis++ | branches/gsoc_past_optimization (7 files):
04:44 dalek parrot: Move PAST::Pattern::Any to Tree::Pattern::Any.
04:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47774/
05:07 Coke Pct question - tcl has a syntax for variable expansion, $hash(key) - what the hell do I put into the action for that to do a hash lookup?
05:09 Coke did anyone ever point out that you /can/ loadlib from NQP?
05:10 tcurtis Coke: to do a hash lookup? If I'm correctly understanding you, http://github.com/perl6/nqp-rx/bl​ob/master/src/NQP/Actions.pm#L729 is how NQP-rx does it.
05:10 Coke (you have Q:PIR { # ANY PIR YOU WANT })
05:10 Coke ah, I was looking in the PAST docs. =-)
05:11 Coke tcurtis: ok. I fail to see where the key is specified there.
05:12 tcurtis Coke: Frankly, neither do I...
05:12 Coke (and if <EXPR> is the key (which it looks like it is), then where is the hash itself?
05:13 tcurtis Ah. We need to look in the "variable" action, I think.
05:14 tcurtis Or not... I'm not sure. Misread that alternative.
05:16 Coke ah, no, that does help.
05:16 Coke danke.
05:17 dalek parrot: r47775 | tcurtis++ | branches/gsoc_past_optimization (7 files):
05:17 dalek parrot: Move PAST::Pattern::Transformer to Tree::Pattern::Transformer. It only works on PAST's though.
05:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47775/
05:26 tcurtis Glad I could help.
05:36 fperrad_ joined #parrot
05:45 Coke of course, I'm just cargo culting this stuff. *sigh*
05:46 Coke ... and it doesn't work. =-)
05:46 Coke Giving up for tonight. zzzzzzzzz
05:49 dalek parrot: r47776 | tcurtis++ | branches/gsoc_past_optimization (4 files):
05:49 dalek parrot: Fold PAST::Pattern::Node into PAST::Pattern since it's the only remaining subclass(other than its subclasses).
05:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47776/
06:32 cotto bacek_at_work, what's next. ;)
06:37 dalek pir: 3570a38 | cotto++ | src/POST/Key.pm:
06:37 dalek pir: first shot at a POST::Key implementation
06:37 dalek pir: review: http://github.com/bacek/pir/commit/357​0a3868812893f208334c0121652f5111a3310
06:37 dalek pir: a8d868a | cotto++ |  (6 files):
06:37 dalek pir: implement to_pbc for POST::Key, add a basic test
06:37 dalek pir: review: http://github.com/bacek/pir/commit/a8d​868acdea84ce3624a736f38c6bda0569c5ee2
06:43 dalek pir: e02c600 | cotto++ |  (5 files):
06:43 dalek pir: minor code and English fixes
06:43 dalek pir: review: http://github.com/bacek/pir/commit/e02​c60047e287583b24a77fdb4280a4aebc196e3
06:48 cotto looks like desugaring of $P0['foo'] = 3 needs some love
06:50 cotto nope.  set_keyed and get_keyed are definitely nyi
07:06 bacek_at_work cotto++, it's in Actions.pm :) Feel free to implement them
07:07 cotto in progress
07:07 cotto though there's an inconsistency between kc and pc that's not entirely obvious
07:07 bacek_at_work excellent! Looks like we can have almost functional PIRATE by the end of the week!
07:08 * cotto gets out the rum
07:44 dalek parrot: r47777 | tcurtis++ | branches/gsoc_past_optimization (6 files):
07:44 dalek parrot: Added a stub PCT::Pattern class.
07:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47777/
07:44 dalek parrot: r47778 | tcurtis++ | branches/gsoc_past_optimiza​tion/runtime/parrot/library (2 files):
07:44 dalek parrot: Move PAST::Node.match and .subst methods into PCT::Node in the file PCT::Pattern.pbc.
07:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47778/
07:44 dalek parrot: r47779 | tcurtis++ | branches/gsoc_past_optimiza​tion/runtime/parrot/library (2 files):
07:44 dalek parrot: Move PAST::Pattern.attr into PCT::Pattern, along with the accessors corresponding to PCT::Node "attributes".
07:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47779/
07:51 cosimo joined #parrot
07:56 clinton joined #parrot
08:17 dalek parrot: r47780 | tcurtis++ | branches/gsoc_past_optimiza​tion/runtime/parrot/library (2 files):
08:17 dalek parrot: Move check_attribute, check_children into methods on PCT::Pattern. Rename check_node_attributes to
08:17 dalek parrot: check_past_node_attributes now that PCT::Pattern exists.
08:17 dalek parrot: Add check_pct_node_attributes.
08:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47780/
08:17 dalek parrot: r47781 | plobsing++ | branches/dynop_mapping (3 files):
08:17 dalek parrot: Actually remap ops.
08:17 dalek parrot: Remapping is done in imcc. Also some fixups to be able to execute trivial
08:17 dalek parrot: examples. Larger exmples/tests are still extremely segfaulty.
08:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47781/
08:32 cotto bacek, my latest commit to PIRATE adds a failing test.  The Actions.pm code should work, but I'm not sure how to get PIRATE to generate the kc and pc at the right time.
08:32 dalek pir: 8bad9b7 | cotto++ |  (3 files):
08:32 dalek pir: add tests and broken support for set_keyed and get_keyed
08:32 dalek pir: review: http://github.com/bacek/pir/commit/8ba​d9b7da9be9eecd5dc35409d384bb05ef16a89
08:32 cotto My morning brain may be smarter.
08:34 cotto the test is the last one in t/03-pbc/01-basic.t
08:42 tcurtis Good night folks.
08:42 purl and bots!
08:44 tcurtis bacek: I refactored PAST::Pattern a lot tonight. It's to the point where most of its functionality can easily be extended to any tree-like structure. Tomorrow, I'll work on some helpers for making that even easier for PCT::Node subclasses. I'll also have to change PAST::Walker/Transformer to support other types better(but this really needed to be done anyway), but it will hopefully be ready for use optimizing POST in PIRATE no later than Friday. That's not
08:44 tcurtis guarantee, though.
08:47 cotto That was pretty darn quick.
08:50 bacek aloha, humans
08:50 cotto o hi.
08:50 bacek tcurtis++, cotto++, (world domination)++
08:51 dalek parrot: r47782 | cotto++ | trunk/src/packdump.c:
08:51 dalek parrot: [pbc] output element numbers in hex to make it easier to trace through pbc dumps
08:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47782/
08:53 bacek cotto, I'll look at failed test later tonight.
08:53 cotto great
08:54 cotto my remaining brain cells are on strike demanding more down time
08:55 bacek have a good night
08:55 plobsing urg. won't be able to get dynop_mapping into a reasonably working state tonight.
08:56 * plobsing sleeps
08:57 cotto good idea
08:57 cotto tomorrow is almost certain to come
09:13 bacek cotto, still around?
09:18 dalek pir: 3499a7b | bacek++ |  (3 files):
09:18 dalek pir: Change key.type to 'kc'. Add workarond for ConstTable Keys handling. Remove one
09:18 purl dalek: that doesn't look right
09:18 dalek pir: test (will readd later)
09:18 dalek pir: review: http://github.com/bacek/pir/commit/349​9a7b4d661781d88849742c133d3ba8e8f785d
09:39 muixirt joined #parrot
09:53 TiMBuS joined #parrot
09:59 dalek tracwiki: v10 | jimmy++ | CageTasklist
09:59 dalek tracwiki: No CPAN
09:59 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Ca​geTasklist?version=10&amp;action=diff
09:59 dalek rakudo: b043847 | moritz++ | src/Perl6/Module/Loader.pm:
09:59 dalek rakudo: emit more awesome error message when importing a symbol would override an
09:59 dalek rakudo: existing lexical
09:59 dalek rakudo: Previously that died with "Multiple declarations of lexical $symbol".
09:59 dalek rakudo: Next step: don't die when using the same module twice (don't know if that's
10:00 dalek rakudo: going to be quite as easy...)
10:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​043847aa7a2db4a360efc3da375163844504549
10:08 lucian joined #parrot
10:34 gaz joined #parrot
10:34 gaz joined #parrot
10:46 bkuhn joined #parrot
11:35 nopaste "bacek" at 192.168.1.3 pasted "cotto: Keys Grammar changes." (15 lines) at http://nopaste.snit.ch/21505
11:35 bacek msg cotto I broke pirate. Catch me (tomorrow) to discuss handling of "keys". See http://nopaste.snit.ch/21505 for proposed grammar changes to simplify out lives.
11:35 purl Message for cotto stored.
11:53 dalek joined #parrot
11:53 whiteknight joined #parrot
11:59 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34547), fulltest) at r47782 - Ubuntu 10.04 amd64 (g++)
12:04 whiteknight good morning, #parrot
12:04 moritz good localtime()
12:04 moritz does parrot have any IPv6 support?
12:04 whiteknight hello moritz, how are you today?
12:05 whiteknight moritz: not that I am aware
12:05 moritz fine, thank you
12:05 whiteknight I've never done any IPv6 socket work, is it difficult?
12:06 moritz I don't think so; I guess it's just like ipv4, but with different API calls in the background
12:07 whiteknight I'll have to look into it. Parrot definitely *should* have IPv6 support, if it doesn't already
12:08 moritz somebody on perlmonks suggested some concentrated effort on perl 5: http://www.perlmonks.org/?node_id=846021
12:18 whiteknight ...it actually looks relatively easy to add IPv6 support
12:24 whiteknight I don't see anything in the sockets implementation here that looks tied to IPv4. It might be worthwhile to test it to see if IPv6 works
12:25 * moritz has a working ipv6 tunnel at home
12:25 eirik joined #parrot
12:26 szbalint t-online gave me a native block. Maybe I should set it up finally.
12:30 moritz szbalint: they do that? and actually route it?
12:31 moritz it seems parrot has no real networking tests - or am I just missing something?
12:33 szbalint yes, it's working. currently opt-in, but they are planning to make it default enabled for most customers by end of the year
12:34 bluescreen joined #parrot
12:34 moritz cool
12:34 moritz I'll have to ask them
12:36 szbalint (this is .hu I'm talking about, might vary for .de or .at)
12:36 szbalint multinationals suck :)
13:09 JimmyZ joined #parrot
13:12 whiteknight purl msg bubaflub: more contributors are always welcome! If you tell me your github username I'll add you as a committer to PLA
13:12 purl Message for bubaflub stored.
13:13 hercynium joined #parrot
13:15 dalek parrot: r47783 | khairul++ | branches/gsoc_instrument (10 files):
13:15 dalek parrot: Added test for Probe class + interface updates.
13:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47783/
13:29 patspam joined #parrot
13:41 anon08 joined #parrot
13:42 anon08 Hi. Looks like the link to NQP at http://parrot.org/languages is either broken or doesn't point to anything.
13:43 moritz anon08: thanks for letting us know
13:44 moritz NQP is discontinued; the new link should point to nqp-rx on github
13:44 anon08 yw
13:44 anon08 left #parrot
13:45 moritz updated.
13:59 bubaflub joined #parrot
14:02 patspam joined #parrot
14:06 gbacon joined #parrot
14:23 theory joined #parrot
14:29 hercynium joined #parrot
14:30 whiteknight joined #parrot
14:31 estrabd joined #parrot
14:48 plobsing joined #parrot
14:49 dukeleto ash_: don't merge master, merge the upstream branch (on github)
14:57 ash_ dukeleto: alright
14:59 lucian_ joined #parrot
15:00 dukeleto ash_: upstream is a mirror of parrot trunk. master has merge commits
15:00 dukeleto ash_: some content, different commit histories
15:01 ash_ i'll try to switch it to upstream instead of master
15:16 PacoLinux joined #parrot
15:22 davidfetter joined #parrot
15:30 dalek TT #1689 created by NotFound++: is_tty or isatty?
15:30 dalek TT #1689: http://trac.parrot.org/parrot/ticket/1689
15:30 dalek parrot: r47784 | NotFound++ | trunk/src/pmc (2 files):
15:30 dalek parrot: implement isatty method in Handle, fix it in FileHandle and improve Handle POD
15:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47784/
15:44 hercynium joined #parrot
16:01 jan joined #parrot
16:03 dalek parrot: r47785 | NotFound++ | trunk/t/pmc/orderedhashiterator.t:
16:03 dalek parrot: some more OrderedHashIterator tests
16:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47785/
16:08 cotto joined #parrot
16:09 cotto ~~
16:09 cotto bacek, you around
16:09 cotto ?
16:29 cognominal joined #parrot
16:36 hercynium joined #parrot
16:39 * darbelo reads the bakclog
16:50 NotFound Ooooppss... wrong commit message-
16:52 dalek parrot: r47786 | NotFound++ | trunk/src/pmc (2 files):
16:52 dalek parrot: trailing space
16:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47786/
17:24 gbacon joined #parrot
17:33 whiteknight joined #parrot
17:34 hercynium joined #parrot
17:45 cotto_work hello
17:45 whiteknight hello cotto_work
17:47 slavorgn joined #parrot
17:57 patspam joined #parrot
18:16 cotto_work msg bacek Ping me when you're up and let me know what you're thinking about PIRATE?
18:16 purl Message for bacek stored.
18:16 cotto_work s/?/./
18:17 lucian joined #parrot
18:21 dalek parrot-linear-algebra: f5a1faa | Whiteknight++ |  (3 files):
18:21 dalek parrot-linear-algebra: Add freeze/thaw to Complex- and PMCMatrix2D. Add tests for freeze/thaw that the
18:21 dalek parrot-linear-algebra: primary types pass
18:21 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/f5a1faab97bbe7f926bc4810c4cc5d12e11f422c
18:21 dalek parrot-linear-algebra: dac680b | Whiteknight++ |  (3 files):
18:21 dalek parrot-linear-algebra: Some fixes to NumMatrix2D and flesh out most of the new test methods. Total is
18:21 dalek parrot-linear-algebra: 108 tests run for this type, only a small handful are still TODO'd
18:21 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/dac680b3f8ab832f0841097fbab5138e94ddb0b3
18:25 sorear whiteknight: Hi
18:25 purl hey, sorear.
18:26 sorear whiteknight: I'm curious - if you know - how did linear algebra come to matter?
18:26 whiteknight sorear: what do you mean?
18:26 sorear Why is so much scientific computation these days expressed in terms of giant matrices?
18:30 dmalcolm joined #parrot
18:32 ambs joined #parrot
18:33 whiteknight sorear: for a number of reasons. The big two are because it tends to be easy to model complex systems as matrices, and because it tends to be very efficient to manipulate matrices on computers
18:34 whiteknight a polynomial equation, for instance, can be turned into a vector and combined together using vector convolution. Then dot-product that against an array of values and you get your answer
18:35 whiteknight systems of linear differential equations can likewise be converted into a matrix format and solved that way using computers
18:36 sorear mm
18:36 NotFound And bug matrix operations are paralelizable
18:36 NotFound s/bug/big
18:37 whiteknight yeah, that's what I mean by efficient. When you start talking about vectorized CPU instructions (SSE, MMX, etc) those are specifically designed for matrix operations
18:37 whiteknight plus, anything with graphics (bitmaps) are all huge matrix equations
18:37 cotto_work clock?
18:37 purl cotto_work: LAX: Wed 11:37am PDT / CHI: Wed 1:37pm CDT / NYC: Wed 2:37pm EDT / LON: Wed 7:37pm BST / BER: Wed 8:37pm CEST / IND: Thu 12:07am IST / TOK: Thu 3:37am JST / SYD: Thu 4:37am EST /
18:38 whiteknight a 1024x768 display is treated internally like a 1024x768x4 matrix, and what you see on the screen is calculated as a functin on that matrix
18:51 patspam joined #parrot
18:53 patspam joined #parrot
19:06 tewk who wrote (link?) the excellent rant on why pointing newbie contributors to reams of docs, faqs, procedures and policies is absolutely the wrong way to build community?
19:06 whiteknight tewk: no idea. I know what you're talking about but I don't remember who wrote it
19:09 cotto_work sounds promising.  I'd like to see that if either of you find a link.
19:10 LoganLK joined #parrot
19:16 tewk mst wrote something similiar but I don't think it was him.
19:19 dalek parrot: r47787 | chromatic++ | trunk/src/pmc/default.pmc:
19:19 dalek parrot: [PMC] Added a quick constant string pointer check to Default PMC's isa as a
19:19 dalek parrot: minor optimization.
19:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47787/
19:20 patspam joined #parrot
19:24 patspam joined #parrot
19:24 Coke joined #parrot
19:25 * Coke accidentally dropped his connection. whoops.
19:25 * Coke hopes he didn't miss anything. =-)
19:27 atrodo Just the magic that made parrot fast
19:27 cotto_work boy did you ever
19:27 cotto_work no
19:27 cotto_work t
19:28 atrodo "return 1;"
19:28 cotto_work we could totally get "hello world" optimized with something like that.
19:31 atrodo i love NQP's "Confused" error
19:32 cotto_work That's good.  You'll see it often.
19:33 atrodo does that indicate the parser has failed?
19:34 cotto_work If you get an error, the parser has probably failed.
19:35 Coke Confused is the generic "i can no longer parse this", yes.
19:35 Coke pmichaud: it was not quite working. I am close. :P
19:36 davidfetter joined #parrot
19:37 dalek rakudo: f3d8af8 | moritz++ | src/Perl6/Compiler.pir:
19:37 dalek rakudo: make @*INC writable, by popular request (RT #75956)
19:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​3d8af806a52c0d8935ee99f89b8703c91263fec
19:37 dalek plparrot: 30cc7d4 | (David Fetter)++ | html/ (3 files):
19:37 dalek plparrot: Added some slides.
19:37 dalek plparrot: review: http://github.com/leto/plparrot/commit/3​0cc7d47bc278ef1ed72fb6729918a76eb153455
19:37 atrodo So, Confused eq "atrodo has no idea what he's doing".
19:38 cotto_work feel free to nopaste your code or otherwise share it here
19:39 atrodo i'm almost to that point.
19:39 atrodo which itself may help by making me think through the problem more
19:40 dalek winxed: r518 | julian.notfound++ | trunk/winxedst1.winxed:
19:40 dalek winxed: add 'using extern' namespace scoped to mean pir '.loadlib'
19:40 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=518
19:40 cotto_work it often works that way
19:41 atrodo the more perl6 i learn, the more magical it is.
19:41 cotto_work It took me a while to get to like nqp, but I love it now that I know it well enough to get a little work done.
19:42 atrodo Aye, i suspect that'll happen to me.
19:42 moritz the pir:: support in nqp makes it very effective for parrot stuff
19:45 atrodo unrelated, does nqp support twigil's?  specifically $^ ?
19:46 moritz no, I think only the * twigil
19:46 s1n joined #parrot
19:47 atrodo kthakore> My next YAPC session is the game one you were talking about the other day
19:50 Coke My only problem with NQP is a lack of PAST undersatnding.
19:50 Coke (my lack, not nqp's)
19:54 kthakore atrodo: yay!
19:54 kthakore atrodo: have fun
19:54 purl Don't do anything I wouldn't do!!!
19:55 atrodo Looks like the recording equipment is in this room.  I'm not sure if that question was ever answered for you
19:56 cotto_work That's an important step, but I don't think videos from either of the past two YAPC::NAs were ever posted.
19:57 atrodo The YAPC coordinators were complaining about that, so hopefully they do a better jobs
19:58 cotto_work Here's hoping.
19:58 * kthakore cross fingers
19:58 atrodo There have been some really good ones, but then, I don't have any frame of refrence
19:59 kthakore atrodo: btw you can be on #sdl to ask real questions as robhas not learned the new SDL stuff going on right now :)
19:59 kthakore robert
19:59 cotto_work pmichaud's lolcat history of Perl 6 lightning talk is great.
19:59 atrodo He didn't do that :(
19:59 kthakore atrodo: what?
20:00 atrodo sorry,t hat was towards cotto_work
20:00 kthakore atrodo: fine then *hmph*
20:00 cotto_work I'm sure you'll find plenty of other awesomeness.
20:01 atrodo cotto_work> I have
20:05 Coke joined #parrot
20:05 Psyche^ joined #parrot
20:08 Coke joined #parrot
20:08 dalek parrot: r47788 | tcurtis++ | branches/gsoc_past_optimization (3 files):
20:08 dalek parrot: Add a helper function for more conveniently defining subclasses of PCT::Pattern anduse it to define PAST::Pattern::Control.
20:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47788/
20:34 tcurtis joined #parrot
20:34 estrabd joined #parrot
20:36 estrabd joined #parrot
20:42 dalek winxed: r519 | julian.notfound++ | trunk/winxedst1.winxed:
20:42 dalek winxed: refactor Namespace.getpath to Namespace.getpath and RootNamespace.getpath to
20:42 dalek winxed: avoid conditional
20:42 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=519
20:45 moritz tcurtis: I've just tried to add an optimization stage to rakudo
20:45 moritz along the lines of your second-newest blog post
20:45 moritz tcurtis: it dies with  "load_bytecode" couldn't find file 'PCT/Pattern.pbc'
20:45 moritz tcurtis: should that file be installed, and isn't?
20:47 atrodo http://gist.github.com/450522  # That gives me a confused.
20:47 atrodo I suspect, that the problem is not with the code itself, but the fact that it's the second time I've tried to compile something
20:48 tcurtis moritz: I'd been doing some refactoring and hadn't yet updated what should be installed. Sorry about that. I'll commit a fix in a moment.
20:48 cotto_work atrodo: that's a single line of commented-out code
20:48 moritz tcurtis: no hurry, I'll go to bed now anyway
20:48 atrodo cotto_work>  you are correct
20:48 cotto_work I wouldn't expect much from it.
20:49 atrodo A blank string will not phase it, but once it has any content, it gets confused
20:49 cotto_work what is this "it" you're talking about?  nqp is perfectly happy with that comment.
20:50 tcurtis moritz: Expect to find it working when you wake up. Also, please let me know how you find the API.
20:50 atrodo it is nqp compiler in an embedded situation
20:51 atrodo Time to make a test case, see if it's me or someone else.
20:52 dalek rakudo: 11cbd4f | util++ |  (3 files):
20:52 dalek rakudo: Change dynops build from deprecated ops2c.pl to new NQP-based ops2c
20:52 purl dalek: that doesn't look right
20:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​1cbd4f3ccb80703af2059088852413928132150
20:54 cotto_work It's nice to see a deprecation go smoothly for a change.
20:57 cotto_work no pain, no sudden changes, just "This thing is deprecated.  Please switch to this other similar thing within the next three months."
21:04 whiteknight joined #parrot
21:05 tcurtis moritz: fix commited.
21:09 tcurtis There's currently not any way to find any but the first method with a given name in a class's MRO, right(from PIR or HLL, at least)?
21:10 cotto_work tcurtis, I know that Rakudo implements something like that.
21:11 cotto_work I'm syre it could be exposed if it'd be useful and if it's not already accessible.
21:14 dalek parrot: r47789 | tcurtis++ | branches/gsoc_past_optimiz​ation/MANIFEST.generated:
21:14 dalek parrot: Fix installation.
21:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47789/
21:14 dalek parrot: r47790 | coke++ | trunk/runtime/parrot/library/SDL.pir:
21:14 dalek parrot: Remove random debug output noticed by quietfanatic++
21:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47790/
21:16 * tcurtis looking at rakudo to see how they implement nextwith/nextsame now.
21:17 kthakore Coke: yay!
21:17 kthakore Coke: can't you just import http://github.com/kthakore/parrotSDL there?
21:17 kthakore Coke: it fixes all the tests
21:18 NotFound Can someone add parrot-mysql metadata to plumage?
21:19 japhb NotFound, sure, send me the json and I'd be happy to.
21:20 NotFound japhb: http://code.google.com/p/parrot-mysql/​source/browse/trunk/parrot-mysql.json
21:22 japhb NotFound: Pushed, enjoy!
21:22 NotFound Thanks
21:23 japhb bp
21:23 japhb er
21:23 japhb np
21:24 NotFound Happy to see plumage working again
21:24 japhb DITTO
21:24 japhb Many thanks to darbelo++ for that
21:25 cotto_work bp != np
21:26 darbelo bp != p ?
21:26 japhb On so many levels
21:30 dalek parrot-plumage: 76c38f9 | japhb++ | metadata/parrot-mysql.json:
21:30 dalek parrot-plumage: [metadata] Add parrot-mysql.json, NotFound++
21:30 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/76c38f94ea56041ef5e72f4c074e69c823d08a5b
21:59 Hunger joined #parrot
22:12 cotto_work clock?
22:12 purl cotto_work: LAX: Wed 3:12pm PDT / CHI: Wed 5:12pm CDT / NYC: Wed 6:12pm EDT / LON: Wed 11:12pm BST / BER: Thu 12:12am CEST / IND: Thu 3:42am IST / TOK: Thu 7:12am JST / SYD: Thu 8:12am EST /
22:13 bacek good morning, humans
22:13 bacek cotto, ping :)
22:13 whiteknight good morning, bacek
22:13 cotto_work hio bacek
22:13 cotto_work I was just wondering if you were up yet.
22:13 bacek whiteknight, aloha
22:13 s1n joined #parrot
22:13 bacek cotto_work, I am.
22:14 cotto_work What great and lofty plans have you for PIRATE?
22:14 patspam joined #parrot
22:14 bacek cotto_work, demistify keys.
22:14 cotto_work yarly
22:14 bacek I don't quite understand how imcc select proper op...
22:15 cotto_work I was hoping it'd make sense to you.
22:15 bacek basically, there is 4 ops which accept keys - delete, exists, defined and set
22:15 cotto_work I guess I underestimated imcc.
22:15 cotto_work and new?
22:15 purl new is the constructor method of Wx::App
22:15 bacek nope, "new" accepts pmc
22:15 bacek purl, forget new
22:15 purl bacek: I forgot new
22:16 cotto_work Oh yeah.  It can accept a kc and pretend that it's a pc.  That confused me.
22:16 bacek cotto_work, it was one of the reasons behind change Grammar.
22:16 bacek Did you see nopaste?
22:16 cotto_work yes
22:17 bacek ok.
22:17 bacek My current idea - separate keyed ops into different category and parse them early.
22:18 bacek rule labeled_instruction { <label>? [ <keyed_op> || <pir_instruction> || <op> ] }
22:19 bacek keyed_op will create Key with .type('kc')
22:19 bacek op will use <namespace_decl> and create Key with .type('pc')
22:20 bacek (Last thing - figure out what the heck is "kic")
22:20 bacek make sense?
22:20 cotto_work Sure.
22:21 cotto_work Does desugaring keyed set/get present a problem?
22:21 bacek cotto_work, nope. Desugaring should create Key.type('kc')
22:22 cotto_work So we just need Key.type to be mutable.
22:22 cotto_work That's not quite what I meant.
22:22 cotto_work We need to be able to set it.
22:23 bacek Yes.
22:23 bacek There is still dark area about other types. We have 4 of them - "k", "kc", "ki" and "kic"...
22:24 cotto_work If kic is just a keyed int constant, that's pretty trivial to deal with
22:24 bacek when we should emit it?
22:24 cotto_work beats me
22:24 whiteknight ki is an intger key
22:24 whiteknight [1;2]
22:24 whiteknight k is a key with other crap too
22:24 whiteknight [1;"foo"]
22:25 bacek not kc?
22:25 whiteknight int ops, it's INTKEY and KEY
22:25 cotto_work I think kc is a key constant, i.e. somewhere in the constants table
22:25 bacek cotto_work, yes. It's how pirate treat them now.
22:26 whiteknight c is constant, yes
22:26 bacek so, set $P0, [1], $S0 -> set_p_kic_s?
22:26 cotto_work and it's consistent with what i've found trolling through bytecode
22:26 whiteknight Personally, I don't know how k ever gets called since all keys are constant
22:26 cotto_work There's an easy way to find out.
22:26 bacek set $P0, [1;2], $S0 -> set_ki_s
22:26 whiteknight if the are not constant and generated at runtime, they would be p
22:27 whiteknight or, maybe it's the other way around
22:27 whiteknight but I don't know how anybody would differentiate between k and kc (or ki and kic)
22:28 bacek whiteknight, there is no way to distinguish "a[b] = c" vs "a = b[c]" if keys aren't constants.
22:28 whiteknight maybe the difference is the contents of the key
22:28 bacek both will be set_p_p_p
22:28 whiteknight so [1;"foo"] would be k, but [$I0;$S0] would be kc
22:28 bacek other way round
22:28 whiteknight yes, other way
22:29 whiteknight I'm certain that's it
22:29 whiteknight I suspect it's only the first element of the key that's counted
22:29 bacek yes. But how you can express non-constant keys in pir?
22:29 cotto_work bacek, that code generates set_p_kic_sc
22:30 whiteknight so [1;$S0] would be kc, while [$I0;"foo"] would be k
22:30 cotto_work $P0[1] = 'asdf'
22:30 whiteknight yes, [1] would be kic
22:30 sorear We haven't gotten rid of keys yet?
22:30 cotto_work same for $P0[1;2] = '...'
22:30 bacek sorear, http://trac.parrot.org/parrot/ticket/903
22:31 bacek [1;$S0] and [$I0,"foo"] both kc
22:31 cotto_work same for $P0[1;'2'] = 'asdf'
22:31 bacek cotto_work, [1;'2'] is kic???
22:32 cotto_work nm.  kc
22:32 whiteknight bacek: yes, I would suspect so
22:32 whiteknight try it to see, but that's what I think
22:32 cotto_work I should just make a table
22:32 bacek basically [] always generate k*c.
22:32 bacek (I suspect it)
22:33 whiteknight bacek: there's only one way to find out
22:33 NotFound [1] isn't a key, get_..._keyed_int
22:33 bacek whiteknight, NOOOO. I don't want to look at IMCC code again.
22:33 sorear ...allison wants to KEEP multidimensional hash lookups?  eew.
22:34 bacek sorear, yeah...
22:34 bacek We should use it only for namespaces, not Hashes.
22:35 cotto_work NotFound, [1] goes to get_x_keyed and that (possibly, depending on the PMC) goes to get_x_keyed_int
22:35 NotFound bacek: how do you know the difference if you only have $P0 ?
22:35 bacek NotFound, ?
22:35 purl it has been said that NotFound, is there any reason to keep RT#50092 open?
22:36 NotFound bacek: $P0['x';'y'] -> $P0 can be a hash, a namespace...
22:36 nopaste "cotto" at 192.168.1.3 pasted "a table" (6 lines) at http://nopaste.snit.ch/21522
22:38 bacek NotFound, yes. It's up to particular pmc to decide how to handle it...
22:39 bacek cotto_work, thanks!
22:39 bacek So, there is just single optimization inside imcc to select kic when key is single int
22:39 bacek cotto_work, what about $P0[$I0]?
22:40 cotto_work set_p_ki_sc
22:40 cotto_work as you might guess
22:40 bacek yes :)
22:40 cotto_work though I'll eat my hat if anything uses it
22:41 cotto_work (fun fact: I don't have a hat on)
22:41 bacek it's better not to have it
22:41 bacek loop: $P0[i] = 0; if i<100 goto loop
22:41 bacek quite common pattern
22:42 bacek .local int i
22:42 cotto_work cotto-- #brain turn on plz
22:43 bacek cotto++ # whatever :)
22:43 bacek So, plan is:
22:43 bacek 1. Separate keyed_ops in grammar.
22:44 bacek 2. Create Key in Actions with type 'ki' for single int Register, 'kic' for single int Constant, 'kc' otherwise
22:44 bacek 3. Change op to have <namespace_decl> instead of pir_key
22:45 bacek 4. namespace_decl.ast will produce Key with type 'pc'
22:45 bacek Correct?
22:46 NotFound bacek: that's a bug in imcc, it allows nonsensical namespace declarations.
22:46 bacek NotFound, e.g.?
22:46 cotto_work I'm not entirely clear on the difference between namespace_decl and pir_key, but yes.
22:46 NotFound bacek: .namespace [ 0 ]
22:46 bacek cotto_work, namespace_decl accepts strings only.
22:47 cotto_work Ok.  So something silly like $P0 = new [0;1] won't parse.  wfm
22:47 cotto_work That makes sense.
22:47 bacek NotFound, this bug doesn't exists in pirate :)
22:47 NotFound cotto_work: Silly? Is a two-dimensional array access.
22:48 NotFound Uh, no, didn't see the new.
22:48 bacek ~/src/pir (master)$ head -1 t.pir
22:48 NotFound But then you can't use it for keys.
22:48 bacek .namespace [ 0 ]
22:48 bacek ~/src/pir (master)$ ./installable_pir --target=parse t.pir
22:48 bacek Confused at line 1, near ".namespace"
22:48 bacek NotFound, step 1 in plan - separate keyed_ops :)
22:49 NotFound I'm confusing myself, better goto bed X-)
22:50 bacek and now it's time for dayjob for one silly robot.
22:50 bacek c u
22:50 cotto_work bye
22:50 cotto_work I'll hack on what I can tonight.  not sure what time will be like
22:51 cotto_work apart from being linear and moving forward at a mostly-fixed rate according to the laws of relativity
22:52 * whiteknight HATES imcc error messages
22:52 whiteknight especially when combined with NQP
22:52 whiteknight error:imcc:syntax error, unexpected PREG, expecting '(' ('$P452')
22:52 whiteknight in file 'EVAL_1' line 64029477
22:52 * darbelo hates imcc errors
22:52 * darbelo hates imcc
22:53 whiteknight syntax error ... somewhere
22:53 cotto_work darbelo: may I suggest a bit of PIRACY?
22:53 whiteknight ^ that's a quote from goddamn IMCC
22:53 darbelo whiteknight: Youa re using a op that got removed :)
22:54 darbelo whiteknight: Yes, that's not what the error says. That's still your problem.
22:54 whiteknight did anybody put together a list of the ops that actually got removed?
22:54 darbelo grep for '$P452' and see what is at the beggining of that line.
22:55 darbelo you can start the list with that one ;)
22:56 tcurtis whiteknight: probably something to do with pir::
22:56 tcurtis whiteknight, for example, if you do pir::fish or some other non-existent op, it'll do that iirc.
22:57 dalek winxed: r520 | julian.notfound++ | trunk/winxedst1.winxed:
22:57 dalek winxed: fix silly mistake in MultiStatement
22:57 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=520
22:57 cotto_work We have OpLib.  That should be entirely evitable.
22:57 NotFound darbelo: yeah, and imcc is doing a marvelous job helping locate it X-)
22:57 cotto_work though dynops complicate the matter
22:58 cotto_work as always
22:59 NotFound cotto_work: OpLib supposedly uses the current active op set, so it should be able to do the work.
22:59 * tcurtis did not notice that darbelo had already said essentially what I said.
22:59 whiteknight did index_i_s_s disappear?
22:59 cotto_work NotFound, yes but we care if the op is defined at runtime not compiletime.
23:00 darbelo src/ops/string.ops:=item B<index>(out INT, in STR, in STR)
23:00 darbelo src/ops/string.ops:=item B<index>(out INT, in STR, in STR, in INT)
23:00 NotFound cotto_work: if you load the dynop after compliling it you can't compile it X-)
23:02 darbelo whiteknight: Is this code you are working with anywhere I could find it?
23:03 whiteknight kakapo build fails with those cryptic build errors I showed earlier. PLA doesn't even configure, setup.pir silently exits somewhere inside fperrad's distutils routine
23:03 cotto_work (silent failure)--
23:04 NotFound Welcome to dynop hell
23:05 nopaste "darbelo" at 192.168.1.3 pasted "Try this" (12 lines) at http://nopaste.snit.ch/21523
23:05 Hunger joined #parrot
23:05 darbelo I don't have blas on this box anymore, so http://nopaste.snit.ch/21523 is the best I can do with the PLA setup.pir.
23:07 whiteknight darbelo: yeah, I did that already. Turns the IMCC parse errors into the silent failure inside distutils
23:08 darbelo Odd.
23:10 NotFound whiteknight: You can read parrot version from config instead of using sysinfo
23:12 darbelo That too.
23:12 darbelo But I don't think that's te issue here.
23:12 NotFound darbelo: loading a dynop currently always can be.
23:13 NotFound In fact, it is!
23:13 darbelo Dammit, wasn't this solved already?
23:14 NotFound darbelo: is workarounded, not solved.
23:14 NotFound .sub 'system_linker_settings'
23:14 NotFound .param pmc config
23:14 NotFound -    $S0 = sysinfo 4
23:14 NotFound +    $S0 = config['os']
23:14 NotFound if $S0 == "linux" goto have_linux
23:16 NotFound Uh... config isn't what I believed it was...
23:20 nopaste "NotFound" at 192.168.1.3 pasted "Fix for PLA setup.pir" (24 lines) at http://nopaste.snit.ch/21524
23:23 NotFound whiteknight: ping
23:25 dalek parrot: r47791 | tcurtis++ | trunk/compilers/pct/src/POST/Node.pir:
23:25 dalek parrot: Remove redundant POD for POST::Node.result
23:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47791/
23:25 nopaste "tcurtis" at 192.168.1.3 pasted "codetest failure in trunk" (15 lines) at http://nopaste.snit.ch/21525
23:25 bacek_at_work aloha,
23:26 tcurtis I don't know what pccmethod_deps.t tests, so I'm not sure how to fix that.
23:26 bacek_at_work cotto_work, btw, we don't need Key.keys. We can just push parts into it (for consistency with all other classes)
23:27 cotto_work wfm\
23:28 cotto_work I figure that since we have a subclass, why not make it different from its parent. ;)
23:28 bacek_at_work :)
23:31 athomason joined #parrot
23:33 cotto_work I guess without .keys, the only reason for POST::Key to exist as a separate subclass is for mmd.
23:34 cotto_work it'd be a good idea to note that in the source code
23:34 bacek_at_work cotto_work, wfm
23:38 patspam joined #parrot
23:40 NotFound msg whiteknight pasted "Fix for PLA setup.pir" (24 lines) at http://nopaste.snit.ch/21524
23:40 purl Message for whiteknight stored.
23:47 cotto_work clock?
23:47 purl cotto_work: LAX: Wed 4:47pm PDT / CHI: Wed 6:47pm CDT / NYC: Wed 7:47pm EDT / LON: Thu 12:47am BST / BER: Thu 1:47am CEST / IND: Thu 5:17am IST / TOK: Thu 8:47am JST / SYD: Thu 9:47am EST /
23:49 Coke joined #parrot
23:54 mikehh tcurtis: BTW ran some tests on gsoc_past_optimization branchearlier -
23:55 mikehh gsoc_past_optimization branch: All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r47782 - Ubuntu 10.04 amd64 (g++)

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

Parrot | source cross referenced