|
Parrot 2.5.0 Released! | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere | Priorities: merge gc_massacre, remove deprecated items, add deprecation notices for 2.6, close tickets. Set by moderator on 22 June 2010. |
|||
|
00:10
patspam joined
|
|||
| darbelo | Wait. When did I get a Tapir commit bit? | 00:11 | |
| dukeleto: ping | 00:12 | ||
| cotto_work | time to go home | 00:15 | |
|
00:15
Andy joined
|
|||
| dalek | pir: 3bb8c2e | darbelo++ | CREDITS: Add myself to credits. |
00:16 | |
|
00:21
davidfetter joined
00:22
arnsholt joined
00:25
jjore joined
|
|||
| darbelo | tell me more german | 00:27 | |
| wrong window. | |||
| purl | I love you too, dad. | ||
|
00:27
Khisanth joined
00:31
slavorgn joined
|
|||
| cotto | ohai' | 00:31 | |
|
00:32
patspam joined
00:33
theory joined
00:41
eternaleye joined
|
|||
| dalek | rrot: r47770 | tcurtis++ | failed to fetch changeset: Sync with trunk and regen manifest. |
00:41 | |
| cotto | parrot git? | 00:42 | |
| purl | parrot git is repo.or.cz/w/parrot.git or github.com/leto/parrot | ||
| darbelo | msg whiteknight Plumage fixed for parrot HEAD. Spread the word! | 00:48 | |
| purl | Message for whiteknight stored. | ||
| kthakore | darbelo: ok! | 00:50 | |
| darbelo: can I do plumage parrotSDL ? | |||
| bacek_at_work | aloha, cotto | 00:52 | |
| darbelo | kthakore: Not really. You have to teach plumage how to fetch, build, install, etc. your project. | ||
| That's done by writing a small json file in a predefined format. | 00:53 | ||
| kthakore | darbelo: how? | ||
| darbelo: I have it | |||
| darbelo | purl plumage? | ||
| 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 gitorious.org/parrot-plumage/parrot-plumage and the design docs are at trac.parrot.org/parrot/wiki/ModuleEcosystem | ||
| kthakore | darbelo: github.com/kthakore/parrotSDL/blob/...otSDL.json | ||
| 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. | ||
| 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> | ||
| kthakore | japhb: you want me to give you a commitbit to parrotSDL? | 00:56 | |
| japhb: what is your github account? | |||
| japhb: also here is the .json github.com/kthakore/parrotSDL/blob/...otSDL.json | |||
| darbelo | And on that note. I depart in the search for foods. | ||
| japhb | kthakore, I don't have much time, sadly. That's why Plumage has been not getting good attention recently. | ||
| kthakore | japhb: ok | ||
| japhb | kthakore, pushed. | 00:59 | |
| kthakore | japhb: yay! | ||
| 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 | ||
| japhb | Heh. | ||
| kthakore | is that a grant? | ||
| ok food | 01:01 | ||
|
01:03
abqar joined
|
|||
| tcurtis | bacek: NQP appears to break if Capture provides array. | 01:04 | |
| bacek_at_work | tcurtis, hmm... Strange | 01:05 | |
| 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:08 | |
| dalek | rrot-plumage: 118d332 | japhb++ | metadata/parrotSDL.json: [metadata] Add parrotSDL.json; kthakore++ |
01:10 | |
| cotto | clever girl? | 01:11 | |
| clever girl is www.youtube.com/watch?v=LvLu9Nfd_SU | |||
| bacek_at_work | tcurtis, I'll try to look at it tonight. | 01:12 | |
|
01:12
ash_ joined
01:23
rurban joined
|
|||
| tcurtis | pmichaud: ping | 01:39 | |
| dalek | rrot-linear-algebra: a4211ba | Whiteknight++ | src/pmc/nummatrix2d.pmc: when looping, we should do row first. Other cleanups and changes for consistency |
01:40 | |
| rrot-linear-algebra: 63787f8 | Whiteknight++ | (2 files): Add 1.5 metric crap-tons of new vtables. Also, add stub tests. I think we can |
|||
| cotto | git++ | 01:42 | |
| dalek | rrot: r47771 | tcurtis++ | branches/gsoc_past_optimization/src/pmc/capture.pmc: Capture provides hash. NQP breaks if Capture provides array. |
01:47 | |
| cotto | Is there a slicker way of writing for/if in nqp? | 01:50 | |
| tcurtis | cotto, what do you mean? | ||
|
01:51
plobsing joined
|
|||
| cotto | for (@a) { if $_.foo { ... } } | 01:51 | |
| tcurtis | No idea. | 01:53 | |
| sorear | next unless $_.foo might work | 01:57 | |
| bacek_at_work | cotto, you can use "postfix" if afaik | ||
| cotto | I'll make it work first, then make it all shiny. | 01:58 | |
| bacek_at_work | cotto, fair enough :) | 02:00 | |
| cotto | bacek_at_work, is there an easy way to turn on PIRATE debugging? | 02:01 | |
| s/?/ output?/ | |||
| bacek_at_work | cotto, which part? | ||
| cotto | pbc generation in this case, but I'm not sure how in general either | 02:03 | |
| 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:04 | |
| bacek_at_work | cotto, for PBC I'm usually just change setting DEBUG flag. | 02:06 | |
| proper way is implementing CLI handling in PIR::Compiler. | |||
| just didn't have time to do it. | |||
| cotto | ok | ||
| pmichaud | tcurtis: pong | 02:10 | |
| tcurtis | pmichaud: do you know why NQP breaks if Capture "provides array"? | ||
| pmichaud | likely because NQP or the regex engine depend on "does array" to distinguish arrays of match objects from individual match objects | 02:11 | |
| tcurtis | Okay, thanks. | 02:18 | |
| 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:28 | |
| pmichaud | at the moment, yes. isa checks don't quite work because there's not a common base class for arrays. | 02:32 | |
| ...and I never ran into a place where I needed a Capture or Match to be marked as "does array" | |||
|
02:35
janus joined
02:45
cognominal joined
02:58
ash_ joined
|
|||
| dalek | rrot: r47772 | tcurtis++ | branches/gsoc_past_optimization (14 files): Refactored ACCEPTS and ACCEPTSGLOBALLY logic from PAST::Pattern to Tree::Pattern. |
03:09 | |
|
03:19
rurban_ joined
03:39
LoganLK joined
|
|||
| dalek | rrot: r47773 | tcurtis++ | branches/gsoc_past_optimization (10 files): Start moving non-PAST-specific patterns to Tree::Pattern subclasses. |
04:27 | |
|
04:35
s1n joined
|
|||
| dalek | rrot: r47774 | tcurtis++ | branches/gsoc_past_optimization (7 files): Move PAST::Pattern::Any to Tree::Pattern::Any. |
04:44 | |
| 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:07 | |
| did anyone ever point out that you /can/ loadlib from NQP? | 05:09 | ||
| tcurtis | Coke: to do a hash lookup? If I'm correctly understanding you, github.com/perl6/nqp-rx/blob/master...ns.pm#L729 is how NQP-rx does it. | 05:10 | |
| Coke | (you have Q:PIR { # ANY PIR YOU WANT }) | ||
| ah, I was looking in the PAST docs. =-) | |||
| tcurtis: ok. I fail to see where the key is specified there. | 05:11 | ||
| 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? | ||
| tcurtis | Ah. We need to look in the "variable" action, I think. | 05:13 | |
| Or not... I'm not sure. Misread that alternative. | 05:14 | ||
| Coke | ah, no, that does help. | 05:16 | |
| danke. | |||
| dalek | rrot: r47775 | tcurtis++ | branches/gsoc_past_optimization (7 files): Move PAST::Pattern::Transformer to Tree::Pattern::Transformer. It only works on PAST's though. |
05:17 | |
| tcurtis | Glad I could help. | 05:26 | |
|
05:36
fperrad_ joined
|
|||
| Coke | of course, I'm just cargo culting this stuff. *sigh* | 05:45 | |
| ... and it doesn't work. =-) | 05:46 | ||
| Giving up for tonight. zzzzzzzzz | |||
| dalek | rrot: r47776 | tcurtis++ | branches/gsoc_past_optimization (4 files): Fold PAST::Pattern::Node into PAST::Pattern since it's the only remaining subclass(other than its subclasses). |
05:49 | |
| cotto | bacek_at_work, what's next. ;) | 06:32 | |
| dalek | r: 3570a38 | cotto++ | src/POST/Key.pm: first shot at a POST::Key implementation |
06:37 | |
| r: a8d868a | cotto++ | (6 files): implement to_pbc for POST::Key, add a basic test |
|||
| r: e02c600 | cotto++ | (5 files): minor code and English fixes |
06:43 | ||
| cotto | looks like desugaring of $P0['foo'] = 3 needs some love | 06:48 | |
| nope. set_keyed and get_keyed are definitely nyi | 06:50 | ||
| bacek_at_work | cotto++, it's in Actions.pm :) Feel free to implement them | 07:06 | |
| cotto | in progress | 07:07 | |
| though there's an inconsistency between kc and pc that's not entirely obvious | |||
| bacek_at_work | excellent! Looks like we can have almost functional PIRATE by the end of the week! | ||
| cotto gets out the rum | 07:08 | ||
| dalek | rrot: r47777 | tcurtis++ | branches/gsoc_past_optimization (6 files): Added a stub PCT::Pattern class. |
07:44 | |
| rrot: r47778 | tcurtis++ | branches/gsoc_past_optimization/runtime/parrot/library (2 files): Move PAST::Node.match and .subst methods into PCT::Node in the file PCT::Pattern.pbc. |
|||
| rrot: r47779 | tcurtis++ | branches/gsoc_past_optimization/runtime/parrot/library (2 files): Move PAST::Pattern.attr into PCT::Pattern, along with the accessors corresponding to PCT::Node "attributes". |
|||
|
07:51
cosimo joined
07:56
clinton joined
|
|||
| dalek | rrot: r47780 | tcurtis++ | branches/gsoc_past_optimization/runtime/parrot/library (2 files): Move check_attribute, check_children into methods on PCT::Pattern. Rename check_node_attributes to Add check_pct_node_attributes. |
08:17 | |
| rrot: r47781 | plobsing++ | branches/dynop_mapping (3 files): Actually remap ops. examples. Larger exmples/tests are still extremely segfaulty. |
|||
| 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 | r: 8bad9b7 | cotto++ | (3 files): add tests and broken support for set_keyed and get_keyed |
||
| cotto | My morning brain may be smarter. | ||
| the test is the last one in t/03-pbc/01-basic.t | 08:34 | ||
| tcurtis | Good night folks. | 08:42 | |
| purl | and bots! | ||
| 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 | |
| guarantee, though. | |||
| cotto | That was pretty darn quick. | 08:47 | |
| bacek | aloha, humans | 08:50 | |
| cotto | o hi. | ||
| bacek | tcurtis++, cotto++, (world domination)++ | ||
| dalek | rrot: r47782 | cotto++ | trunk/src/packdump.c: [pbc] output element numbers in hex to make it easier to trace through pbc dumps |
08:51 | |
| bacek | cotto, I'll look at failed test later tonight. | 08:53 | |
| cotto | great | ||
| my remaining brain cells are on strike demanding more down time | 08:54 | ||
| bacek | have a good night | 08:55 | |
| plobsing | urg. won't be able to get dynop_mapping into a reasonably working state tonight. | ||
| plobsing sleeps | 08:56 | ||
| cotto | good idea | 08:57 | |
| tomorrow is almost certain to come | |||
| bacek | cotto, still around? | 09:13 | |
| dalek | r: 3499a7b | bacek++ | (3 files): Change key.type to 'kc'. Add workarond for ConstTable Keys handling. Remove one |
09:18 | |
| purl | dalek: that doesn't look right | ||
|
09:39
muixirt joined
09:53
TiMBuS joined
|
|||
| dalek | tracwiki: v10 | jimmy++ | CageTasklist | 09:59 | |
| tracwiki: No CPAN | |||
| tracwiki: trac.parrot.org/parrot/wiki/CageTas...ction=diff | |||
| kudo: b043847 | moritz++ | src/Perl6/Module/Loader.pm: emit more awesome error message when importing a symbol would override an Previously that died with "Multiple declarations of lexical $symbol". Next step: don't die when using the same module twice (don't know if that's going to be quite as easy...) |
|||
|
10:08
lucian joined
10:34
gaz joined
10:46
bkuhn joined
|
|||
| nopaste | "bacek" at 192.168.1.3 pasted "cotto: Keys Grammar changes." (15 lines) at nopaste.snit.ch/21505 | 11:35 | |
| bacek | msg cotto I broke pirate. Catch me (tomorrow) to discuss handling of "keys". See nopaste.snit.ch/21505 for proposed grammar changes to simplify out lives. | ||
| purl | Message for cotto stored. | ||
|
11:53
dalek joined,
whiteknight joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34547), fulltest) at r47782 - Ubuntu 10.04 amd64 (g++) | 11:59 | |
| whiteknight | good morning, #parrot | 12:04 | |
| moritz | good localtime() | ||
| does parrot have any IPv6 support? | |||
| whiteknight | hello moritz, how are you today? | ||
| moritz: not that I am aware | 12:05 | ||
| moritz | fine, thank you | ||
| whiteknight | I've never done any IPv6 socket work, is it difficult? | ||
| moritz | I don't think so; I guess it's just like ipv4, but with different API calls in the background | 12:06 | |
| whiteknight | I'll have to look into it. Parrot definitely *should* have IPv6 support, if it doesn't already | 12:07 | |
| moritz | somebody on perlmonks suggested some concentrated effort on perl 5: www.perlmonks.org/?node_id=846021 | 12:08 | |
| whiteknight | ...it actually looks relatively easy to add IPv6 support | 12:18 | |
| 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:24 | ||
| moritz has a working ipv6 tunnel at home | 12:25 | ||
|
12:25
eirik joined
|
|||
| szbalint | t-online gave me a native block. Maybe I should set it up finally. | 12:26 | |
| moritz | szbalint: they do that? and actually route it? | 12:30 | |
| it seems parrot has no real networking tests - or am I just missing something? | 12:31 | ||
| 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:33 | |
|
12:34
bluescreen joined
|
|||
| moritz | cool | 12:34 | |
| I'll have to ask them | |||
| szbalint | (this is .hu I'm talking about, might vary for .de or .at) | 12:36 | |
| multinationals suck :) | |||
|
13:09
JimmyZ joined
|
|||
| 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
|
|||
| dalek | rrot: r47783 | khairul++ | branches/gsoc_instrument (10 files): Added test for Probe class + interface updates. |
13:15 | |
|
13:29
patspam joined
13:41
anon08 joined
|
|||
| anon08 | Hi. Looks like the link to NQP at parrot.org/languages is either broken or doesn't point to anything. | 13:42 | |
| moritz | anon08: thanks for letting us know | 13:43 | |
| NQP is discontinued; the new link should point to nqp-rx on github | 13:44 | ||
| anon08 | yw | ||
|
13:44
anon08 left
|
|||
| moritz | updated. | 13:45 | |
|
13:59
bubaflub joined
14:02
patspam joined
14:06
gbacon joined
14:23
theory joined
14:29
hercynium joined
14:30
whiteknight joined
14:31
estrabd joined
14:48
plobsing joined
|
|||
| dukeleto | ash_: don't merge master, merge the upstream branch (on github) | 14:49 | |
| ash_ | dukeleto: alright | 14:57 | |
|
14:59
lucian_ joined
|
|||
| dukeleto | ash_: upstream is a mirror of parrot trunk. master has merge commits | 15:00 | |
| ash_: some content, different commit histories | |||
| ash_ | i'll try to switch it to upstream instead of master | 15:01 | |
|
15:16
PacoLinux joined
15:22
davidfetter joined
|
|||
| dalek | TT #1689 created by NotFound++: is_tty or isatty? | 15:30 | |
| TT #1689: trac.parrot.org/parrot/ticket/1689 | |||
| rrot: r47784 | NotFound++ | trunk/src/pmc (2 files): implement isatty method in Handle, fix it in FileHandle and improve Handle POD |
|||
|
15:44
hercynium joined
16:01
jan joined
|
|||
| dalek | rrot: r47785 | NotFound++ | trunk/t/pmc/orderedhashiterator.t: some more OrderedHashIterator tests |
16:03 | |
|
16:08
cotto joined
|
|||
| cotto | ~~ | 16:09 | |
| bacek, you around | |||
| ? | |||
|
16:29
cognominal joined
16:36
hercynium joined
|
|||
| darbelo reads the bakclog | 16:39 | ||
| NotFound | Ooooppss... wrong commit message- | 16:50 | |
| dalek | rrot: r47786 | NotFound++ | trunk/src/pmc (2 files): trailing space |
16:52 | |
|
17:24
gbacon joined
17:33
whiteknight joined
17:34
hercynium joined
|
|||
| cotto_work | hello | 17:45 | |
| whiteknight | hello cotto_work | ||
|
17:47
slavorgn joined
17:57
patspam joined
|
|||
| 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. | ||
| cotto_work | s/?/./ | ||
|
18:17
lucian joined
|
|||
| dalek | rrot-linear-algebra: f5a1faa | Whiteknight++ | (3 files): Add freeze/thaw to Complex- and PMCMatrix2D. Add tests for freeze/thaw that the |
18:21 | |
| rrot-linear-algebra: dac680b | Whiteknight++ | (3 files): Some fixes to NumMatrix2D and flesh out most of the new test methods. Total is |
|||
| sorear | whiteknight: Hi | 18:25 | |
| purl | hey, sorear. | ||
| sorear | whiteknight: I'm curious - if you know - how did linear algebra come to matter? | 18:26 | |
| whiteknight | sorear: what do you mean? | ||
| sorear | Why is so much scientific computation these days expressed in terms of giant matrices? | ||
|
18:30
dmalcolm joined
18:32
ambs joined
|
|||
| 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:33 | |
| 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:34 | ||
| systems of linear differential equations can likewise be converted into a matrix format and solved that way using computers | 18:35 | ||
| sorear | mm | 18:36 | |
| NotFound | And bug matrix operations are paralelizable | ||
| s/bug/big | |||
| 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 | |
| plus, anything with graphics (bitmaps) are all huge matrix equations | |||
| cotto_work | clock? | ||
| 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 / | ||
| 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:38 | |
|
18:51
patspam joined
18:53
patspam joined
|
|||
| 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 | ||
| cotto_work | sounds promising. I'd like to see that if either of you find a link. | 19:09 | |
|
19:10
LoganLK joined
|
|||
| tewk | mst wrote something similiar but I don't think it was him. | 19:16 | |
| dalek | rrot: r47787 | chromatic++ | trunk/src/pmc/default.pmc: [PMC] Added a quick constant string pointer check to Default PMC's isa as a |
19:19 | |
|
19:20
patspam joined
19:24
patspam joined,
Coke joined
|
|||
| Coke accidentally dropped his connection. whoops. | 19:25 | ||
| Coke hopes he didn't miss anything. =-) | |||
| atrodo | Just the magic that made parrot fast | 19:27 | |
| cotto_work | boy did you ever | ||
| no | |||
| t | |||
| atrodo | "return 1;" | 19:28 | |
| cotto_work | we could totally get "hello world" optimized with something like that. | ||
| atrodo | i love NQP's "Confused" error | 19:31 | |
| cotto_work | That's good. You'll see it often. | 19:32 | |
| atrodo | does that indicate the parser has failed? | 19:33 | |
| cotto_work | If you get an error, the parser has probably failed. | 19:34 | |
| Coke | Confused is the generic "i can no longer parse this", yes. | 19:35 | |
| pmichaud: it was not quite working. I am close. :P | |||
|
19:36
davidfetter joined
|
|||
| dalek | kudo: f3d8af8 | moritz++ | src/Perl6/Compiler.pir: make @*INC writable, by popular request (RT #75956) |
19:37 | |
| parrot: 30cc7d4 | (David Fetter)++ | html/ (3 files): Added some slides. |
|||
| atrodo | So, Confused eq "atrodo has no idea what he's doing". | ||
| cotto_work | feel free to nopaste your code or otherwise share it here | 19:38 | |
| atrodo | i'm almost to that point. | 19:39 | |
| which itself may help by making me think through the problem more | |||
| dalek | nxed: r518 | julian.notfound++ | trunk/winxedst1.winxed: add 'using extern' namespace scoped to mean pir '.loadlib' |
19:40 | |
| cotto_work | it often works that way | ||
| 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. | ||
| atrodo | Aye, i suspect that'll happen to me. | 19:42 | |
| moritz | the pir:: support in nqp makes it very effective for parrot stuff | ||
| atrodo | unrelated, does nqp support twigil's? specifically $^ ? | 19:45 | |
| moritz | no, I think only the * twigil | 19:46 | |
|
19:46
s1n joined
|
|||
| atrodo | kthakore> My next YAPC session is the game one you were talking about the other day | 19:47 | |
| Coke | My only problem with NQP is a lack of PAST undersatnding. | 19:50 | |
| (my lack, not nqp's) | |||
| kthakore | atrodo: yay! | 19:54 | |
| atrodo: have fun | |||
| purl | Don't do anything I wouldn't do!!! | ||
| atrodo | Looks like the recording equipment is in this room. I'm not sure if that question was ever answered for you | 19:55 | |
| 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:56 | |
| atrodo | The YAPC coordinators were complaining about that, so hopefully they do a better jobs | 19:57 | |
| cotto_work | Here's hoping. | 19:58 | |
| kthakore cross fingers | |||
| atrodo | There have been some really good ones, but then, I don't have any frame of refrence | ||
| 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 | |
| robert | |||
| cotto_work | pmichaud's lolcat history of Perl 6 lightning talk is great. | ||
| atrodo | He didn't do that :( | ||
| kthakore | atrodo: what? | ||
| atrodo | sorry,t hat was towards cotto_work | 20:00 | |
| kthakore | atrodo: fine then *hmph* | ||
| cotto_work | I'm sure you'll find plenty of other awesomeness. | ||
| atrodo | cotto_work> I have | 20:01 | |
|
20:05
Coke joined,
Psyche^ joined
20:08
Coke joined
|
|||
| dalek | rrot: r47788 | tcurtis++ | branches/gsoc_past_optimization (3 files): Add a helper function for more conveniently defining subclasses of PCT::Pattern anduse it to define PAST::Pattern::Control. |
20:08 | |
|
20:34
tcurtis joined,
estrabd joined
20:36
estrabd joined
|
|||
| dalek | nxed: r519 | julian.notfound++ | trunk/winxedst1.winxed: refactor Namespace.getpath to Namespace.getpath and RootNamespace.getpath to |
20:42 | |
| moritz | tcurtis: I've just tried to add an optimization stage to rakudo | 20:45 | |
| along the lines of your second-newest blog post | |||
| tcurtis: it dies with "load_bytecode" couldn't find file 'PCT/Pattern.pbc' | |||
| tcurtis: should that file be installed, and isn't? | |||
| atrodo | gist.github.com/450522 # That gives me a confused. | 20:47 | |
| 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 | |||
| 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 | ||
| moritz | tcurtis: no hurry, I'll go to bed now anyway | ||
| atrodo | cotto_work> you are correct | ||
| cotto_work | I wouldn't expect much from it. | ||
| 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. | ||
| 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 | ||
| Time to make a test case, see if it's me or someone else. | 20:51 | ||
| dalek | kudo: 11cbd4f | util++ | (3 files): Change dynops build from deprecated ops2c.pl to new NQP-based ops2c |
20:52 | |
| purl | dalek: that doesn't look right | ||
| cotto_work | It's nice to see a deprecation go smoothly for a change. | 20:54 | |
| no pain, no sudden changes, just "This thing is deprecated. Please switch to this other similar thing within the next three months." | 20:57 | ||
|
21:04
whiteknight joined
|
|||
| tcurtis | moritz: fix commited. | 21:05 | |
| 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:09 | ||
| cotto_work | tcurtis, I know that Rakudo implements something like that. | 21:10 | |
| I'm syre it could be exposed if it'd be useful and if it's not already accessible. | 21:11 | ||
| dalek | rrot: r47789 | tcurtis++ | branches/gsoc_past_optimization/MANIFEST.generated: Fix installation. |
21:14 | |
| rrot: r47790 | coke++ | trunk/runtime/parrot/library/SDL.pir: Remove random debug output noticed by quietfanatic++ |
|||
| tcurtis looking at rakudo to see how they implement nextwith/nextsame now. | 21:16 | ||
| kthakore | Coke: yay! | 21:17 | |
| Coke: can't you just import github.com/kthakore/parrotSDL there? | |||
| Coke: it fixes all the tests | |||
| NotFound | Can someone add parrot-mysql metadata to plumage? | 21:18 | |
| japhb | NotFound, sure, send me the json and I'd be happy to. | 21:19 | |
| NotFound | japhb: code.google.com/p/parrot-mysql/sour...mysql.json | 21:20 | |
| japhb | NotFound: Pushed, enjoy! | 21:22 | |
| NotFound | Thanks | ||
| japhb | bp | 21:23 | |
| er | |||
| np | |||
| NotFound | Happy to see plumage working again | 21:24 | |
| japhb | DITTO | ||
| Many thanks to darbelo++ for that | |||
| cotto_work | bp != np | 21:25 | |
| darbelo | bp != p ? | 21:26 | |
| japhb | On so many levels | ||
| dalek | rrot-plumage: 76c38f9 | japhb++ | metadata/parrot-mysql.json: [metadata] Add parrot-mysql.json, NotFound++ |
21:30 | |
|
21:59
Hunger joined
|
|||
| 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 / | ||
| bacek | good morning, humans | 22:13 | |
| cotto, ping :) | |||
| whiteknight | good morning, bacek | ||
| cotto_work | hio bacek | ||
| I was just wondering if you were up yet. | |||
| bacek | whiteknight, aloha | ||
|
22:13
s1n joined
|
|||
| bacek | cotto_work, I am. | 22:13 | |
| cotto_work | What great and lofty plans have you for PIRATE? | 22:14 | |
|
22:14
patspam joined
|
|||
| bacek | cotto_work, demistify keys. | 22:14 | |
| cotto_work | yarly | ||
| bacek | I don't quite understand how imcc select proper op... | ||
| 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 | ||
| cotto_work | I guess I underestimated imcc. | ||
| and new? | |||
| purl | new is the constructor method of Wx::App | ||
| bacek | nope, "new" accepts pmc | ||
| purl, forget new | |||
| purl | bacek: I forgot new | ||
| 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. | ||
| Did you see nopaste? | |||
| cotto_work | yes | ||
| bacek | ok. | 22:17 | |
| My current idea - separate keyed ops into different category and parse them early. | |||
| rule labeled_instruction { <label>? [ <keyed_op> || <pir_instruction> || <op> ] } | 22:18 | ||
| keyed_op will create Key with .type('kc') | 22:19 | ||
| op will use <namespace_decl> and create Key with .type('pc') | |||
| (Last thing - figure out what the heck is "kic") | 22:20 | ||
| make sense? | |||
| cotto_work | Sure. | ||
| Does desugaring keyed set/get present a problem? | 22:21 | ||
| bacek | cotto_work, nope. Desugaring should create Key.type('kc') | ||
| cotto_work | So we just need Key.type to be mutable. | 22:22 | |
| That's not quite what I meant. | |||
| We need to be able to set it. | |||
| bacek | Yes. | 22:23 | |
| There is still dark area about other types. We have 4 of them - "k", "kc", "ki" and "kic"... | |||
| 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? | ||
| cotto_work | beats me | ||
| whiteknight | ki is an intger key | ||
| [1;2] | |||
| k is a key with other crap too | |||
| [1;"foo"] | |||
| bacek | not kc? | 22:25 | |
| whiteknight | int ops, it's INTKEY and KEY | ||
| cotto_work | I think kc is a key constant, i.e. somewhere in the constants table | ||
| bacek | cotto_work, yes. It's how pirate treat them now. | ||
| whiteknight | c is constant, yes | 22:26 | |
| bacek | so, set $P0, [1], $S0 -> set_p_kic_s? | ||
| cotto_work | and it's consistent with what i've found trolling through bytecode | ||
| whiteknight | Personally, I don't know how k ever gets called since all keys are constant | ||
| cotto_work | There's an easy way to find out. | ||
| bacek | set $P0, [1;2], $S0 -> set_ki_s | ||
| whiteknight | if the are not constant and generated at runtime, they would be p | ||
| or, maybe it's the other way around | 22:27 | ||
| but I don't know how anybody would differentiate between k and kc (or ki and kic) | |||
| 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 | ||
| bacek | both will be set_p_p_p | ||
| whiteknight | so [1;"foo"] would be k, but [$I0;$S0] would be kc | ||
| bacek | other way round | ||
| whiteknight | yes, other way | ||
| I'm certain that's it | 22:29 | ||
| I suspect it's only the first element of the key that's counted | |||
| bacek | yes. But how you can express non-constant keys in pir? | ||
| cotto_work | bacek, that code generates set_p_kic_sc | ||
| whiteknight | so [1;$S0] would be kc, while [$I0;"foo"] would be k | 22:30 | |
| cotto_work | $P0[1] = 'asdf' | ||
| whiteknight | yes, [1] would be kic | ||
| sorear | We haven't gotten rid of keys yet? | ||
| cotto_work | same for $P0[1;2] = '...' | ||
| bacek | sorear, trac.parrot.org/parrot/ticket/903 | ||
| [1;$S0] and [$I0,"foo"] both kc | 22:31 | ||
| cotto_work | same for $P0[1;'2'] = 'asdf' | ||
| bacek | cotto_work, [1;'2'] is kic??? | ||
| cotto_work | nm. kc | 22:32 | |
| whiteknight | bacek: yes, I would suspect so | ||
| try it to see, but that's what I think | |||
| cotto_work | I should just make a table | ||
| bacek | basically [] always generate k*c. | ||
| (I suspect it) | |||
| whiteknight | bacek: there's only one way to find out | 22:33 | |
| NotFound | [1] isn't a key, get_..._keyed_int | ||
| bacek | whiteknight, NOOOO. I don't want to look at IMCC code again. | ||
| sorear | ...allison wants to KEEP multidimensional hash lookups? eew. | ||
| bacek | sorear, yeah... | 22:34 | |
| We should use it only for namespaces, not Hashes. | |||
| 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 ? | ||
| bacek | NotFound, ? | ||
| purl | it has been said that NotFound, is there any reason to keep RT#50092 open? | ||
| 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 nopaste.snit.ch/21522 | ||
| bacek | NotFound, yes. It's up to particular pmc to decide how to handle it... | 22:38 | |
| cotto_work, thanks! | 22:39 | ||
| So, there is just single optimization inside imcc to select kic when key is single int | |||
| cotto_work, what about $P0[$I0]? | |||
| cotto_work | set_p_ki_sc | 22:40 | |
| as you might guess | |||
| bacek | yes :) | ||
| cotto_work | though I'll eat my hat if anything uses it | ||
| (fun fact: I don't have a hat on) | 22:41 | ||
| bacek | it's better not to have it | ||
| loop: $P0[i] = 0; if i<100 goto loop | |||
| quite common pattern | |||
| .local int i | 22:42 | ||
| cotto_work | cotto-- #brain turn on plz | ||
| bacek | cotto++ # whatever :) | 22:43 | |
| So, plan is: | |||
| 1. Separate keyed_ops in grammar. | |||
| 2. Create Key in Actions with type 'ki' for single int Register, 'kic' for single int Constant, 'kc' otherwise | 22:44 | ||
| 3. Change op to have <namespace_decl> instead of pir_key | |||
| 4. namespace_decl.ast will produce Key with type 'pc' | 22:45 | ||
| Correct? | |||
| NotFound | bacek: that's a bug in imcc, it allows nonsensical namespace declarations. | 22:46 | |
| bacek | NotFound, e.g.? | ||
| cotto_work | I'm not entirely clear on the difference between namespace_decl and pir_key, but yes. | ||
| NotFound | bacek: .namespace [ 0 ] | ||
| bacek | cotto_work, namespace_decl accepts strings only. | ||
| cotto_work | Ok. So something silly like $P0 = new [0;1] won't parse. wfm | 22:47 | |
| That makes sense. | |||
| bacek | NotFound, this bug doesn't exists in pirate :) | ||
| NotFound | cotto_work: Silly? Is a two-dimensional array access. | ||
| Uh, no, didn't see the new. | 22:48 | ||
| bacek | ~/src/pir (master)$ head -1 t.pir | ||
| NotFound | But then you can't use it for keys. | ||
| bacek | .namespace [ 0 ] | ||
| ~/src/pir (master)$ ./installable_pir --target=parse t.pir | |||
| Confused at line 1, near ".namespace" | |||
| NotFound, step 1 in plan - separate keyed_ops :) | |||
| NotFound | I'm confusing myself, better goto bed X-) | 22:49 | |
| bacek | and now it's time for dayjob for one silly robot. | 22:50 | |
| c u | |||
| cotto_work | bye | ||
| I'll hack on what I can tonight. not sure what time will be like | |||
| apart from being linear and moving forward at a mostly-fixed rate according to the laws of relativity | 22:51 | ||
| whiteknight HATES imcc error messages | 22:52 | ||
| especially when combined with NQP | |||
| error:imcc:syntax error, unexpected PREG, expecting '(' ('$P452') | |||
| in file 'EVAL_1' line 64029477 | |||
| darbelo hates imcc errors | |||
| darbelo hates imcc | |||
| whiteknight | syntax error ... somewhere | 22:53 | |
| cotto_work | darbelo: may I suggest a bit of PIRACY? | ||
| whiteknight | ^ that's a quote from goddamn IMCC | ||
| darbelo | whiteknight: Youa re using a op that got removed :) | ||
| 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? | ||
| darbelo | grep for '$P452' and see what is at the beggining of that line. | ||
| you can start the list with that one ;) | 22:55 | ||
| tcurtis | whiteknight: probably something to do with pir:: | 22:56 | |
| whiteknight, for example, if you do pir::fish or some other non-existent op, it'll do that iirc. | |||
| dalek | nxed: r520 | julian.notfound++ | trunk/winxedst1.winxed: fix silly mistake in MultiStatement |
22:57 | |
| cotto_work | We have OpLib. That should be entirely evitable. | ||
| NotFound | darbelo: yeah, and imcc is doing a marvelous job helping locate it X-) | ||
| cotto_work | though dynops complicate the matter | ||
| as always | 22:58 | ||
| 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. | |||
| whiteknight | did index_i_s_s disappear? | ||
| cotto_work | NotFound, yes but we care if the op is defined at runtime not compiletime. | ||
| darbelo | src/ops/string.ops:=item B<index>(out INT, in STR, in STR) | 23:00 | |
| src/ops/string.ops:=item B<index>(out INT, in STR, in STR, in INT) | |||
| NotFound | cotto_work: if you load the dynop after compliling it you can't compile it X-) | ||
| darbelo | whiteknight: Is this code you are working with anywhere I could find it? | 23:02 | |
| 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)-- | ||
| NotFound | Welcome to dynop hell | 23:04 | |
| nopaste | "darbelo" at 192.168.1.3 pasted "Try this" (12 lines) at nopaste.snit.ch/21523 | 23:05 | |
|
23:05
Hunger joined
|
|||
| darbelo | I don't have blas on this box anymore, so nopaste.snit.ch/21523 is the best I can do with the PLA setup.pir. | 23:05 | |
| whiteknight | darbelo: yeah, I did that already. Turns the IMCC parse errors into the silent failure inside distutils | 23:07 | |
| darbelo | Odd. | 23:08 | |
| NotFound | whiteknight: You can read parrot version from config instead of using sysinfo | 23:10 | |
| darbelo | That too. | 23:12 | |
| But I don't think that's te issue here. | |||
| NotFound | darbelo: loading a dynop currently always can be. | ||
| In fact, it is! | 23:13 | ||
| darbelo | Dammit, wasn't this solved already? | ||
| NotFound | darbelo: is workarounded, not solved. | 23:14 | |
| .sub 'system_linker_settings' | |||
| .param pmc config | |||
| - $S0 = sysinfo 4 | |||
| + $S0 = config['os'] | |||
| if $S0 == "linux" goto have_linux | |||
| Uh... config isn't what I believed it was... | 23:16 | ||
| nopaste | "NotFound" at 192.168.1.3 pasted "Fix for PLA setup.pir" (24 lines) at nopaste.snit.ch/21524 | 23:20 | |
| NotFound | whiteknight: ping | 23:23 | |
| dalek | rrot: r47791 | tcurtis++ | trunk/compilers/pct/src/POST/Node.pir: Remove redundant POD for POST::Node.result |
23:25 | |
| nopaste | "tcurtis" at 192.168.1.3 pasted "codetest failure in trunk" (15 lines) at nopaste.snit.ch/21525 | ||
| bacek_at_work | aloha, | ||
| 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) | ||
| cotto_work | wfm\\ | 23:27 | |
| 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
|
|||
| cotto_work | I guess without .keys, the only reason for POST::Key to exist as a separate subclass is for mmd. | 23:33 | |
| 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
|
|||
| NotFound | msg whiteknight pasted "Fix for PLA setup.pir" (24 lines) at nopaste.snit.ch/21524 | 23:40 | |
| purl | Message for whiteknight stored. | ||
| 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
|
|||
| mikehh | tcurtis: BTW ran some tests on gsoc_past_optimization branchearlier - | 23:54 | |
| gsoc_past_optimization branch: All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r47782 - Ubuntu 10.04 amd64 (g++) | 23:55 | ||