|
Parrot 2.5.0 release time is on 15th at 12:00 UTC | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere | Priorities: fix io_ops mess in corevm/coretest, review and update documentation before release Set by moderator on 9 June 2010. |
|||
| bacek | Good morning, huhmans | 00:05 | |
| mikehh | aloha, bacek | 00:06 | |
| bacek | aloha, mikehh | ||
| whiteknight | oi, I guess I didn't really realize that the lexer completely controlled macros | 00:08 | |
| plobsing | it handles them the pretty much the same as includes | 00:09 | |
| anyone on mac willing to use gdb, you could step through 'read_macro' and likely figure out the problem. | 00:11 | ||
| whiteknight | ...and now I remember why I hate IMCC so much | 00:15 | |
| reading this code makes me cross-eyed | |||
| nopaste | "kid51" at 192.168.1.3 pasted "Output of ./parrot -t t/pir/macro.t on Darwin/PPC (TT #1678)" (734 lines) at nopaste.snit.ch/21229 | 00:18 | |
| plobsing | it really isn't that bad considering what it needs to do. now if it were an actual assembler in stead of an HLL that looked remarkably like an assembler, that would be a different story. but that would require unencapsulating some things better left encapsulated | 00:19 | |
| kid51 | ! | 00:20 | |
| plobsing | ha! found the bug! | 00:25 | |
| whiteknight | ? | ||
| kid51 | Line 500 of that output is where it becomes obvious that something is wrong ... and where it differs from comparable output on linux | ||
| plobsing | use .x to use macro arg x. x refers to uninitialized int register | 00:26 | |
| apparently it isn't being zeroed on linux. | |||
| (I traced it on linux and got a rediculously big number where 42 should have been) | 00:27 | ||
| kid51 | Can you paste something? Or post to TT #1678? | ||
| plobsing | I'll just commit the fix. | 00:28 | |
| should be fixed in 47613. | 00:29 | ||
| dalek | rrot: r47613 | plobsing++ | trunk/t/pir/macro.t: refer to correct x in macro. also remove incorrect x. |
00:30 | |
| whiteknight | ...and this is why it's good we got that test added | ||
| plobsing | why? the test was wrong | ||
| whiteknight | the test was wrong? I thought it was an IMCC bug? | 00:31 | |
| plobsing | check the diff | ||
| whiteknight | ok | ||
| kid51 | plobsing++ PASS on both linux/i386 and darwin/ppc | 00:32 | |
| plobsing: Thanks for closing ticket! | 00:36 | ||
| dalek | TT #1678 closed by plobsing++: t/pir/macro.t: test 'basic macro with argument' fails on Darwin/PPC | 00:38 | |
| TT #1678: trac.parrot.org/parrot/ticket/1678 | |||
|
00:55
abqar joined
|
|||
| mikehh | rakudo (7d80cd4) builds on parrot r47606 - make test PASS, spectest_smolder -> #34353 (pugs r31245) PASS - Ubuntu 10.04 i386 (g++ with --optimize) | 01:01 | |
| 20 TODO PASSes in 5 files | |||
| partcl (10737a0) builds on parrot r47606 - smolder -> #34354 PASS - Ubuntu 10.04 i386 (g++ with --optimize) | 01:15 | ||
| Coke | mikehh++ | 01:16 | |
| mikehh | Coke: still had to modify the curl doubling up of // manually | 01:17 | |
| it had //smolder.plusthree.com//app//publi...report//17 | 01:18 | ||
| from the Makefile | 01:19 | ||
| Coke | mikehh: lemme fix that now while I'm thinking about it. | 01:22 | |
| mikehh: done. | 01:24 | ||
| mikehh heading back to amd64 for more tests - bbiab | 01:25 | ||
| plobsing | what is the appropriate printf format for INTVAL? I've tried the obvious '%I' and it fails. | 01:26 | |
| dalek | rtcl: f5b0b3c | Coke++ | config/makefiles/root.in: These don't need to be doubled up. |
01:29 | |
| Coke | plobsing: %d should happen to work. | ||
| plobsing | looks like we don't have one specifically for INTVALs or FLOATVALs | 01:33 | |
| dalek | r: d241de3 | bacek++ | t/data/call.txt: Fix test |
||
| r: f0926e5 | bacek++ | (2 files): Implement long sub call syntax. |
|||
| r: a12a6b1 | bacek++ | src/PIR/Grammar.pm: Simplify grammar little bit. |
|||
| r: c400f3f | bacek++ | src/PIR/Grammar.pm: Simplify grammar more. |
|||
| r: 3014f11 | bacek++ | src/PIR/Grammar.pm: Avoid magical naming of rules and tune "LTM" manually. |
|||
|
01:47
mikehh joined
01:56
tcurtis joined
|
|||
| tcurtis | Is there a way to include POD in NQP source code such that it can be parsed by perldoc? | 02:02 | |
| sorear | Put it after =begin END, maybe? | 02:03 | |
| POD6 and POD5 are not very compatible with each other | 02:04 | ||
| You're better off just telling people to use a POD6 formatter | |||
| kid51 | make fulltest PASS on Linux/i386 and Darwin/PPC at r47613 | 02:13 | |
|
02:14
GeJ joined,
dngor_ joined
|
|||
| tcurtis | sorear: Where can I get a POD6 formatter? | 02:15 | |
|
02:15
elmex joined
02:16
wagle joined,
kjeldahl joined,
silug joined
02:17
jjore joined
02:19
nopaste joined
02:20
Maddingue joined
|
|||
| bacek | tcurtis, there is "perl6doc" in rakudo (src/utils/). Not sure how usable is it. | 02:22 | |
| dalek | r: 541e314 | bacek++ | src/PIR/Grammar.pm: More grammar tweaking. |
02:25 | |
| r: 13d488e | bacek++ | src/PIR/Grammar.pm: Rename param(.*) into arg(\\1). |
|||
| r: 36c9e5b | bacek++ | src/PIR/Grammar.pm: More renames. |
|||
| r: 75cd153 | bacek++ | (2 files): Implement .yield and fix test |
|||
| r: 1a9a05d | bacek++ | (2 files): Last bits on long pcc calls |
|||
| r: 8e64bad | bacek++ | Makefile: Simple Makefile |
|||
| r: 4b00d36 | bacek++ | t/parse.nqp: Minor enhancements: - Enable some "garbage" at the begining of testdata. |
|||
| r: e291fda | bacek++ | t/ (3 files): More tests. |
|||
| purl | hmmm... more tests is trivial. | ||
| tcurtis | bacek: I'm not sure, either. I can't figure out how to build it. It's not in the Makefile at all. | 02:49 | |
|
02:49
theory joined
|
|||
| bacek | tcurtis, just run it with parrot | 02:51 | |
| darbelo | ... s/parrot/rakudo/ ? | 02:56 | |
| dalek | r: 7dadaed | bacek++ | t/ (2 files): Migrate macro tests |
03:05 | |
| r: 862fe2f | bacek++ | (2 files): Initial shot of macro parsing. |
|||
| tcurtis | bacek: Due to a combination of perl6doc's not being built in rakudo's Makefile, it having not been touched in 2 years, my unfamiliarity with the process of building PGE grammars manually, and also my failure to get cperl-mode to syntax highlight files with =begin in them, I'm just going to write POD5 somewhere in docs/. | 03:08 | |
| bacek | tcurtis, fair enough | 03:09 | |
| sorear | tcurtis: cpan -i grok | 03:14 | |
| perl6doc in rakudo - I've never used this | |||
| grok's only 1 year old, works fine on 5.12 | 03:15 | ||
| perl6doc doesn't seem to actually have any formatting support, looking inside | 03:17 | ||
| grok does | |||
|
03:19
janus joined
|
|||
| tcurtis | sorear: grok doesn't appear to support displaying just the POD from a file containing a mix of POD and source code. | 03:29 | |
|
03:30
snarkyboojum joined
03:43
snarkyboojum_ joined
04:00
LoganLK joined
04:02
mats joined
04:04
jjore joined
|
|||
| dalek | rrot: r47614 | plobsing++ | branches/dynop_mapping (6 files): use '%d' in stead of non-existant '%I' in IMCC tracing |
04:20 | |
| r: 0cfe109 | bacek++ | TODO: Remove couple of implemented TOOD items. |
04:32 | ||
| r: db30cfa | bacek++ | (3 files): Parse heredocs. |
|||
| website: tcurtis++ | Adding Optimizations to HLL Compilers with PAST::Pattern | 04:48 | ||
| website: www.parrot.org/content/adding-optim...astpattern | |||
| rrot: r47615 | tcurtis++ | branches/gsoc_past_optimization/docs/pct/pattern (2 files): Start adding PAST::Pattern docs. |
04:54 | ||
| rrot: r47616 | tcurtis++ | branches/gsoc_past_optimization/runtime/parrot/library/PAST/Pattern.nqp: Make $pattern.ACCEPTS(foo, :global(1), :pos(bar)) throw. |
|||
|
05:03
jjore joined
|
|||
| dalek | r: da95b2e | bacek++ | src/PIR/Grammar.pm: Fix pod_comment parsing |
05:24 | |
| r: 5064181 | bacek++ | src/PIR/Grammar.pm: More grammar improvements. |
|||
|
05:30
aloha joined
05:32
frodwith joined,
sorear joined
05:33
elmex joined,
TonyC joined,
wagle joined
05:35
szabgab joined,
Khisanth joined
05:36
workbench joined
05:37
slavorgn joined,
plobsing joined
05:38
Maddingue joined
05:40
Ryan52 joined
05:42
slavorg joined
05:48
elmex_ joined
05:53
LoganLK joined
05:54
kjeldahl joined
|
|||
| dalek | kudo: 8b0022b | (Martin Berends)++ | (2 files): [IO/Socket/INET.pm] rewrite the socket() method to avoid using := and re-enable |
05:55 | |
|
06:04
uniejo joined
|
|||
| dalek | rrot: r47617 | plobsing++ | branches/dynop_mapping/compilers/imcc/symreg.c: use cur_unit in stead of last_unit where appropriate (required for COMPILE_IMMEDIATE=0 objective) |
06:16 | |
| moritz | purl: msg tcurtis I liked you last blog post, but sub &foldable ($opName) { ... } is wrong - it should be without the '&' (you can still refer to the sub with &foldable though) - it might work by accident in nqp-rx, but in Perl 6 the & is disallowed in he subroutine definition | 06:59 | |
| purl | Message for tcurtis stored. | ||
| dalek | rrot: r47618 | plobsing++ | branches/dynop_mapping/compilers/imcc/imc.c: reset NULL cur_unit at end of compilation. avoids other compilations trying to use the invalidated unit. |
07:22 | |
|
07:40
fperrad joined
07:48
fperrad_ joined
08:18
plobsing joined
|
|||
| dalek | rrot: r47619 | fperrad++ | trunk/runtime/parrot/library/LWP/UserAgent.pir: [LWP] refactor without printerr |
08:44 | |
| bacek | fperrad, ping | 09:06 | |
| fperrad | pong bacek | ||
| bacek | fperrad, I added you to pirate commiters. | 09:07 | |
| It was simpler :) | |||
| fperrad | ok | 09:08 | |
|
09:09
LoganLK joined
|
|||
| dalek | r: 624d6c2 | fperrad++ | setup.pir: chmod +x setup.pir |
09:24 | |
| r: dd7e0f9 | bacek++ | src/PIR/ (2 files): Let's PAST it. First draft how PAST can look like |
09:30 | ||
| r: e507877 | bacek++ | examples/obj.pir: Fix example |
|||
| fperrad | bacek, my patch is useless only on Windows | 09:31 | |
| and it introduces a constraint, all test files must be written in the same language | |||
| parrot-nqp is this case | |||
| s/useless/usefull/ | |||
| bacek | fperrad, "single language" isn't a problem. I'm going to use nqp anyway. | ||
| And it's good that it's useful on at least one platform :) | 09:32 | ||
| fperrad | bacek, setup.pir could rewrite in setup.nqp, but it's slower | 09:33 | |
| s/could/could be/ | |||
| bacek | let's keep it in pir than. | ||
|
09:37
gaz joined
|
|||
| dalek | r: 7e2ab02 | fperrad++ | setup.pir: fix target test on Windows |
09:47 | |
| r: a079c2d | fperrad++ | (3 files): Merge branch 'master' of github.com:bacek/pir |
|||
| r: e1b1f93 | fperrad++ | .gitignore: add a .gitignore |
|||
|
10:10
lucian joined
|
|||
| dalek | r: f7aeced | fperrad++ | t/ (2 files): remove obsolete files |
10:39 | |
| r: bff8ab1 | fperrad++ | setup.pir: [setup] small refactor |
10:44 | ||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34359), fulltest) at r47619 - Ubuntu 10.04 amd64 (g++) | 10:54 | |
| All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34362), fulltest) at r47619 - Ubuntu 10.04 amd64 (g++ with --optimize) | 11:31 | ||
| dalek | l: ba8ca88 | fperrad++ | (2 files): remove obsolete files |
11:38 | |
| rkdown: b0a95c6 | fperrad++ | (2 files): remove obsolete files |
11:39 | ||
| lscript: fd67126 | fperrad++ | wmls (7 files): refactor without printerr |
11:48 | ||
| bacek | fperrad++ # distutil presentation | ||
| msg pmichaud I want to extend PAST::Var to support all possible pragmas (:optional, :opt_flag, etc). Same with PAST::Block. Main idea - support one-to-one mapping PIR to PAST. Any objections? | 11:51 | ||
| purl | Message for pmichaud stored. | ||
| dalek | r: 0a46e94 | bacek++ | src/PIR/Actions.pm: Small fixes for Actions |
11:53 | |
| r: 5416b48 | bacek++ | .gitignore: Add vim swapfiles into gitignore |
|||
| r: ddea14c | bacek++ | src/PIR/Actions.pm: Partially handle .param |
|||
| mikehh | partcl - builds on parrot r47619 - make smolder -> #34363 PASS - Ubuntu 10.04 amd64 (g++ with --optimize) | 11:58 | |
|
12:01
whiteknight joined
12:06
PacoLinux joined
|
|||
| whiteknight | good morning, #parrot | 12:15 | |
| turtis++ on the blog post. I'm glad to see it's working! | |||
| dalek | a: 6617401 | fperrad++ | (2 files): remove obsolete files |
12:18 | |
| a: ba9e0b6 | fperrad++ | README: Add reference to lua-batteries |
|||
| mikehh | rakudo (8b0022b) builds on parrot r47619 - make test PASS, spectest_smolder -> #34365 (pugs r31253) PASS - Ubuntu 10.04 amd64 (g++ with --optimize) | 12:24 | |
| 20 TODO PASSes in 5 files | |||
| whiteknight | fperrad++ | 12:29 | |
| that presentation was nice. I'm sad to see that plumage is currently broken | |||
| mikehh: 20 TODO passes? That seems like an awful lot | 13:05 | ||
| Coke | whiteknight: spectest on rakudo will occasionally get passes - there's a tool to automatically untodo them that moritz runs every so often. | 13:06 | |
| whiteknight | oh, that's rakudo. Sorry. I thought that was a report of 20 TODO passes in Parrot's tests | 13:07 | |
| moritz | problem is that some seem to be dependent on the ICU version | ||
| so I can't easily unfudge them | |||
| whiteknight | I wonder why that is? | 13:08 | |
| Coke | whiteknight: presumably because parrot's ICU interaction requires a specific version. | 13:10 | |
| (but doesn't enforce it.) | |||
|
13:13
patspam joined
13:22
atrodo joined
|
|||
| pmichaud | bacek: (extend PAST to support all possible pragmas) -- yes, I'm somewhat opposed at the moment. The purpose of PAST is to abstract away from PIR, especially pragmas. | 13:52 | |
| msg bacek (extend PAST to support all possible pragmas) -- yes, I'm somewhat opposed at the moment. The purpose of PAST is to abstract away from PIR, especially pragmas. | |||
| purl | Message for bacek stored. | ||
| bacek | pmichaud, but I want implement PIR compiler in PCT... | ||
| "want to" | |||
| And direct emitting PBC from POST. | 13:53 | ||
| pmichaud | direct emitting PBC from POST implies that we eliminate (to some degree) the PIR pragmas, I think (more) | ||
| PAST::Block already has :pirflags -- you can use it. | |||
| If you want to add a :pirflags to PAST::Val, I might be able to accept that. | 13:54 | ||
| but I'm not keen on having :named, :optional, :opt_flag, etc beyond what we already have now. I think it makes PAST too low-level. | |||
| PAST is supposed to be closer to a HLL than to PIR. POST is supposed to provide the PIR correspondence. | 13:55 | ||
| bacek | PIR is my current HLL. | ||
| pmichaud | in some sense, implementing a PIR compiler in HLL ought to be producing POST. :-) | 13:56 | |
| and skip the PAST step altogether. | |||
| bacek | But I do want to use tcurtis++ PAST optimizer. | ||
| (In bright shiny future) | |||
| pmichaud | his optimizer ought to be able to work on POST nodes as well. | ||
| that's why the base class is PCT::Node | |||
| bacek | No idea. I didn't follow optimizer closely. | 13:57 | |
| pmichaud | anyway, PIR really isn't a high-level language, in the senses that PAST thinks of HLL. | ||
| and it really seems to me that compiling PIR source to POST would be a simpler first step. | 13:58 | ||
| because then one could potentially test round-trip-ability | |||
| and POST is really supposed to be the thing that goes directly to PBC, not PAST. | |||
| bacek | How I can emit POST from Actions> | 13:59 | |
| ? | |||
| pmichaud | same way one does PAST | ||
| POST::Op.new( ... ) | |||
| POST::Sub.new( ... ) | |||
| bacek | ok. I'll try it. | ||
| whiteknight | so if PCT gets a POST tree at that point from actions, it skips the PAST->POST step? | ||
| pmichaud | whiteknight: yes | ||
| whiteknight | nice | 14:00 | |
| pmichaud | well, not exactly | ||
| bacek | .removestage? | ||
| pmichaud | but it can | ||
| yes, remove stage | |||
| or just replace the staging altogether | |||
|
14:01
gbacon joined
14:08
jsut joined
14:09
Andy joined
|
|||
| nopaste | "bacek" at 192.168.1.3 pasted "Yarrr! PIRATEs are coming!" (12 lines) at nopaste.snit.ch/21244 | 14:11 | |
| atrodo | Yarr! | 14:12 | |
| bacek | pmichaud, POST is very... stringish. E.g. POST.Sub.add_param emits code straight away. | 14:18 | |
| pmichaud | bacek: you're welcome to modify POST to be less stringish. | 14:19 | |
| bacek | pmichaud, deal :) | 14:20 | |
| pmichaud | I was more interested in getting POST to be "something that compiles" than to have the best possible design for PBC translation. I figured that would come "later" (which now appears to be "now") | ||
| bacek | not actually "now". But "pretty soon" I hope :) | ||
| dalek | r: 98c9e6e | bacek++ | src/PIR/ (2 files): More action - handle simple pirop |
14:21 | |
| r: 45d1b43 | bacek++ | src/PIR/Actions.pm: Quick hack to mark first sub :main |
|||
| r: 9a425c2 | bacek++ | pir.pir: Change HLL to PIRATE |
|||
| purl | dalek: that doesn't look right | ||
| r: c08e9d3 | bacek++ | src/PIR/Actions.pm: Skip undef children |
|||
| bacek | anyway, recharge time | 14:22 | |
|
14:22
plobsing joined
|
|||
| japhb | Man, I thought I was having a bad morning before ... now I find out Plumage got broken a couple months ago, and no one either fixed it or tried to contact me? That's ... depressing. :-( | 14:31 | |
|
14:31
ash_ joined
|
|||
| whiteknight | japhb: yeah. I really haven't been using it lately myself, so I don't know what's up with it | 14:36 | |
| Kakapo is on hold right now while Austin is busy, so PLA and PDS have been on hold. Also, I have stopped work on Matrixy for a while until I get dispatch semantics sorted out | |||
|
14:37
ambs joined
14:39
ruoso joined
|
|||
| japhb | *sigh* | 14:39 | |
|
14:40
theory joined
|
|||
| japhb | seen allison | 14:41 | |
| purl | allison was last seen on #parrot 4 days, 18 hours, 30 minutes and 5 seconds ago, saying: Coke: but, there must be something going wrong in the logic, since it's not getting stored [Jun 9 20:10:58 2010] | ||
| whiteknight | japhb: no word on your grant thingy, I assume? | ||
| japhb | Nope | ||
| dalek | rrot: r47620 | fperrad++ | trunk/tools/dev/fetch_languages.pl: [languages] now, PIR/Pirate is maintained by bacek++ on github |
14:47 | |
| Coke | japhb: i had a similar problem with partcl recently. | 14:50 | |
| japhb: I thought allison responded to you on that. | 14:51 | ||
|
14:52
bubaflub joined
|
|||
| Coke | ah, no. processing... | 14:54 | |
| japhb | "processing"? | 15:00 | |
| Coke, "processing"? | |||
| he | silly question time: how do I tell ./Configure.pl that my gmp lib is in a non-default include + lib directory? | 15:03 | |
| Coke | (responding to allison and asking what's up.) | 15:04 | |
| he: add the include/lib parameters to your Configure.pl invocation. | |||
| perl Configure.pl --help for a list of options. you probably want ccflags, and maybe libs. | 15:05 | ||
| he | Coke: tried with --ccflags="..." --ldflags="..." and Configure.pl still says auto::gmp ... no. | 15:08 | |
| Let's see if --linkflags is a better guess... | 15:09 | ||
| Ah, yes. | 15:10 | ||
| bubaflub | he: you can also perldoc Configure.pl to see all the commandline options | 15:11 | |
| ash_ | you can do --ask too, to ask you for configuration options | 15:15 | |
| japhb | Coke, thank you for following up. Much appreciated. | 15:17 | |
| dalek | a: 8725e93 | fperrad++ | lua (8 files): refactor without printerr |
||
| rrot: r47621 | NotFound++ | trunk/t/pmc/stringiterator.t: more StringIterator tests, covering mark, clone and get_integer |
15:20 | ||
| he | Of course I needed both --linkflags and --ldflags... | 15:25 | |
| dalek | TT #1670 closed by doughera++: t/library/lwp.t fails after parallel build | 15:38 | |
| TT #1670: trac.parrot.org/parrot/ticket/1670 | |||
|
15:44
szabgabx joined
|
|||
| Coke | slow day | 16:14 | |
| can someone familiar with pmichaud's recent REPL fixes take a look at TT#1115 ? | 16:15 | ||
| pmichaud | Coke: looking. | 16:18 | |
| I think we can close the ticket, as all of the features provided by the patch are now available in HLL::Compiler. | 16:19 | ||
| Coke | msg mikehh - I todo'd that failing test in partcl-nqp - should be safe to test going forward. | 16:21 | |
| purl | Message for mikehh stored. | ||
| Coke | pmichaud: ok. will do so. | 16:22 | |
| dalek | rtcl-nqp: 4f38c85 | Coke++ | t/cmd_catch.t: TODO failure introduced by parrot compiler tools. |
||
| TT #1115 closed by coke++: show results of expressions in HLLCompiler based repls (again) | 16:27 | ||
| TT #1115: trac.parrot.org/parrot/ticket/1115 | |||
|
16:31
szabgabx joined
16:32
Themeruta joined
|
|||
| dalek | rrot: r47622 | NotFound++ | trunk/NEWS: add a note about 'finalize' to 2.5.0 NEWS |
16:43 | |
| rrot: r47623 | coke++ | trunk/tools/util/parrot-config.pir: Update usage to reflect that multiple keys are allowed. |
|||
| TT #712 closed by coke++: Some changes are needed to the install system so that Parrot installs in a ... | 16:44 | ||
| TT #712: trac.parrot.org/parrot/ticket/712 | |||
| Coke | ugh, our ticket #s are heading the wrong direction. :P | 16:57 | |
| hurm. perhaps I am misremembering how many we had over the weekend. | 16:58 | ||
| ... or now. | |||
| 632 tickets left. | |||
| dalek | rrot: r47624 | coke++ | trunk (2 files): Add minimal tests for parrot_config. |
16:59 | |
| TT #626 closed by coke++: parrot_config with multiple options, bad output | 17:00 | ||
| TT #626: trac.parrot.org/parrot/ticket/626 | |||
| cotto_work | good morning, not purl | 17:02 | |
|
17:02
darbelo joined
|
|||
| ash_ | can I iterate an ResizeablePMC from C? | 17:05 | |
| whiteknight | ash_: yes | 17:06 | |
| PMC * myiter = VTABLE_get_iter(interp, arraypmc) | 17:07 | ||
| while (VTABLE_get_bool(interp, myiter)) { ... } | |||
| ash_ | ah, cool, thanks | ||
| how do i get the next item from the iter? | |||
| whiteknight | PMC * next = VTABLE_unshift(interp, myiter); | 17:08 | |
| ash_ | okay, cool, thanks | ||
| pmichaud | now that 'open' is a dynop, does it documentation appear anywhere? It used to appear in docs/ops/io.pod | 17:10 | |
| (we have some folks on #perl6 asking for information about some of the pir:: opcodes) | 17:11 | ||
| whiteknight | I don't know where docs for dynops appear now. | 17:12 | |
| pmichaud | I'm thinking "they don't." | ||
| whiteknight | I think general concensus is that you should be using FileHandle and methods on it, instead of using the open/close opcodes | ||
| pmichaud | is that true for all of the dynops, though? | ||
| whiteknight | but, there stil should be docs for the dynops if they exist | 17:13 | |
| not all dynops, no. Internally, open/close call the open() and close() methods of FileHandle anyway, so cutting out the middle man is generally the way to go forward for those two | |||
| other dynops might not be so readily avoided | |||
| pmichaud | sure, I agree -- switching over just hasn't been a high priority for us yet. | 17:14 | |
| Also, it's a bit of a pain that we have to replace pir::open(...) with a long sequence of instructions to get a FileHandle object and use it. | |||
| (since "create an object of class FileHandle" isn't a simple operation in NQP.) | 17:15 | ||
| Themeruta | Wasn't open and close opcodes going to be deprecated? | ||
| pmichaud | Themeruta: they are -- they're dynops for now until the deprecation cycle takes place. | ||
| Themeruta | Ops... | ||
| NotFound | Now | ||
| darbelo | opbots names | 17:16 | |
| . o O ( ...or am I trusting an impostor? ) | 17:17 | ||
| ash_ | would something ever make an NCI object with a blank signatrue? | ||
| signature* | 17:18 | ||
| NotFound | Coke: ping | ||
| ash_ | i keep getting a segfault at one point in my modifications, it seems that an NCI object is getting invokes without a signature set, which seems odd | 17:19 | |
|
17:19
darbelo_ joined
|
|||
| whiteknight | ash_: I don't think it should, but I can't say for certain | 17:19 | |
| there are some extremely ugly bits of code still that play with things in evil ways | |||
| darbelo_ | Is 'a misguided programmer' a valid value for 'something' ? | ||
| ash_ | it has a function set, so its pointing to a function, but i can't tell if its void foo(void); or if its char foo(complicated****a); or what, hmmm | 17:20 | |
| NotFound | If I remember well, blank sigantures were forbidden, now you need a 'v' return type. | ||
| whiteknight | ash_: this blank signature, is it NULL or an empty string? | 17:21 | |
| ash_ | null | ||
| its somewhere in the make step: "miniparrot -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc" | |||
|
17:25
darbelo_ left
|
|||
| ash_ | thats odd, i did an if (nci_info->signature) != NULL) { ... } in the invoke, and it gets passed that step, | 17:25 | |
| NotFound | ash_: signature is a STRING * | 17:26 | |
| ash_ | yea, i know | ||
| NotFound | ash_: so you must use STRING_IS_NULL, not just chekc for NULL | ||
| Coke | there is a bug report for dynop docs. | ||
| ash_ | kk, i'll change that | 17:27 | |
| Coke | NotFound: pong | ||
| NotFound | Coke: TT #300 says "I don't know", so don't ask me ;) | ||
| Coke | NotFound: hokay. gracias. | 17:29 | |
| NotFound | Coke: TT #1151 works by using finalize, but finalize is experimental, I don't know if is correct to close it while in experimental state. | ||
| Coke | dynop docs ticket is #820 | ||
| NotFound: can you post a snippet of code that works using finalize to the ticket, and mention you're leaving it open for that reason? | 17:30 | ||
| NotFound | Coke: I'd like much more to drop the experimental status. | 17:32 | |
| ash_ | any reason line 22 of config_lib.pir would call NCI's invoke? | 17:35 | |
| its $P0.'set_value_type'(.DATATYPE_STRING) (previous line was new $P0, 'Hash') | 17:36 | ||
| NotFound | ash_: PMC methods are invoked via NCI | ||
| ash_ | hmm, still weird that it has a blank signature | 17:37 | |
| NotFound | ash_: src/interp/inter_misc.c:79 | 17:39 | |
| Coke | NotFound: even if it's not experimental, we still need the sample code on the ticket. | 17:41 | |
| I plan on reviewing all the experimental status items in advance of the 2.6 release. | |||
|
17:42
hercynium joined
|
|||
| NotFound | Coke: Ok, I'll update the one that uses the old name 'unroll' to 'finalize' and add a short comment. | 17:43 | |
| ash_ | ah, its a different issue, thanks NotFound that helped a lot | ||
| whiteknight | NotFound: bring up the issue tomorrow at #ps | 17:47 | |
| I don't think we really have a process for turning "experimental" features into normal ones, but #ps is definitely the place to try | |||
| NotFound | whiteknight: the process seems to be "Never mark as experimental something you write" | 17:48 | |
| whiteknight | NotFound: yes, but that's a bad process. experimental is only a good thing if people use it and if we have a way to move them into the normal status | ||
| NotFound | IMO that sucks. If a feature solves real and long standing problems people must cry for it ;) | 17:51 | |
| Coke | the plan is to review them before supported releases. | 17:54 | |
| if we agree, then we'll clean it up befor the supported release. | |||
|
17:56
bluescreen joined
|
|||
| NotFound | Coke: the find_codepoint opcode probably should also be out of experimental status before Rakudo* | 17:58 | |
| Coke | NotFound: there is no supported release before rakudo start. | ||
| star* | |||
| NotFound | Then now. | ||
| Coke | experimental status on matters on supported releases. | 17:59 | |
| *only | |||
| since R* is depending on a non-supported release anyway, updating the status of those elements doesn't matter. | 18:00 | ||
| I am sure that the items you mentioned will be supported in 2.6 | |||
| NotFound | I hate our deprecation policy more than yesterday but less than tomorrow. | ||
| Coke | Better suggestions certainly welcome. | 18:02 | |
| as it is, I cannot keep my language functional on the vm. =-) | |||
| NotFound | Coke: that is thge problem. We can't drop things that nobody uses and probably nobody even knows that exists, but we can break lots of working code and languages with a smile. | 18:04 | |
| dalek | rrot: r47625 | khairul++ | branches/gsoc_instrument (5 files): Added detecting dynlib loading |
18:05 | |
|
18:07
nat joined
|
|||
| Chandon | So apparently POD doesn't work in included PIR files. | 18:08 | |
| cotto_work | I don't see how that can be true. POD is used all over the place in PIR. I | 18:09 | |
| t's just another type of comment. | |||
| can you nopaste what's broken? | 18:10 | ||
| Coke | NotFound: that problem is not with our deprecation policy. | ||
| NotFound | Coke: yes it is. We want deprecation notices even for undocumented things, and we deprecate thigs that don't have a working alternative. | 18:11 | |
| Coke | exposed but undocumented does not mean unused. | 18:12 | |
| I would rather focus on fixing our documentation and tests. | |||
| NotFound | Coke: yes, I'm doing that, but I need to rant sometimes ;) | 18:13 | |
| Coke | given how many times I've had to recode partcl to deal with this issue, I understand. | 18:14 | |
| NotFound | BTW now we have 100% coverage of all resizable arrays. | 18:16 | |
| Coke | \\o/ | ||
| sorear | Chandon: note that PIR and NQP use different and incompatible POD syntaxes | 18:18 | |
| dalek | rrot: r47626 | NotFound++ | trunk/src/pmc/stringhandle.pmc: drop pointless NULL checks in StringHandle clone |
18:22 | |
|
18:25
bluescreen joined
18:27
lucian_ joined
|
|||
| mikehh | Coke: is the build process etc the same for partcl-nqp? | 18:33 | |
| Coke | mikehh: yup. | 18:37 | |
| dalek | rrot: r47627 | khairul++ | branches/gsoc_instrument/src/dynpmc/instrument.pmc: forgot to update n_vtable_max after extending it. |
18:39 | |
| nxed: r503 | julian.notfound++ | trunk/winxedst1.winxed: stop using .const directive, current usage creates problems and provides no |
|||
| purl | dalek: nil, purl: 1 | ||
| cotto_work | msg khairul It's been too long since you blogged about your gsoc progress. Please post something. Even a quick entry saying where you're stuck (if that's the case) is fine. | 18:42 | |
| purl | Message for khairul stored. | ||
|
18:42
Chandon joined
18:43
lucian joined
|
|||
| whiteknight | cotto_work: that's a good idea | 18:54 | |
| msg Chandon I haven't seen a blog post from you in a while, would definitely like to see one tomorrow with information about your progress and current ideas | 18:55 | ||
| purl | Message for chandon stored. | ||
| Chandon | whiteknight: will do | ||
| whiteknight | :) | ||
| of course, I've been completely behind on my blogging, so I shouldn't throw stones in my glass house | |||
| cotto_work | but you're not getting paid for it | 18:56 | |
| whiteknight | ...now I has a sad | ||
| Chandon | Why doesn't .include in PIR find files in the current directory? | 18:57 | |
| cotto_work | I don't like the idea of khairul driving around in his stretch hummer, sipping Krystal and not blogging. | 18:58 | |
| whiteknight | Chandon: it doesn't? the current directory should definitely be in the search path | ||
| cotto_work: I actually like that idea very much. Fun imagery! | 18:59 | ||
| Chandon | Oh good. I'm just wrong. That's the easiest solution. | ||
| whiteknight | it does work? | 19:00 | |
| Chandon | Yea, works perfectly. | ||
| PerlJam | It works for me :) | ||
| Chandon: misspelled filename? | |||
| whiteknight | okay, saves me from having to create a bug report | ||
| and, more importantly, saves me from getting a bunch of auto-generated emails about the bug report | |||
| Chandon | PerlJam: Yup. | 19:01 | |
| mikehh | make -j corevm fails on first attempt, builds on second | ||
| whiteknight | Chandon: I think Parrot has a -L command-line arg, or something like it, that would allow you to append folders to the list of search paths | 19:02 | |
| maybe -I, I can't remember, I'm not at my dev box right now | |||
| NotFound | Both, -L and -I | 19:04 | |
| whiteknight | See? I'm not completely off my rocker | 19:05 | |
| ash_ | hmm, all the functions that are calling NCI without a signature seem to have the same signature, return type: void; args: INTERP, PMC* self, that shouldn't be hard to fix | ||
| NotFound | -L for lib path and -I for include path | ||
| mikehh | tools/dev/checkdepend.pl - # Looks like you failed 26 tests of 181. | 19:07 | |
| whiteknight | ash_: have you traced out where those null-signatures are being created? | 19:08 | |
| because that is most definitely a bug in the system and should be fixed | 19:09 | ||
| ash_ | src/interp/interp_misc.c:92 | ||
| it makes the nci object and sets the function pointer but not the signature | |||
| whiteknight | register_raw_nci_method_in_ns? | 19:10 | |
| ash_ | yeah | ||
| whiteknight | ash_: yes, the only place that function is called is in PMC type initializers. All methods registered there are auto-generated and always have the same signatures | 19:11 | |
| feel free to fix the bug there, if you want. | |||
| ash_ | i will | ||
| whiteknight | :) | ||
| nothing in that file is sacred. Much of it is old and ugly | |||
| NotFound | Lots of sacred things are X-) | 19:12 | |
| mattp | hey guys, were there any discarded gsoc project ideas | 19:18 | |
| whiteknight | mattp: I'm sure there were a few. Would have to dig | 19:19 | |
| ash_ | in the gdb, is there a way to see the contents of a PMC? (or at least figure out the type?) | ||
| pmichaud | I often use p *pmc->vtable->whoami | 19:20 | |
| or something like that. | |||
| mattp | whiteknight: i would like to try to start lending a hand in parrot dev, a simple project might be the place to start | ||
|
19:21
whiteknight_ joined
|
|||
| whiteknight_ | ash_: p * pmc->vtable->whoami | 19:21 | |
| cotto_work | The only non-rtems GSoC Parrot proposal that got rejected was for GMP bindings. | ||
| you could talk to bubaflub about that if you're interested. | 19:22 | ||
| ash_ | sweeot, thanks whiteknight_ | 19:23 | |
| Coke | the gsoc projects might not be "simple". you could probably ask here or on the mailing list for other, more self-contained suggestions if the gmp one doesn't work out. | ||
| cotto_work | mattp: trac.parrot.org/parrot/wiki/BigProjectIdeas or trac.parrot.org/parrot/wiki/Perform...provements might have something that catches your interest | 19:26 | |
| mattp | 5-7% Lorito\thigh\thigh\torders of magnitude | 19:29 | |
| ah nevermind trac.parrot.org/parrot/wiki/Lorito | 19:30 | ||
| cotto_work | Yeah. That's a big project. | 19:31 | |
| atrodo | Actually, I've been interested in Lorito | ||
| cotto_work | atrodo, great. What about it interests you? | ||
| or more specifically, is there something you'd like to work on when the time is right? | 19:32 | ||
| atrodo | I'm not real particular on the specifics, but getting in and learning things that low level has always been interesting to me | 19:34 | |
|
19:34
hercynium joined
|
|||
| whiteknight | atrodo: definitely interesting | 19:36 | |
| cotto_work | ok. Feel free to follow along and let me know if you want to jump in. | 19:37 | |
| cotto? | |||
| purl | hmmm... cotto is Christoph Otto <mailto:christoph@mksig.org> or a cooked salami or The Decider | ||
| whiteknight | The Decider! | ||
| cotto_work | cotto is also the Lorito Coordinator | ||
| purl | okay, cotto_work. | ||
| cotto_work | istr that darbelo added that one | ||
| whiteknight | cotto_work? | ||
| ...nutin' | 19:38 | ||
| cotto_work | I'm a mystery. | ||
| whiteknight | wrapped in an enigma | ||
| mattp | whiteknight: i actually spoke to you many months ago when i was looking for a 4th year thesis project, i was looking into some garbage collection stuff | 19:43 | |
| whiteknight | mattp: I might vaguely remember that | ||
| mattp | but you ultimately said it probably wasnt a good idea due to the state of the GC internals at the time. it was about writing alternate garbage collector engines | 19:44 | |
| has progress been made there? | |||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34377), fulltest) at r47627 - Ubuntu 10.04 amd64 (gcc) | ||
| whiteknight | mattp: significant progress. bacek has a branch right now to write up several alternate cores. He's even prototyped some of them in perl6-ish pseudocode | 19:45 | |
| mattp | i see 'implement sweep-free GC' and 'implement garbage-first GC' as two suggestions on the performance improvements page | ||
| bubaflub | mattp: i know bacek is working with the GC internals, you might be able to work out something with him | ||
| whiteknight | trac.parrot.org/parrot/wiki/GCMassacre | 19:46 | |
| mattp: best way to get started with any project is to start reading over the relevant code, finding things that suck, making patches, and sending them in | 19:48 | ||
| do that enough, and we'll eventually get so tired of dealing with your patches that we give you a commit bit so you can do it your damned self :) | 19:49 | ||
| dalek | kudo: cfbeb5a | moritz++ | build/PARROT_REVISION: bump PARROT_REVISION to get some testing; we are close to the next parrot |
||
| whiteknight | mattp: reading the code like that is simultaneously a good way for you to find the subsystems in the most distress and also find the things that you are most interested in fixing | 19:50 | |
| cotto_work | +1 to what whiteknight said | 19:51 | |
| mattp | whiteknight: this is true. ill try :) | 19:53 | |
| whiteknight | mattp: excellent! If you have any questions or need any help, never hesitate to ask | 19:54 | |
| we're very rarely crabby | 19:55 | ||
| purl msg bacek in the GCMassacre page you mention "Alexandresku's SmallObjectAllocator", do you have a link or something to that? I would like to see more information about it | 19:56 | ||
| purl | Message for bacek stored. | ||
| atrodo | whiteknight> I know this to be true. Some other channels are not as kind as ya'll | 19:57 | |
| whiteknight | atrodo: true. We do like to be more friendly than some other channels and projects | 19:59 | |
| whiteknight considers mentioning #perl, but thinks better of it... | |||
|
19:59
pjcj joined
|
|||
| atrodo | My other theory is that since this is a more technical project, people with simple questions arn't as likely to enter | 20:00 | |
| whiteknight | you think? It would make me sad to think that people were being scared away from here | 20:01 | |
| sorear | and yet our community still has freaks like ank | ||
| dalek | rrot: r47628 | pmichaud++ | trunk/compilers/pct/src/PAST/Compiler.pir: [pct]: Correct signature of 'splice' in PAST::Compiler. |
||
| atrodo | Not so much scared as not interested. Parrot attracts people that like working lowerlevel and technical, not trying to make a random website | 20:02 | |
| bubaflub | sorear: thanks for your help over the weekend; i've got parrot building almost completely on RTEMS, just breaking on the linking and ldflags | 20:03 | |
| sorear | how does it break? | 20:04 | |
|
20:04
Psyche^ joined
|
|||
| bubaflub | it can't find pthreads | 20:04 | |
| i'm passing it -lpthreads but i believe i need to supply the correctly ld_flags or link_flags | |||
| whiteknight is heading home. Later | 20:13 | ||
| Chandon | Why does .tailcall run into the max recursion depth? Isn't that sort of missing the point? | ||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34378), fulltest) at r47627 - Ubuntu 10.04 amd64 (gcc with --optimize) | ||
| dalek | tracwiki: v32 | whiteknight++ | GCTasklist | 20:14 | |
| tracwiki: trac.parrot.org/parrot/wiki/GCTaskl...ction=diff | |||
| cotto_work | Nice. khairul posted a blog entry without even having seen my purl message (unless he's following the log). | 20:18 | |
| ash_ | i need to make more blog posts :-\\ | 20:20 | |
| ash_ is not good at the whole blogging thing | |||
| bubaflub | ash_: me neither | ||
| i try to have at least one a week after i meet with the mentors | |||
| at least a little summary of work done since last week | |||
| the tough part is having something to show in one week's time... | 20:21 | ||
| ash_ | i have stuff to show, but making it worth writing about is hard | ||
| bubaflub | ah. mine is trying to get parrot to build... | ||
| doesn't always sound great to say "yep, still breaking the build." | |||
| ash_ | knowing i hand crafted a parser for signatures is neat, but its not integrated into parrot properly so no one would really know its there | 20:22 | |
|
20:31
szabgabx joined
|
|||
| ash_ | from a METHOD how do you set the result of the method? | 20:32 | |
| oh, i see it now, nevermind | 20:34 | ||
|
20:36
Essobi joined
20:52
hercynium joined
|
|||
| moritz | purl, msg chromatic could you please release Pod::PseudoPod::LaTeX with latest patches from github? would be very helpful to book development | 20:53 | |
| purl | Message for chromatic stored. | ||
| mikehh | rakudo (cfbeb5a) builds on parrot r47627 - make test PASS, spectest_smolder -> #34380 (pugs r31257) PASS - Ubuntu 10.04 amd64 (gcc with --optimize) | 20:54 | |
| 20 TODO PASSes in 5 files | |||
| bubaflub | sorear: ping | 21:01 | |
| sorear | bubaflub: pong | 21:03 | |
| bubaflub | sorear: false alarm for now, i think i figured out the problem with my linking | 21:04 | |
|
21:09
whiteknight joined
|
|||
| cotto_work | msg khairul Never mind about the blog post. I see you posted one shortly after I sent the previous message. | 21:12 | |
| purl | Message for khairul stored. | ||
| atrodo | cotto_work> Is the Lorito plan basically to gut the parrot core and replace it with a set of small ops that the current parrot ops are built on top of? | 21:15 | |
| cotto_work | not so much gut as design and gradually replace | 21:16 | |
| we want to avoid big sudden transitions wherever possible | 21:17 | ||
| atrodo | Right, maybe the use of the word gut was a bit strong, but when it's done, the current ops will not be around, right? | 21:18 | |
| cotto_work | They will. They'll just be implemented in lorito. | ||
| existing PIR code should run without any changes | 21:19 | ||
| atrodo | Okay, I get it now. | ||
| whiteknight | ops really represent only a small fraction of Parrot's capabilities | ||
| atrodo | So, to make an analogy, when done, the parrot ops will be a CISC that gets translated into a lorito RISC to be ran? | ||
| whiteknight | atrodo: exactly lke that | 21:20 | |
| Lorito in this case is the microcode | |||
| cotto_work | atrodo: that's a very good way to phrase it. | ||
| bubaflub | will PASM still fit into this picture? | ||
| atrodo | That was actually going to be another question I had | ||
| darbelo | PASM will eventually become 'Textual PBC' | 21:22 | |
| cotto_work | That was its original intent but pbc and pasm have diverged. | ||
|
21:27
jrtayloriv joined
|
|||
| sorear | it should be noted that Lorito isn't necessarily "like PIR but lower level" | 21:40 | |
| it's design is very much not nailed down | |||
| actually, one of the strongest contenders is to make Lorito simply be LLVM IR | |||
| NotFound | I'd say that there is no picture yet, just some carbon drafts. | ||
| ash_ | sorear: llvm IR can't do everything parrot needs | 21:54 | |
| cotto_work | we also don't want to be tied directly to the platforms supported by llvm | 21:55 | |
| ash_ | sorear: but, hopefully it will do enough, part of my GSoC is to implement a stack frame builder in llvm-ir | ||
| mikehh | Coke: partcl make test reports - Files=74, Tests=1382,PASS, partcl-nqp - Files=46, Tests=672 FAIL | 21:57 | |
| ash_ | llvm really is only supported on x86, x86_64, ppc, pcc64 and arm, there are other targets for code generation but they are not tests and some are incomplete, like avr, alpha, itanium, sparc, lots of others | ||
|
22:12
Chandon joined
|
|||
| ash_ | can i call _dumper from C? | 22:13 | |
| whiteknight | the easier it is to translate Lorito into LLVM IR, the easier it wil be for us to produce a robust, effective JIT | 22:25 | |
| so that's a major design goal | |||
|
22:26
pmichaud_ joined
22:27
PerlJam joined
22:32
Util joined
|
|||
| ash_ | a stack frame builder thats implemented in llvm-ir could dump its contents pretty easily, so you could see the glue-code for that, all that that would give you is effectively the C calls to all of the library methods, but built dynamically. For the llvm, a next big step would be to have parts of the library in llvm-ir form so you could run the llvm optimizations over the resulting code to apply all of its optimizations it knows of to the | 22:40 | |
| plus you could write your own optimization passes for things you know about that the llvm might now (like to pull constants out of PMC's or something that requires knowledge of parrot's data structures) | |||
|
22:42
kid51 joined
22:50
KatrinaTheLamia joined
22:59
tetragon joined
23:03
snarkyboojum joined
23:08
tcurtis joined
|
|||
| dalek | rrot: r47629 | tcurtis++ | branches/gsoc_past_optimization/docs/pct/pattern/past_pattern.pod: Add docs for .ACCEPTSGLOBALLY and .ACCEPTSEXACTLY. |
23:19 | |
| cotto_work | jacobian.org/writing/great-documentation/ | 23:52 | |
| dalek | TT #1680 created by jkeenan++: t/steps/gen/opengl-01.t: Tests for verbose output fail when OpenGL not ... | 23:55 | |
| TT #1680: trac.parrot.org/parrot/ticket/1680 | |||