Parrot 1.8.0 Zygodactyly released | Priority: trac.parrot.org/parrot/wiki/ClassV...eOverrides | Latest modified TT's: icanhaz.com/parrotbugs | Parrot Languages: icanhaz.com/parrotlang
Set by moderator on 5 December 2009.
00:06 Khisanth joined
cotto rather, it complains that things that are there aren't 00:08
sadly not annoying enough to be worth patching, though
00:32 mikehh joined 00:49 jhelwig joined
japhb chuffs in frustration at the inadequacy of email as a medium of communication 00:51
dukeleto japhb: yeah, it sucks 00:54
japhb Sometimes I feel like adding a .sig that says "Did my email piss you off? Try rereading it, this time assuming I'm NOT an idiot." 00:55
In person, I'm not exactly known for idiocy ... but I have yet to make that stick in text. 00:56
dukeleto i run benchmarks to give parrot devs info. do with it what ye will. i think it got a little too serious on list, but it is good to talk about. we need a policy for how to deal with benchmark results 00:58
00:58 abqar joined 01:02 mj41 joined
Coke ETOOMUCHPOLICY 01:15
01:17 colomon__ joined
dalek rrot-linear-algebra: 9437eab | Whiteknight++ | src/pmc/pmcmatrix2d.pmc:
support get_pmc_keyed_int
01:29
rrot-linear-algebra: 3b4cd5a | Whiteknight++ | src/pmc/pmcmatrix2d.pmc:
add some sanity tests for indices
dukeleto Coke: i mean "policy" very loosely, in the sense of "what do we do when stuff gets really slow, OR how slow do things have to get for us to care?"
Coke dukeleto: very good. 01:30
also: we're already too slow. =-)
(so thank you for running benchmarks) 01:32
Coke realizes the irony of trying humor over text after recent complaints about text-based communications. 01:33
01:38 colomon_ joined
Whiteknight how do we turn off argument counting error checking 01:46
?
dukeleto Whiteknight: never even heard of it before 01:48
Whiteknight there is a way, I just don't know how
bacek_at_work Whiteknight, errorsoff .PARROT_ERRORS_PARAM_COUNT_FLAG 01:51
you have to include errors.pasm
(for constant definitions)
Whiteknight thanks bacek++ 01:54
02:09 kid51 joined
kid51 If there's any one who can comment on trac.parrot.org/parrot/ticket/1267#comment:6, I would appreciate that. 02:21
Coke is this the "configure is checking for a library one way, but the test file is checking a different way" bug?
dukeleto kid51: i think it may be broke and i may be partly to blame, is that good?
the test checks the value of Config['gmp'] or somesuch 02:22
Coke that seems reasonable.
kid51 If you could post in the ticket itself, that would be great. 02:23
dukeleto kid51: which platform does it happen to you on? 02:34
kid51: i put my 2 cents in 02:35
kid51 dukeleto: As reported in ticket, it happens to me on Linux and Darwin 02:38
02:39 lucian joined
kid51 must sleep 02:39
purl $kid51->sleep(8 * 3600);
dalek parrot: 05d3f14 | (David Fetter)++ | HOWTO:
The changes in src/handler/Makefile mean PGXS is the default, so no
02:47
dukeleto ooh, i like the bxors() opcode 02:52
k:q 02:53
darn, this is not vim
02:53 JimmyZ joined 02:55 bacek joined
Coke do we really need another LICENSE in the ops files? 02:59
or is that cargo culted from a perl5 cargo cul?
*t
dukeleto how do i count set bits in PIR? 03:01
Coke: what talketh you about?
meh: The opcode 'length_i_p' (length<2>) was not found. 03:24
do we really not have min(), max() opcodes for ints? 03:29
Coke points at LICENSE at the end of the file containing bxors. 03:35
dukeleto: what does length of a Hash mean?
dukeleto Coke: length of a PMC. like a String
Coke right. what if it's not a string? 03:36
dukeleto Coke: i don't know. but $I0 = length $P0 for a String seems reasonable
Coke yes, but $I0 = length $P0 for a Hash does nt. =-)
dukeleto Coke: length of a Hash can be # of keys
Coke ok. length of a CallSig? Coroutine? 03:37
my point being that if you want string length, you can be explicit about it.
dukeleto Coke: does an opcode have to be valid for every permutation of input values? I think not.
Coke dukeleto: ... that borks HLL compatibility.
plobsing_ we already have an op that gets boxed string length: elements 03:38
Coke you then have to worry about wrapping every opcode in an exception handler.
dukeleto Coke: why do you want people to have to code more, when Parrot is perfectly able to say "hey this is string, this is what you want" as well as "d00d, that is some random PMC, i don't know what the length of that is"
Coke dukeleto: so what should it do? throw an exception?
dukeleto plobsing_: elements, you say?
Coke: sure. length() of FooBaz not implemented
plobsing_ check src/pmc/string.pmc 03:39
Coke dukeleto: ok. then I have to wrap EVERY opcode I invoke if I want to not barf all the time. (assuming I am operating on pmcs handed to me, not PMCs I have generated)
one more opcode is not a lot more code.
s/EVERY/most every/ , anyway.
*sigh*. nevermind. I can, of course, just use the string register version myself. I'll let your code explode, though. =-) 03:43
I do stand by my assertion that an extra opcode to cast is not onerous, however. 03:44
on a tangent, I hate IE6. hate it.
JimmyZ msg kid51 I had uploaded new patch to TT #1357 and it passed the tests. Welcome to test it again. 03:51
purl Message for kid51 stored.
pmichaud good evening, #parrot
JimmyZ good evening, pmichaud
03:58 naypalm joined
plobsing_ hey, if anyone cares to comment on TT #1359, I'd appreciate the input. 03:59
Coke wtf. I go to trac.parrot.org; I type in '#' to the search bar, it hangs. 04:03
(my /browser/)
pmichaud plobsing_: I don't understand all of the internal details/ramifications of TT #1359, but from my perspective it looks really useful. Would thawing a string cause it to execute any :load subs as well? 04:08
04:08 Essobi joined
plobsing_ looking in eval.pmc ... 04:08
right now, yes. I don't think it should though 04:09
eventually
purl eventually we'll all be dead
plobsing_ purl, forget eventually 04:11
purl plobsing_: I forgot eventually
plobsing_ IMHO, thawing shouldn't execute arbitrary code. it should give you the option to examine first. 04:12
and thats how I thought it worked now. but after a little poking, it turns out thats not quite what happens. 04:13
pmichaud if thawing causes subs to be loaded into namespaces, I think it should also honor the :load flag 04:15
at least, that's what load_bytecode does
I'd be okay if there's a method on Eval PMCs that says "process all :load subs" though. 04:16
one thing I like about the #1359 proposal is that we still have a way of executing the first sub of the Eval, which load_bytecode doesn't currently provide (and I've needed on several occasions)
plobsing_ looking at things, it might not solve all your loading problems right now, but with a few tweaks to Eval.pmc, it should be pretty nifty 04:19
I'll try to put together a patch this week and see how it goes. 04:20
pmichaud +1 04:21
purl 1
pmichaud dukeleto: ping 04:39
dalek parrot: 786c8e4 | dukeleto++ | HOWTO:
Improve HOWTO
04:47
parrot: e9c2eae | (Joshua Tolley)++ | CREDITS:
Lay claim to a piecs of the world domination pie
04:53
dukeleto pmichaud: pong 04:54
pmichaud dukeleto: was just wondering where the source was for the array_access benchmark... but just found it.
dukeleto jut wrote a small string benchmark for parrot. let's see how the benchmark sharks like it
pmichaud: :) 04:55
pmichaud for the gist.github.com/250599 results, did the benchmark only get run once? 04:56
dukeleto pmichaud: hmmmm 04:57
pmichaud if so, the differences look like they might be timer noise
if array access did get significantly slower between 1.8.0 and HEAD, though, that's significant.
dukeleto pmichaud: i will do that benchmark again. i just found a bug in euler_bench. arg! 04:58
pmichaud: running array_access.pir again, results shortly 05:00
pmichaud: i run --count=1 first to see if stuff segfaults/parses. i must have gist'ed the wrong output
pmichaud afk, sleep 05:03
dukeleto pmichaud: night
pmichaud++ for noticing --count=1 05:04
cotto Cool. It looks like we may get an unexpected benefit from the RTEMS work. wtg dukeleto++ 05:15
dukeleto cotto: the RTEMS peeps are pretty cool
what I wouldn't give for ||= in PIR 05:17
cotto dukeleto, isn't that what vivify is for? 05:18
dukeleto cotto: is that one of them new-fangled opcodes that pmichaud asked for?
cotto nm. that's only for keyed access 05:19
but yes, they're in src/ops/experimental.ops
dukeleto cotto: close, but not exactly what i want
cotto no cigar for me 05:20
how much would it save you?
dukeleto cotto: it would abstract away the need for a label and a goto whenever you want to default something that is not truthfully defined 05:23
cotto you could always propose something on parrot-dev
dukeleto cotto: in my current situation, i am pulling out command line args, and if then are not defined, set them to a default
cotto but that's useful in a lot of places
dukeleto cotto: this requires an if/goto/label for each arg. i should be using Getopt::Obj, but this issue is more general. and I am writing a benchmark, so no Getopt::Obj 05:24
05:36 DrForr_ joined
cotto between a pointer and an INTVAL, can I say for certain that one will always be larger if they're not the same size? 05:54
dukeleto cotto: no 05:56
cotto: that stuff usually needs a configure-time check 05:57
cotto goodie
dukeleto cotto: what are you trying to do?
cotto make a static array where I can store both intvals and pointers 05:58
s/static//
06:02 chromatic joined
dukeleto chromatic: hola 06:09
incoming
purl duck!
chromatic Those array_access.pir numbers confuse me. 1.8 looks like it's in there twice, with different numbers. 06:10
dukeleto chromatic: that is 0.8.0 06:12
chromatic Oh. Hm. Maybe I shouldn't be reading now. 06:14
dalek rrot: r42921 | dukeleto++ | trunk (2 files):
[examples] Add a benchmark geared towards strings which computes the Hamming distance between two strings
dukeleto chromatic: :) you gave me a scare for a moment. i have been staring at the output of euler_bench too long...
chromatic It'd be nice to figure out at which commit array access turned so much slower. 06:15
dukeleto chromatic: git bisect hooked up to a benchmark test. interesting.
chromatic I have no small fear that it's the GC tuning. 06:17
dukeleto chromatic: i have a gc benchmark going to parrot-dev in a few
dukeleto is running stress1.pasm now 06:18
my --count=1 run made trunk look pretty good
06:20 theory joined 06:22 dan joined
dukeleto chromatic: gist.github.com/250669 stress1.pasm 06:43
chromatic GC's not substantially better in trunk. 06:48
dukeleto chromatic: wishful thinking 06:54
chromatic I'd like to think some of the tuning has had an effect. 06:56
JimmyZ hello chromatic 06:58
chromatic Hi JimmyZ. I saw that kid51 tested some of your patches.
JimmyZ chromatic: yes
chromatic What's left to review, everything? 06:59
JimmyZ chromatic: he wants others could review it again. 07:00
chromatic Okay, I can do that. 07:01
cotto I'll take one or two too.
I'll do 1346. 07:02
dukeleto should i report benchmarks that look OK or do y'all only want the bad news?
JimmyZ chromatic: I had a question for capture.pmc. :) why it must do CAPTURE_array_CREATE when modifies it's attr, not just like other PMCs, using init()?
cotto nm. My parrot's goofy from profiling work. 07:03
nm the nm. That doesn't actually affect anything.
JimmyZ chromatic: Did I describe correctly? 07:04
chromatic I think it's autovivifying an attribute which may not yet exist. 07:05
I haven't read the code today, but I think that's the idea.
cotto It looks like an optimization to avoid creating Hash and RPAs that won't be used. 07:07
JimmyZ chromatic: I think so, it always need check capture.pmc's attr whether it exists or not.
It's a bit different from other PMCs.
07:08 uniejo joined
JimmyZ cotto: yep 07:08
cotto: sometimes re-ordering codes is useful, I think. 07:09
cotto the args.c changes (TT #1346) are committed. 07:10
JimmyZ, TT #1280 needs your comments. 07:13
JimmyZ cotto: I think old var doesn't need. 07:16
cotto: It's unused tmp var. :)
cotto: maybe I am wrong? But I couldn't find it's useful. 07:18
cotto examining TT #1348
dalek rrot: r42922 | cotto++ | trunk/src/call/args.c:
[PCC] reorder some code to avoid unnecessary execution, patch courtesy of JimmyZ++
07:19
TT #1346 closed by cotto++: [patch]Removed unused macro in pobj.h, reordered codes in args.c 07:22
JimmyZ cotto: already added comment to #1280 07:24
cotto TT #1354 closed 07:28
I'll need sleeps soon.
JimmyZ cotto: good night. 07:30
cotto night, JimmyZ 07:31
chromatic I almost want standard deviation in those benchmarks.
dukeleto chromatic: i have already been wanting that for 2 days. i am close to implementing it in euler_bench :) 07:32
chromatic The cluster for the Hamming distance benchmark could go lots of directions post 1.2. 07:33
dalek rrot: r42923 | cotto++ | trunk/lib/Parrot/Vtable.pm:
[vtable] don't emit the now-unused PARROT_VTABLE_FOO_METHNAME macros in vtable.h
07:36
TT #1354 closed by cotto++: [patch]removed unused codes from Vtable.pm 07:38
07:41 bacek joined
cotto Is it a bad idea to have a HUGEINTVAL[] and to cast to/from pointers and INTVALs when sticking data into the array? 07:44
dukeleto chromatic: what exactly do you mean by that? 07:45
cotto (considering 64-bit) 07:46
naypalm the PMCs resize to inf don't they?
chromatic dukeleto, I think you'd get a different ordering if you ran it again. The numbers in the top five are too close to mean much to me. 07:47
dukeleto chromatic: that was an ensemble of 300, but i hear ya. that is why i referred to a "fast" pack. everything since 1.2.0 is essentially the same
chromatic: which means we need better string benchmarks 07:48
chromatic: you want to throw some tuits at that?
cotto naypalm, the resizable array PMCs will automatically resize and can use as much memory as you care to throw at them. Is that what you mean?
naypalm it is indeed!
I worked out max int with powers of two and converting.. 07:49
dukeleto naypalm: ResizablePMCArrays can be resized. FixedPMCArrays cannot :)
naypalm what's the main problem with mutable? just that you have to be ready to increase the size?
dukeleto naypalm: huge performance differences between arrays that you know will never change in size 07:50
naypalm so we get them the same size and hey-presto!
-size+speed
dukeleto naypalm: what are you working on? 07:51
naypalm nothing at all, I was just on my travels and thought I'd look at parrot.. then fell in love with the data structure that is everything :
:| 07:52
cotto PMCs have their charms and their warts.
naypalm been reading through random scraps of code and writing little things here
just familiarizing myself :)
dukeleto naypalm: yes, PMC = Parrot Magic Cookie
chromatic I'm not sure what would make a good STRING benchmark. 07:53
cotto If you've got some wart remover, feel free to share. ;)
dukeleto naypalm: the examples/ directory may be interesting to you
chromatic: specifically a String PMC benchmark
naypalm you inject the strings straight into the bytecode, there's no need for them :P
dukeleto chromatic: our string core type seems pretty fast and stable
chromatic: unicode conversions? 07:54
chromatic: i am looking at this for a string benchmark: projecteuler.net/index.php?section=...&id=60 07:58
chromatic How would you do that with strings? 07:59
naypalm if you're looking to bench numbers more than 5 digits then no
dukeleto chromatic: it requires a bench of concatenation and prime-checking 08:00
08:00 JimmyZ joined
naypalm yeah, also you don't have very long strings either! 08:00
dukeleto chromatic: this requires reversing lots of strings and converting back and forth between string/ints projecteuler.net/index.php?section=...amp;id=125 08:01
chromatic I'd use STRINGs, not the String PMC. 08:02
String is a boxed wrapper around STRING, for the most part.
dukeleto chromatic: yeah, but we are trying to bench the String PMC
08:03 iblechbot joined
chromatic I suppose, but I don't see a lot of value in that. 08:03
It hasn't changed much in a long time. 08:04
naypalm codepad.org/beTC6TQr I did that to get my feet wet.. 08:05
not very helpful for anything, but we'll be beating C in a few months?
dukeleto chromatic: to be sure we aren't getting horribly slow for an unknown reason, i guess 08:07
chromatic I'd feel more comfortable if there were STRING and String versions of such a benchmark. 08:08
dukeleto chromatic: yes, i know. it just gets tedious writing so many versions of every benchmark. but you are right. 08:10
chromatic That one shouldn't be too difficult.
dukeleto chromatic: yes, i just got to the end of my writing-benchmarking-code rope for the day :) have at it 08:11
dukeleto self.'sleep'() 08:12
naypalm have you got a big main step planned? 08:18
cotto just cast a string literal to an INTVAL. 08:21
chromatic Hm, what if ExceptionHandler had an init_pmc() which took an Integer representing the single type of exception it can handle? 08:26
No more handle_types() method call for a common case.
20.473% improvement in the fib4.pir benchmark pmichaud convinced NQP-rx to emit, with the obvious PIR change. 08:27
Of course, constant exception handlers would be nice too. 08:28
I think he mentioned something about constant PMCs. 08:29
08:39 fperrad joined 08:47 fperrad_ joined
mikehh All tests PASS (pre/post-config, smoke (#30672), fulltest) at r42923 - Ubuntu 9.10 amd64 (gcc with --optimize) 09:33
dalek tracwiki: v3 | cotto++ | CottoTasklist 09:47
tracwiki: trac.parrot.org/parrot/wiki/CottoTa...ction=diff
rrot: r42924 | chromatic++ | trunk/src/ops/pmc.ops:
[ops] Modified the new PMC, STRING ops to avoid creating or checking for a

fib4.pir benchmark (generated by NQP-rx) by 3.195%, and likely several others.
JimmyZ I found that many places that used SELF.foo() could be rewrite as STATICSELF.foo(). 09:54
in PMC
10:11 bacek joined
cotto chromatic, I'm off to bed, but I'd appreciate it if you could give this next commit a review. I'm mostly curious what the best way to accomplish what I did with the PPROF_DATA macro is. 10:13
night
I'll check the backscroll. 10:14
ttbot Parrot trunk/ r42925 i386-linux-thread-multi make error tt.ro.vutbr.cz/file/cmdout/167239.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 10:15
naypalm you can't use llvm can you? 10:16
chromatic Will review. 10:18
dalek rrot: r42925 | cotto++ | trunk (3 files):
[profiling] refactor profiling runcore output to make mulitple formats possible
10:20
10:39 bacek joined 11:19 bacek joined
dalek nxed: r247 | julian.notfound++ | trunk/ (2 files):
yield in stage 1
11:44
11:45 bacek joined 12:13 nopaste joined 12:29 gaz joined
Tene purl: msg chromatic Look at the pir for a CATCH or CONTROL block. 12:37
purl Message for chromatic stored.
12:49 ruoso joined
ttbot Parrot trunk/ r42926 i386-linux-thread-multi make error tt.ro.vutbr.cz/file/cmdout/167289.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 13:10
dalek rrot: r42926 | mikehh++ | trunk/src/runcore/profiling.c:
fix src/runcore/profiling.c so it builds with g++ - namespace -> pnamespace
13:11
Patterner r42926 still fails at src/runcore/profiling.c:59 13:12
13:15 JimmyZ joined
mikehh Patterner: what platform? 13:15
Patterner amd64
mikehh I just built on Ubuntu 9.10 amd64 (g++ with --optimize) 13:16
Patterner 4.4.2 13:17
Patterner points to ttbot "I'm not alone :)"
mikehh I am on 4.4.1 13:20
13:24 payload joined
mikehh builds for me with both gcc (with --optimize) and g++ (with --optimize) 13:27
Patterner that is good for you... 13:29
13:33 plobsing_ joined 13:34 iblechbot joined 13:35 TonyC joined 13:51 lucian joined 14:21 davidfetter joined
dalek rrot-linear-algebra: 1a0f60f | Whiteknight++ | src/pmc/pmcmatrix2d.pmc:
add proper destroy() and mark() vtables to PMCMatrix2D, like we should have had.
14:22
rrot-linear-algebra: e942886 | Whiteknight++ | t/pmc/pmcmatrix2d.t:
add a bunch of test stubs for the various vtables in PMCMatrix2D
rrot-linear-algebra: bc1c436 | Whiteknight++ | t/pmc/pmcmatrix2d.t:
add a bunch of basic tests for the PMCMatrix2D
rrot-linear-algebra: e63fd33 | Whiteknight++ | t/pmc/pmcmatrix2d.t:
a few issues with the tests prevented them from running. Temporary fix
rrot-linear-algebra: 76d299d | Whiteknight++ | (6 files):
Merge branch 'master' of github.com:Whiteknight/parrot-linear-algebra
14:31 whiteknight joined
whiteknight good morning #parrot 14:49
14:50 naypalm joined 15:04 Andy joined
Tene HI WHITEKNIGHT 15:05
whiteknight hey Tene 15:06
15:07 bubaflub joined 15:20 lucian joined 15:25 patspam joined 15:26 patspam joined 15:41 payload joined
whiteknight is freezing cold today 15:45
davidfetter it's 39F here in oakland 15:46
which doesn't sound too bad, except that almost nowhere has central heat
15:48 Psyche^ joined
ttbot Parrot trunk/ r42927 i386-linux-thread-multi make error tt.ro.vutbr.cz/file/cmdout/167335.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 15:53
dalek rrot: r42927 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
[distutils] add option ignore_error to system
15:55
trixy: 30a0d82 | Whiteknight++ | matrixy.pir:
matrixy does not implicitly check for parameter counts. Turn that error off and leave the argument checking to explicit nargin checks
16:03
trixy: 32c43e3 | Whiteknight++ | toolbox/ (3 files):
update the TAP functions to use nargin explicit argument checking. Comments are optional now
trixy: 611ac82 | Whiteknight++ | toolbox/ok.m:
small formatting change for the output of ok()
trixy: 1f866c4 | Whiteknight++ | (3 files):
fix feval to handle nargin correctly. Move tests from dispatch.t to dedicated file
trixy: ec3a907 | Whiteknight++ | (5 files):
update all the test_script files to use TAP functions and add a new syntax test for script dispatching
trixy: c9f6620 | Whiteknight++ | toolbox/nok.m:
some weird parsing bug is preventing nok from working correctly. Roll it back till I can figure out what's up
trixy: 3ab4e81 | Whiteknight++ | t/ (14 files):
Merge branch 'master' of github.com:Whiteknight/matrixy
trixy: 7fbdeff | Whiteknight++ | (2 files):
loadlibrary.t is premature. We'll test it when we have try/catch
16:05 particle joined
Tene pmichaud: feel free to add the handlers RPA optimization to a ticket and set me as the owner. 16:09
whiteknight build is broken? 16:11
src/runcore/profiling.c:59: error: nonnull argument references non-pointer operand (argument 1, operand 2) 16:12
moritz ttbot and Patterner (iirc) complained about that already
whiteknight ah, okay. I'll shut up then :)
dalek TT #1361 created by doughera++: src/runcore/profiling.c: Can't use attribute nonnull on a non-pointer ... 16:14
pmichaud Tene: I was thinking of doing that myself, but if you want to do it that'd be great. It should be pretty easy. 16:16
Patterner I didn't complain, I just confirmed... 16:17
16:18 darbelo joined
Tene pmichaud: I can't do it immediately, but I should have some parrot time tonight. 16:19
pmichaud Tene: okay. I'll go ahead and draft the ticket, and then whoever gets to it first can do it :)
actually, it doesn't look quite so simple. Apparently more than just handlers go into that RPA (see Parrot_cx_delete_handler_local) 16:25
(in src/scheduler.c)
Tene ah, also events 16:26
pmichaud okay, that means I definitely won't be doing that one, then :) 16:27
(but you're welcome to do it :)
but I had already done some preliminary timings with the optimizations chromatic++ suggested, and discovered that push_eh is a little on the expensive side as well. 16:28
(relative to other things in the fib benchmark) 16:29
Tene are PMCs saved via :immediate actually constant, or could we make constant EHs, and then just set_addr them before using them?
pmichaud I'm going to use the caching approach I described. I need it for more than just EHs 16:30
dalek TT #1362 created by wagnerf++: parrot does not build if library glfw is installed
pmichaud basically, something like <foo bar baz bat xyz abc> really ought to be cached instead of dynamically creating a List on each use
Tene Yes.
pmichaud also, cache on first use means we don't end up with EH pmcs for subs that are never called. 16:31
Tene Also good.
pmichaud but to answer your question -- I don't think the PMCs created via :immediate are truly constant -- they can still be modified. But I'm not certain of that. 16:32
dalek cnum-dynpmcs: r191 | darbelo++ | trunk/ (2 files):
Rename aux/ to tools/. Apparently windows dislikes directories named 'aux'.
16:33
cnum-dynpmcs: r192 | darbelo++ | trunk/t/ (17 files):
Adjust paths in test after moving files.
16:43
cnum-dynpmcs: r193 | darbelo++ | trunk/ (35 files):
Add svn props to files. I've never actually cared about this stuff, but some

Thanks to fperrad++ for pointing it out.
16:52
fperrad ping darbelo 17:04
purl I can't find darbelo in the DNS. 17:05
whiteknight cotto: ping 17:12
darbelo fperrad: pong 17:13
17:13 guest1234 joined
fperrad darbelo, decnum tests fails, they contains load_bytecode 'aux/decTest/.../procs.pbc' 17:14
instead of load_bytecode 'tools/.../procs.pir'
darbelo Ouch. Missed that. I'll fix it in a bit.
guest1234 Just looking at the parrot languages page: parrot.org/languages . Would be great to have a little graphic "progress bar" associated with each language to give prospective users/developers a (very) rough idea of how far along the various implementations are.
Though, guess that would require emailing each implementor separately asking them, "could you please estimate about how far along your implementation is, percentage-wise, so we can put that up on our languages page?". Would actually be pretty simple to script that and have it go out every 3 months or so... 17:16
whiteknight guest1234: yeah, it would be a huge maintainability problem
and then difficult projects like Rakudo specifically refuse to give progress estimates 17:17
guest1234 Hm. Maybe not, if it could be automated. Have all replies sent to an email account set up for just that purpose.
@whiteknight: just a rough percentage?
whiteknight I can give a rough percentage about the projects I'm involved in 17:18
good luck with the rest
guest1234 Hm. Might make a neat project to set up over the coming xmas break...
whiteknight power to you 17:19
I'd be very happy to see the project statuses updated
dalek parrot: cac4d2b | (David Fetter)++ | HOWTO:
Changed < to the more helpful and PostgreSQL-ish -f, which will tell
17:20
guest1234 I guess I could go through project-by-project and find contact emails.
17:20 eiro_ joined
guest1234 Set up a gmail account. 17:20
Hm.
@whiteknight: well, if a project refused to give at least an approx percentage, then they'd just show up on the plot as "no response" I suppose. 17:23
whiteknight yeah 17:24
guest1234 @whiteknight: ok, well, it sounds doable. Glad I stopped by anyway. Thanks. :)
whiteknight no problem. Good luck 17:25
17:25 guest1234 left
whiteknight anybody in here knowledgable about pmc2c? 17:26
nevermind, I think I have my issues sorted out 17:34
dalek rrot-linear-algebra: 0a18153 | Whiteknight++ | t/pmc/complexmatrix2d.t:
add tests for ComplexMatrix2D
17:37
17:42 theory joined 17:43 davidfetter joined 17:44 Zak joined 17:58 simcop2387_ joined, payload joined 18:01 payload joined
whiteknight pmichaud: ping 18:03
dalek cnum-dynpmcs: r194 | darbelo++ | trunk/t (16 files):
Adjust more paths after more file moves.
18:06
18:11 payload joined
pmichaud whiteknight: pong 18:32
whiteknight pmichaud: In PGE, is there any way to specify the namespace where the ops are defined? 18:33
cotto_w0rk whiteknight, pong
whiteknight at the moment, "infix:+" is in ".namespace []", but I would like it to be somewhere else (for instance)
cotto_w0rk: False alarm. It was a pmc2c question but I have it resolved 18:34
pmichaud whiteknight: your question doesn't sound like a pge question.
pge only does the parsing, it doesn't handle code generation
cotto_w0rk whiteknight, good to know
whiteknight okay, so... PCT?
in any case, do you know of a way?
pmichaud I'm a bit confused as to the context. 18:35
even PCT doesn't generate infix:+ or specify a namespace.
whiteknight no, it doesn't generate it. I have the functions. hold on.
github.com/Whiteknight/matrixy/blob...rators.pir 18:36
I want the functions in that file to be in a different namespace, not ".namespace []"
is that doable?
pmichaud sure
the question is, what's calling them?
whiteknight I don't know, normal code?
pmichaud looking 18:37
whiteknight PCT generates the calling code when I type "x + y"
pmichaud actually, it's actions.pm that generates it
src/parser/actions.pm:795 18:38
whiteknight ok, so how do I specify a namespace there?
pmichaud after parsing a + sign, it generates a PAST::Op node that has the name/pasttype/pirop/lvalue/etc that were defined in the operators 18:39
you want it to look in a namespace for all operators?
18:40 cognominal joined
whiteknight I want it to be in the ["Matrixy";"builtins"] namespace 18:40
pmichaud what about the operators that are currently defined as :pirop ?
should those remain as pir ops?
whiteknight none, I dont think
I don't think I'm going to want any pirops, ultimately 18:41
so safe to ignore them
pmichaud how about pasttype() ones? 18:42
like and/or ?
whiteknight I do have two of those, but they aren't important for now 18:43
I can (and should) reimplement those
the whole operators portion of my grammar is a mess and I need to hit it with a hammer 18:44
pmichaud (or use nqp-rx :-) 18:45
whiteknight I do want to do that too. How much effort will that take?
(lower priority, but still on the TODO list)
pmichaud a bit, but not too much
whiteknight oh, I found a NQP-RX bug this morniing that I need to report 18:46
along the lines of Q:PIR { $S0 = "{}" }
(actually, I don't know if it's a bug or if I'm just being stupid) 18:47
dukeleto good moroning
nopaste "pmichaud" at 66.25.4.52 pasted "handling ops from other namespaces, for whiteknight++" (13 lines) at nopaste.snit.ch/18992 18:48
whiteknight hello dukeleto
pmichaud I'm not sure that's an nqp bug.
It can't parse PIR, so it doesn't know that the } in the quotes isn't closing the block.
moritz do multiple braces work?
pmichaud try Q:PIR {{ $S0 = "{}" }} 18:49
moritz Q:PIR {{ $S0 = "{}" }}?
whiteknight I can try that later, I'm not even on the right machine for it
pmichaud++, pmichaud++
pmichaud I also think that any bracketing character now works, so that Q:PIR Ā« $S0 = "{)" Ā» is a possibility.
dukeleto whiteknight: good localtime() 18:51
so are classvtables actually our priority? 18:57
18:57 joeri joined
dukeleto i don't see anyone talking about or working on them. and I don't have any clue how to help with them, even after reading the wiki page 18:57
i FAIL us for our dev priority this week
bubaflub who should i hassle to see if parrot HQ received my CLA? 19:00
cotto_w0rk bubaflub, I know particle lives close to PaFo's office.
particle aye, i'll check today or tomorrow. 19:01
when was it sent, bubaflub?
bubaflub last Tuesday 19:02
19:03 bacek joined
whiteknight urg, I can't even test since parrot won't build and I can't install it! 19:03
particle: I snail mailed my CLA too. I would like to know if you got it 19:04
at your earliest convenience :)
cotto_w0rk ditto, but there's no rush
dukeleto whiteknight: make corevm ?
whiteknight cotto_w0rk: are you aware of the failure in src/runcore/profiling.c?
cotto_w0rk whiteknight, yes. The fix is pretty easy. Just change ARGIN to ARGIN_NULLOK in that file on line 419 and rerun headerizer. 19:05
gcc on my home laptop didn't care about that. 19:06
whiteknight trying now..
cotto_w0rk It's unfortunate that headerizer unnecessarily touches files without actually changing their contents, since that forces a bunch of unnecessary rebuilding. 19:07
whiteknight fixed it
cotto_w0rk happy
whiteknight it's unfortunate that headerizer *
you need to insert the wildcard for completeness 19:08
cotto_w0rk It's nice to avoid changing function definitions in several places, but it's not without its warts.
like basically everything in parrot
19:11 iblechbot joined 19:22 chromatic joined
dukeleto chromatic: good (cold) morning 19:24
chromatic I agree... windy here in Hillsboro, windy up in the West Hills the other day. Brr. 19:26
cotto_w0rk It's a good day to make ice cubes. 19:31
whiteknight pmichaud: ping 19:43
pmichaud whiteknight: pong 19:50
whiteknight pmichaud: nevermind, I just solved my own problem
needed to change :namespace("Matrixy::builtins") to :namespace("Matrixy", "builtins") 19:51
fperrad darbelo, "plumage install decnum-dynpmcs" works successfully on linux & Windows 19:55
darbelo fperrad++
fperrad: That reminds me. If you have a google id I can give you a commit bit for decnum-dynpmcs. 19:56
20:06 athomason joined 20:16 ascent joined
ttbot Parrot trunk/ r42928 i386-linux-thread-multi make error tt.ro.vutbr.cz/file/cmdout/167515.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 20:30
dukeleto cotto_w0rk: looks like you might have b0rked src/runcore/profiling.c tt.ro.vutbr.cz/file/cmdout/167515.txt 20:32
dukeleto gets ready to give another gold watch
cotto_w0rk dukeleto, yes. I posted the fix for whiteknight earlier today and will commit it when I get home if nobody beats me to it. 20:33
darbelo What was the fix?
cotto_w0rk It was apparently an incorrect function argument annotation. 20:34
dalek rrot: r42928 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
[distutils] add an option smolder_extra_properties
cotto_w0rk darbelo, irclog.perlgeek.de/parrot/2009-12-07#i_1810197
darbelo Ah, I see it now. 20:37
I thought he had fixed that already.
whiteknight I fixed it locally but didn't commit 20:38
committed
cotto_w0rk thanks
cotto_w0rk kicks dalek 20:47
darbelo He dead? 20:48
darbelo pokes the bot with a stick.
cotto_w0rk He's dead, Jim. 20:51
purl you really think you are the first one to think of that, don't you.
dalek rrot: r42929 | whiteknight++ | trunk (2 files):
fix for cotto++
cotto_w0rk not even close
whiteknight ...no? 20:52
WORKSFORME
cotto_w0rk whiteknight, I was referring to purl
the commit is fine
whiteknight oh, okay
dalek rrot-linear-algebra: c2324a4 | Whiteknight++ | (5 files):
lots of cleanups and rename attributes
20:59
rrot-linear-algebra: bb447b4 | Whiteknight++ | src/pmc/pmcmatrix2d.pmc:
another small fix for PMCMatrix2D
rrot-linear-algebra: bfe860c | Whiteknight++ | t/pmc/complexmatrix2d.t:
Merge branch 'master' of github.com:Whiteknight/parrot-linear-algebra
trixy: d285f87 | Whiteknight++ | src/ (2 files):
operators are now in the _Matrixy::builtins namespace. In preparation for unification with the builtin functions
21:00
trixy: 4063a56 | Whiteknight++ | (4 files):
start reworking indexing to be more sane, row-major
dukeleto really needs to play with matrixy 21:01
whiteknight i just broke the hell out of it, but it's really coming along nicely otherwise
I'm working on variadic input arguments now, which will open up a large array of new possibilities 21:03
dukeleto whiteknight: cool! i am trying to batton down the hatches on Tapir, so I can drop it into matrixy and a few other projects
whiteknight I would love that 21:04
anyway, I have to disappear for now. Talk to you later
21:10 davidfetter joined
dalek nxed: r248 | julian.notfound++ | trunk/t/ (2 files):
harness: check .t extension only in recursive search
21:10
dukeleto davidfetter: hola 21:14
purl salut, dukeleto.
davidfetter hai dukeleto
dukeleto davidfetter: i hope to see dcolish tomorrow, perhaps we will have some time to hack on PL/Parrot 21:15
davidfetter shweet!
dukeleto davidfetter: and there will be other postgres peeps at calagator.org/events/1250457765 21:16
davidfetter wish i could make it
dcolish dukeleto: oh yes, you shall see me 21:17
I am emerging for one night before finishing finals
cotto_w0rk davidfetter, are you near portland too?
davidfetter about an hour and a half away
...by jet
cotto_w0rk which direction? 21:18
purl i heard which direction was rampant, anyway?
GeJ Good morning everyone 21:23
dukeleto dcolish: sweet! 21:25
dcolish i'm bringing cupcakes too
davidfetter pretty much north 21:26
dukeleto, any chance you'll be able to get in on tomorrow's SFPUG meeting?
we're doing video webcast :)
dukeleto davidfetter: interesting. info/link/time? 21:27
davidfetter postgresql.meetup.com/1/calendar/11928447/
lemme update with the video info...
media.postgresql.org/sfpug/streaming/ 21:30
dukeleto davidfetter: sounds cool, but will be at the winter coders social. the vcast element is very interesting though. perhaps PDX.pm should do something like that 21:34
davidfetter dukeleto, we got lucky. we have an actual professional film guy who brings his gear 21:35
cotto_w0rk davidfetter, make him come to the next yapc. 21:38
davidfetter heh
he's a bit of a python guy
cotto_w0rk Tell him it's "Yet Another Python Conference". 21:39
moritz lol
dukeleto LULZ 21:40
Perl 6 : The Next Version of Python ::ducks::
cotto_w0rk Just when you thought Python 3.x was a disruptive change. 21:41
davidfetter heh 21:42
dalek nxed: r249 | julian.notfound++ | trunk/winxedst1.winxed:
operator && in stage 1
21:49
nxed: r250 | julian.notfound++ | trunk/Makefile:
more tests for stage 1
chromatic Perl 6: Python with features. 21:50
Tene chromatic: but what about batteries? do we have batteries? 21:56
chromatic First we need salt. 21:57
dalek rrot: r42930 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
[distutils] recursive glob
22:08 payload joined
cotto_w0rk quick sanity check: Is it possible for a pir sub to be split across multiple files? 22:15
chromatic no
cotto_w0rk sanity prevails, for now
chromatic ... unless you play .include games. 22:17
cotto_w0rk The profiling runcore is definitely doing more work than it needs to. 22:20
It'll be nice to have something to fix when I get home.
It's calculating preop_line and preop_filename for each op but only using them when there's a context switch. 22:21
cotto_w0rk gets back to w0rk 22:22
chromatic Hm, moritz's IRC logger's search seems to have stuck. 22:49
moritz I've been wanting to redo it with a proper search index
but it's low on my priority list 22:50
cotto_w0rk moritz, which bot does your logging?
ooc 22:51
moritz
23:06 kid51 joined
dalek rrot: r42931 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
[distutils] fix smolder with extra properties
23:19
TT #1361 closed by darbelo++: src/runcore/profiling.c: Can't use attribute nonnull on a non-pointer ... 23:24
23:33 Whiteknight joined 23:38 wayland76 joined
wayland76 Hi all 23:38
Can I get some feedback on trac.parrot.org/parrot/ticket/873
I've attached a patch, but nothing has happened in 2 months. 23:39
Do I just ask here, or do I need to do something else?
chromatic Seems reasonable to me. 23:42
wayland76 Yay! :) 23:43
23:44 plobsing_ joined
Whiteknight agreed. Looks fine to me 23:45
chromatic I don't know much about RPM though.
wayland76 So do I apply to a particular person to get this patch applied to the tree?
Ah, well, I know about RPM
In fact, I know more about RPM than Parrot :) 23:46
Whiteknight you don't apply to anybody in particular
wayland76 I guess what I really mean is that, in the past, when I've wanted to make changes, people have said "That looks good, but only Allison can make the decision on that". Is that the case with this patch? 23:49
kid51 No, that's not the case here. 23:51
We just need someone who know about as much about RPMs as you do :-) 23:52
wayland76 Joy! :)
kid51 That person can vet the patch ... then any committer can commit it.
kid51 doesn't know squat about RPMs :-(
wayland76 Ah
cotto_w0rk neither 23:53
wayland76 Well, let me put it this way; each of the directories mentioned contains a single file called a "spec file". Without this file, an RPM cannot be built. So basically, if I want an RPM, I have to go to SVN instead of using the distribution. 23:54
chromatic I can see the drawback. 23:55
wayland76 ?
chromatic I mean, I see the value of your patch. 23:56
wayland76 Ah, ok :)
Of course, I've no objection to including other ports directories in the patch, but no-one's asked me for them :)
Basically, then, either Allison or Gerd has to review it, right? :) 23:57
chromatic Either of them would be good. 23:59
wayland76 I'll post on the mailing list then