| Time |
S |
Nick |
Message |
| 00:07 |
|
nopaste |
"NotFound" at 213.96.228.50 pasted "NCI p null" (59 lines) at http://nopaste.snit.ch/18611 |
| 00:07 |
|
NotFound |
plobsing: here is all |
| 00:09 |
|
plobsing |
other than having a line that's way too long, looks good |
| 00:09 |
|
plobsing |
NotFound++ |
| 00:09 |
|
NotFound |
I also assumed that a NULL returned is better mapped to a PMCNULL than to an Unmanaged that contains nothing. |
| 00:10 |
|
plobsing |
that one is debatable |
| 00:10 |
|
plobsing |
but decreasing GC pressure is good |
| 00:10 |
|
plobsing |
so I'm for it |
| 00:11 |
|
|
mikehh joined #parrot |
| 00:11 |
|
NotFound |
Note that currently to check if a unmanaged is null you need to create other and compare with it. |
| 00:12 |
|
mikehh |
messages |
| 00:12 |
|
plobsing |
get_bool should return the null status |
| 00:12 |
|
NotFound |
I'll try to formatting that lines a little better. |
| 00:12 |
|
plobsing |
but it doesn't currently |
| 00:13 |
|
NotFound |
plobsing: last time I tried it tell me that doesn't implement that vtable. |
| 00:13 |
|
NotFound |
But I think thatchecking for null a thing that the docs of the external lib says that returns NULL is the natural approach. |
| 00:16 |
|
plobsing |
NotFound: for completness, we should do the same null check everywhere we put a pointer in a struct pmc |
| 00:18 |
|
plobsing |
I'm probably going to try an NCI refactor (see NCITaskList on the wiki). I'll make that mapping then. |
| 00:19 |
|
NotFound |
plobsing: one more reason to have tests of that things. |
| 00:21 |
|
|
s1n joined #parrot |
| 00:27 |
|
nopaste |
"plobsing" at 76.67.61.178 pasted "LibJIT i386 'ssc' fix" (181 lines) at http://nopaste.snit.ch/18612 |
| 00:27 |
|
plobsing |
woo. finally traked down the problem! |
| 00:28 |
|
plobsing |
if someone could apply the patch I just nopasted to the libjit_framebuilder branch, I would very much appreciate it. |
| 00:36 |
|
dalek |
parrot: r42377 | NotFound++ | trunk (3 files): |
| 00:36 |
|
dalek |
parrot: [nci] fix handling of null in 'p' type parameters and add tests for it |
| 00:36 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42377/ |
| 00:36 |
|
|
xenoterracide joined #parrot |
| 00:41 |
|
mikehh |
plobsing: I am on Ubuntu 9.10 amd64 at the moment - I can apply the patch, but I don't know if I can test it |
| 00:42 |
|
plobsing |
mikehh: I've tested it in a 32bit virtualbox ubuntu. fulltest passes. |
| 00:42 |
|
plobsing |
mikehh: please apply the patch |
| 00:43 |
|
ttbot |
Parrot trunk/ r42377 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/136952.txt ( http://tt.ro.vutbr.cz//buildst[…]-Parrot/rp-trunk/ ) |
| 00:44 |
|
japhb |
Tene: Sorry I missed you ... just got bak. Are your Plumage problems all sorted, or do you still need help? |
| 00:52 |
|
dalek |
parrot: r42378 | mikehh++ | branches/libjit_framebuilder (4 files): |
| 00:52 |
|
dalek |
parrot: applying patch by plobsing++ |
| 00:52 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42378/ |
| 00:56 |
|
plobsing |
thanks mikehh, now I just have to find some testers/reviewers |
| 00:56 |
|
plobsing |
anyone on i386 willing to install libjit and test libjit_framebuilder? |
| 00:57 |
|
mikehh |
I'll reboot and give it a go after some sleep |
| 00:59 |
|
dalek |
parrot: r42379 | NotFound++ | trunk (2 files): |
| 00:59 |
|
dalek |
parrot: [t] disable the nci_vP test to avoid linkage problems |
| 00:59 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42379/ |
| 00:59 |
|
plobsing |
mikehh++ |
| 00:59 |
|
mikehh |
I can't get virtualbox or kvm to work on my box - they don't like my wireless connection - I can't get to bridge properly :-{ |
| 01:00 |
|
plobsing |
NotFound: did you not see he__'s nopaste earlier? |
| 01:01 |
|
NotFound |
plobsing: I'm tired of playing ping-pong with the linkage of a test library for a flawed test. |
| 01:02 |
|
plobsing |
ha! I see your point. |
| 01:02 |
|
* mikehh |
anyway need some sleep - bbl |
| 01:04 |
|
NotFound |
And even more after having discovered that the 'p', that looks far more important for me, was seriously undertested. |
| 01:05 |
|
NotFound |
So don't spend time trying to make work silly things. |
| 01:06 |
|
plobsing |
NotFound: P is critical. It is required to implement methods defined in C. |
| 01:06 |
|
plobsing |
that said, it is rather trivial and hard to break |
| 01:06 |
|
NotFound |
plobsing: is not critical at all for external libraries that does not link with libparrot. |
| 01:06 |
|
NotFound |
In fact, is not even possible. |
| 01:06 |
|
|
kid51 joined #parrot |
| 01:07 |
|
plobsing |
yes, but thats not the only place nci is used |
| 01:07 |
|
NotFound |
plobsing: then let's put that test in other place. |
| 01:07 |
|
plobsing |
hmmm... I agree |
| 01:08 |
|
plobsing |
actually, most of these tests bellong elsewhere. I would categorize them as testing the NCI subsystem, not the NCI pmc |
| 01:14 |
|
kthakore |
kid51: hi |
| 01:15 |
|
NotFound |
plobsing: yes, I was also wondering if t/pmc was the rigth place. |
| 01:20 |
|
kid51 |
kthakore hello |
| 01:21 |
|
kthakore |
kid51: whats up |
| 01:21 |
|
purl |
A direction away from the center of gravity of a celestial object. or the y-axis, unless you're using a strange coordinate system. |
| 01:21 |
|
kid51 |
just about to go to dinner |
| 01:24 |
|
kthakore |
kid51: ah |
| 01:24 |
|
kthakore |
kid51: I am getting some late sunday night hacks done |
| 01:25 |
|
kid51 |
bbl |
| 01:26 |
|
kthakore |
kid51: kk |
| 01:39 |
|
|
abqar joined #parrot |
| 02:02 |
|
Tene |
japhb: there was a little typo in plumage... I haven't committed yet. |
| 02:03 |
|
Tene |
japhb: pushed |
| 02:04 |
|
dalek |
parrot-plumage: 74aa700 | tene++ | : |
| 02:04 |
|
dalek |
parrot-plumage: Minor typo fix to allow plumage to detect when it can install without sudo |
| 02:04 |
|
dalek |
parrot-plumage: review: http://gitorious.org/parrot-pl[…]820c2fd424559a444 |
| 02:05 |
|
|
payload joined #parrot |
| 02:25 |
|
dalek |
parrot: r42380 | jkeenan++ | trunk/config/init/defaults.pm: |
| 02:25 |
|
dalek |
parrot: Change one RT # to TT #. Delete reference to RT #41499, as that ticket was |
| 02:25 |
|
purl |
dalek: that doesn't look right |
| 02:25 |
|
dalek |
parrot: closed by particle on Sep 17 2009. |
| 02:25 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42380/ |
| 02:35 |
|
|
payload left #parrot |
| 02:38 |
|
japhb |
Tene: thanks for the fix! |
| 02:49 |
|
Whiteknight |
incoming |
| 02:49 |
|
purl |
duck! |
| 02:50 |
|
dalek |
TT #1246 created by jkeenan++: Extra libraries on CC build command |
| 02:51 |
|
Whiteknight |
...and goodnight |
| 02:53 |
|
dalek |
TT #1247 created by jkeenan++: ar can't read libparrot.a on Mac OS 10.5.2 |
| 02:58 |
|
plobsing |
k |
| 02:58 |
|
plobsing |
oops |
| 03:01 |
|
dalek |
parrot: r42381 | jkeenan++ | trunk/t/pmc/threads.t: |
| 03:01 |
|
dalek |
parrot: Delete reference to rejected RT ticket. |
| 03:01 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42381/ |
| 03:17 |
|
dalek |
TT #1248 created by jkeenan++: t/pmc/threads.t: two test failures |
| 03:24 |
|
dalek |
TT #1249 created by jkeenan++: t/pmc/threads.t: Thread types tests need rework |
| 03:25 |
|
dalek |
parrot: r42382 | jkeenan++ | trunk/t/pmc/threads.t: |
| 03:25 |
|
dalek |
parrot: Change RT references to TT numbers. |
| 03:25 |
|
purl |
dalek: that doesn't look right |
| 03:25 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42382/ |
| 03:31 |
|
dalek |
TT #1250 created by jkeenan++: t/pmc/threads.t: Need test for Clone of HLL info |
| 03:31 |
|
dalek |
parrot: r42383 | jkeenan++ | trunk/t/pmc/threads.t: |
| 03:31 |
|
dalek |
parrot: Replace an RT # with a TT #. |
| 03:31 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42383/ |
| 03:48 |
|
|
janus joined #parrot |
| 04:14 |
|
|
mikehh joined #parrot |
| 04:25 |
|
|
mikehh joined #parrot |
| 04:27 |
|
|
kurahaupo joined #parrot |
| 04:40 |
|
|
mokurai joined #parrot |
| 04:41 |
|
|
brooksbp joined #parrot |
| 05:02 |
|
dukeleto |
'ello |
| 05:02 |
|
plobsing |
hi dukeleto! |
| 05:03 |
|
dukeleto |
plobsing: how goes it? |
| 05:03 |
|
dukeleto |
i have been away on a road trip and have not backlogged to see what is up |
| 05:03 |
|
dukeleto |
what is the news? |
| 05:03 |
|
purl |
dukeleto: no headlines seen. see http://www.guardian.co.uk/worldlatest/ for more. |
| 05:04 |
|
* dukeleto |
gently kicks purl in the face. |
| 05:04 |
|
plobsing |
dukeleto: well, chromatic tested my libjit branch and turned up a weird bug |
| 05:05 |
|
plobsing |
I spent all weekend tracking it down |
| 05:05 |
|
dukeleto |
plobsing: do you need help testing it? |
| 05:05 |
|
plobsing |
do you have an i686? |
| 05:05 |
|
plobsing |
or compatible 32 bit machine? |
| 05:07 |
|
plobsing |
the current fix is a workaround for a libjit bug. I'm currently putting together a bug report for the libjit team. |
| 05:07 |
|
|
Essobi joined #parrot |
| 05:08 |
|
plobsing |
it only occurs on i386, not x86_64 |
| 05:13 |
|
dukeleto |
plobsing: i have access to a few machines |
| 05:13 |
|
dukeleto |
plobsing: you need an amd64 ? |
| 05:14 |
|
plobsing |
not really. My dev machine is 64 bit. And the bug only manifests on 32 bit. |
| 05:15 |
|
plobsing |
debugging in virtualbox is painful. perhaps I should set up dual-boot. |
| 05:17 |
|
diakopter |
vmware player is nice... |
| 05:18 |
|
plobsing |
well yes. but its slower than native. and a smaller screen. |
| 05:19 |
|
diakopter |
('tis full-screen for me...) |
| 05:19 |
|
plobsing |
all virtualization seems to not work for me |
| 05:19 |
|
plobsing |
maybe I'm technically incompetent |
| 05:19 |
|
diakopter |
no, vmware's drivers are tricky on linux/solaris |
| 05:21 |
|
diakopter |
and macosx. I mean, what? :) |
| 06:00 |
|
eternaleye |
KVM (or KVM-enabled QEMU) with the '-vga std' flag is nice. Full screen and accelerated. And if you turn on the usbtablet mouse mode, it doesn't even need to capture the mouse. |
| 06:33 |
|
|
particle joined #parrot |
| 06:54 |
|
|
uniejo joined #parrot |
| 07:03 |
|
|
magnachef joined #parrot |
| 07:42 |
|
|
snarkyboojum joined #parrot |
| 08:13 |
|
|
mikehh joined #parrot |
| 08:14 |
|
|
chromatic joined #parrot |
| 08:15 |
|
|
gaz joined #parrot |
| 08:18 |
|
|
iblechbot joined #parrot |
| 08:20 |
|
|
mikehh joined #parrot |
| 08:20 |
|
|
snarkyboojum joined #parrot |
| 08:27 |
|
|
baest joined #parrot |
| 08:41 |
|
|
barney joined #parrot |
| 08:44 |
|
dalek |
parrot: r42384 | barney++ | trunk/docs/project/release_manager_guide.pod: |
| 08:44 |
|
dalek |
parrot: Added location of reliable IRC-logs of #parrotsketch. |
| 08:44 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42384/ |
| 08:57 |
|
|
fperrad joined #parrot |
| 08:57 |
|
|
bacek joined #parrot |
| 09:09 |
|
bacek |
o hai |
| 09:23 |
|
|
AndyA joined #parrot |
| 09:32 |
|
|
pdcawley__ joined #parrot |
| 09:59 |
|
|
davidfetter joined #parrot |
| 10:15 |
|
|
snarkyboojum joined #parrot |
| 10:17 |
|
|
mokurai left #parrot |
| 10:54 |
|
|
payload joined #parrot |
| 11:20 |
|
|
pdcawley_ joined #parrot |
| 12:16 |
|
|
kid51 joined #parrot |
| 12:30 |
|
|
KatrinaTheLamia joined #parrot |
| 12:46 |
|
dalek |
rakudo: 929998c | (Solomon Foster)++ | src/setting/Str.pm: |
| 12:46 |
|
dalek |
rakudo: Remove cautious comment now that #perl6 has confirmed what I did. |
| 12:46 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]5c9a2d1ed99ca8a76 |
| 12:50 |
|
|
whiteknight joined #parrot |
| 12:52 |
|
whiteknight |
good morning #parrot |
| 12:59 |
|
plobsing |
morning whiteknight |
| 12:59 |
|
whiteknight |
hello plobsing, how goes it? |
| 13:00 |
|
plobsing |
it goes well. I've isolated the libjit bug chromatic found on i386 to a small test program |
| 13:00 |
|
davidfetter |
!seen ruoso |
| 13:00 |
|
moritz |
purl: seen ruoso |
| 13:00 |
|
purl |
ruoso was last seen on #dbix-class 10 days, 19 hours, 23 minutes and 19 seconds ago, saying: apparently, not working yet... [Oct 29 17:37:04 2009] |
| 13:01 |
|
davidfetter |
seems purl's stats aren't quite the same as dalek's. i wonder which to believe... |
| 13:06 |
|
moritz |
dalek: seen ruoso |
| 13:06 |
|
purl |
ruoso was last seen on #dbix-class 10 days, 19 hours, 28 minutes and 59 seconds ago, saying: apparently, not working yet... [Oct 29 17:37:04 2009] |
| 13:06 |
|
moritz |
looks quite similar :-) |
| 13:09 |
|
whiteknight |
plobsing: Can I see that small test program? |
| 13:11 |
|
nopaste |
"plobsing" at 76.67.61.178 pasted "LibJIT test prog" (75 lines) at http://nopaste.snit.ch/18621 |
| 13:12 |
|
plobsing |
the program will give different results depending on whether you supply arguments or not |
| 13:12 |
|
dalek |
TT #1251 created by jkeenan++: handle ARM mixed-endian doubles |
| 13:16 |
|
dalek |
TT #1252 created by jkeenan++: src/dynpmc/gdbmhash.pmc: Handle case where libgdbm.so cannot be loaded on ... |
| 13:16 |
|
dalek |
parrot: r42385 | jkeenan++ | trunk/src/dynpmc/gdbmhash.pmc: |
| 13:16 |
|
dalek |
parrot: Change an RT # to a TT #. |
| 13:16 |
|
purl |
dalek: that doesn't look right |
| 13:17 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42385/ |
| 13:37 |
|
|
payload joined #parrot |
| 13:42 |
|
|
payload joined #parrot |
| 14:02 |
|
|
pdcawley__ joined #parrot |
| 14:14 |
|
dalek |
parrot: r42386 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: |
| 14:14 |
|
dalek |
parrot: [distutils] add stuff for dynops |
| 14:14 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42386/ |
| 14:25 |
|
|
payload joined #parrot |
| 14:52 |
|
|
Essobi joined #parrot |
| 14:53 |
|
|
Andy joined #parrot |
| 14:59 |
|
|
PacoLinux joined #parrot |
| 15:13 |
|
|
kthakore joined #parrot |
| 15:22 |
|
|
Psyche^ joined #parrot |
| 15:49 |
|
|
payload joined #parrot |
| 16:10 |
|
|
payload1 joined #parrot |
| 16:21 |
|
|
particle1 joined #parrot |
| 16:39 |
|
|
hudnix joined #parrot |
| 16:44 |
|
|
darbelo joined #parrot |
| 16:44 |
|
|
pdcawley_ joined #parrot |
| 16:51 |
|
|
davidfetter joined #parrot |
| 16:56 |
|
|
fperrad_ joined #parrot |
| 16:58 |
|
|
theory joined #parrot |
| 16:59 |
|
dalek |
wmlscript: 0f4814e | fperrad++ | setup.pir: |
| 16:59 |
|
dalek |
wmlscript: add a setup.pir (distutils) |
| 16:59 |
|
dalek |
wmlscript: review: http://github.com/fperrad/wmls[…]3510443f5ce6a7548 |
| 17:06 |
|
dalek |
parrot: r42387 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: |
| 17:06 |
|
dalek |
parrot: [distutils] add stuff for dynpmc |
| 17:06 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42387/ |
| 17:11 |
|
dalek |
wmlscript: fad8e5c | fperrad++ | setup.pir: |
| 17:11 |
|
dalek |
wmlscript: chmod +x |
| 17:11 |
|
dalek |
wmlscript: review: http://github.com/fperrad/wmls[…]1624052184453bf2c |
| 17:15 |
|
|
kurahaupo joined #parrot |
| 18:02 |
|
dukeleto |
'ello |
| 18:03 |
|
cotto_work |
hi |
| 18:04 |
|
|
payload joined #parrot |
| 18:07 |
|
dalek |
parrot: r42388 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: |
| 18:07 |
|
dalek |
parrot: [distutils] add stuff for tge |
| 18:07 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42388/ |
| 18:08 |
|
|
cotto_work left #parrot |
| 18:08 |
|
|
cotto_work joined #parrot |
| 18:08 |
|
dukeleto |
cotto_work: hola |
| 18:09 |
|
cotto_work |
wb me! |
| 18:09 |
|
darbelo |
We missed you during those few seconds of dissconnect. |
| 18:10 |
|
cotto_work |
It was rough. |
| 18:12 |
|
whiteknight |
we need a welcome back party! |
| 18:13 |
|
* dukeleto |
gets some shot glasses |
| 18:13 |
|
cotto_work |
We need a "let cotto_work write and commit code" party. |
| 18:26 |
|
|
payload joined #parrot |
| 18:27 |
|
whiteknight |
I'd go to that party |
| 18:27 |
|
whiteknight |
I'm all about writing and committing code |
| 18:30 |
|
darbelo |
We could elaborate a complicated plot to get him fired, so he could write and commit code. But I don't think he'd appreciate it. |
| 18:30 |
|
cotto_work |
I can write and commit code just fine as long as it's not from work. |
| 18:31 |
|
cotto_work |
s/I/cotto/ |
| 18:31 |
|
cotto_work |
;) |
| 18:32 |
|
darbelo |
Oh, right. cotto_work pays the food and bills so cotto can hack. |
| 18:32 |
|
dalek |
lua: f3baad0 | fperrad++ | setup.pir: |
| 18:32 |
|
dalek |
lua: add a setup.pir (distutils) |
| 18:32 |
|
dalek |
lua: review: http://github.com/fperrad/lua/[…]09c4fdee28393e65e |
| 18:36 |
|
whiteknight |
yeah, that cotto_work guy is alright |
| 18:37 |
|
dalek |
parrot: r42389 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: |
| 18:37 |
|
dalek |
parrot: [distutils] fix dynpmc, pmc2c works only in the current directory |
| 18:37 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42389/ |
| 18:40 |
|
cotto_work |
btw, how many here can write/commit from work? |
| 18:40 |
|
cotto_work |
just ooc |
| 18:41 |
|
whiteknight |
I have, I don't think my company has a policy about it |
| 18:41 |
|
whiteknight |
at least, no policy that I am aware of |
| 18:42 |
|
whiteknight |
obviously I can't spend more then ~30 seconds on it, unless I make up the time |
| 18:42 |
|
cotto_work |
right |
| 18:42 |
|
whiteknight |
I run parrot tests and stuff in the background pretty regularly |
| 18:50 |
|
|
iblechbot joined #parrot |
| 18:50 |
|
dalek |
lua: a7f2f15 | fperrad++ | setup.pir: |
| 18:50 |
|
dalek |
lua: chmod +x |
| 18:50 |
|
dalek |
lua: review: http://github.com/fperrad/lua/[…]96f50fe7e5c744138 |
| 19:05 |
|
|
chromatic joined #parrot |
| 19:16 |
|
|
AndyA joined #parrot |
| 19:31 |
|
* chromatic |
can write/commit from work. |
| 19:35 |
|
cotto_work |
(working from home)++ |
| 19:36 |
|
whiteknight |
that's because chromatic has one of those wonderful dream jobs |
| 19:37 |
|
chromatic |
No boss, no HR, no one to handle paperwork besides my own self? |
| 19:38 |
|
whiteknight |
like a dream within a dream |
| 19:39 |
|
* darbelo |
dreams that he dreams that he dreams that he dreams ... |
| 19:44 |
|
Tene |
I can write and commit from work. |
| 19:45 |
|
Tene |
I've done it many times. |
| 19:45 |
|
|
bacek joined #parrot |
| 19:45 |
|
Tene |
Part of my employment contract includes an obligation to contribute to the open source community. |
| 19:46 |
|
cotto_work |
WANT |
| 19:47 |
|
whiteknight |
holy crap. Tene: where do you work? |
| 19:48 |
|
Tene |
http://gurulabs.com/ |
| 19:48 |
|
chromatic |
Mine too. |
| 19:48 |
|
purl |
Mine too. are you approaching 1800 now? |
| 19:48 |
|
|
joeri joined #parrot |
| 19:48 |
|
whiteknight |
wow, that's hot |
| 19:48 |
|
whiteknight |
chromatic: aren't you self-employed? |
| 19:49 |
|
chromatic |
I co-own an S Corp, so ... sort of. |
| 19:49 |
|
whiteknight |
ah, okay |
| 19:49 |
|
whiteknight |
all I knew for certain was that you left O'Reilly |
| 19:49 |
|
whiteknight |
because that's all you blogged about |
| 19:50 |
|
whiteknight |
that, and I was able to pick out some interesting documents from your garbage |
| 19:50 |
|
whiteknight |
:) |
| 19:50 |
|
chromatic |
Then you know I have two indoor cats! |
| 19:51 |
|
cotto_work |
I guess you can expect that sort of thing from our resident GC hacker. |
| 19:51 |
|
whiteknight |
I've spent more time in trash cans of various sizes then I care to admin |
| 19:51 |
|
whiteknight |
admit* |
| 19:52 |
|
diakopter |
(or admin) |
| 19:54 |
|
whiteknight |
I've ridden on the back of garbage trucks, sorted trash and recyclables, cleaned dumpsters, compactors and garbage trucks, etc |
| 19:54 |
|
* diakopter |
dumpster dove a few times |
| 19:54 |
|
darbelo |
whiteknight: You are, in essence, a garbage collector :) |
| 19:55 |
|
|
payload joined #parrot |
| 19:55 |
|
whiteknight |
in essence, yes |
| 19:55 |
|
whiteknight |
:) |
| 19:56 |
|
whiteknight |
I wasn't allowed to write or commit code from any of those jobs either |
| 19:57 |
|
|
hercynium joined #parrot |
| 19:59 |
|
particle |
is that why your code stinks? |
| 20:00 |
|
|
Austin_away joined #parrot |
| 20:01 |
|
chromatic |
Because it's full of garbage particles? |
| 20:03 |
|
Tene |
I never went through particle's trash when I was in seattle. Who said I had? |
| 20:03 |
|
* darbelo |
wonders if there are garbage particles in particle's garbage. |
| 20:04 |
|
particle |
there's not much in my garbage now, i'm on a clear liquid diet |
| 20:05 |
|
Austin |
Personal foul! Horrifying mental image. 15 yards. |
| 20:07 |
|
Austin |
Open question: compiled pir (or anything else) goes into a .pbc file. Parrot does a pretty bad job of accepting pbc files, since it explicitly checks for a file extension, etc. So what's the right model for post-processed .pbc's? That is, if .pbc is the same as .o or .class, what's the analog for .exe or .out or .jar? |
| 20:08 |
|
darbelo |
Austin: We don't have one? |
| 20:09 |
|
Austin |
I had noticed that, darbelo, but I was kind of hoping that maybe there was one that nobody had told me about... |
| 20:09 |
|
NotFound |
Austin: a .pbc is an o and an exe at the same time. |
| 20:10 |
|
Tene |
alternately, parrot doesn't distinguish between .o and .exe |
| 20:10 |
|
NotFound |
And, what is the bad job you are talking? |
| 20:10 |
|
Austin |
NotFound: And it does both jobs equally well, I'm sure. :$ |
| 20:10 |
|
NotFound |
Same as the ELF format |
| 20:11 |
|
Austin |
The bad job is that the only way to run bytecode is to have a physical file called whatever.pbc. |
| 20:11 |
|
Austin |
You can't say "--this-is-a-pbc-file-trust-me" on the command line, and you can't use stdin. |
| 20:12 |
|
NotFound |
Austin: I can the current logic is: if extension is not pbc, pir or pasm, try it as pir or pasm source. |
| 20:12 |
|
NotFound |
I think |
| 20:13 |
|
Austin |
Something like that. There are many chances to compile pasm/pir, but only one route to using pre-compiled code. |
| 20:13 |
|
Austin |
Considering the big-O of imcc, that's a weird bias. |
| 20:14 |
|
NotFound |
Not just a problem of imcc, load_bytecode uses the same logic. |
| 20:14 |
|
Austin |
I was assuming that load_bytecode called imcc. |
| 20:15 |
|
chromatic |
Perhaps we should separate loading from compilation and move some of these responsibilities out of IMCC. |
| 20:15 |
|
Austin |
Anyway, my point is that the present model seems to be "build a .pir file with a lot of .include directives" to get something like an executable. |
| 20:15 |
|
NotFound |
Austin: I don't care the implementation, it can be changed. The problem is that is supposed to work that way. |
| 20:16 |
|
Austin |
NotFound: huh? |
| 20:16 |
|
NotFound |
Austin: if load_bytecode let imcc decide the file type or does itself. |
| 20:16 |
|
Austin |
Oh, okay. sure. |
| 20:16 |
|
whiteknight |
chromatic: I strongly agree. I think we need to move a lot of stuff out of IMCC |
| 20:17 |
|
|
redbrain joined #parrot |
| 20:17 |
|
NotFound |
I agree that abusing .include sucks. |
| 20:18 |
|
whiteknight |
commandline argument processing for one, .pbc loading for another |
| 20:18 |
|
redbrain |
not sure if your interested but i finally got around to setting up a buildbot for us i meant to have it done some time ago but got it nearly working on my webserver as a test then i will extend to work on some sparc and mips for us :) |
| 20:18 |
|
whiteknight |
redbrain: awesome. Which platform? |
| 20:18 |
|
whiteknight |
(nevermind, sparc and mips) |
| 20:18 |
|
redbrain |
so far just my x86 server |
| 20:18 |
|
whiteknight |
that's great |
| 20:18 |
|
redbrain |
but i will extend to anything really i have access to most things |
| 20:19 |
|
redbrain |
it will just take a while untill its setup fully across them all |
| 20:19 |
|
redbrain |
i'll send a mail around when i get more setup :) |
| 20:19 |
|
NotFound |
whiteknight: BTW you fixed your blog post amazingly fast. |
| 20:20 |
|
whiteknight |
NotFound: not nearly as fast as you found the error! |
| 20:20 |
|
whiteknight |
I'm sorry for misspelling it, I should have been more careful |
| 20:20 |
|
NotFound |
I can lost a lot of fans if you mispell ;) |
| 20:22 |
|
dukeleto |
warnings.t is still failing on trunk: http://smolder.plusthree.com/a[…]ort_details/29760 |
| 20:22 |
|
chromatic |
Yeah, in theory bacek is looking at that. |
| 20:23 |
|
dukeleto |
bacek++ |
| 20:23 |
|
theory |
Kind of dark in there for bacek, no? |
| 20:23 |
|
bacek |
good morning. Who woke me up? |
| 20:23 |
|
Tene |
Me! |
| 20:23 |
|
* dukeleto |
pours bacek++ a shot of scotch |
| 20:24 |
|
bacek |
dukeleto, it's too early for scotch... |
| 20:24 |
|
Austin |
bacek: The sun's over the yardarm someplace. |
| 20:25 |
|
bacek |
chromatic, warnings.t is about Context inlining? Than it addressed in pmc_headers_move branch. |
| 20:25 |
|
chromatic |
Does it pass there? |
| 20:25 |
|
chromatic |
The problem I saw was with the optimized build. |
| 20:26 |
|
bacek |
chromatic, let me recheck it |
| 20:27 |
|
bacek |
chromatic, btw, I totally stuck with Context CallSignature merging... I just can't grok logic who and when should create it and push it... |
| 20:27 |
|
chromatic |
Let's put a page on the wiki to work it out then. |
| 20:30 |
|
bacek |
warnings.t passed on my box, in branch, on --optimized build |
| 20:30 |
|
chromatic |
Does your libparrot.so export Parrot_pcc_warnings_on() et al? |
| 20:33 |
|
bacek |
chromatic, nope. |
| 20:33 |
|
chromatic |
Then I'm not sure why the test is passing. |
| 20:33 |
|
chromatic |
Unless you changed the optimized build to export those functions again. |
| 20:34 |
|
bacek |
chromatic, I didn't. But I can take a look how to export them regardless of build. |
| 20:34 |
|
chromatic |
I think that's what we need. I'll try the branch though. |
| 20:35 |
|
bacek |
In branch I uncoditionally include "pmc_context.h". So Parrot_Context_attributes are always declared. |
| 20:35 |
|
chromatic |
That wasn't the problem I saw. |
| 20:36 |
|
bacek |
chromatic, it was actually. |
| 20:36 |
|
bacek |
but try branch anyway. |
| 20:36 |
|
dalek |
parrot: r42390 | barney++ | trunk/NEWS: |
| 20:36 |
|
dalek |
parrot: Added very first draft for 'New in 1.8.0'. |
| 20:36 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42390/ |
| 20:39 |
|
|
ash_ joined #parrot |
| 20:39 |
|
|
mokurai joined #parrot |
| 20:40 |
|
dalek |
parrot: r42391 | barney++ | trunk/NEWS: |
| 20:40 |
|
dalek |
parrot: Fixed indention of the '+' lines. |
| 20:40 |
|
dalek |
parrot: review: https://trac.parrot.org/parrot/changeset/42391/ |
| 20:41 |
|
NotFound |
What do you think about this? Add to the ExceptionHandler PMC the capability to set a function to be called from can_handle, avoiding the need to subclass it in lot of cases. |
| 20:42 |
|
whiteknight |
NotFound: seems reasonable |
| 20:42 |
|
NotFound |
It just needs to add a PMC atribute. |
| 20:42 |
|
NotFound |
To the size of the PMC, I mean. |
| 20:42 |
|
whiteknight |
mention it at #ps tomorrow |
| 20:43 |
|
chromatic |
bacek, the test passes for me on your branch. |
| 20:44 |
|
bacek |
chromatic, of course :) |
| 20:45 |
|
chromatic |
What's holding up the merge? |
| 20:45 |
|
whiteknight |
which branch? |
| 20:46 |
|
chromatic |
pmc_headers_move |
| 20:46 |
|
whiteknight |
oh, what's the purpose of that one? |
| 20:46 |
|
chromatic |
Getting generated PMC headers out of src/pmc and putting them in include/parrot/ |
| 20:47 |
|
dalek |
parrot-plumage: 339f19f | japhb++ | : |
| 20:47 |
|
dalek |
parrot-plumage: [PROBES] for %h.kv -> $k, $v {...} works! |
| 20:47 |
|
dalek |
parrot-plumage: review: http://gitorious.org/parrot-pl[…]70a51580b31c75558 |
| 20:48 |
|
bacek |
chromatic, almost nothing. I'm holding it for couple more days for testing. Probably will merge tomorrow |
| 20:48 |
|
bacek |
chromatic, actually "include/pmc" to be consistent with installed parrot |
| 20:49 |
|
bacek |
anyway, $dayjob time |
| 20:49 |
|
bacek |
see you |
| 20:50 |
|
whiteknight |
that sounds to me like it would buck up against the deprecation policy |
| 20:50 |
|
whiteknight |
any extensions that rely on those headers in their current location will break |
| 20:51 |
|
chromatic |
How would an extension refer to those headers? |
| 20:51 |
|
darbelo |
*Why* would an extension refer to those headers? |
| 20:52 |
|
whiteknight |
I don't know. I seem to think it would be possible |
| 20:52 |
|
whiteknight |
if they were subclassing a built-in type from C, for instance |
| 20:52 |
|
dalek |
parrot-plumage: 1a70eb0 | japhb++ | : |
| 20:52 |
|
dalek |
parrot-plumage: [META] Completed TODOs |
| 20:52 |
|
dalek |
parrot-plumage: review: http://gitorious.org/parrot-pl[…]12c3f56b8dc983017 |
| 20:52 |
|
darbelo |
whiteknight: pmc2c handles that for them. |
| 20:53 |
|
darbelo |
.pmc shouldn't #include other pmcs headers. |
| 20:54 |
|
|
buildbot-redbrain joined #parrot |
| 20:54 |
|
darbelo |
redbrain++ |
| 20:54 |
|
redbrain |
:) woohoo that works now hehe |
| 20:54 |
|
|
szabgab joined #parrot |
| 20:55 |
|
darbelo |
redbrain: Do you want me to break the build so we can test the bot? |
| 20:55 |
|
darbelo |
;) |
| 20:56 |
|
redbrain |
haha not yet its not quite finished yet :P |
| 20:56 |
|
redbrain |
working with some of the guys on fnet to help me now its a little fiddly |
| 21:08 |
|
redbrain |
http://crules.org:8010/ |
| 21:08 |
|
redbrain |
thats the web interface so far |
| 21:13 |
|
japhb |
(#git)++ # And now I understand another piece of the puzzle |
| 21:14 |
|
|
bbredbrain joined #parrot |
| 21:14 |
|
redbrain |
bbredbrain: help |
| 21:14 |
|
bbredbrain |
Get help on what? (try 'help <foo>', or 'commands' for a command list) |
| 21:15 |
|
darbelo |
bbredbrain: help me |
| 21:15 |
|
bbredbrain |
no such command 'me' |
| 21:15 |
|
darbelo |
:) |
| 21:15 |
|
redbrain |
bbredbrain: notify start |
| 21:15 |
|
bbredbrain |
try 'notify on|off <EVENT>' |
| 21:15 |
|
redbrain |
bbredbrain: notify on build |
| 21:15 |
|
bbredbrain |
try 'notify on|off <EVENT>' |
| 21:15 |
|
NotFound |
bbredbrain: help <foo> |
| 21:15 |
|
bbredbrain |
no such command '<foo>' |
| 21:15 |
|
NotFound |
You liar |
| 21:15 |
|
Austin |
bbredbrain: help notify |
| 21:15 |
|
bbredbrain |
Usage: notify on|off|list [<EVENT>] ... - Notify me about build events. event should be one or more of: 'started', 'finished', 'failed', 'success', 'exception', 'successToFailed', 'failedToSuccess' |
| 21:15 |
|
japhb |
bbredbrain, help reconcile quantum entanglement and special relativity |
| 21:15 |
|
bbredbrain |
no such command 'reconcile' |
| 21:16 |
|
redbrain |
hahah |
| 21:16 |
|
japhb |
SCNR |
| 21:18 |
|
|
hudnix joined #parrot |
| 21:24 |
|
dalek |
TT #1253 created by pmichaud++: [BUG] values returned from iterating a hash are no longer strings ... |
| 21:25 |
|
pmichaud |
I should note that TT #1253 is a breakage in the deprecation policy also. |
| 21:26 |
|
|
estrabd joined #parrot |
| 21:36 |
|
|
desertm4x joined #parrot |
| 21:48 |
|
|
nbrown_ joined #parrot |
| 22:01 |
|
|
bbredbrain joined #parrot |
| 22:05 |
|
|
joeri joined #parrot |
| 22:06 |
|
redbrain |
whoohoo is going its first build now :) |
| 22:07 |
|
|
jsut_ joined #parrot |
| 22:08 |
|
bacek_at_work |
pmichaud, why HashIteratorKey is problem? |
| 22:09 |
|
japhb |
bacek_at_work, because it doesn't act sufficiently like a String (or rather, the actual type of the key) |
| 22:09 |
|
bacek_at_work |
japhb, why Hash key should be a String? |
| 22:09 |
|
japhb |
So concat with a HashIteratorKey fails. |
| 22:10 |
|
japhb |
bacek_at_work, whatever you get out of a Hash should have the same type you put into it. |
| 22:10 |
|
chromatic |
Getting an HIK out of a Hash is a problem if you didn't put a HIK in the Hash. |
| 22:10 |
|
bacek_at_work |
nope. |
| 22:10 |
|
japhb |
So if you indexed the Hash with String PMCs, you should get String PMCs out when you iterate. |
| 22:10 |
|
bacek_at_work |
You get it from iterator |
| 22:10 |
|
bacek_at_work |
not Hash |
| 22:11 |
|
japhb |
bacek_at_work, an iterator is just a way of looking at a container. It should not alter types en passant./ |
| 22:11 |
|
chromatic |
When I'm iterating a Hash, I don't care about the iterator. I care about what's in the Hash. |
| 22:11 |
|
bacek_at_work |
HIK.key() returns original key |
| 22:11 |
|
japhb |
bacek_at_work, why have the additional layer? |
| 22:12 |
|
japhb |
Why shouldn't '$P0 = shift iterator' give me back exactly the keys I put into the hash? |
| 22:12 |
|
bacek_at_work |
japhb, for performance reason. You can avoid second symbolic lookup during iteration |
| 22:12 |
|
|
kiwichris joined #parrot |
| 22:12 |
|
japhb |
But if you have to do a deref in PIR, how are you gaining anything? |
| 22:12 |
|
japhb |
(in order to actually *use* the key, I mean) |
| 22:12 |
|
bacek_at_work |
chromatic, you get iterator key. Which is pair(key, value) |
| 22:13 |
|
japhb |
bacek_at_work, Oh, I see, you're actually iterating the pairs, not the keys |
| 22:13 |
|
japhb |
but when you stringify the pair, you get the key? |
| 22:13 |
|
NotFound |
japhb: a dereference is less costly than a lookup in the hash |
| 22:13 |
|
chromatic |
That's a PIR behavior change though. |
| 22:13 |
|
japhb |
odd ... |
| 22:13 |
|
bacek_at_work |
japhb, $S0 = shift it; $P1 = hash[$S0]. This is slow. |
| 22:14 |
|
bacek_at_work |
chromatic, nope. hash[key] still returns value. |
| 22:14 |
|
redbrain |
bbredbrain: help |
| 22:14 |
|
bbredbrain |
Get help on what? (try 'help <foo>', or 'commands' for a command list) |
| 22:14 |
|
japhb |
I think I'm seeing the reason, it's just not self-evident what's going on. |
| 22:14 |
|
redbrain |
bbredbrain: commands |
| 22:14 |
|
bbredbrain |
buildbot commands: commands, dance, destroy, excited, force, hello, help, join, last, leave, list, notify, source, status, stop, version, watch |
| 22:14 |
|
* purl |
doesn't take orders. |
| 22:14 |
|
redbrain |
bbredbrain: status |
| 22:14 |
|
bbredbrain |
Debian-x86-test: idle, last build 4m43s ago: build successful |
| 22:14 |
|
purl |
Since Wed Oct 28 01:13:35 2009, there have been 2415 modifications and 1199 questions. I have been awake for 12 days, 21 hours, 38 seconds this session, and currently reference 809194 factoids. Addressing is in optional mode. |
| 22:14 |
|
bacek_at_work |
japhb, it's documented in hashiterator.pmc |
| 22:14 |
|
japhb |
If you hadn't told me that I'm really getting pairs that sometimes pretend to be the actual keys, I wouldn't have ever just guessed that. |
| 22:14 |
|
NotFound |
purl: sudo make me a sandwich |
| 22:14 |
|
purl |
NotFound: sorry... |
| 22:15 |
|
chromatic |
If you change what iteration returns, you've changed what iteration returns. How is that anything other than a change? |
| 22:15 |
|
bacek_at_work |
chromatic, it was loong time ago. In Keys refactor. |
| 22:15 |
|
Austin |
NotFound: How many remaining siblings do you have? |
| 22:16 |
|
japhb |
pmichaud, feel highlighted. This discussion is up your alley. |
| 22:16 |
|
NotFound |
Austin: About what? |
| 22:16 |
|
Austin |
Today's xkcd |
| 22:16 |
|
purl |
Today's xkcd is awesome |
| 22:16 |
|
chromatic |
The point of the change is irrelevant, if we need to follow our deprecation policy. |
| 22:16 |
|
bacek_at_work |
chromatic, and I didn't see any problems with approach to use aggregate specific iterators. |
| 22:17 |
|
NotFound |
Austin: ah, don't caught it :D |
| 22:17 |
|
bacek_at_work |
chromatic, it was before stable release. Now we can revert hash iterator to 1.0 behavior. Or stuck with 1.6 behavior. |
| 22:18 |
|
chromatic |
Did this happen before 1.4? |
| 22:19 |
|
chromatic |
NEWS says "Key and Iterator refactor" in 1.4. |
| 22:19 |
|
bacek_at_work |
Date: Wed Aug 5 11:29:16 2009 +0000 |
| 22:19 |
|
bacek_at_work |
it's "Merge branch keys_cleanup into trunk." |
| 22:19 |
|
chromatic |
TT #1253 says pmichaud used the old way in 1.3. |
| 22:20 |
|
chromatic |
Okay, that's post 1.4. |
| 22:20 |
|
chromatic |
We need to revert that behavior change then. |
| 22:21 |
|
bacek_at_work |
ah. Nope |
| 22:21 |
|
bacek_at_work |
Merge branch tt761_keys_revamp into trunk. |
| 22:21 |
|
bacek_at_work |
Date: Wed Jul 15 13:15:25 2009 +0000 |
| 22:24 |
|
chromatic |
This behavior change went into 1.4 silently then? |
| 22:26 |
|
bacek_at_work |
chromatic, then yes. |
| 22:27 |
|
pmichaud |
the change went silently into 1.4, yes |
| 22:27 |
|
kiwichris |
I have found the PDD "Embedded and Extending Parrot. Nice. Is there more I may have missed ? |
| 22:27 |
|
pmichaud |
along with the other pieces of the hash iterator that broke rakudo at the time. :) |
| 22:28 |
|
pmichaud |
if the hash iterator is now returning something like pairs, I might be able to convince myself I like that better. |
| 22:28 |
|
bacek_at_work |
HIK is (key, value) pair |
| 22:29 |
|
pmichaud |
not sure yet. I just know it represented a change that is causing some NQP code to break, in both old and new nqp |
| 22:29 |
|
bacek_at_work |
pmichaud, even documented in top of hashiterator.pmc :) |
| 22:29 |
|
bacek_at_work |
pmichaud, hmm. If I have small test for it I can fix it. |
| 22:30 |
|
chromatic |
Yes, but no one reads HashIterator's documentation for this. |
| 22:30 |
|
bacek_at_work |
chromatic, we don't have PDD for our PMCs. |
| 22:30 |
|
bacek_at_work |
afaik |
| 22:31 |
|
chromatic |
There's not much we can do besides try to make the current behavior work now, I suppose. |
| 22:31 |
|
pmichaud |
the question to be answered is whether iterating a hash returns keys or pairs |
| 22:31 |
|
pmichaud |
the old behavior returned keys |
| 22:31 |
|
chromatic |
Pairs seems better. |
| 22:31 |
|
pmichaud |
changing that seems.... problematic |
| 22:31 |
|
* bacek_at_work |
like current behavior more. |
| 22:32 |
|
pmichaud |
pairs seems better, yes, but there's a ton of code that depends on it coming back with keys |
| 22:32 |
|
pmichaud |
I mean a *ton* |
| 22:32 |
|
Tene |
~/ |
| 22:32 |
|
pmichaud |
so if we have it return pairs, then those pairs have to act like keys in certain contexts, and like pairs in others |
| 22:32 |
|
pmichaud |
and I'm not sure how to tell the difference, or if there's even a clean break (as my example code in the TT shows) |
| 22:33 |
|
chromatic |
I agree, but we're talking about four months of tons of code from 1.0 through 1.3 and four months of tons of code from 1.4 through 1.7. |
| 22:33 |
|
pmichaud |
not really |
| 22:33 |
|
|
mikehh joined #parrot |
| 22:33 |
|
pmichaud |
we're talking about parrot 0.4 to 1.3 |
| 22:33 |
|
chromatic |
There were no deprecation promises until 1.0. |
| 22:34 |
|
pmichaud |
no, but we'd still have to fix the code |
| 22:34 |
|
pmichaud |
(more) |
| 22:34 |
|
bacek_at_work |
pmichaud, most of this code use "$S0 = shift it". Which works with new iterators |
| 22:34 |
|
pmichaud |
bacek_at_work: that's because it assumes that HIK stringifies to its key |
| 22:34 |
|
pmichaud |
I'm not sure that's the semantics we really want |
| 22:34 |
|
pmichaud |
assuming that HIK is really some sort of pair |
| 22:34 |
|
pmichaud |
in some sense it should stringify to its value |
| 22:34 |
|
pmichaud |
and numify to its value |
| 22:34 |
|
pmichaud |
and ... |
| 22:35 |
|
bacek_at_work |
why stringify to value? |
| 22:35 |
|
pmichaud |
it's a question of whether one considers to be a value with a key attached or a key with a value attached |
| 22:35 |
|
chromatic |
I don't think we can decide that in the general case. |
| 22:35 |
|
pmichaud |
*considers a pair |
| 22:36 |
|
pmichaud |
I might feel comfortable if HIK subclassed String |
| 22:36 |
|
bacek_at_work |
it is pair. "Single (key,value) pair." |
| 22:36 |
|
bacek_at_work |
it has "get_string" to stringify to key. |
| 22:36 |
|
pmichaud |
bacek_at_work: yes, but it doesn't have "concatenate" or "add" or any of the other operations that can be done on String |
| 22:37 |
|
redbrain |
bbredbrain: status |
| 22:37 |
|
bbredbrain |
Debian-PPC-G5-test: idle |
| 22:37 |
|
bbredbrain |
Debian-x86-test: idle, last build 27m05s ago: build successful |
| 22:37 |
|
purl |
Since Wed Oct 28 01:13:35 2009, there have been 2420 modifications and 1202 questions. I have been awake for 12 days, 21 hours, 22 minutes, 59 seconds this session, and currently reference 809199 factoids. Addressing is in optional mode. |
| 22:37 |
|
pmichaud |
and it's wrong for iterators in general to always use $S0 = iter hash --- what if the hash is keyed on things other than strings, as it will be someday? |
| 22:37 |
|
bacek_at_work |
pmichaud, you can use non-string keys right now. |
| 22:37 |
|
pmichaud |
bacek_at_work: then you've proven my point that $S0 = iter hash is not the correct interface :) |
| 22:37 |
|
bacek_at_work |
pmichaud, and concatenating HIK keys is... weird. |
| 22:38 |
|
NotFound |
I suppose that no one wants to add a third type os hash iterator. |
| 22:38 |
|
pmichaud |
bacek_at_work: what's wrong with concatenating a string key with another key? |
| 22:38 |
|
pmichaud |
that's not weird at all |
| 22:38 |
|
bacek_at_work |
sorry, have to return to $dayjob, Visio and other duties. |
| 22:38 |
|
pmichaud |
that's like saying "adding integer indexes is weird" |
| 22:39 |
|
bacek_at_work |
pmichaud, iterating over hashes return (key,value). Concatenating them is weird. |
| 22:39 |
|
pmichaud |
bacek_at_work: except that the hash iterator interface was once that it returned keys, not pairs |
| 22:39 |
|
pmichaud |
changing it to pairs is a very substantial semantic change |
| 22:40 |
|
pmichaud |
and having $S0 = shift iter and $P0 = shift iter do very different things seems.... dangerous |
| 22:40 |
|
pmichaud |
(where the first returns a key, but the second returns a pair) |
| 22:40 |
|
bacek_at_work |
pmichaud, I agree about semantic change. But having old overcomplicated Keys all over code was worth. |
| 22:41 |
|
bacek_at_work |
"$S0 = shift iter" get HIK, than strinfigy it. |
| 22:41 |
|
pmichaud |
what does $I0 = shift iter do then? |
| 22:41 |
|
pmichaud |
that used to work also. :-) |
| 22:42 |
|
bacek_at_work |
I think it eats kittens if there is no test for other behavior |
| 22:42 |
|
pmichaud |
very well. This conversation has now exceeded my "avoid contentious issues" threshhold so I'm abstaining now. :) |
| 22:43 |
|
redbrain |
bbredbrain: status |
| 22:43 |
|
bbredbrain |
Debian-PPC-G5-test: idle |
| 22:43 |
|
bbredbrain |
Debian-UltraSparcII: idle |
| 22:43 |
|
bbredbrain |
Debian-x86-test: idle, last build 34m02s ago: build successful |
| 22:43 |
|
purl |
Since Wed Oct 28 01:13:35 2009, there have been 2423 modifications and 1202 questions. I have been awake for 12 days, 21 hours, 29 minutes, 56 seconds this session, and currently reference 809202 factoids. Addressing is in optional mode. |
| 22:45 |
|
NotFound |
Why on hell HashIterator.shift_string does temporary_pmc_free? =:o) |
| 22:46 |
|
bacek_at_work |
NotFound, some optimisation by chromatic |
| 22:46 |
|
|
theory joined #parrot |
| 22:46 |
|
NotFound |
"Frees a new temporary PMC created by C<temporary_pmc_new()>" |
| 22:46 |
|
|
kj joined #parrot |
| 22:47 |
|
NotFound |
I don't see the corresponding temporary_pmc_free. |
| 22:47 |
|
NotFound |
s/free/new |
| 22:47 |
|
bacek_at_work |
NotFound, temporary_pmc_new == pmc_new. |
| 22:48 |
|
redbrain |
bbredbrain: status |
| 22:48 |
|
bbredbrain |
Debian-PPC-G5-test: building(updating) |
| 22:48 |
|
bbredbrain |
Debian-UltraSparcII: building(updating) |
| 22:48 |
|
bbredbrain |
Debian-x86-test: idle, last build 38m08s ago: build successful |
| 22:48 |
|
purl |
Since Wed Oct 28 01:13:35 2009, there have been 2423 modifications and 1202 questions. I have been awake for 12 days, 21 hours, 34 minutes, 2 seconds this session, and currently reference 809202 factoids. Addressing is in optional mode. |
| 22:48 |
|
bacek_at_work |
pmichaud, I can change HashIterator to return just strings. But it's less sane than (key,values)... |
| 22:48 |
|
* pmichaud |
summarizes bacek's final statement as "we're allowed to change behavior if there's no test for something" |
| 22:48 |
|
NotFound |
bacek_at_work: shit |
| 22:48 |
|
japhb |
redbrain, can you make those /msg's unless there's something interesting to report? |
| 22:49 |
|
bacek_at_work |
pmichaud, it is not my summary... :-/ |
| 22:49 |
|
redbrain |
japhb: sorry i am just playing around i'll move it to another chanel |
| 22:49 |
|
NotFound |
That usage is a time bomb waiting to explode when someone wants to reimplement that temporary thing to speed it. |
| 22:50 |
|
japhb |
redbrain, no biggie. I don't know how your IM client does it, but on mine it's trivial to keep a private session open with a bot, so that's usually how I do it unless I need the other people in the channel to see the interaction. |
| 23:00 |
|
chromatic |
NotFound, if shift_string didn't create the temporary HIK, it wouldn't have to free it. |
| 23:01 |
|
jonathan |
ffs. Please, folks, be careful to init PMC pointers with PMCNULL or make sure things that are meant to return PMCs return PMCNULL rather than NULL. |
| 23:01 |
|
|
fperrad_ joined #parrot |
| 23:01 |
|
jonathan |
I'm fixing now another thing that woulda been a NPMCA rather than a segv in the space of a day. |
| 23:02 |
|
jonathan |
This time it's Parrot_find_global_n that gave me back NULL. |
| 23:02 |
|
jonathan |
kplzthnxbai |
| 23:02 |
|
chromatic |
pmichaud, what kind of PIR would you like to see if Hash iterators returned pairs? |
| 23:02 |
|
NotFound |
jonathan: That function isn't in the extern interface? |
| 23:03 |
|
jonathan |
Dunno. It's exported... |
| 23:03 |
|
jonathan |
Not sure that's really for it to hand back NULL though. |
| 23:04 |
|
jonathan |
It's not like PMCNULL is expensive (or it shouldn't be...) |
| 23:04 |
|
chromatic |
Yeah, that's a bad interface design to return NULL. |
| 23:04 |
|
NotFound |
jonathan: there are cases when there must be a distinction into not found and found something with a PMCNULL value. |
| 23:05 |
|
dalek |
parrot-plumage: 0cebb38 | japhb++ | : |
| 23:05 |
|
dalek |
parrot-plumage: [CORE] Util.nqp: Add grep(); remove old NQP workarounds |
| 23:05 |
|
dalek |
parrot-plumage: review: http://gitorious.org/parrot-pl[…]fcbec5b6150f8a056 |
| 23:06 |
|
pmichaud |
chromatic: I'm not sure what PIR I'd like to see at the moment |
| 23:06 |
|
pmichaud |
chromatic: it has the potential to significantly change nearly all of the code I have that does hash iteration |
| 23:06 |
|
pmichaud |
so I have to think a bit about what the impact might be |
| 23:07 |
|
jonathan |
NotFound: If an existence check is what is wanted, there's exists keyed vtable methods. |
| 23:07 |
|
NotFound |
jonathan: check and then get is inefficient and prone to race conditions. |
| 23:08 |
|
pmichaud |
non-existent entry should return PMCNULL to PIR |
| 23:09 |
|
jonathan |
pmichaud: I was calling from C, not PIR. |
| 23:09 |
|
NotFound |
pmichaud: what a C function returns is a different point of what can be stored in a PMC register. |
| 23:09 |
|
jonathan |
pmichaud: I'm just bothered by a recent upwards trend I've seen in discovering issues like this. |
| 23:09 |
|
NotFound |
The problem is doing unchecked calls and returns from opcodes to functios without the appropiate decorators and semantics. |
| 23:10 |
|
NotFound |
Unfortunately, the compilers doesn't help catch that. |
| 23:11 |
|
NotFound |
And not only for PMC, also for STRING |
| 23:12 |
|
chromatic |
I can't think of a case where someone would store PMCNULL in a namespace by accident. |
| 23:13 |
|
jonathan |
Well, changed the use of Parrot_find_global_n to VTABLE_get_pmc_keyed_str now |
| 23:13 |
|
NotFound |
chromatic: we have already catched and fixed a lot of cases when they were stored in registers, |
| 23:13 |
|
NotFound |
Don't know if in some of this cases they reached a namespace entry. |
| 23:13 |
|
jonathan |
But I was more pointing out the anti-pattern than this specific case. |
| 23:14 |
|
chromatic |
I think we should fix this specific case: don't return NULL here. |
| 23:15 |
|
chromatic |
If we have bugs where we store PMCNULL in namespaces incorrectly, let's fix those rather than propagating that mistake through the rest of the system. |
| 23:15 |
|
pmichaud |
in general Parrot's model seems to be that PMCNULL == non existent element |
| 23:16 |
|
pmichaud |
at least that's the model I've worked from. If I need to store an explicit "there's an element here but it's empty", that should be a value other than PMCNULL, IMO |
| 23:16 |
|
dalek |
parrot-plumage: c980976 | japhb++ | : |
| 23:16 |
|
dalek |
parrot-plumage: [CORE] Util.nqp: remove straggling old-NQP-ism |
| 23:16 |
|
dalek |
parrot-plumage: review: http://gitorious.org/parrot-pl[…]b05df60c05c9c98a5 |
| 23:16 |
|
chromatic |
Yeah, that makes the most sense to me. |
| 23:17 |
|
NotFound |
The function is explicitly documented as returning NULL, and the code checks explicitly for PMCNULL. |
| 23:18 |
|
NotFound |
Doesn't look like an accident. |
| 23:19 |
|
chromatic |
Poor code written deliberately is still poor code. |
| 23:19 |
|
NotFound |
chromatic: yes, but changing the design, even if poor, needs a deprecation notice. |
| 23:20 |
|
chromatic |
I agree. |
| 23:20 |
|
chromatic |
In general. |
| 23:20 |
|
purl |
In general, you do not want to disturb The General. |
| 23:20 |
|
NotFound |
BTW Parrot_set_global sucks. |
| 23:20 |
|
NotFound |
It has NULLOK parameters, and uses then unchecked. |
| 23:20 |
|
chromatic |
This file is pretty bad, safety-wise. |
| 23:21 |
|
chromatic |
I'm sure we could fix the interfaces to work as people expect without harming any existing code. |
| 23:21 |
|
chromatic |
We might even be able to make extant code safer. |
| 23:21 |
|
NotFound |
Looks like the problem is that it contains a mix of functions for internal usage and for extend/embed |
| 23:22 |
|
chromatic |
We should review the design and organization. |
| 23:25 |
|
pmichaud |
chromatic/bacek: after thinking about it a bit, I think I'm fine with keeping the current HashIteratorKey semantic for now. It's just a bit of a surprise, and I fear goes against whatever may be written in the PIR books. |
| 23:25 |
|
|
kesselhaus joined #parrot |
| 23:25 |
|
pmichaud |
(to the extent that anything may be written about iterating hashes in the books) |
| 23:26 |
|
chromatic |
We can edit the book; that's not onerous. |
| 23:26 |
|
chromatic |
I want to make sure that iteration is appropriately general but the intent of the PIR code is sufficiently explicit. |
| 23:26 |
|
pmichaud |
yes. |
| 23:27 |
|
pmichaud |
fwiw, the book explicitly says (page 36) "When iterating over associative arrays, the shift opcode extracts keys instead of values." We'll need to change that. |
| 23:29 |
|
pmichaud |
japhb: this means that your code would need to read for %hash { say($_.key ~ " => " ~ $_.value); } |
| 23:29 |
|
pmichaud |
instead of |
| 23:29 |
|
purl |
i think instead of is easy. |
| 23:30 |
|
pmichaud |
for %hash { say( $_ ~ " => " ~ %hash{$_} ); } |
| 23:30 |
|
japhb |
pmichaud, way ahead of you. ;-) |
| 23:30 |
|
japhb |
(dalek just hasn't noticed yet. ;-) |
| 23:30 |
|
pmichaud |
that's closer to the Perl 6 semantic anyway, so it's a net plus for us. |
| 23:31 |
|
japhb |
nodnod |
| 23:31 |
|
pmichaud |
hopefully the PCCMETHODS for .key/.value won't always be expensive :) |
| 23:32 |
|
dalek |
tracwiki: v2 | chromatic++ | NamespaceTasklist |
| 23:32 |
|
dalek |
tracwiki: Edited page; added src/global.c tasks |
| 23:32 |
|
dalek |
tracwiki: https://trac.parrot.org/parrot[…]ion=2&action=diff |
| 23:32 |
|
dalek |
tracwiki: v3 | chromatic++ | NamespaceTasklist |
| 23:32 |
|
dalek |
tracwiki: https://trac.parrot.org/parrot[…]ion=3&action=diff |
| 23:32 |
|
chromatic |
We could add get_foo_keyed_int() to HIK to get the pair elements more cheaply. |
| 23:32 |
|
dalek |
parrot-plumage: abc6bc0 | japhb++ | : |
| 23:32 |
|
dalek |
parrot-plumage: [PROBES] Use modern hash iteration semantics properly in %hash.kv |
| 23:32 |
|
dalek |
parrot-plumage: review: http://gitorious.org/parrot-pl[…]52222409591afe6d6 |
| 23:33 |
|
dalek |
TT #1254 created by chromatic++: Update PIR Book with new (post 1.4.0) HashIteratorKey Syntax and Semantics |
| 23:34 |
|
pmichaud |
I'd probably prefer not to do the keyed_int part. |
| 23:34 |
|
pmichaud |
let's see how the present code works out, we can optimize if it's an issue |
| 23:34 |
|
chromatic |
Okay. |
| 23:38 |
|
pmichaud |
I'll update my ticket with the resolution of the issue. |
| 23:38 |
|
dalek |
parrot-plumage: ae8089e | japhb++ | : |
| 23:38 |
|
dalek |
parrot-plumage: [CORE] Util.nqp: Add %hash.kv |
| 23:38 |
|
dalek |
parrot-plumage: review: http://gitorious.org/parrot-pl[…]9c2f26be942706481 |
| 23:38 |
|
pmichaud |
which is basically, "we go with the new behavior" |
| 23:38 |
|
pmichaud |
I'll leave it to others to decide if/how/where we need to issue notices that the behavior changed |
| 23:38 |
|
chromatic |
I think that's the best option at this point. Reverting is also problematic. |
| 23:49 |
|
japhb |
pmichaud, with the NQP pir:: syntax, is there a way to specify keying operations? For example, can I express '$I0 = exists hash[key]; %r = box $I0' using pir:: syntax? |
| 23:54 |
|
|
Whiteknight joined #parrot |