www.parrot.org/ | Parrot 1.4.0 "Mundo Cani" Released!
Set by moderator on 21 July 2009.
dalek nie: r79 | Bradley.Sif++ | trunk/.gitignore:
Added a .gitignore file for those folks using git-svn. Presumably will
00:15
Tene bkuhn: to do OO stuff in pynie properly, i need to be able to override :vtable('invoke') 00:20
bkuhn Tene: Which feature of Python's OO system needs that? (I know that's a very basic question, but the answer will help me understand Parrot's vtable system, which I don't yet. ;) 00:22
Tene bkuhn: to instantiate an object of class Foo, you do it like: 00:23
f = Foo()
so you either need:
1) The parser detects type names and generates different code for class instantiation
which is awkward, and I don't like it
00:24 AndyA joined
Tene or 2) You override 'invoke' for pynie class objects 00:24
bkuhn ah, yes, this makes sense.
Tene which is correct, IMO
bkuhn I agree with you that (2) is preferred.
Tene you can't override invoke in PIR classes in parrot right now. You will be able to after pcc_rewiring branch
Whiteknight you can't triple stamp a double stamp 00:31
Tene That... looks like words.
Whiteknight Tene: pcc_rewiring won't make that work immediately, just makes it possible
Tene Whiteknight: Okay, sure.
Whiteknight will take additional work to make invoke DTRT
Tene nods. 00:32
dalek nie: r80 | Bradley.Sif++ | trunk/ (2 files):
Lambda expressions do not form closures properly unless 'newclosure' pir opcode

Closes Launchpad Bug #407838
00:40
TT #896 created by jimmy++: [patch]consting socket_win32.c 01:23
01:32 TiMBuS joined
dalek rrot: r40369 | whiteknight++ | trunk (3 files):
[TT #895] some fixes to the new experimental code. Some bad pointer arithmetic was causing segfaults when I test these. Fix some problems, not all.
01:32
01:48 JimmyZ joined 01:51 sekimura joined
dalek rrot: r40370 | NotFound++ | trunk/src/exceptions.c:
[cage] add some comments and minor fixes to r40363 additions, JimmyZ++
02:23
ttbot NotFound: Parrot trunk/ r40370 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/63430.txt 02:27
NotFound Oh, my fault, sorry. 02:29
I definitely must not commit nothing when I'm almost sleeping :O 02:30
Whiteknight yeah, I have that same problem :() 02:32
02:35 janus joined
dalek rrot: r40371 | NotFound++ | trunk/src/exceptions.c:
[cage] fix C90 violation, ttbot++
02:36
rrot: r40372 | whiteknight++ | trunk/src/gc (2 files):
[TT #895] If I had a dollar for every typo, I could afford to quite my job and work on Parrot full-time (where I would make even more typos, and thus, more money). This new attributes allocator now passes all tests that I have thrown at it locally
02:40
NotFound Whiteknight: I attached a patch to TT #895 with the current state. Pass all tests except the random packfilefixupentry failures. 02:41
Enough for today :O 02:42
Whiteknight oh awesome
I want to do some benchmarks, I think this new GC allocator could speed things up pretty considerably 02:43
NotFound I doed an attempt with your allocator, but crasehd. I see that you already fixed several things.
Whiteknight yeah, it passes all tests I've done so far 02:44
I think we can replace most calls to mem_sys_allocate with the new allocator for big speed savings
NotFound I'd like to give it another try, but I'm too tired. Goddnight.
Whiteknight yes, goodnight
03:03 abesapien joined 03:29 theory joined 03:31 tetragon joined 03:41 JimmyZ joined 04:15 Andy joined 04:34 jdv joined
cotto when imcc dies, I'm not going to miss its crappy line misnumbering 04:57
dukeleto is there a way to reverse a string in an S register or do I need a String pmc? 05:05
05:14 jan joined
cotto I don't see an opcode for it. 05:28
You'll probably need to use the pmc's method. 05:29
dalek rrot: r40373 | petdance++ | branches/depends:
Andy's branch to work on dependency building
05:41
05:45 abesapien joined, JimmyZ joined
dalek rrot: r40374 | petdance++ | branches/depends/config/gen/makefiles (2 files):
first stab at getting makedepend working
05:51
06:57 quek joined 07:26 JimmyZ joined 08:39 mberends joined
dalek kudo: f76b3c7 | masak++ | src/builtins/ (2 files):
[src/builtins] some PIR simplifications
08:49
kudo: e89cc1e | masak++ | src/parser/grammar.pg:
[src/parser/grammar.pg] aligned more with STD.pm

  JimmyZ++ for the patch.
09:05 MoC joined 09:39 flh joined 10:13 bacek joined
bacek o hai 10:19
10:36 quek left 10:40 quek joined 10:45 mikehh_ joined 11:06 clinton joined
dalek rrot: r40375 | bacek++ | branches/keys_cleanup/src/pmc/addrregistry.pmc:
[pmc][cage] Remove AddrRegistery.get_pmc_keyed. It's unused and broken.
11:27
rrot: r40376 | bacek++ | branches/keys_cleanup (2 files):
[cage] Drop KEY_iterator_FLAGS. It's not used anymore
11:28 abesapien joined 11:31 AndyA joined 11:36 kid51 joined
dalek rrot: r40377 | bacek++ | branches/keys_cleanup/src/key.c:
Fix marking next key in key_next. bacek-- for stupid mistake in "if" rewrite.
11:37
11:37 bacek_ joined
nopaste "mikehh" at 90.209.201.180 pasted "PATCH for src/gc/mark_sweep.c to pass codetest" (42 lines) at nopaste.snit.ch/17452 11:45
mikehh_ src/gc/mark_sweep.c FAILed t/codingstd/c_function_docs.t and t/codingstd/linelength.t 11:47
kid51 Ah!, you answered my question before I asked it! 11:48
mikehh_ Did you apply for a commit bit yet? 11:49
mikehh_ my printer is not working yet - so I am waiting to submit a CLA - I do it tomorrow I hope 11:53
dalek rrot: r40378 | jkeenan++ | trunk/src/gc/mark_sweep.c:
[codingstd] Applying patch submitted by mikehh for line length and c function docs.
11:54
bacek mikehh++ 11:56
11:58 joeri joined 12:00 Whiteknight joined
dalek rrot: r40379 | bacek++ | branches/keys_cleanup/include/parrot/key.h:
[docs] Add little bit of description of KEY_flags.
12:07
tracwiki: v3 | bacek++ | KeysRefactor 12:12
tracwiki: Scrap initial KeysRefactor</a> idea.
tracwiki: trac.parrot.org/parrot/wiki/KeysRe...ction=diff
bacek good localtime Whiteknight 12:21
Whiteknight hello bacek 12:22
how are you doing today?
bacek Great. I just scrapped another idea how to make parrot better :) 12:23
Anyone working on PARROT_EXPORT/PARROT_API separation? 12:28
dalek rrot: r40380 | whiteknight++ | trunk/src/gc (2 files):
[TT #895] Some more cleanups to the fixed-size allocation thing. Also, add two new functions to the GC API to act as mem_sys_allocate/mem_sys_free replacements in some situations.
12:31
ttbot whiteknight: Parrot trunk/ r40380 i386-linux-thread-multi make error tt.ro.vutbr.cz/file/cmdout/63842.txt 12:33
bacek mj41++ # ttbot rulez! 12:35
Whiteknight it is a nice bot 12:36
(except when it's pointing out my mistakes)
not_ttbot Whiteknight: U BROK BUILD IN r40380!!! 12:38
Whiteknight yeah I know, fixing it now
I built and ran tests BEFORE I saved my changes to the file 12:39
NotFound Whiteknight: hello, I'm playing with the attribute allocator
Whiteknight NotFound: It's still rough, but should be alright most of the time 12:40
NotFound Whiteknight: main problem is that it doesn't zero initialize.
bacek Whiteknight: consider to learn git. You can hide some of your mistakes :)
Whiteknight NotFound: can add that easily. You want it?
dalek rrot: r40381 | whiteknight++ | trunk (4 files):
[TT #895] fix some problems caused by typos in my last commit
12:41
NotFound Whiteknight: that's debatable, but I think that having them zero initializes avoid the need to do that in init and init_pmc in a lot of cases.
bacek getting popcorn and waiting for ttbot :)
Whiteknight NotFound: I'll add it now for PMC attributes. It's trivial 12:42
There are two interfaces to the allocator: one for PMC attributes (that will zero-initialize) and one for other structures (that won't) 12:43
bacek msg mj41 Can you add link to coverage report into TapTinder "Bookmarks"?
purl Message for mj41 stored.
NotFound I'm seeing that the initial context is created before the initialization of the gc subsystem. Bad smell to me. 12:54
Whiteknight NotFound: what do you mean? 12:55
NotFound In inter_create create_initial_context is called before Parrot_gc_initialize 12:56
dalek TT #897 created by bacek++: Review test coverage and add more tests or deprecate unused functionality.
Whiteknight hmmm, yes, that is weird 12:57
dalek rrot: r40382 | kjs++ | trunk/compilers/pirc/src/pircompiler.h:
Add a STRING pointer to lexer which will temporarily be used for storing STRINGs that are created inthe lexer. Once PIRC is completely changed to use StRINGs instead of C strings, it can be stored in yylval union in the parser.
13:35
13:35 kj joined
dalek rrot: r40383 | whiteknight++ | trunk/src/gc (3 files):
[TT #895] initialize PMC attribute structures on suggestion from NotFound++. Cleanup some unused structure fields.
13:39
Whiteknight and now it's time for breakfast
bacek Yay! kj welcome back :)
kj thanks bacek :-)
that was my first commit from my mac
bacek feeling guilty 13:40
I'm going to predate pirc in favour of PCT-based PIR compiler. 13:41
13:43 tetragon joined
bacek Just because I dislike "pure C" very much... 13:43
kj what's predate? 13:45
dalek rrot: r40384 | kjs++ | trunk/compilers/pirc/src (2 files):
store the STRING created by the lexer in the temporary sval field in the lexer struct. Once PIRC has been converted, it can be stored in yylval->sval, but for now, we need to duplicate this functionality using STRINGs instead of C strings
13:46
bacek kj: I've got few local changes to bring pirc up-to-date with "modern" pir (but they are very "raw") 13:47
kj pirc, or pct-based pir compiler?
bacek pirc
kj has pir changed?
i wasn't aware of any syntactical changes
bacek "pir" by it self - not.
kj what kind of changes? 13:48
bacek But something like ".tailcall" was introduced recently
kj pirc has that
.tailcall exists quite some time already i think
no?
bacek My copy of PCT PIR has that too :)
kj pir.y:1887 13:49
(line)
i havent been away *that* long ;-)
bacek ~6 month is something like "forever" :) 13:50
kj haha yes
well havent been away, but just lurking
bacek And there is "full functional" Packfile PMCs now to implement emitting PBC from PCT PIR. 13:51
kj cool
bacek (We just need "SerializebleSub" for finish it)
kj eh, so the PBC generating stuff, where is that?
cause pirc's bc generator is almost complete, except for some bits here and there which has bugs, esp. with STRING and NUM constants 13:52
bacek t/pmc/packfile*.t
pirc doesn't support Keys afaiu.
kj that could be yes 13:53
well, complex keys 13:54
simple keys should work
i remember seeing it working
bacek Many parts of parrot relying on "complex keys"... 13:55
github.com/bacek/pir/tree/master
kj pirc doesn't support syntax like "pf = new ['Packfile'] 13:56
"
bacek There is my changes to original PIR compiler. Any objections/thoughts/ideas?
(At github)
NotFound Unfurtunately packfile pmc tests stills fails randomly at least on amd64 builds. 13:57
bacek NotFound: yak... How "randomly"?
NotFound bacek: sometimes they fail, sometimes don't. I think it may depend on tidal waves or something. 13:58
kj sorry not really familiar with github ... takes a while 13:59
bacek NotFound: I suspect hash keys order and GC...
kj: github isn't trivial. But I'm still waiting for commit access to /languages... 14:00
NotFound Whiteknight: have you commited some debugging messages in the allocator? 14:01
kj seems alright to me. i'm not familiar with all pge syntax, like ":: [" in sub_def
bacek "::" is for block backtracking 14:04
Just premature optimisation. 14:05
Oh... It's tomorrow already... 14:07
bacek must sleep
purl $bacek->sleep(8 * 3600);
bacek good night 14:08
JimmyZ night bacek 14:09
14:22 HG` joined
dalek rrot: r40385 | NotFound++ | trunk/src/interp/inter_create.c:
[core] initialize gc subsystem before contexts and pio
14:30
14:41 kj joined
Whiteknight NotFound: I may have. 14:44
dalek rrot: r40386 | whiteknight++ | trunk/src/gc/mark_sweep.c:
[TT #895] remove an errant debugging message that I committed last time. Thanks NotFound++
14:47
rrot: r40387 | NotFound++ | trunk/t/src/extend.t:
[t] put check for interpreter before his usage
14:54 Psyche^ joined 15:07 bkuhn joined
bkuhn Hey, I want to check if a register contains a sub. What's the recommended method for checking that? 15:10
15:16 Zak joined
NotFound What's the last test in t/src/extend.t trying to check? He's creating two main interpreters, which is explictly forbidden in several docs. 15:17
dalek rrot: r40388 | NotFound++ | trunk/t/src/extend.t:
[t] flush stdout before potential crashes
15:21
cotto bkuhn, from C or PIR?
bkuhn cotto: PIR, but I think I figured it out: typeof $P50, $P26 15:22
$P50 will have "Sub" if it's a sub
s/it's/$P26/
cotto yeah, as long as you're not worried about subclasses
bkuhn cotto: subclasses of "Sub" ? 15:24
Is there a better way? I sort of want to know if something is "callable"
dalek rtcl: r563 | coke++ | trunk/runtime/builtin/binary.pir:
Convert sub-dispatch to a switch. use .const for options setup.
15:26
cotto I'd expect there to be a pmclass declaration for that, but it looks like there isn't. 15:28
something like "pmclass Sub does sub need_ext"
That's a little surprising.
Coke . 15:32
15:44 JimmyZ joined
dalek TT #898 created by cotto++: r40313 introduces a memory leak 15:50
15:51 Zak joined 16:02 mberends joined
NotFound cotto: I don't see the problem in #898. The vtable created becomes the reponsability of whichever calls for it. 16:04
mikehh codetest FAIL, All others PASS (pre/post-config, smolder, nqp_test, fulltest) at r40388 - Ubuntu 9.04 i386 16:09
16:13 theory joined
dalek rrot: r40389 | NotFound++ | trunk/src/gc/mark_sweep.c:
[cage] missing ASSERT_ARGS
16:15
16:41 Whiteknight joined 16:48 kid51 joined 17:25 HG` joined
Coke bah. heredocs don't work inside macros. 17:50
17:54 hudnix joined
dalek kudo: c57fbd7 | moritz++ | t/spectest.data:
[t/spectest.data] remove a test that was merged; add a few newly passing tests
17:55
kudo: ed636b8 | moritz++ | t/spectest.data:
one more passing test file, KyleHa++
TT #899 created by coke++: heredocs in a macro argument broken. 18:18
rrot: r40390 | jkeenan++ | trunk/src/gc/api.c:
[codingstd] Adjust documentation so that all functions pass c_functions test.
18:21
18:32 quek left
dalek rdinal: 550139a | (Joeri Samson)++ | (2 files):
Respect $, when joining, and set $, when cardinal starts
18:33
rdinal: a61bd4b | (Joeri Samson)++ | src/classes/Array.pir:
Fill array with nil values when assigning to an index > length
18:34
18:53 chromatic joined 19:20 tetragon joined 19:30 desertm4x joined 19:39 MoC joined 19:51 joeri left 20:22 kid51_at_dinner left, kid51_at_dinner joined 20:27 asciiville joined
mikehh All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40390 - Ubuntu 9.04 i386 21:15
21:25 iblechbot joined
Tene Is there anyone around willing to review a patch to add a 'poll' method to the socket pmc? 21:31
21:53 dukeleto joined
dalek rtcl: r564 | coke++ | trunk/runtime/builtin/string.pir:
Use .const sub to declare the list of options
22:01
22:10 dukeleto joined 22:15 bacek joined 22:20 chromatic joined
Tene purl: msg pmichaud I'm having trouble putting non-rakudo objects into a hash because of src/classes/Pair.pir:55, which calls .item() on the value. 22:23
purl Message for pmichaud stored.
22:31 dukeleto joined
Tene purl: msg pmichaud I can't do @a>>.foo() for any method that returns non-parrot objects because !dispatch_method_parallel calls .'Scalar'() on the return value of the method. 22:33
purl Message for pmichaud stored.
22:37 nillo joined 22:38 rg1 joined
pmichaud Tene: noted 22:43
Tene pmichaud: do you know if there's a reason that src/setting/IO/Socket/INET.pm adds an additional $.listener attribute instead of reusing $!PIO from src/setting/IO/Socket.pm ? 22:44
pmichaud I don't know if there's a reason, no. 22:45
Tene Okay.
pmichaud would it be that the listener socket needs to be separate from the one that does the normal comms? 22:46
Tene I'll investigate a bit more and then commit the fix later tonight.
No, it shouldn't be.
pmichaud how would INET.pm reuse $!PIO, ooc? 22:50
japhb pmichaud: did you give any further thought to the Parrot modules landscape? You mentioned wanting to tank on our general idea a bit .... 22:54
pmichaud I haven't had a good opportunity to look at it further, no. I keep getting sidetracked by other "issues"
japhb I was going to tease you about that, but I'm guessing you've probable gotten past the point that it's funny any more ... :-/ 22:55
23:16 mikehh joined 23:29 bacek joined
cotto Is there a way that one PIR-level instruction can turn into two identical opcodes? 23:47
treed If each opcode does only half the job that the instr needs? 23:52
treed is mostly talking out of his ass there.
dalek rtcl: r565 | coke++ | trunk/runtime/builtin/string.pir:
Convert a few helper subs to use hllmacros
23:55