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