|
Parrot 3.1.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: ? Set by moderator on 20 February 2011. |
|||
|
00:11
Khisanth joined
00:17
Khisanth left
|
|||
| dalek | rrot: c74194f | petdance++ | src/hash.c: consting vars |
00:21 | |
| rrot: 4629233 | petdance++ | src/pmc/hash.pmc: consted a Hash * to get_next_hash, and propagated that up |
|||
| whiteknight | NotFound: that last ticket I had about the method calls is what I really need | 00:28 | |
| but I also need $I0 = exists $P0[$P1] | 00:29 | ||
| I don't know if winxed will allow me to write that last one in ${ } | |||
| NotFound | whiteknight: = is not supported, but you can use the non-sugared syntax | 00:30 | |
| whiteknight | I can do ${ exists i, p[k] } | ||
| ? | |||
| or ${ exists i, p, k }? I don't know if the right opcode is generated with that last one | 00:31 | ||
| NotFound | Ah, you mean the key. No, the [ ] interferes with winxed regular syntax. | ||
| So the problem is not multiline, but full PIR syntax? | 00:32 | ||
| whiteknight | if winxed can do everything we need, it's not a real big deal. | 00:34 | |
| just a "nice to have" | |||
| NotFound | A exists operator is planned | 00:35 | |
| whiteknight | okay. exists is a major blocker for Rosella | ||
| that, method call syntax like I requested too | |||
| NotFound | Regarding method call, see my comment on the Issue | ||
| whiteknight | I saw that | ||
| I don't care what the syntax is, but it's very important that it be possible | 00:36 | ||
| NotFound | Agree, I wasn't just figured a nice syntax until now. | 00:37 | |
| whiteknight | something like object.[pmc_or_string](...) | 00:38 | |
| or object.{pmc_or_string}(...) | 00:39 | ||
|
00:39
Khisanth joined
|
|||
| NotFound | Yes, thinked about that, but looks unfamiliar. | 00:40 | |
| whiteknight | object.*pmc_or_string(...) | 00:41 | |
| NotFound | That's the idea. | ||
| Or even, expression with pmc or string result. | 00:42 | ||
| whiteknight | a built-in would be just as good. call(obj, method, ...) | ||
| it really doesn't matter what it is. You're the designer | 00:43 | ||
| NotFound | Yes, but adding modifiers support to builtins is a non trivial change. | ||
| whiteknight | ok | 00:44 | |
| like I said, whatever you decide is good | |||
| NotFound | I'll ty a implementation tomorrow. | 00:45 | |
| s/ty/try | |||
|
00:46
Khisanth left
00:48
Khisanth joined
|
|||
| whiteknight | awesome | 00:48 | |
|
00:53
kid51 joined
00:54
Khisanth left
|
|||
| dalek | rrot/opsc_full_parse: 35bb7b6 | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Fix generating of WRITE_BARRIER. |
00:54 | |
| rrot/opsc_full_parse: 6bfb0ad | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Fix calltype of auto-generated goto_offset for :flow ops. |
|||
| rrot/opsc_full_parse: f512c64 | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Generate name as num-only for registers. |
|||
| rrot/opsc_full_parse: 9138023 | bacek++ | compilers/opsc/src/Ops/ (2 files): PASTing of cast expressions |
|||
| rrot/opsc_full_parse: 3ff3792 | bacek++ | compilers/opsc/src/Ops/Op.pm: Don't insert ';' after Op. We don't need it here |
|||
| bacek_at_work | msg cotto make src/dynoplibs/io_ops.o works now in opsc_full_parse | 01:06 | |
| aloha | OK. I'll deliver the message. | ||
|
01:11
kid51 is now known as kid51_at_dinner
|
|||
| cotto | ~~ | 01:12 | |
| dukeleto | anybody know what this is about? pkgs.org/package/perl(Parrot::Op) | 01:21 | |
|
01:22
Khisanth joined
|
|||
| dalek | nxed: r823 | NotFound++ | trunk/winxedst1.winxed: operator exists. Temptative implementation, poorly tested |
01:24 | |
|
01:28
lopaway is now known as lopnor
|
|||
| sorear | dukeleto: How do you mean? | 01:29 | |
| cotto | dukeleto, interesting. no idea who made those. | 01:36 | |
| bacek_at_work | cotto, stop slacking off! Finish bloody opsc compiler :) | 01:47 | |
| whiteknight | :) | 01:48 | |
| bacek, the workmaster | |||
| bacek_at_work | whiteknight, yeah... It's kind of my job description at $dayjob. "Get shit done" | 01:50 | |
| cotto | bacek_at_work, what'd be best to do atm? | 01:51 | |
| bacek_at_work | cotto, pasting of prefix/postfix ops. | 01:52 | |
| cotto, try compiling of dynops. It fails on quite few unimplemented pasting/to_c functions. | |||
|
01:52
kid51_at_dinner is now known as kid51
|
|||
| cotto | I see a lot of prefix ops in the grammar that don't have actions. | 01:53 | |
| What's O()? | |||
| bacek_at_work | cotto, they are handled automatically. With ":pirop" hack they are handled in .to_c. | ||
| cotto, O<> is for precedence override. | 01:54 | ||
| cotto | o | ||
| bacek_at_work | and setting of :pirop | ||
| cotto | The speed of perl6.vim makes me want to get a faster computer. | 01:57 | |
| KaeseEs | bacek_at_work: are you still looking for benchmarks for gne_gc? i should have some tuits on tuesday after midterms and i'm itching to do something useful | 02:00 | |
| *gen_gc | |||
| bacek_at_work | KaeseEs, just benchmark master. It's all merged. | 02:03 | |
| KaeseEs | oic. any sort of contrived situations specifically that could use coverage, or just general programs? | 02:07 | |
| bacek_at_work | KaeseEs, general programs will be good start. You can configure parrot with --gc=ms2 to compare 2 gcs. | 02:08 | |
| dalek | rrot/opsc_full_parse: 81301fa | bacek++ | t/compilers/opsc/03-past.t: Fix test for proper check of op body munching. |
02:10 | |
| rrot: 93d756a | petdance++ | src/gc/gc_ms.c: #if out contained_in_attr_pool() |
02:20 | ||
| dukeleto | mmmm, body munching | 02:22 | |
|
02:22
don-o joined
|
|||
| don-o | any ideas on how to fix this build error for 3.1.0 (does the same on git master) with va_args type? gist.github.com/846841 | 02:23 | |
| cotto | dukeleto, not nearly as fun as it sounds | 02:24 | |
|
02:25
don-o is now known as donpdonp
|
|||
| donpdonp | hi dukeleto | 02:25 | |
| dukeleto | donpdonp: hey there! | ||
| donpdonp: what is your uname -a ? | 02:26 | ||
| donpdonp | Linux tower.donpark.org 2.6.37-rc3-via #1 Sun Nov 28 23:28:56 PST 2010 i686 VIA Samuel 2 CentaurHauls GNU/Linux | ||
| dukeleto | cotto: that looks like a serious Configure.pl bug | ||
| cotto: reported by donpdonp gist.github.com/846841 | 02:27 | ||
| donpdonp: what is your linux distro? | |||
| donpdonp | its a slightly odd processor. its one instruction away from a 686, so gcc needs a special -march=c3 flag but that problem shows itself with an 'illegal instruction' | ||
| dukeleto: an extremely old gentoo setup | |||
| dukeleto | donpdonp: interesante | 02:28 | |
| donpdonp: i gotta go to dinner, but i think this bug warrants a new trac ticket | |||
| KaeseEs | i think there's another s in that | ||
| donpdonp | dukeleto: ok cool | ||
| dukeleto | donpdonp: trac.parrot.org/parrot/ticket/2031 | 02:29 | |
| donpdonp: feel free to email parrot-dev and ask give a link to the trac ticket. kid51++ is the mant you probably want to talk to | 02:30 | ||
| s/mant/man/ | |||
| KaeseEs | s/man/manta ray/ | ||
| dukeleto .nom($dinner) | |||
| donpdonp | dukeleto: great thx. bon appetit | 02:31 | |
| dalek | rrot: 1922200 | petdance++ | src/gc/gc_ms2.c: shimmed out an unused arg |
02:32 | |
| rrot: 8597c2e | petdance++ | src/gc/mark_sweep.c: removed unused arg from new_bufferlike_pool() |
|||
| rrot/opsc_full_parse: 53e5cda | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm: Fix parsing of postfix ++/-- |
02:33 | ||
| rrot/opsc_full_parse: 87db441 | bacek++ | compilers/opsc/src/Ops/ (2 files): Fix parsing of '.' and '-> |
|||
|
02:38
whiteknight left
|
|||
| dalek | rrot/opsc_full_parse: be842df | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Don't "flatten" function call args. It's wrong. We are loosing infix ops doing it. |
02:40 | |
| TT #2031 created by dukeleto++: Configure.pl bug in Gentoo | 02:41 | ||
| TT #2031: trac.parrot.org/parrot/ticket/2031 | |||
|
02:43
Khisanth left,
donpdonp left
02:49
Khisanth joined
|
|||
| cotto | what p6regex for "a list of zero or more <foo> separated by ',' "? | 02:50 | |
| nm | 02:51 | ||
| bacek_at_work, working on getting INTVAL a, b, c; to work | 02:52 | ||
| bacek_at_work | cotto, it doesn't work??? | ||
| ah, yes... | 02:53 | ||
| cotto | nope | ||
| bacek_at_work | rule declarator | ||
| cotto | yes | 02:54 | |
| bacek_at_work | put something like <variable=.indent> ** ',' | ||
| cotto | I have it parsing in a way that may or may not be correct | ||
| dalek | rrot: 2e415a4 | jkeenan++ | src/pmc/ (2 files): [codingstd] Break too long lines in two .pmc files. |
02:56 | |
| rrot: 6d5684e | jkeenan++ | src/gc/ (3 files): Merge branch 'master' of git@github.com:parrot/parrot |
|||
| cotto | looks like it's probably correct. now on to the same thing in for loops | 02:58 | |
| dalek | rrot/opsc_full_parse: a7c1432 | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm: Add 'else' to keywords and fix parsing of statement_control |
03:02 | |
| rrot/opsc_full_parse: df5618e | bacek++ | compilers/opsc/src/Ops/Op.pm: Don't wrap comma-separated expressions into (). |
|||
| bacek_at_work | cotto, I fixed sym<for>. Just few minutes ago :) | ||
| rrot/opsc_full_parse: ad768ac | bacek++ | compilers/opsc/src/Ops/Op.pm: Don't emit ';' after PAST::Block |
|||
| bacek_at_work | cotto, pushed :) | ||
| cotto | wfm | 03:04 | |
| me too | 03:06 | ||
| dalek | rrot/opsc_full_parse: 6cf25e0 | cotto++ | compilers/opsc/src/Ops/Compiler/ (4 files): parse and generate past for comma-separated declarations |
||
| cotto | d'oh | 03:07 | |
| dalek | rrot/opsc_full_parse: d804a59 | cotto++ | compilers/opsc/src/Ops/Compiler/. (2 files): remove swp files |
03:08 | |
| bacek_at_work | cotto, yeah... I don't think that swp files are really useful :) | ||
| cotto | now you can steal my undo history | ||
| ;) | 03:09 | ||
| atrodo | I have come to a realization today. I have too many yaks hanging around | 03:15 | |
| bacek_at_work | cotto, I think Action.declarator should use Stmts not Block. | 03:18 | |
| cotto, Blocks are wrapped into {} | |||
| cotto | ok | 03:21 | |
| dalek | rrot/opsc_full_parse: 4b5bf71 | cotto++ | compilers/opsc/src/Ops/Compiler/Actions.pm: use statements instead of blocks for declarations |
03:22 | |
| cotto | bacek_at_work, thanks for noticing | 03:24 | |
| bacek_at_work | cotto, btw, can you also flatten $<declarator> in Actions.blockoid. Otherwise we put more ; then required | 03:26 | |
| cotto | bacek_at_work, is a separate action for init needed to deal with the changes you made to for loops? | 03:27 | |
| dalek | rrot: fb59b7d | petdance++ | src/pmc/ma (2 files): consting |
03:32 | |
| bacek_at_work | cotto, erm... what? | 03:35 | |
| cotto | nm. I thought you updated the for loop to work with for (i = 0, m = 0; i < w; i++) | 03:37 | |
| That's what I thought you were talking about when you said you fixed sym<for> | |||
| bacek_at_work | cotto, yes. I did fix it. | 03:44 | |
| cotto | Where does EXPR come from/ | 03:45 | |
| ? | |||
|
03:47
kid51 left
|
|||
| Tene | cotto: EXPR is the OPP | 03:48 | |
| operator parser | |||
| bacek_at_work | cotto, from HLL::Grammar | ||
| Tene | it's the builtin that takes your terms and infixes and shit and builds the expression tree with the right nesting and associativity, etc. | 03:49 | |
| dalek | rrot/opsc_full_parse: 891c290 | cotto++ | compilers/opsc/src/Ops/Compiler/Actions.pm: fix sym<for> and sym<while> actions |
03:57 | |
|
03:57
lateau joined
|
|||
| cotto | Tene, so it's magic. Got it. | 03:57 | |
| bit.ops parses now! | 03:59 | ||
| obscure and sys still explode | 04:00 | ||
| looks like it chokes on ternary | 04:02 | ||
| sorear | cotto: EXPR comes from src/HLL/Grammar.pir in the nqp-rx repo | 04:04 | |
| cotto: every grammar declaration in (NQ)P is fudged to have an implicit "is Grammar" superclass | |||
| this is, in fact, all that distinguishes grammars from classes | |||
| Grammar and HLL::Grammar have quite a few other ones, including several that *are* pretty magic | 04:05 | ||
| but EXPR isn't one of them; if speed were no object, EXPR could be written in NQP easily enough | |||
|
04:09
[hudnix] left
|
|||
| dalek | rrot: f1c9ca5 | petdance++ | src/pmc/ (4 files): consting pointers and localizing temp vars |
04:17 | |
| rrot: 548b113 | petdance++ | src/pmc/op (2 files): consting pointers and localizing temp vars |
|||
|
04:31
bubaflub left
|
|||
| dalek | TT #2029 closed by plobsing++: new 'structview' PMC does not work on bigendian systems | 04:36 | |
| TT #2029: trac.parrot.org/parrot/ticket/2029 | |||
| rrot: e74dffa | petdance++ | src/pmc/orderedhash.pmc: consting pointers |
04:55 | ||
| rrot: 1048779 | petdance++ | src/pmc/packfile (9 files): lots of consting |
|||
|
04:59
lateau left
|
|||
| dalek | rrot/opsc_full_parse: 692906a | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Flatten declarators in Actions.blockoid to prevent emitting ';' |
05:03 | |
| bacek_at_work | cotto, do you mean "parsing" of "emitting of C"? | ||
| cotto, because it parses on my box | |||
| cotto | bacek_at_work, I mean that ops2c.nqp chokes on it | ||
| my mistake | 05:04 | ||
| dalek | rrot: a39ea75 | util++ | src/pmc.c: Fix `make headerizer` warning: "Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found" |
05:06 | |
| cotto | bacek_at_work, ping | 05:34 | |
| bacek_at_work, unping | 05:36 | ||
| dalek | rrot: f6aff2d | petdance++ | src/pmc/parrotinterpreter.pmc: consting. inlined some CONST_STRINGS |
05:37 | |
| rrot: 5c9a257 | petdance++ | src/pmc.c: Merge branch 'master' of github.com:parrot/parrot |
|||
| rrot: 4fb7780 | petdance++ | include/parrot/pmc.h: new header from "make headerizer" |
|||
| bacek_at_work | cotto, unpong :) | 05:41 | |
| dalek | rrot: 10377a1 | petdance++ | src/pmc/pmcproxy.pmc: lots of consting, and fixed some bizarre formatting |
||
|
05:48
lopnor is now known as lopaway
|
|||
| cotto | bacek_at_work, what'd be the right way to make the ternary operator work? | 05:53 | |
| bacek_at_work | cotto, git pull | 05:54 | |
| dalek | rrot/opsc_full_parse: 0c11de2 | bacek++ | compilers/opsc/src/Ops/ (2 files): Made ternary operator works |
||
| cotto | lulz | ||
| double lulz. I was thinking something similar to what you did. | 05:55 | ||
| bacek_at_work, sys.ops still doesn't work. Are you fixing it or should I? | 05:57 | ||
| bacek_at_work | cotto, go for it | 05:58 | |
| cotto | woot | ||
| bacek_at_work | cotto, "INTVAL saved_var1 = a, saved_var2 = b;" is wrongly parsed as "comma separated EXPR" | 06:05 | |
|
06:06
don-o joined
|
|||
| cotto | bacek_at_work, ok. Are you fixing it or should I? | 06:07 | |
| bacek_at_work | cotto, if you have time - fix it. | 06:08 | |
| cotto | wfm | ||
|
06:10
contingencyplan left
06:12
contingencyplan joined
06:17
rurban_ joined
06:20
rurban left,
rurban_ is now known as rurban
06:23
theory left
|
|||
| dukeleto | this seems to be somewhat out of date: secure.wikimedia.org/wikibooks/en/...lt-In_PMCs | 06:31 | |
| bacek_at_work | dukeleto, by few years at least. | 06:36 | |
| dalek | rrot/opsc_full_parse: 29df582 | bacek++ | compilers/opsc/src/Ops/ (3 files): Switch 'break' and 'continue' to be statement_control |
06:37 | |
| cotto | bacek_at_work, declarator_init cheats pretty badly. Is there an easy way to make it work or should I break out k&r? | 06:47 | |
| bacek_at_work | cotto, how badly it cheats? | 06:48 | |
| cotto | bacek_at_work, It looks for full statements when it should just be looking for an rvalue. | 06:49 | |
| bacek_at_work | cotto, oh... | 06:50 | |
| cotto | yeah | ||
| bacek_at_work | hmm... We have to disable infix:sym<,> somehow. | ||
| during parsing of it. Or play with precedence. | |||
| Someone like sorear can probably help. | 06:51 | ||
| or masak | |||
| cotto | is that better than just splitting out rvalues? | 06:52 | |
| sorear | what you want is the $preclim argument to EXPR | ||
| dalek | rrot/opsc_full_parse: a730db9 | bacek++ | compilers/opsc/src/Ops/Op.pm: Emitting pasttype<macro_if> |
||
| rrot/opsc_full_parse: 0b3019f | bacek++ | compilers/opsc/src/Ops/Op.pm: Emotting empty statementless labels |
|||
| bacek_at_work | sorear, '$preclim'??? | ||
| sorear | bacek_at_work: it sets a minium precedence for used operators | 06:53 | |
| if you set it one higher than infix:<,>, then infix:<,> will not be used | |||
| bacek_at_work | sorear, like <EXPR('i=')> ? | ||
| cotto | that sounds like it'd involve potentially surprising side-effects | ||
| sorear | bacek_at_work: in STDese we do it <EXPR(%additive)>; haven't used nqp recently enough, but 'i=' looks reasonable | 06:54 | |
| bacek_at_work | Yay! It works! | 06:55 | |
| cotto | woot, I guess | ||
| dalek | rrot/opsc_full_parse: 10a2a6b | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm: Fix declarator to avoid infix:sym<,> expressions. sorear++ |
06:56 | |
| cotto | bacek_at_work, it doesn't work for INTVAL i = 0, j = 0; | 06:59 | |
| it generates declarations without initializers | 07:00 | ||
|
07:03
Andy left
|
|||
| cotto | fixing... | 07:07 | |
| bacek_at_work | ouch | 07:08 | |
| dalek | rrot/opsc_full_parse: 67245f8 | cotto++ | compilers/opsc/src/Ops/Compiler/Actions.pm: fix initializer action |
07:14 | |
| cotto | looks like switches with fallthrough work now too | 07:15 | |
| bacek++ | |||
| looks like sys.ops generates some bad code, but a viable build is closer! | 07:16 | ||
| dalek | rrot/opsc_full_parse: 1ce756e | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Fix PASTing of #ifdef |
07:24 | |
| rrot/opsc_full_parse: 66cef09 | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Wrap break and continue into Stmts. |
|||
| rrot/opsc_full_parse: ce30a80 | bacek++ | compilers/opsc/src/Ops/ (2 files): Partially fix handling of type_declarator as call args |
|||
| cotto | bacek_at_work, By the time I find the broken code, you've fixed it. | 07:25 | |
| bacek_at_work | holley schitt! | ||
| it compiles! | |||
| and generates code for all dynops!!! | |||
| (probably broken, but still) | 07:26 | ||
| cotto | woot | ||
| bacek_at_work | WOW | ||
| cotto | are you going to fix #define too? | ||
| bacek_at_work | prove t/dynops | ||
| All tests successful. | |||
| Files=14, Tests=632, 1 wallclock secs ( 0.09 usr 0.03 sys + 0.60 cusr 0.15 csys = 0.87 CPU) | |||
| Result: PASS | |||
| cotto, go for it. | |||
| cotto | bacek++ | ||
| deal | |||
| bacek_at_work | ops2c --core produces bad code. Sigh. | 07:27 | |
| cotto | For a happy moment I forgot about all the complex parts of #define | 07:29 | |
| bacek_at_work | cotto, don't try to implement multi-line parsing (yet). Just implement it in same way as ifdef | 07:30 | |
| cotto | right | ||
| C is a small language, but I wouldn't want to paint it. | 07:31 | ||
| dalek | rrot: bc5a4ed | mikehh++ | src/pmc/ (2 files): fix codetest failures - linelength |
07:33 | |
| rrot/opsc_full_parse: b24b3f4 | bacek++ | compilers/opsc/src/Ops/ (2 files): Preserve wrapping of EXPR into (). |
07:36 | ||
| mikehh | why does the CONST_STRING macro not allow line breaks? It messes up our coding standards regarding line length | ||
| bacek_at_work | mikehh, because of how it works. | 07:38 | |
| mikehh, basically we create a hash of const strings based on #line. | |||
| cotto | mikehh, that macro is based on the line number where the ... what bacek said | ||
| mikehh | then it needs to be sorted out somehow - I HATE C macros | 07:39 | |
| bacek_at_work | mikehh, do tell! :) | ||
| cotto | so powerful, yet so stupid | 07:40 | |
| mikehh | I have had more problems understanding and debugging code with macros than anything else | 07:41 | |
| dalek | rrot/leto/embed_grant: f06bb72 | dukeleto++ | t/src/extend_vtable.t: [TT #2026] Hopefully fix intermittently failing test, which assumed positive hashvalues |
07:43 | |
| rrot/leto/embed_grant: f37084a | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_add_vtable_override |
|||
| cotto | mikehh, there's a very good reason why they're capitalized by convention | 07:44 | |
| mikehh | cotto: do tell :-} | 07:46 | |
| one of the main reasons I started doing most of my coding in c++ rather than c about 20 years ago | 07:49 | ||
| mind you a different story these days | 07:50 | ||
| cotto | If you don't mind gcc-only extensions, you can almost pretend it's a high-level extension. | 07:54 | |
| er, language | |||
| cotto tries to bootstrap | 07:57 | ||
| nope | 07:58 | ||
| bacek_at_work | cotto, check find_codepoints. | 08:00 | |
| we generate bad parse/past tree for it... | 08:01 | ||
| dalek | rrot/opsc_full_parse: 849303f | cotto++ | compilers/opsc/src/Ops/ (2 files): make #define generate less-incorrect code |
||
| cotto | it'll have to be tomorrow | 08:02 | |
| bacek_at_work | it's always tomorrow somewhere... | ||
| bloody ifdefs... | |||
| We can't parse them semantically. | 08:03 | ||
| cotto | time to reimplement cpp? | 08:07 | |
| bacek_at_work | no way! | 08:09 | |
| it has same problems... | |||
| we have to expand macros during parsing. | |||
| Before semantic analyze. | |||
| Or somehow continue from same point after seeing something like '#ifdef'. | 08:10 | ||
| anyway | 08:11 | ||
| time to go home | |||
| cotto | 95/79 | 08:12 | |
| aloha | 1.20253164556962 | ||
| cotto | ops2c in branch is slower than in master by ~20% | 08:13 | |
| aloha, clock? | 08:21 | ||
| aloha | cotto: LAX: Mon, 00:21 PST / CHI: Mon, 02:21 CST / NYC: Mon, 03:21 EST / UTC: Mon, 08:21 UTC / LON: Mon, 08:21 GMT / BER: Mon, 09:21 CET / TOK: Mon, 17:21 JST / SYD: Mon, 19:21 EST | ||
|
08:32
fperrad joined
|
|||
| dalek | Heuristic branch merge: pushed 29 commits to parrot/gerd/JSON_nqp by gerd | 08:36 | |
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (PASS but would not upload) fulltest) at 3_1_0-417-gbc5a4ed - Ubuntu 10.10 i386 (g++-4.5) | 08:42 | |
| bacek | ~~ | 09:12 | |
| dalek | rrot/opsc_full_parse: ed30fe0 | bacek++ | compilers/opsc/src/Ops/Op.pm: Style change: use map instead of for. |
||
| rrot/opsc_full_parse: ea96fda | bacek++ | compilers/opsc/src/Ops/Compiler/ (2 files): Extract blockoid content |
|||
| rrot/opsc_full_parse: c6f731c | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm: Use mixed_content for guts of #if and #ifdef. It's not semantcially correct. We have to preserve state of Parser _before_ C macro and continue from it. But at least it gives us proper parsing of find_codepoint definition. |
|||
| rrot/opsc_full_parse: f828697 | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: PASTing of concatenate_strings |
09:24 | ||
| bacek | cotto, ping :) | ||
| msg cotto as of f828697 opsc_full_parse can bootstrap itself :) | 09:26 | ||
| aloha | OK. I'll deliver the message. | ||
|
10:14
contingencyplan left
10:33
JimmyZ joined
11:06
ShaneC1 joined
11:09
ShaneC left
11:15
JimmyZ left
|
|||
| dalek | rrot/opsc_full_parse: fafca72 | bacek++ | compilers/opsc/src/Ops/Op.pm: Use args instead of arg_types to calculate op size. |
11:44 | |
| rrot/opsc_full_parse: b41f1c4 | bacek++ | compilers/opsc/src/Ops/Compiler/ (2 files): Split generation of Ops::Op into 2 stages. It will simplify handling of OPSIZE and JUMPs. |
|||
| rrot/opsc_full_parse: a92c6ed | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Rework handling of op jumps. |
|||
| rrot/opsc_full_parse: a3f5157 | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Rework handling of OPSIZE macro |
|||
| rrot/opsc_full_parse: 6d86514 | bacek++ | compilers/opsc/src/Ops/Op.pm: Remove rewriting of OPSIZE macro. We don't generate it anymore. |
|||
| rrot/opsc_full_parse: cd04b2e | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Fix generating OP.jump |
|||
| rrot/opsc_full_parse: 2deda87 | bacek++ | / (142 files): Merge branch 'master' into opsc_full_parse |
11:50 | ||
|
12:10
cotto left
|
|||
| dalek | rrot/opsc_full_parse: 63f23cf | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Put write barrier into proper place |
12:19 | |
| rrot/opsc_full_parse: 4ad5a5d | bacek++ | src/ops/core_ops.c: Reboostrap ops!!! We can do it now. |
12:23 | ||
|
12:53
JimmyZ joined
|
|||
| dalek | rrot/opsc_full_parse: 84a3187 | bacek++ | compilers/opsc/src/Ops/Compiler/ (2 files): Rework handling of arglist to avoid interfere with infix<,> |
12:54 | |
| rrot/opsc_full_parse: 004d6f0 | bacek++ | t/compilers/opsc/08-emitter.t: Fix test. |
|||
| bacek | msg cotto opsc_full_parse if "make test clean" now. Can you add tests/implementation for "do {} while" handling? This is last bit for branch. | 12:55 | |
| aloha | OK. I'll deliver the message. | ||
| bacek | afk # bed tima | ||
| s/time/time/ | |||
|
13:10
mikehh left
|
|||
| Coke | . | 13:27 | |
| cotto_work: pong. | 13:30 | ||
|
13:35
mikehh joined
13:37
JimmyZ left
13:46
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 13:52 | |
| tadzik | good morning whiteknight | 14:08 | |
| whiteknight | hello tadzik. how are you doing today? | 14:09 | |
| tadzik | not bad. On my lectures at the moment | 14:10 | |
| no hackery yet today :) | |||
| whiteknight | which lecture? | ||
| tadzik | Probabilistic Methods | 14:11 | |
| on a break atm, otherwise I'd listen | |||
| moritz | that's what they all say :-) | ||
| tadzik | hey, that one's actually interesting :) | ||
| dalek | TT #2032 created by worr++: Small patch to add get_effective_user_id to parrot | ||
| TT #2032: trac.parrot.org/parrot/ticket/2032 | |||
| tadzik | whiteknight: seen the Close response from Austin? | 14:12 | |
|
14:14
plobsing left
|
|||
| whiteknight | tadzik: no | 14:16 | |
| tadzik: I would like to | |||
| tadzik | I'm pretty disconnected from Parrot and Close | 14:17 | |
| right now. If you feel like you can get something going with Close, | |||
| please do. | |||
|
14:17
rurban_ joined
|
|||
| whiteknight | okay, that's the kind of thing I was hoping he would say | 14:18 | |
| tadzik | did you? | ||
| whiteknight | did I what? | ||
| tadzik | I was hoping he'd say "Oh, Close! Yeah, I actually moved that to git and got 300 unpushed commits, wanna?" YP | 14:19 | |
| :P | |||
|
14:19
hudnix joined
|
|||
| tadzik | lecture & | 14:19 | |
|
14:20
rurban left,
rurban_ is now known as rurban
|
|||
| whiteknight | msg NotFound plumage seems to have problems installing winxed. It doesn't know how to execute the winxed test suite and all tests appear to fail. I can install it if I use "--ignore-fail=test" | 14:22 | |
| aloha | OK. I'll deliver the message. | ||
| NotFound | whiteknight: ??? Who added the test option to the installer? | 14:23 | |
| It was deliberately omitted. | |||
| Of course it can't execute winxed before winxed gets installed. | 14:24 | ||
| dalek | nxed: r824 | NotFound++ | trunk/winxedst1.winxed: Operator .* for indirect method call. space to prevent future changes. |
14:33 | |
| nxed: r825 | NotFound++ | trunk/pir/winxed_compiler.pir: update installable files |
|||
| umage: 1c5dc51 | NotFound++ | plumage/metadata/winxed.json: drop test from winxed metadata, winxed setup is not yet ready for it |
14:36 | ||
| whiteknight | NotFound++ | 14:37 | |
| NotFound: how to use the new syntax, object.*method(...)? | 14:43 | ||
| NotFound | whiteknight: is simple cases, like a variable name, yes. For something more elaborated: object.*(expression)(..) | 14:44 | |
| Parenthesis to prevent changes of precedence rules. | 14:45 | ||
| whiteknight | oh, nice | 14:53 | |
|
14:58
JimmyZ joined
14:59
cotto joined
|
|||
| cotto | ~~ | 15:02 | |
| Coke, do you have an admin bit on lists.parrot.org? dukeleto wants to make a list for jitterbug to yell at when parrot or an hll breaks. | 15:03 | ||
| cotto goes to work | 15:05 | ||
| Coke | cotto: I have admin on the existing lists. Pretty sure we ask osu for creating new lists. | 15:09 | |
| (admin on existing lists == shared password which I thought allison and I had already dumped on someone) | |||
|
15:11
Andy joined
|
|||
| dalek | nxed: r826 | NotFound++ | trunk/winxed_installed.winxed: half support for -o option in installable driver, Issue 19 |
15:17 | |
| nxed: r827 | NotFound++ | trunk/pir/winxed_installed.pir: update generated pir for installable driver |
15:23 | ||
|
15:27
bluescreen joined
|
|||
| whiteknight | NotFound: does winxed support [opt_flag]? | 15:31 | |
| NotFound | whiteknight: yes | 15:32 | |
| You need to set the int argument type, it doesn't add it automatically. | 15:35 | ||
|
15:44
contingencyplan joined
15:46
plobsing joined
|
|||
| cotto_work | ~~ | 15:47 | |
| Coke: ok | |||
|
15:51
theory joined
|
|||
| cotto_work | Coke: whiteknight also has an admin bit for lists.parrot.org iirc | 15:53 | |
|
15:59
JimmyZ left
16:18
Patterner left,
Psyche^ joined,
Psyche^ is now known as Patterner
16:20
davidfetter left
|
|||
| cotto_work | dukeleto: ping | 16:33 | |
|
16:35
bluescreen left
|
|||
| Andy | So who runs taptinder? | 16:50 | |
| moritz | mj41 I think | 16:51 | |
|
16:52
don-o is now known as donpdonp
|
|||
| mj41 | Andy: here | 16:53 | |
| Andy | First: NICE JOB | 16:54 | |
| I'm amazed at the thoroughness. | |||
| Second: any way we can see which compilers are getting exercised? | 16:55 | ||
| or are they all GCC? | |||
| whiteknight | is there any way from PIR to determine whether a file exists? | 16:57 | |
| dalek | TT #2030 closed by plobsing++: t/pmc/structview.t fails with memory PANIC | ||
| TT #2030: trac.parrot.org/parrot/ticket/2030 | |||
| plobsing | whiteknight: stat? | 16:58 | |
| jnthn | I'm sure there's a way, because I'm sure Rakudo implements :e | ||
| I think it's stat on the...OS PMC iirc. | |||
| plobsing | there's io_ops:stat and OS.stat | 16:59 | |
| whiteknight | I'm doing "os.stat(filename)", and it prints a message "stat failed: No such file or directory" to stderr and exits Parrot | ||
| moritz | pir::stat__isi($path, 0) | 17:00 | |
| mj41 | Andy: Only here tt.taptinder.org/cwm/machine gist.github.com/798223 (manually) ... auto is on todo list github.com/mj41/TapTinder/issues#issue/34 | ||
| Andy | Seems to me that compiler is/should be separate from machine. | 17:01 | |
| I have multiple GCCs, for instance. | 17:02 | ||
| and CLANG | |||
| and... | |||
| mj41 | Andy: There is also perl Configure.pl output tt.taptinder.org/cmdinfo/38281 -> tt.taptinder.org/file/cmdout/38281.txt for each run. | ||
| Andy: I know. It should be linked to job runs ... tt.taptinder.org/dbdoc/cluster-png/...ssions.png .... msjobp table probably. | 17:05 | ||
| whiteknight | moritz++ That works. Thanks | ||
| NotFound: ping | 17:06 | ||
| NotFound | whiteknight: pong | 17:07 | |
| whiteknight | NotFound: in winxed, how do I do the equivalent of ".loadlib 'io_ops'" | ||
| mj41 | Andy: There is irc://irc.freenode.org/taptinder | ||
|
17:08
dmalcolm joined
|
|||
| Andy | You've pretty much answered everything. | 17:08 | |
| whiteknight | NotFound: I tried $load "io_ops", but that doesn't work. It generates a load_bytecode instruction, not a .loadlib directive | ||
| mj41 | Andy: Ok. I hope you want commit bit :-). | 17:10 | |
| Andy | Hah. | ||
| Like I don't have enough to work on. :-) | |||
| I really need to start cranking on ack 2.0 | 17:12 | ||
| NotFound | whiteknight: using extern generates a .loadlib, but I'm not tested with op libs. | 17:13 | |
| plobsing | NotFound: you have a typo in an error message: "nmaespace" | 17:14 | |
| NotFound | whiteknight: yeah, that's one of my favourite typos. | 17:15 | |
| whiteknight | NotFound: "using extern io_ops" generates the code "load_bytecode 'io_ops.pbc'". Doesn't do .loadlib | ||
| mj41 | recruiting - my new word from en.wikipedia.org/wiki/Incandescence_%28novel%29 :-) | ||
| plobsing | whiteknight: using extern 'io_ops' seems to work for me. inside a namespace, it generates load_bytecode though. | 17:16 | |
| NotFound | whiteknight: it should be at namespace scope, inside a function works different, | ||
| dalek | rrot/opsc_full_parse: 3def685 | cotto++ | compilers/opsc/src/Ops/ (3 files): [opsc] add support for do-while loops |
17:17 | |
| whiteknight | ah, gotcha. Yes, it works now | ||
| NotFound | I think is time to add some directive and deprecate some tricks from early times. | ||
| cotto_work | Translating C to C is fun. | 17:20 | |
| atrodo | c2c++ | 17:22 | |
| or is it ctoc? I can never remember when to use 2 vs to | |||
|
17:26
plobsing left
17:28
plobsing joined
|
|||
| Andy | Is there some magic to get t/library/pcre.t to find my libpcre? | 17:30 | |
| It's installed, but that test always fails. | |||
| Coke | Andy: ISTR there's a ticket for the fact that that test is not using the same method configure does to find pcre. | 17:31 | |
| dalek | rrot: 155d9b3 | petdance++ | src/pmc/role.pmc: consting. Hoisting up repeated CONST_STRING calls. |
||
| Andy | Well someone should fix it! | 17:32 | |
| Coke | does configure report that it was found, OOC? | ||
| Andy | At my whim! | ||
| double-checking. | |||
| I don't get any errors about it NOT being found. | |||
| Coke | ... odd. parrot_config --dump | ack pcre doesn't show anything helpful. | 17:34 | |
| dalek | nxed: r828 | NotFound++ | trunk/winxedst1.winxed: fix typo in error message. whiteknight++ |
17:36 | |
|
17:38
lucian joined
|
|||
| NotFound | "Perl6 at the very least needs to be able to get the effective user id as well as the real user id of the running process" Why? | 17:38 | |
| sorear | $*EUID | ||
| spelled $> in Perl5 emulation mode | 17:39 | ||
| NotFound | What does that in non-unixy environments? | 17:41 | |
| sorear | dunno, perlport or perlPLATFORM should say | 17:42 | |
| whiteknight | I assume it does nothing helpful on windows | ||
| the patch just returns 0 | |||
| cotto_work | sees to be what perl 5 on windows does | 17:43 | |
| sorear | wow, PL_delaymagic is evil... (looking at how Perl 5 handles ($>,$<) = ($<,$>) from the documentation) | ||
| NotFound | I'm not sure if such platform specifics should be fully supported in core, maybe nci is more appropiate. | 17:45 | |
| plobsing | but most of what makes Perl 5 so useful is the easy access to Unix | 17:46 | |
| dalek | rrot: 74882a2 | petdance++ | src/pmc/scalar.pmc: consting |
17:47 | |
| rrot: 82f841a | petdance++ | src/pmc/scheduler.pmc: consting, and hoisted a CONST_STRING |
|||
| NotFound | plobsing: I mean core parrot, core of languages can predefine what they want. | ||
| And implement it via NCI. | |||
| plobsing | ah, that I fully endorse | 17:48 | |
| but NCI? really? the main guy on that writes crap code. | 17:49 | ||
| NotFound | I don't think that functions will be used so frequently to need highly optimized code. | 17:51 | |
| Main guy on what? | 17:54 | ||
| plobsing | I'm the main guy on NCI. | 17:55 | |
| at least in my own mind. | |||
| NotFound | Ah, I tought you were talking about some rakudo way for nci. | 17:56 | |
| Coke | NotFound: I'd buy that, except that tcl needs that too, and I bet several other languages do also. So if it's not core, it's not something all HLL authors should have to write from scratch. | ||
| cotto_work | plobsing: I aspire to your level of crappiness. | 17:57 | |
| ;) | |||
| NotFound | Coke: in that case I think we should define a consistent behaviour, not just "TODO in windows" | ||
| plobsing | Coke: we should provide a library, possibly through plumage. | 17:58 | |
| NotFound | In fact, skipping the test looks wrong to me. If it can be used, it should be tested, even if the result is ignored. | ||
| sorear | To what extent do we want plumage to be mandatory? | 18:02 | |
| whiteknight | sorear: good question | 18:04 | |
|
18:04
bluescreen joined
|
|||
| NotFound | I don't think providing things is mandatory. If some HLL wants to do some functionality already provided by some module in its own way, it can do. | 18:05 | |
| Providing parrot core ways for anything any HLL may need in any platform is a way to maintenance nightmares. | 18:06 | ||
| cotto_work | +1 | 18:07 | |
| We should support the common case and make the corner cases possible. | |||
| sorear | Where do you draw the line? Why not just have Parrot be "a runloop and a GC" and everything else in Plumage? (I think we call that M1 these days?) | ||
|
18:08
ShaneC1 left
|
|||
| plobsing | sorear: I tend towards that extreme. Kitchen-sink parrot is not my ideal. | 18:09 | |
| but I'd draw the line at "enough to make plumage run" | |||
| NotFound | sorear: that's the reason of my comments, trying to draw some line. | ||
| dalek | rrot: dbbf609 | petdance++ | src/pmc/sock (2 files): lots of consting |
18:10 | |
| NotFound | The line can't be "what some rakudo guy ask lies inside" | ||
| cotto_work | the mythical Sock pmc | ||
| plobsing | cotto_work: it goes on the Foot PMC. | ||
| cotto_work | helpful for bootstrapping | ||
| plobsing | Socket PMC, as a core PMC is another example of something that might be better as a library (possibly included with core, but not always loaded). | 18:11 | |
| cotto_work | The past approach has been to throw everything in core. How far away to move from that is an important question. | 18:12 | |
| (If I had a good answer, I'd say that instead of calling the question important.) | 18:13 | ||
| NotFound | cotto_work: yes, but as "everything" grwos that approach gets worse. | 18:14 | |
| s/grwos/grows | |||
| And it seems that we are approaching the point of being asked for all posix. | 18:15 | ||
| cotto_work | plobsing: do you have any thoughts on what kind of atoms M0 would need for ffi? | ||
| plobsing | cotto_work: my opinion is that M0 shouldn't have the ffi. At least not fully. | 18:16 | |
| cotto_work | plobsing: I'm not saying it should have a full-fledged ffi, but it will need enough primitives to build an ffi out of. | 18:17 | |
| Those primitives are what I'm thinking about. | |||
| plobsing | it needs some way to compile native functions into static calls. else the unecessary indirection in (eg: GC) will pale in comparison. | ||
| I'm not sure how to work that into the bytecode you're designing. Possibly a "compilation context" with a table of functions which get static calls. | 18:18 | ||
|
18:26
plobsing left
18:27
dcolish joined
|
|||
| dcolish | dukeleto: hey we missed you on saturday! | 18:28 | |
|
18:30
ShaneC joined
18:39
plobsing joined
18:41
preflex left,
lopaway is now known as lopnor
18:44
preflex joined
|
|||
| dcolish | I can't really say how nice it is to have a project this complex that I can just checkout, build in under 5 minutes and pass all tests. you guys rock! | 18:49 | |
| plobsing | dcolish: want to be a part of the awesome? | 18:50 | |
| dcolish | i think i do! | ||
| i've been working on pypy for a few months now and i'm just super frustrated by it | |||
| i want a good vm toolchain, that works reliably on osx and which i can use to implement python and other languages | 18:51 | ||
| plobsing | hey, what do you know! we're currently looking for python implementers. | ||
| dcolish | haha | ||
| sorear | we have no shortage of Perl implementor | 18:52 | |
| dcolish | yeah i was hoping to talk with dukeleto this weekend about it at the portland python sprints | ||
| i am a terrible with perl but kickass with python | 18:53 | ||
| plobsing | sorear: or so it would seem. the reality is that core Rakudo has a very low bus number (it is growing though). | ||
| dcolish | i say count me in, i'm tired of only having one choice in the python world of implementations | ||
|
18:53
lopnor is now known as lopaway
|
|||
| particle | this bird could use a good ass-kicking from a python | 18:53 | |
| sorear | don't forget punie, ponie, and nqp | 18:54 | |
| dcolish | i know a good number of parrot devs are in portland, do they usually hack on it at the perlmongers group on thursdays? | ||
| sorear | although arguably the first two have bus numbers of 0 | ||
| whiteknight | dcolish: you should also talk to lucian, another one of our pro-python coders. He's been talking about implementing some version of python on Parrot | 18:55 | |
| sorear | dcolish: I am a Python outsider; I thought you already had ~4? | ||
| whiteknight | I think lucian was interested in implementing a python subset compiler, to help bootstrap a full compiler | ||
| sorear | pypy, psyco, cython, jython, ... | ||
| lucian | whiteknight: i sort of gave up on that, i'll probably use winxed | 18:56 | |
| whiteknight | lucian: okay, that's fine too. I've been using winxed for a lot of stuff and it's not bad | ||
| lucian | sorear: and only two of those are python implementations. but there are plenty more | 18:57 | |
| dcolish: any particular reason you're disillusioned with pypy? | |||
| sorear | lucian: which two arent? | 18:58 | |
| lucian | sorear: cython, psyco | ||
| psyco is just a jit for CPython, cython is similar, but not exactly python | 18:59 | ||
| sorear | ah I had CPython and Cython confused | ||
| lucian | there's also ironpython, hotpy, py-cl (the common lisp thing), etc | ||
| i see. the naming wasn't terribly inspired | |||
| dcolish: just read the backlog, you dislike pypy's build times? | 19:01 | ||
| lucian thinks PyPy is "the right way" to implement a python vm | |||
| dukeleto | dcolish: i wanted to go to the python sprint stuff, but I am moving to a new house | 19:03 | |
| particle | i'm shocked that there's more than one way to implement a python vm ;) | ||
| dukeleto | dcolish: also, welcome to #parrot ! | ||
| rurban | I also think PyPy is the best, theoretically | 19:04 | |
| lucian | particle: to be precise, the manifesto says "only one *obvious* way to do it" | ||
| dalek | nxed: r829 | NotFound++ | trunk/winxedst1.winxed: new directive intended to replace (ab)use of namespace level 'using extern' |
19:06 | |
| NotFound | Uh, bash eat the directive name. | 19:07 | |
| sorear | opbots, names | 19:08 | |
| lucian dislikes bash | |||
| cotto_work | particle++ | ||
| plobsing | lucian: what do you prefer? zsh? | 19:09 | |
| lucian | plobsing: to some extent, fish | ||
| NotFound | cmd.exe? | ||
| command.com? | |||
| plobsing | csh? | ||
| lucian | fish | ||
| try it, it's nice | |||
| plobsing | I did. I'll keep my zsh, thanks. | 19:10 | |
| lucian | however, i'm generally annoyed that shells and programming languages are so separate | ||
| i keep postponing trying zsh | |||
| sorear | tclsh much? | ||
| lucian | sorear: that is interesting, yes | ||
| lucian has dinner | |||
| plobsing always liked the idea of zoid, but never bothered to try it for more than 5 minutes | 19:11 | ||
| NotFound | Someone told me there was a sort of Doom sh, where you shot at processes to kill them. | 19:13 | |
| cotto_work | NotFound: psDoom | 19:14 | |
| plobsing | is init the final boss? | ||
| PerlJam | NotFound: There used to be an old X game where each process was represented as a bug that wandered around your screen and you could smash them with a hammer. | ||
| donpdonp | the BFG must be 'killall' | ||
| atrodo | I always loved psDoom | 19:15 | |
| dcolish | lucian: I'm mainly frustrated by the complexity of the toolchain | 19:17 | |
| plobsing | psDoom - you'll never look at a forkbomb the same way again | ||
| lucian | dcolish: then you'll love parrot, there's no toolchain to speak of :) | ||
| lucian is exaggerating | |||
| dcolish | i've been trying very hard to get familiar with it and make osx a better supported platform, but i keep getting mixed messages about that goal | ||
| lucian | dcolish: the message i got was "do it yourself" | 19:18 | |
| dcolish | wrt to osx on pypy? | ||
| lucian | yep | ||
| dcolish | yeah me too, its very disheartening when i've been working so hard to make it happen | ||
| lucian | dcolish: although i find that fair enough, the hardware for osx is silly expensive | 19:19 | |
| cotto_work | laptops aren't bad | 19:20 | |
| dcolish | compared to a decent thinkpad, they're about the same | ||
| lucian | they're expensive because you need special hardware, mostl | ||
| y | |||
| dcolish | also, i already have the hw and enough knowledge to do the code | ||
| and i've actually written some modules in their lower level system, but i dont get good feedback and i have to fight for anyone to care | 19:21 | ||
| lucian | dcolish: have you had patches rejected? | ||
| dcolish | not the dev environment i'm looking for honestly | ||
| lucian: of course | |||
| lucian | i see. well, it's osx. who cares, really? | ||
| dcolish | heh | ||
| lucian | people barely care about windows, and that's extremely popular | 19:22 | |
| lucian goes back to dinner | |||
| dcolish | i see it like this, i care enough to do the work so why not let it happen | ||
| dukeleto: ah congrats on the new house! | 19:23 | ||
| selena mentioned that | |||
| lucian: either way i'm interested in doing a good implementation of python on parrot so if you've got ideas on where to start i'm down | 19:24 | ||
| PerlJam | pynie? | ||
| or was that a dig at pynie and I just didn't catch it. | 19:25 | ||
| lucian | PerlJam: it's sort of down a dead end | ||
| PerlJam | ? | ||
| lucian | what i was thinking is rewriting the backend for an existing python compiler | ||
| PyPy has a good pure-python compiler | |||
| and then write the core types in winxed | 19:26 | ||
| everything above should be pure-python | |||
| PerlJam | Isn't PyPy a little behind the times and incomplete? | ||
| dcolish | its made lots of progress recently | ||
|
19:26
bluescreen left
|
|||
| lucian | PerlJam: it's at python 2.7 i think, and language-wise it's not incomplete at all | 19:26 | |
| dcolish | afaik its the most compatible alternative | ||
| lucian | which grammar the parser uses is of little consequence | ||
| lucian nods | |||
| PerlJam | excellent. | 19:27 | |
| lucian | i think CPython3's parser is C, which is unacceptable for pynie-ng | ||
| whiteknight | what is pynie-ng? | ||
| lucian | whiteknight: pynie-nextgen, an hypothetical new pynie | ||
| whiteknight | oh, gotcha | ||
| it's like windows RG | |||
| lucian | dcolish: this is the current pynie bitbucket.org/allison/pynie | 19:28 | |
| it's broken and quite hard to develop further | |||
| dcolish | yup, i've looked at it a bit | ||
| lucian | and from what allison told me, there may be some copyright issues with it | ||
| dcolish | i dont know why, but i like to idea of writing the backend in PIR | ||
| oh? | |||
| lucian | dcolish: PIR is quite horrible | ||
| winxed is to PIR like C is to assembly | 19:29 | ||
| which suits me just fine | |||
| dcolish | i dont know about winxed | ||
| lucian | NQP is also an option | ||
| cotto_work | dukeleto: do you have a preferred name for the jitterbug list? | ||
| lucian | but it has lib dependencies | ||
| dcolish: feel free to poke NotFound about winxed | 19:30 | ||
| dcolish | i shall | ||
| lucian | i was thinking of having object, dict, list, etc written in winxed | ||
| and the pure-python compiler generating code referencing those | |||
| and reusing as much PyPy/jython pure-python libs as possible | |||
| dcolish | this is probably getting ahead, but do you have any thoughts about C-Api? | 19:31 | |
| thats a big pain point | |||
| lucian | dcolish: i'm not sure it's possible | ||
| dcolish | hmm | ||
| lucian | ctypes should be possible, on top of NCI | ||
| it's the same problem everywhere, CPython's C API sucks for anything that isn't CPython | 19:32 | ||
| dcolish | yeah and everyone uses it | ||
| dalek | nxed: r830 | NotFound++ | trunk/winxedst0.cpp: diagnose $loadlib unsupported in stage 0 and reformat a bit the error output |
||
| lucian | and people like cython, but dislike ctypes | ||
| dalek | nxed: r831 | NotFound++ | trunk/pir/winxed_compiler.pir: update installable compiler |
||
| lucian | dcolish: i think it's a general problem on parrot and that it should be ignored until pynie passes a few tests at least | 19:33 | |
| dcolish | sure, just wondering if there is any possibility of a solution | ||
| so what are these copyright issues you mentioned? | |||
| lucian | dcolish: you'd have to ask allison, i just took it as read | 19:34 | |
| it's not a big deal, pynie has very little code | |||
| dcolish | ah ok, i'd like to start from scratch honestly | 19:35 | |
| lucian | dcolish: usually i disagree with that, but in this case, yeah | ||
| dcolish | I think this would really benefit from a fresh approach | 19:36 | |
| lucian | dcolish: are you a student? do you plan on doing this for GSoC? | ||
| 'cause i do | 19:37 | ||
| dcolish | unfortunately i'm not a student anymore, i just left school for a job | ||
| lucian | ok. so we could work together (me with GSoC, you on your own time) | ||
| dcolish | totally | 19:38 | |
| NotFound | lucian: the possible problem with HLL low level objects written in winxed is the same as writing them in PIR: slowliness of method calls. | ||
| lucian | that is, if i get accepted | ||
| dcolish | would you work on it even if you didnt? | ||
| lucian | NotFound: as opposed to HLL-specific pmcs? | ||
| NotFound | lucian: yes | ||
| lucian | dcolish: if i had the time, yes | ||
| not unlikely i will this summer otherwise, though | |||
| dcolish | ok no worries | 19:39 | |
| lucian | NotFound: then i guess that's an acceptable overhead in the beginning | ||
| NotFound | lucian: probably, and it may get better if something like 6model is introduced in parrot. | ||
| lucian | i'm actually curious just how slow those lookups are, they're quite slow in python anyway | 19:40 | |
| jnthn | The thing is, even if lookups are fast (in 6model it's just some pointer follows in the best case), there's still the cost of invoking the thing you looked up. | 19:41 | |
| In Parrot that cost is fairly high at the moment. | 19:42 | ||
| At least, compared to, say, C, anyway. | |||
| lucian | jnthn: that wouldn't really be an issue, certainly not until pynie passes all tests | ||
| jnthn | Partly because it involves (at least one) GCable being created, rather than just some stack space being used. | ||
| NotFound | They are slow, but not so slow to be unusable. I have animation examples that works well in spite of dispatching lots of mathods every frame. | ||
| jnthn | Aye, I suspect they're not insanely slow. Just not insanely fast either. :) | 19:43 | |
| lucian | i only care about them being within one order of magnitude of CPython at first | 19:44 | |
| NotFound | I've read several articles about how to make python go faster, so I guess it's not insanely fast ;) | 19:45 | |
| lucian | NotFound: yes, CPython is quite slow | ||
| but it's still usually not a problem | |||
| you see why i'm not much concerned about performance right now | |||
| dcolish | I would really recommend having a good solution to the C-API question before getting too far along | 19:46 | |
| i agree, that the performance of any solution would not matter now, as long as it could get faster. | 19:47 | ||
|
19:47
Andy left
|
|||
| NotFound | That's the advantage of slow solutions: they always can be made faster ;) | 19:48 | |
| dcolish | hah | 19:49 | |
| NotFound | Well, performance apart I guess I can solve any problem you may encounter in the winxed way. | 19:50 | |
| With a little help from my friends. | |||
| dcolish | I shall have to read about wasix | 19:52 | |
| lucian | dcolish: i think something like IronClad or cpyext is possible for pynie | ||
| but very hard. it's also not something i care about very much right now | |||
| NotFound | dcolish: wasix is mostly a toy. | ||
| dcolish | yeah, but it looks like a good way to learn winxed | 19:53 | |
| since this is all 100% new to me | |||
| NotFound | dcolish: winxed is 100% new to the vast majority of the world population ;) | 19:54 | |
| But its syntax is familiar enough to most programmers to make it easy to approach. | 19:55 | ||
| dcolish | ah, so winxed compiles out to PIR | 19:56 | |
| NotFound | Yeah | ||
| ShaneC | do any languages target pasm rather than pir? | 19:58 | |
| cotto_work | ShaneC: I really hope not. | 19:59 | |
| it's discouraged | |||
| NotFound | Even imcc doesn't target pasm very well. | ||
| plobsing | is it deprecated yet? can it be? | ||
| Coke doesn't think deprecating it is helpful. | 20:01 | ||
| Not until we have a replacement. | 20:02 | ||
| NotFound | I think we may need to rewrite a bunch of tests first. | ||
| plobsing | for PASM? | ||
| Coke | in the meantime, | ||
| whoops. | |||
| NotFound | $ ack -l pasm_output_is t/ | wc -l | 20:03 | |
| 35 | |||
| plobsing | sure, we have tests that depend on PASM. that shouldn't stop us from deprecating it. | 20:04 | |
| that's better than the limbo-state it currently occupies | |||
| "it's there, but don't use it" sucks | |||
| ShaneC | so long term pasm will be gone and languages will have to target a yet-to-be-determined imcc replacement? | ||
| Coke | plobsing: what is your suggested replacement for it? | 20:05 | |
| plobsing | PIR | ||
| sure, it's not the best, but it is better than PASM | 20:06 | ||
| lucian | plobsing: i thought the plan was to move to an assembly that maps 1:1 with bytecode | ||
| NotFound | ShaneC: we'll probably have some language or api to generate PBC, and a PIR compiler as external tool, not inside libparrot. | ||
| ShaneC | ah | ||
| lucian | s/with/to/ | 20:07 | |
| plobsing | lucian: that's all fine and good, but we don't have that right now. | ||
| lucian | plobsing: i see | ||
| plobsing | also, there are some encapsulations that PIR protects which we should not be exposing. | ||
| an assembly that maps 1:1 is useful, but not as a compiler target. | |||
| Coke | so if you want to rip out PASM, make /that/ happen, and then migrate from PASM to that. That seems reasonable to me. | ||
| s/that/the replacement/:1st | 20:08 | ||
| NotFound | The main role of PIR for code generation right now is to isolate us from the gory details of calling conventions and keys. | ||
|
20:09
PacoLinux left
|
|||
| NotFound | At least from the winxed point of view. | 20:10 | |
| ShaneC | are the main gripes with imcc/pir the language itself or the interpretter? | 20:11 | |
| plobsing | NotFound: those are some fo the big ones. | ||
| cotto_work | ShaneC: yes | ||
| ShaneC | ;-P | ||
| plobsing | irregular op-set is another huge thing PIR hides | ||
| NotFound | plobsing: winxed takes care by itself with some of that. | 20:12 | |
| It will not be so hard to do it at full. | 20:13 | ||
| whiteknight | NotFound: I see an "exists" operator, but don't see any tests or examples of it's use. How to use it? | 20:14 | |
| NotFound | whiteknight: just like delete | ||
| And delete is borrowed from javascript. | |||
| if (exists a["b"]) ... | 20:15 | ||
| whiteknight | gotcha | ||
| NotFound | There aren't usages yet because I added it just yesterday, | 20:16 | |
| plobsing | NotFound: sure you handle some of it, but do you handle even all the different types of irregularity? | ||
| for example: do you fold constants? if folding throws an exception, do you *unfold* the constants? | |||
| NotFound | plobsing: no, but we'll be able to do that if that were the only obstacle disallowing going forward. | 20:17 | |
| bacek | Good morning, humans | ||
| cotto_work | hio bacek | ||
| bacek | aloha, cotto_work | 20:18 | |
| NotFound | That is, when other solutions get enough maturity to start thinking about replacing pir. | ||
| bacek | cotto, thanks for "do while" implementation | ||
| cotto_work | bacek: thanks for the other 95% of opsc | 20:19 | |
| bacek | cotto, :) | ||
| cotto, I would like to merge new opsc. Rather sooner than later | 20:20 | ||
| cotto_work | bacek: great. Did you doughera's post to parrot-dev about pmc2c and write barriers? | 20:21 | |
| bacek | cotto_work, first one is bug. I can fix it after merge. Second is not a bug. | 20:22 | |
| cotto_work | ok. It's alright if generated code is wacky as long as it dtrt. | ||
| bacek: also, last time I measured ops2c, it was ~20% slower in opsc_full_parse. | |||
| atrodo | a small price to pay, right? | 20:25 | |
| cotto_work | minor annoyance | 20:26 | |
| bacek | cotto_work, yeah. But it's only 20% :) | ||
| cotto_work | Yes. 200% would more of an issue. | 20:27 | |
| bacek | We did slowdown ops2c by order of magnitude in first migration to nqp. | ||
| cotto_work | probably a couple | 20:28 | |
| bacek | probably. | 20:29 | |
| perl6.ops failed to parse with new opsc... | |||
| whiteknight | NotFound: is there any way to get a reference of a class object by name? | ||
| bacek | "Your princess is in another castle" | ||
| whiteknight | namespace Foo { class Bar { } }. If I say "var class = Foo.Bar", I get an error | ||
| NotFound | whiteknight: not yet. | 20:30 | |
| cotto_work | bacek: any bets on which op? | 20:31 | |
| bacek | cotto, looking | ||
| plobsing | I'm betting on the binder | ||
| jnthn | The binder isn't actually in the ops file, mind. :) | 20:32 | |
| plobsing | ah. I just recall it being an op somewhere. | ||
| jnthn | It could be the delightful rebless_subclass. :) | ||
| There is one that calls into the binder. | |||
| cotto_work | bacek: the one with 11 arguments | ||
| set_llsig_elem | 20:33 | ||
| bacek | cotto, yes. This one. | ||
| jnthn | .oO( Maybe going for argument high score wasn't such a good idea... ;-) ) |
20:34 | |
| bacek | looks like we didn't handle [] yet | ||
| jnthn, :) | |||
| cotto, yes. foo = bar[42] doesn't work. | |||
| cotto_work | bacek: go figure | ||
| bacek: are you fixing that? | 20:36 | ||
| bacek | cotto, not now. | ||
| dalek | rrot/opsc_full_parse: 85c61d1 | bacek++ | t/compilers/opsc/01-parse-body.t: Add (failing) test for array access. |
||
| cotto_work | ok. I'll ping you if I have to give up before it works. | ||
| bacek | I pushed (failing) test for it. Feel free to fix grammar :) | ||
|
20:39
lucian left
|
|||
| cotto_work | bacek: why doesn't that parse? opsc has postcircumfix:sym<[ ]> | 20:42 | |
| bacek | cotto, just pull :) | 20:43 | |
| dalek | rrot/opsc_full_parse: 8f2e982 | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm: Split %methodop into 2 precedence. Fix parsing of [] |
||
| cotto_work | git pull fixes a lot of my problems | ||
| NotFound | whiteknight: using Foo.Bar; may work for some usages. | ||
| cotto_work | bacek: it still explodes on perl6.ops, but it explodes later now | 20:44 | |
| also, I definitely wouldn't have found that fix. I'll have to study that part of the code. | 20:45 | ||
| same op | 20:46 | ||
| PerlJam | The other day some people were talking about separate PaFo and TPF applications to GSoC. Was that going to happen? | 20:47 | |
| cotto_work | PerlJam: that's the direction we're moving in. I think the blockers is an org admin for TPF. | 20:48 | |
| PerlJam | thanks. | 20:50 | |
| cotto_work | s/blockers/blocker/ | ||
| PerlJam: you can confirm with dukeleto | |||
| bacek | cotto, basically - wrong associativity of %methodop. | ||
| cotto_work | bacek: it's quite strange seeing Perl6 terminology applied to C concepts. | ||
| bacek | cotto, it's not "Perl specific". It's parsing specific :) | 20:51 | |
| jnthn | bacek: I'm curious - is the work to parse the op bodies preparing the way for something else? | ||
| bacek | cotto, (explode) yes, we don't handle emitting of [] yet. | 20:52 | |
| jnthn, of course. "World Domination" :) | |||
| cotto_work | jnthn: yes. Once we can parse C and emit C, we're closer to parsing C and emitting lolcode. | ||
| atrodo | i thought bf was the goal. huh | 20:53 | |
| jnthn | lolcode FTW! | ||
| bacek | jnthn, actually it will help Lorito. And I can play with emitting LLVM meanwhile :) | ||
| jnthn | ooh :) | ||
|
20:55
plobsing left,
plobsing joined
|
|||
| cotto_work | lolcode, llvm, same thing | 20:58 | |
| dcolish | I noticed that on the jit page dynasm was mentioned, but not much else was said. what are some of the issues with using it? | 20:59 | |
| dalek | nxed: r832 | NotFound++ | trunk/winxedst1.winxed: drop a branch of NewExpr that is not used since its case usage was moved to |
21:00 | |
|
21:04
plobsing left
|
|||
| jnthn | bacek: Does that potentially mean we'll get some kinda JIT? :) | 21:06 | |
| whiteknight | NotFound: "using Foo.Bar" returns the NameSpace, not the class | ||
| NotFound: no rush. I'll create a ticket to document | 21:10 | ||
| bacek | jnthn, "potentially" :) | 21:11 | |
| NotFound | whiteknight: quick hack: using Foo.Bar; var v = typeof(Bar); | 21:12 | |
| whiteknight | NotFound: yeah, I found that too | ||
|
21:14
lucian joined
|
|||
| whiteknight | NotFound " var c = class Foo.Bar" would be nice syntax, in my opinion | 21:15 | |
| but whatever you think is best will work too | |||
| NotFound | whiteknight: it may be, I was thinking about a variant of using static but looks ugly. | ||
| dcolish | lucian: if I might ask, have you stopped working on pypy as well and if so why? | 21:16 | |
| lucian | dcolish: i never really started, the things i wanted to do required skills i didn't have (and didn't have the time to get them either) | ||
| NotFound | A class operator may be cleaner and more usuful. | ||
|
21:17
fperrad left
|
|||
| whiteknight | NotFound: I like it because it's clean, clear, and it's one line of code. Not "using Foo.Bar;\\n var c = typeof(Bar);" | 21:18 | |
| dcolish | lucian: hmm i thought you were involved in the cpyext work | ||
| lucian | dcolish: very, very little | 21:19 | |
| dcolish | ah | ||
| whiteknight | msg dukeleto: GSoC applications are being accepted. Tell me whatever you need me to do and I'll do it | 21:21 | |
| aloha | OK. I'll deliver the message. | ||
| tadzik | oh, GSoC | 21:22 | |
| are there some project ideas already? | |||
| whiteknight | tadzik: I have a million ideas | 21:23 | |
| tadzik | whiteknight: anything suitable for an aspiring newcomer? | ||
| whiteknight | tadzik: you or somebody you know? | 21:24 | |
| tadzik: I'll start blogging about project ideas. Ideally the aspiring newcomer will find a project that is both interesting and beneficial to Parrot. So, we want to know what *your* ideas are too | 21:25 | ||
| ShaneC | blog url? | ||
| whiteknight | ShaneC: whiteknight.github.com/ | ||
| tadzik | whiteknight: me precisely | ||
| whiteknight | ShaneC: I'll be blogging a lot about GSoC, especially once we get accepted as an organization | 21:26 | |
| tadzik | heh, that's a formality, isn't it? | ||
| looking at how successful GCI was | |||
| whiteknight | tadzik: trac.parrot.org/parrot/wiki/BigProjectIdeas is a good place to start for some ideas. There will be more | 21:27 | |
| anyway, I have to pack up and head home now. I'll be back on later | 21:28 | ||
| tadzik | dbus interface seems doable | ||
|
21:29
whiteknight left
21:30
janus joined
|
|||
| dalek | nxed: r833 | NotFound++ | trunk/winxedst1.winxed: quick fix for some new usages that were wrong since the VarData refactor |
21:36 | |
|
21:40
plobsing joined
|
|||
| bacek_at_work | ~~ | 21:44 | |
|
21:49
donaldh joined
|
|||
| dalek | nxed: r834 | NotFound++ | trunk/winxedst1.winxed: class operator, Issue 20, whiteknight++ |
22:15 | |
|
22:19
rurban_ joined
|
|||
| dalek | nxed: r835 | NotFound++ | trunk/pir/winxed_compiler.pir: update installable compiler |
22:20 | |
|
22:22
rurban left,
rurban_ is now known as rurban,
lucian_ joined
22:25
lucian left
|
|||
| ShaneC | whiteknight is the go-to guy for libparrot/embedding, right? | 22:32 | |
| cotto_work | ShaneC: yes | 22:33 | |
| ShaneC | cotto_work: thanks | 22:35 | |
| cotto_work | np | ||
|
22:36
donri joined
|
|||
| donri | Why not on freenode? :( | 22:37 | |
|
22:40
cosimo joined
|
|||
| dalek | rrot: 2824705 | plobsing++ | / (4 files): probe for 64-bit integers and long long |
22:43 | |
| rrot: 1d4d381 | plobsing++ | config/auto/sizes/test (2 files): remove unused config probes |
|||
| rrot: bfd441d | plobsing++ | include/parrot/datatypes.h: HAS_LONGLONG now detected by configure |
|||
| rrot: 00aac5e | plobsing++ | / (3 files): 64-bit support in structview where available |
|||
| rrot: 1977252 | plobsing++ | include/parrot/datatypes.h: alignment for explicitly sized types |
|||
| rrot: d113423 | plobsing++ | MANIFEST: mk_manifest_and_skip |
|||
| rrot: 0321a4c | plobsing++ | / (12 files): Merge branch 'large-ctype-probes' |
|||
| ttbot | Parrot 0321a4c3 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/38811 | 22:46 | |
| Parrot 2b74f06a i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/38824 | 22:48 | ||
| cotto_work | plobsing: ^ | 22:52 | |
| plobsing | yeah. booting up my VM now. | 22:53 | |
| looks like a configure error | |||
| cotto_work | ok | ||
| ttbot | Parrot 2b74f06a i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/38886 | 22:54 | |
| mikehh | t/steps/auto/sizes-01.t - Failed tests: 6-8, 11-12, 14-16, 19-20, 24 - post-configure tests | 22:59 | |
| plobsing | wtf my 32-bit linux VM has a 64-bit type | 23:00 | |
| mikehh | running configure with --test | ||
|
23:00
lucian_ left
|
|||
| mikehh | me too | 23:00 | |
| ttbot | Parrot 2b74f06a i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/38967 | 23:01 | |
|
23:09
PerlJam left,
pmichaud left,
tadzik left,
Util left
23:11
tadzik joined
23:14
PerlJam joined,
pmichaud joined,
Util joined
|
|||
| dalek | rrot: d46d430 | plobsing++ | t/steps/auto/sizes-01.t: update auto::sizes test mostly, the internal data representations changed. also hugeintval and hugefloatval handling has been greatly simplified |
23:15 | |
| ttbot | Parrot d46d430d MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/39131 | 23:18 | |
| dalek | rrot: 6e060cb | plobsing++ | config/auto/sizes.pm: handle failed probe compilations |
23:29 | |
| plobsing | looks like it is fixed | 23:38 | |
| dalek | rrot: 984f59d | petdance++ | src/pmc/string.pmc: consting and localizing vars |
||
| rrot: 1b2ad05 | petdance++ | / (2 files): Merge branch 'master' of github.com:parrot/parrot |
|||
| plobsing | and we now have long double, long long, and 64-bit support (some conditions apply, see C compiler for details) | 23:39 | |
| ttbot | Parrot d46d430d MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/39143 | 23:40 | |
| dalek | rrot: 9e03d59 | petdance++ | src/pmc/t (2 files): consting vars, and marking interps as UNUSED |
23:44 | |
| ttbot | Parrot 984f59db MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/39351 | 23:47 | |
|
23:51
donaldh left
|
|||
| dalek | rrot/opsc_full_parse: 7054bcf | jkeenan++ | MANIFEST: Update MANIFEST. config step init::manifest was failing. |
23:52 | |