| Time |
S |
Nick |
Message |
| 00:07 |
|
Whiteknight |
branch mispredictions probably weigh a little bit more than instruction counts |
| 00:08 |
|
Whiteknight |
and cache misses are much more expensive than either |
| 00:15 |
|
darbelo |
Whiteknight: Yes, but how much? How do I turn the numbers valgrind spits into a 'This helped'|'This hurt' test? |
| 00:15 |
|
darbelo |
I'm bitching about how the tool doesn't do everything for me ;) |
| 00:15 |
|
|
davidfetter joined #parrot |
| 00:16 |
|
darbelo |
It's bad enough I have to edit the code myself. |
| 00:16 |
|
chromatic |
darbelo, do you use Kcachegrind? |
| 00:17 |
|
darbelo |
Not regularly. I used it once or twice. |
| 00:18 |
|
chromatic |
It has enough options for visualization to help. |
| 00:18 |
|
chromatic |
You have to play with it a while to understand what it all means, but once you do it's very useful. |
| 00:19 |
|
darbelo |
I'll look into it. I never looked very deeply into it's UI. |
| 00:20 |
|
cotto_work |
The UI is kinda hard to get used to but it's a great tool. |
| 00:20 |
|
darbelo |
There you go again. Effort. At this rate we'll never build skynet. |
| 00:21 |
|
* darbelo |
shakes his head. |
| 00:22 |
|
cotto_work |
I've got a gcc-4.5+lto parrot build. What'd be fun to test? |
| 00:22 |
|
darbelo |
Something that gets optimized at link time? |
| 00:22 |
|
* darbelo |
has to read up on LTO. |
| 00:23 |
|
cotto_work |
or do I? |
| 00:23 |
|
cotto_work |
is this sufficient? perl Configure.pl --cc=gcc-4.5 --optimize --ccflags=-flto --linkflags=-flto |
| 00:23 |
|
Whiteknight |
i really need to increase my valgrind and Kcachegrind foo |
| 00:23 |
|
Whiteknight |
chromatic: you have a resource I could dig into? |
| 00:24 |
|
chromatic |
Nothing helped me more than playing with the visualizations. |
| 00:24 |
|
cotto_work |
+1 |
| 00:24 |
|
purl |
1 |
| 00:26 |
|
Whiteknight |
I have to install kcachegrind again |
| 00:27 |
|
Whiteknight |
...which means I need to install all the damn kde libraries for it |
| 00:27 |
|
Whiteknight |
damnit |
| 00:27 |
|
Whiteknight |
we all need to write a GCacheGrind |
| 00:27 |
|
Whiteknight |
or better yet, do it on Parrot with PCacheGrind |
| 00:28 |
|
Whiteknight |
one day people will tell legends about my inability to give creative names to projects |
| 00:29 |
|
darbelo |
We already do. |
| 00:29 |
|
cotto_work |
Whiteknight may be alive, but his memory lives on. |
| 00:30 |
|
chromatic |
I'll name a Roomba after him. Someday. Perhaps. |
| 00:30 |
|
Whiteknight |
...but we'll write it in parrot, and name it PRoomba! |
| 00:31 |
|
Whiteknight |
or, Parrot-Roomba! |
| 00:31 |
|
Whiteknight |
...wait a minute, I've had these exact same ideas before! I'm going in circles! |
| 00:31 |
|
Whiteknight |
okay, so how do I do this? I have to run valgrind to get a profile, and then load that profile into kcachegrind? |
| 00:32 |
|
chromatic |
Right. |
| 00:32 |
|
cotto_work |
yup |
| 00:32 |
|
chromatic |
alias cg='time valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes' |
| 00:32 |
|
cotto_work |
it's usually named something like callgrind.1234123.out |
| 00:32 |
|
chromatic |
kcachegrind callgrind.12345.out |
| 00:36 |
|
|
mikehh joined #parrot |
| 00:39 |
|
Whiteknight |
chromatic: which benchmark is your favorite? |
| 00:41 |
|
chromatic |
fib.pir, because it's all about PCC. |
| 00:43 |
|
cotto_work |
lto build shows a measurable improvement there |
| 00:43 |
|
chromatic |
6%? |
| 00:43 |
|
purl |
6% is ^5 for the hard of typing. |
| 00:45 |
|
cotto_work |
not sure |
| 00:47 |
|
cotto_work |
let's see what valgrind says |
| 00:48 |
|
|
abqar joined #parrot |
| 00:48 |
|
Coke |
less than o-some? |
| 00:48 |
|
cotto_work |
2442121854/2436403643 |
| 00:48 |
|
purl |
1.00234698836395 |
| 00:49 |
|
chromatic |
That's a tiny amount. |
| 00:50 |
|
cotto_work |
yes |
| 00:50 |
|
chromatic |
I yawn with my lack of being impressed. |
| 00:51 |
|
|
eternaleye joined #parrot |
| 00:53 |
|
Coke |
nqp-rx question. how do I diagnose this: |
| 00:53 |
|
Coke |
Multiple Dispatch: No suitable candidate found for 'concatenate_str', with signature 'PSP->P' |
| 00:57 |
|
cotto_work |
closer to a 2% improvement if I look at the avg of 10 runs for wallclock time, which is less than the margin of error. |
| 00:57 |
|
cotto_work |
so yeah, nothing to write home about |
| 00:57 |
|
chromatic |
Time to work on a better STREQ macro anyway. |
| 00:58 |
|
chromatic |
That'll get a lot more fun when immutable strings land. |
| 00:59 |
|
bacek_at_work |
chromatic, any luck with binder? |
| 01:00 |
|
chromatic |
I haven't had time to look yet; still writing. |
| 01:00 |
|
chromatic |
I have a couple of ideas I'll check after dinner. |
| 01:00 |
|
|
muixirt_ joined #parrot |
| 01:01 |
|
cotto_work |
in that branch is it possible for two strings at different memory locations to be otherwise identical? |
| 01:01 |
|
chromatic |
Yes, but that's much less likely than on trunk. |
| 01:17 |
|
Austin |
coke: file? |
| 01:18 |
|
Whiteknight |
in kcachegrind, which number is the instruction count? |
| 01:18 |
|
Austin |
the big one? |
| 01:18 |
|
purl |
Bigger than yours, Austin |
| 01:18 |
|
* Austin |
gives purl a big smooch. |
| 01:19 |
|
cotto_work |
This channel just got weird. |
| 01:19 |
|
cotto_work |
er |
| 01:20 |
|
Whiteknight |
Am I reading this correctly? Does set_args really take 21.49% of total execution effort |
| 01:20 |
|
Austin |
Wow. |
| 01:20 |
|
chromatic |
Inclusive, I'm sure. |
| 01:20 |
|
cotto_work |
what profile are you looking at? |
| 01:20 |
|
Austin |
The you-suck-o-meter is reading pretty high... |
| 01:20 |
|
Austin |
fib or oofib, I'd guess. |
| 01:22 |
|
Whiteknight |
chromatic: yeah, inclusive. calls Parrot_pcc_build_sig_object_from_ops, which calls Parrot_pmc_new, which is GC evil |
| 01:22 |
|
Whiteknight |
so that makes more sense |
| 01:22 |
|
chromatic |
Now imagine we cached those sig objects in bytecode. |
| 01:24 |
|
Austin |
Heh. |
| 01:24 |
|
Austin |
Isn't that what the set_args opcode is? |
| 01:24 |
|
chromatic |
No. |
| 01:25 |
|
chromatic |
set_args is "Here's some information representing this fixed arity, typed, compile-time known call. Please build me an internal data structure at runtime for every call." |
| 01:26 |
|
Austin |
heh |
| 01:26 |
|
Austin |
higher and higher... |
| 01:29 |
|
Austin |
Coke: I'm seeing mad test failures on "make test" after pulling just now. (FYI) |
| 01:29 |
|
Whiteknight |
chromatic: I've been preaching that sermon for weeks now |
| 01:30 |
|
Austin |
Coke: Your concatenate str problem is probably a "concat $S0, $P0" somewhere, possibly masked with a .local variable. |
| 01:31 |
|
chromatic |
We need a plan to address that, but that means splitting CallContext back into CallSig and Context. |
| 01:32 |
|
Whiteknight |
chromatic: I don't think so |
| 01:33 |
|
Whiteknight |
I think we keep CallContext, but add a new subtype "CallArgs" that morphs into it very easily |
| 01:33 |
|
chromatic |
Anything frozen into PBC has to be constant. |
| 01:33 |
|
Whiteknight |
right. Freeze CallArgs to PBC, thaw it again, and use it to cheaply build a CallContext |
| 01:34 |
|
chromatic |
What's the value in keeping the Call part? |
| 01:37 |
|
Whiteknight |
well, maybe just an Arguments PMC that we freeze |
| 01:37 |
|
Whiteknight |
I don't know, it's worth more thought |
| 01:39 |
|
chromatic |
The smallest, most separate part we can freeze, the better. |
| 01:39 |
|
Austin |
Coke: default.pmc, ~ line 1857 may be the problem. Are you catenating to a list or something? |
| 01:40 |
|
Coke |
austin - in my uncommitted git checkout. |
| 01:40 |
|
Coke |
Austin: those aren't test failures, but just noisy TODOs, yes? |
| 01:40 |
|
Austin |
That vtab tries to do a PSP concat |
| 01:43 |
|
|
mikehh joined #parrot |
| 01:45 |
|
Austin |
Coke: Apparently many of them are noisy todos. But backslash.t has plan35/ran30, and string has plan160/ran156. (That one may be icu related..) |
| 02:09 |
|
|
plobsing joined #parrot |
| 02:10 |
|
Coke |
Austin: icu is required. has you it? |
| 02:10 |
|
Austin |
nae |
| 02:11 |
|
Coke |
perhaps I should make Configure.pl die without it. |
| 02:11 |
|
Austin |
Como se llaman alguien que habla tres idiomas? |
| 02:11 |
|
Coke |
Or we could smarten the tests. |
| 02:11 |
|
Coke |
a tri-linguist? |
| 02:11 |
|
Austin |
trilingual. |
| 02:11 |
|
Austin |
Y como se llaman alguien que habla dos idiomas? |
| 02:12 |
|
Coke |
bilingual ... |
| 02:12 |
|
Austin |
Y como se llaman alguien que habla solamente una lingua? |
| 02:12 |
|
* Coke |
wonders where this is going. |
| 02:12 |
|
purl |
i already had it that way, Coke. |
| 02:12 |
|
Coke |
what? |
| 02:12 |
|
Austin |
American. |
| 02:12 |
|
purl |
hmmm... american is not cheese. It's pasteurized process American cheese-style food-like crap |
| 02:12 |
|
Coke |
I was pretending I couldn't understand you. :P |
| 02:12 |
|
Austin |
:) |
| 02:12 |
|
Coke |
but I like yours better. =-) |
| 02:13 |
|
Austin |
I don't *need* ICU. All my files are belong to ascii. |
| 02:13 |
|
Coke |
my 13 year old will be learning Mandarin in 8th grade. whee. |
| 02:13 |
|
Austin |
Yowsa. |
| 02:13 |
|
Austin |
Ni-how. |
| 02:13 |
|
Austin |
Knee-how. |
| 02:13 |
|
Coke |
back in my day, it was english or french. |
| 02:14 |
|
Coke |
xe xe neh! |
| 02:14 |
|
|
Mokurai1 joined #parrot |
| 02:14 |
|
Coke |
budget cuts this year, they're dropping french and keeping spanish & Mandarin. |
| 02:14 |
|
Austin |
German for me. My dad tricked me into believing that they did science in some language other than English. |
| 02:14 |
|
Coke |
(sorry, xie xie neh is probably closer.) |
| 02:14 |
|
Austin |
shae shae nay? |
| 02:14 |
|
Austin |
:) |
| 02:14 |
|
Coke |
Ich kannst nicht Deutche sprochen. |
| 02:15 |
|
Coke |
(or spell) |
| 02:15 |
|
Austin |
"Ach, du lieber! Fledermausman, das ist ein schaussfrau!" |
| 02:15 |
|
Austin |
2 years of my life, excised with chemical precision... |
| 02:26 |
|
Coke |
(ah. debugging that error is easier when not using the REPL) |
| 02:28 |
|
Coke |
I think it's a problem with my grammar. |
| 02:28 |
|
Austin |
What, the PSP concat error? |
| 02:28 |
|
Austin |
Could be. Anything that winds up in the default.pmc. |
| 02:29 |
|
Austin |
You have a backtrace? |
| 02:29 |
|
nopaste |
"coke" at 192.168.1.3 pasted "why does $a(2) not trigger the array variant?" (4 lines) at http://nopaste.snit.ch/20282 |
| 02:30 |
|
Coke |
order of the rules? |
| 02:30 |
|
Austin |
I don't think you can count on the order. |
| 02:32 |
|
Austin |
But it's recursive descent. You probably want to refactor that anyway. |
| 02:32 |
|
Austin |
(Although LTM in p6 would fix it.) |
| 03:00 |
|
|
janus joined #parrot |
| 03:00 |
|
tcurtis |
NCI doesn't support functions with struct(not pointer to struct) results or parameters, does it? |
| 03:02 |
|
plobsing |
tcurtis: what abi supports that? |
| 03:03 |
|
plobsing |
and what libraries use it? |
| 03:04 |
|
tcurtis |
plobsing: GNU Scientific Library's complex number functions. |
| 03:05 |
|
plobsing |
can you shove it into an int of sufficient size? |
| 03:07 |
|
Coke |
a Rational of Unusual Size? |
| 03:08 |
|
tcurtis |
Maybe on some platforms, but not in general. |
| 03:09 |
|
tcurtis |
And I'm not sure of that. Does any current platform use 128-bit longs? |
| 03:12 |
|
plobsing |
tcurtis: I don't perceive general struct parameters/returns as a sufficiently common occurance to justify putting in an NCI which is documented as 80/20. I would consider a special cases of "doulbe complex" and friends. |
| 03:12 |
|
plobsing |
that is to say that *I* am not going to implement the feature, not that someone else won't |
| 03:19 |
|
tcurtis |
plobsing: I don't think it's really necessary. I was just verifying that it wasn't currently possible. If I keep working on this wrapper and decide the complex number functions are important enough(and not possible to provide well enough in Parrot itself), I'll write a wrapper for GSL that takes and returns pointers to them instead of passing them by value. |
| 03:21 |
|
plobsing |
tcurtis: if I push my plans for changes to signatures through, you could pass the real and imaginary parts by reference as doubles and then not have to wory about allocating |
| 03:21 |
|
plobsing |
NCI currently doesn't support pass by reference very well, which is an important feature |
| 03:22 |
|
plobsing |
that might not hit 'till the summer though, so if you want something now, returning pointers is the way to go |
| 03:37 |
|
tcurtis |
Alright. Thanks. |
| 04:07 |
|
|
Andy joined #parrot |
| 04:13 |
|
dukeleto |
tcurtis: did you mention GSL and parrot ? I am interested in working on that as well |
| 04:18 |
|
tcurtis |
dukeleto: I'm in the process of lazily(by which I mean slowly) writing a plain wrapper for the bits that aren't complicated to do with NCI. |
| 04:22 |
|
|
jsut_ joined #parrot |
| 04:34 |
|
dukeleto |
tcurtis: the special function subsystem has the simplest function signatures |
| 04:34 |
|
dukeleto |
tcurtis: i used SWIG to write Math::GSL, the Perl 5 wrapper to GSL. It is still a work in progress |
| 04:39 |
|
|
uniejo joined #parrot |
| 04:40 |
|
tcurtis |
The special functions are actually what I'm working on right now, dukeleto. |
| 04:52 |
|
dukeleto |
tcurtis: then you are on the right track :) |
| 04:53 |
|
dukeleto |
tcurtis: The test suite here may be of use to you http://search.cpan.org/~leto/Math-GSL-0.20/ |
| 04:55 |
|
|
alexn_org joined #parrot |
| 04:56 |
|
tcurtis |
Indeed, it will. Thank you. |
| 05:09 |
|
|
Ryan52 joined #parrot |
| 06:05 |
|
|
fperrad joined #parrot |
| 06:19 |
|
|
fperrad_ joined #parrot |
| 06:43 |
|
cotto |
Has Nat been around? |
| 06:43 |
|
|
JimmyZ joined #parrot |
| 06:44 |
|
cotto |
seen nat |
| 06:44 |
|
purl |
nat was last seen on #sao-paulo.pm 52 days, 3 hours, 54 minutes and 34 seconds ago, saying: Nao sei manter dois servers abertos [Feb 23 02:49:34 2010] |
| 06:54 |
|
|
aukjan joined #parrot |
| 07:00 |
|
|
hicx174 joined #parrot |
| 07:08 |
|
|
rt7 joined #parrot |
| 07:43 |
|
|
iblechbot joined #parrot |
| 08:14 |
|
|
pjcj_ joined #parrot |
| 08:30 |
|
* moritz |
thinks he has a different IRC nick |
| 08:33 |
|
cotto |
fascinating. There appears to be another Christoph in here. |
| 08:33 |
|
moritz |
it's quite a common name |
| 08:33 |
|
cotto |
I guess that wouldn't be so unusual if I hadn't spent most of my life in the US. |
| 08:33 |
|
moritz |
(at least in .de) |
| 08:33 |
|
cotto |
yeah |
| 09:12 |
|
dalek |
parrot: r45705 | cotto++ | branches/profiling_testing: |
| 09:12 |
|
dalek |
parrot: yak sufficiently shaved; branch no longer needed |
| 09:12 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45705/ |
| 09:15 |
|
|
iblechbot joined #parrot |
| 09:18 |
|
|
rt7 joined #parrot |
| 09:19 |
|
GeJ |
servus. |
| 09:22 |
|
sorear |
what's the correct tool for reading docs/**/*.pod? perldoc and grok both have trouble |
| 09:25 |
|
moritz |
sorear: there's a HTML version somewhere on parrot.org... |
| 09:26 |
|
GeJ |
perldoc should do. maybe the book is in Pseudo Pod, nut the rest should be standard pod. |
| 09:27 |
|
GeJ |
I seem to remember I had sent a patch to fix pod based on a error I had while running some tests. |
| 09:28 |
|
sorear |
GeJ: what is parrot pod? |
| 09:29 |
|
darbelo |
sorear: You mean Pseudo POD? |
| 09:29 |
|
sorear |
no |
| 09:30 |
|
sorear |
I misread |
| 09:30 |
|
sorear |
I know what Pseudo Pod is |
| 09:30 |
|
sorear |
but I read Parrot Pod |
| 09:49 |
|
|
clinton joined #parrot |
| 09:55 |
|
|
rt7 joined #parrot |
| 09:56 |
|
|
darbelo joined #parrot |
| 10:00 |
|
sorear |
there's an interesting impedence mismatch between P5 "hv_iternext sometimes returns NULL" and Parrot "you can always ask an iterator if it has a next element" |
| 10:01 |
|
dalek |
parrot: r45706 | fperrad++ | trunk/config/auto/arch.pm: |
| 10:01 |
|
dalek |
parrot: [win32] fix the following error on Windows |
| 10:01 |
|
dalek |
parrot: 'uname' is not recognized as an internal or external command, operable program or batch file. |
| 10:01 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45706/ |
| 10:04 |
|
GeJ |
sorear: t/codingstd/pod_syntax.t seems to check POD syntax for all files in MANIFEST* |
| 10:05 |
|
GeJ |
I'd go with standard pod in docs/*/*.pod |
| 10:12 |
|
|
AndyA joined #parrot |
| 10:25 |
|
|
lucian joined #parrot |
| 10:34 |
|
|
rt7 joined #parrot |
| 10:47 |
|
|
rt7 joined #parrot |
| 11:49 |
|
bacek |
aloha |
| 11:51 |
|
darbelo |
o/ |
| 11:55 |
|
bacek |
\o |
| 11:58 |
|
|
khairul joined #parrot |
| 11:59 |
|
|
whiteknight joined #parrot |
| 12:02 |
|
whiteknight |
good morning, #parrot |
| 12:03 |
|
|
rt7 joined #parrot |
| 12:03 |
|
bacek |
Good morning, Mr. Wit^W^W^W^W, aloha whiteknight |
| 12:06 |
|
whiteknight |
aloha, bacek |
| 12:12 |
|
dalek |
parrot: r45707 | bacek++ | branches/compact_pool_revamp: |
| 12:12 |
|
dalek |
parrot: Branch for expirementing with compact_pool optimisation |
| 12:12 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45707/ |
| 12:15 |
|
|
tetragon joined #parrot |
| 12:26 |
|
|
rurban joined #parrot |
| 12:27 |
|
rurban |
Hi! Is parrot now installable? (can languages be made without parrot source dir) |
| 12:28 |
|
moritz |
rurban: yes. Rakudo has been doing that for a long time |
| 12:28 |
|
rurban |
AFAIK rakudo downloads its own parrot. pipp cannot do that |
| 12:29 |
|
moritz |
rurban: that's only an option - I personally don't use it |
| 12:29 |
|
rurban |
ok, I'll try again to release a 2.0.0 on cygwin so |
| 12:29 |
|
bacek |
rurban, this is optional behaviour. |
| 12:30 |
|
bacek |
rurban, why not 2.2.0? |
| 12:30 |
|
rurban |
stable 2.0, testing 2.2 |
| 12:30 |
|
rurban |
soon 2.3 |
| 12:30 |
|
rurban |
current stable is 0.8 (still with my installable patches, which were rejected). |
| 12:31 |
|
rurban |
subsequent releases without my patches all failed to use other languages besides rakudo |
| 12:36 |
|
rurban |
So far none of my fixes were applied. I had to fix it again. Lame. http://code.google.com/p/cygwi[…]nk/release/parrot |
| 12:42 |
|
|
rt7 joined #parrot |
| 12:47 |
|
darbelo |
FWIW, It's the first time I've seen that repo, and I've been hanging here for over a year now. |
| 12:48 |
|
darbelo |
My guess is that you need a better publicist ;) |
| 12:49 |
|
rurban |
I stopped fixing parrot over a year ago |
| 12:49 |
|
rurban |
This is just for the official cygwin packages. |
| 12:49 |
|
Coke |
rurban: hey! |
| 12:50 |
|
rurban |
hey |
| 12:50 |
|
Coke |
how goes/ |
| 12:50 |
|
rurban |
gerd asked me update the cygwin packages, so I'm trying again. But I'm skeptical |
| 12:51 |
|
Coke |
hopefully there has been some improvement since 0.8 |
| 12:51 |
|
Coke |
I should really try to get a macport put together after 2.3 comes out. |
| 12:51 |
|
Coke |
(well, try now so that I /can/ for 2.3) |
| 12:53 |
|
rurban |
I had a ready 1.4 package but the needed patches were immense, so I didn't release it. They were rejected by some architect of yours. |
| 12:54 |
|
rurban |
2.0: t/tools/pgegrep.t Failed tests: 2-10 (Operation not supported) |
| 12:56 |
|
Coke |
I presume that's an issue with how that file is exec'ing out to pgegrep. |
| 12:57 |
|
Coke |
Is the first test succeeding? |
| 12:59 |
|
|
rurban_ joined #parrot |
| 13:12 |
|
|
rt7 joined #parrot |
| 13:15 |
|
rurban |
So rakudo #26 Amsterdam (201002) matches parrot 2.0? |
| 13:16 |
|
Coke |
rurban: 2.1.0 |
| 13:16 |
|
darbelo |
I think that's off by one. |
| 13:16 |
|
Coke |
looks like 25 was 2.0 |
| 13:17 |
|
Coke |
http://rakudo.org/node/63 vs. http://rakudo.org/node/64 |
| 13:17 |
|
rurban |
parrot 2.0 released on 20.1, rakudo 25 (201001) on 2.1. |
| 13:17 |
|
Coke |
(they're keying off monthly releases still, not just "stable" ones.) |
| 13:18 |
|
rurban |
I see. you are right. |
| 13:18 |
|
Coke |
jan 19 and feb 01, looks like, yes. |
| 13:25 |
|
rurban |
unpatched rakudo #25 /usr/bin/parrot.exe -o perl6_s1.pbc perl6.pir error:imcc:syntax error, unexpected '\n', expecting '(' in file 'perl6.pir' line 29 |
| 13:28 |
|
rurban |
Is there a rakudo irc channel somewhere? |
| 13:28 |
|
darbelo |
#perl6 ? |
| 13:28 |
|
purl |
#perl6 is at irc.freenode.net. |
| 13:28 |
|
rurban |
thanks |
| 13:35 |
|
rurban |
No suppot on perl6. rakudo-2010.02 says Parrot revision r44147 required (currently r0). rakudo-2010.03 says Parrot revision r44954 required (currently r0). Looks like again no chance for updates. |
| 13:41 |
|
darbelo |
You can just write 0 into build/PARROT_REVISION |
| 13:41 |
|
pmichaud |
TT #770 could really use some love. |
| 13:42 |
|
|
ruoso joined #parrot |
| 13:42 |
|
pmichaud |
the released versions of Rakudo also check Parrot version numbers, not just svn revision numbers. |
| 13:44 |
|
pmichaud |
so if Rakudo is complaining about the Parrot revision, it's because the Parrot executable isn't giving a good parrot version number back |
| 13:45 |
|
darbelo |
pmichaud: You should poke Coke about TT #770 (and maybe TT #584 ). He seems to have gotten stuck with the 'website wrangler' hat. |
| 13:46 |
|
Coke |
darbelo: HEY. |
| 13:46 |
|
darbelo |
Oh, there he is. |
| 13:46 |
|
Coke |
I don't actually have any privs on the ftp box. Please see particle or allison. (maybe chromatic?) |
| 13:47 |
|
darbelo |
So, ftp wranglers wear a different hat? I didn't know that. |
| 13:47 |
|
Coke |
the ftp box is a different box than, say, the docs.parrot.org box. |
| 13:48 |
|
particle |
coke: gimme your ssh pubkey, and i'll fix |
| 13:48 |
|
Coke |
msg particle ..... you're one step ahead of me. |
| 13:48 |
|
purl |
Message for particle stored. |
| 13:48 |
|
darbelo |
TT #584 seems to be on the website side of things, rahter than ftp. |
| 13:48 |
|
rurban |
2.2.0 ./parrot.exe -o runtime/parrot/library/random_lib.pbc runtime/parrot/library/random_lib.pir error:imcc:syntax error, unexpected STRINGC, expecting '(' ('"_last_seed"') in file 'runtime/parrot/library/random_lib.pir' line 14 |
| 13:48 |
|
rurban |
Known error? |
| 13:49 |
|
pmichaud |
rurban: what does "parrot_config VERSION" report? |
| 13:49 |
|
Coke |
rurban: you're getting that during the /build/ ? |
| 13:50 |
|
pmichaud |
I suspect there's an older version of Parrot getting in the way somewhere. |
| 13:50 |
|
rurban |
parrot_config VERSION 2.0.0 (in path). build dir: ./parrot_config VERSION 2.2.0 |
| 13:50 |
|
pmichaud |
that's a problem |
| 13:50 |
|
pmichaud |
rakudo #27 is probably seeing the 2.0.0 version in the path |
| 13:51 |
|
pmichaud |
and thus it reports "insufficient parrot revision" |
| 13:51 |
|
particle |
coke has access now. |
| 13:52 |
|
pmichaud |
when building Rakudo, you can specify --parrot-config={path_to_parrot_config} to explicitly tell Rakudo which parrot to use to build with. |
| 13:52 |
|
pmichaud |
if you don't specify, it just uses whatever parrot_config it happens to find. |
| 13:52 |
|
rurban |
First I'm only trying to build parrot :) |
| 13:53 |
|
pmichaud |
I have to leave for a couple of hours... bbl. |
| 13:53 |
|
rurban |
This is a new failure btw. didn't happen with 2.0 |
| 13:53 |
|
pmichaud |
bbl |
| 13:54 |
|
rurban |
I've added to my private build script check |
| 13:55 |
|
rurban |
Coke: yes. at random_lib.pbc with older installed parrot |
| 13:56 |
|
rurban |
I just deleted /usr/include/parrot and /usr/lib/libparrot.dll.a. These were the prev. known conflicts |
| 13:56 |
|
Coke |
didn't happen with 2.0 because you didn't have a previous release installed, no doubt. |
| 13:56 |
|
Coke |
(did you?) |
| 13:56 |
|
rurban |
I added now /usr/bin/parrot_config also |
| 13:57 |
|
rurban |
I had an old 1.4.0 installed when I build parrot-2.0.0 I think so. |
| 13:57 |
|
Coke |
the _config shouldn't matter to the build, but as pmichaud said, that's the one rakudo's going to find. |
| 13:57 |
|
Coke |
huh. |
| 13:57 |
|
rurban |
No problem. I just patched it away. |
| 13:57 |
|
Coke |
hokay. |
| 14:00 |
|
Coke |
darbelo: for throwing me under the bus, you get to verify that #770 is fixed. |
| 14:01 |
|
* darbelo |
gets on the nearest bus, hoping to escape. |
| 14:02 |
|
darbelo |
ftp://ftp.parrot.org/pub/parrot/releases/supported/2.0.0/ |
| 14:02 |
|
darbelo |
Looks fine to me. |
| 14:03 |
|
Coke |
now make sure the all the links still work, we're not advertising stable anywhere... =-) |
| 14:03 |
|
darbelo |
Also, TT #584 is still an issue. |
| 14:05 |
|
darbelo |
Coke++ # New hat ;) |
| 14:06 |
|
dalek |
TT #770 closed by coke++: urls for "supported releases" say "stable" |
| 14:06 |
|
dalek |
TT #770 : http://trac.parrot.org/parrot/ticket/770 |
| 14:07 |
|
rurban |
I know know where it is failing. runtime/parrot/library/random_lib.pbc is not any Makefile. |
| 14:07 |
|
rurban |
/not in any/ |
| 14:07 |
|
rurban |
A forgotten (and rotten) target |
| 14:08 |
|
rurban |
I deleted it |
| 14:10 |
|
|
iblechbot joined #parrot |
| 14:12 |
|
|
NordQ joined #parrot |
| 14:14 |
|
|
NordQ joined #parrot |
| 14:14 |
|
Coke |
darbelo: fixed. |
| 14:14 |
|
dalek |
parrot: r45708 | coke++ | trunk/docs/project/release_manager_guide.pod: |
| 14:14 |
|
dalek |
parrot: TT # 770 - stable vs. supported |
| 14:14 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45708/ |
| 14:14 |
|
dalek |
parrot: r45709 | coke++ | trunk/DEPRECATED.pod: |
| 14:14 |
|
dalek |
parrot: s/stable/supported/ |
| 14:15 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45709/ |
| 14:15 |
|
dalek |
parrot: r45710 | fperrad++ | trunk (3 files): |
| 14:15 |
|
dalek |
parrot: [TAP] some fixes |
| 14:15 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45710/ |
| 14:15 |
|
dalek |
parrot: r45711 | coke++ | trunk/docs/project/release_manager_guide.pod: |
| 14:15 |
|
dalek |
parrot: link to the ftp file, not the ftp dir. |
| 14:15 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45711/ |
| 14:16 |
|
darbelo |
Coke++ |
| 14:16 |
|
|
patspam joined #parrot |
| 14:20 |
|
|
NordQ joined #parrot |
| 14:22 |
|
|
NordQ joined #parrot |
| 14:23 |
|
dalek |
TT #584 closed by coke++: ftp download links to should point to actual file... |
| 14:23 |
|
dalek |
TT #584 : http://trac.parrot.org/parrot/ticket/584 |
| 14:24 |
|
|
bubaflub joined #parrot |
| 14:35 |
|
|
cognominal joined #parrot |
| 14:37 |
|
Coke |
gsoc rant. i want "show me everything I haven't voted on" |
| 14:40 |
|
particle |
coke: good idea, i suggest submitting to the melange mailing list/bug tracker/whatever |
| 14:41 |
|
dalek |
primitivearc: c5d3fc1 | (Stefano Dissegna)++ | src/pmc/arc (2 files): |
| 14:41 |
|
dalek |
primitivearc: custom destroy in sym & cons PMCs |
| 14:41 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]f52f50c1cb014ca42 |
| 14:42 |
|
dalek |
primitivearc: ba9260d | (Stefano Dissegna)++ | (9 files): |
| 14:42 |
|
dalek |
primitivearc: adapted to latest parrot |
| 14:42 |
|
Coke |
heh. I also cannot vote "no score". =-) |
| 14:42 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]5c1fe628e9b60686d |
| 14:42 |
|
dalek |
primitivearc: 785d821 | (Stefano Dissegna)++ | (2 files): |
| 14:42 |
|
dalek |
primitivearc: fixed 'iso to work with dotted lists, fixed 'type to treat Sub and MultiSub as 'fn |
| 14:42 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]217bab452bb35f571 |
| 14:42 |
|
dalek |
primitivearc: b3d11eb | (Stefano Dissegna)++ | (2 files): |
| 14:42 |
|
dalek |
primitivearc: implemented 'msec |
| 14:42 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]a8ae9faf9559c94e7 |
| 14:42 |
|
dalek |
primitivearc: 4af5251 | (Stefano Dissegna)++ | compiler/ (2 files): |
| 14:42 |
|
dalek |
primitivearc: alpha-conversion, 'let handled by collect-fns-and-consts, started compile-let |
| 14:42 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]6910c420d3e5f21d4 |
| 14:42 |
|
dalek |
primitivearc: 7c4d669 | (Stefano Dissegna)++ | compiler/comp.arc: |
| 14:42 |
|
dalek |
primitivearc: 'let compilation |
| 14:42 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]37174330b8286ef5a |
| 14:42 |
|
dalek |
primitivearc: b7b5ca4 | (Stefano Dissegna)++ | compiler/comp.arc: |
| 14:42 |
|
dalek |
primitivearc: fixed bug in arg-names, fixed bug in des-arg |
| 14:42 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]022d399a9deb3e93f |
| 14:42 |
|
dalek |
primitivearc: c726bd8 | (Stefano Dissegna)++ | (2 files): |
| 14:42 |
|
dalek |
primitivearc: added 'caar to boot.arc |
| 14:42 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]83fb292d45df672dc |
| 14:42 |
|
dalek |
primitivearc: 7dfc336 | (Stefano Dissegna)++ | compiler/comp.arc: |
| 14:42 |
|
dalek |
primitivearc: direct access to local vars instead of find/store_lex |
| 14:42 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]7fd7b69acfd328d39 |
| 14:42 |
|
dalek |
primitivearc: 974b568 | (Stefano Dissegna)++ | (10 files): |
| 14:42 |
|
dalek |
primitivearc: adapted to last Parrot, fixed some bugs, added LICENSE file, added installation instructions |
| 14:42 |
|
Coke |
AIGH. |
| 14:42 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]186602ab55466ea28 |
| 14:46 |
|
particle |
well, it looks like primitivearc is almost feature complete, so we shouldn't get too many more of those :) |
| 14:46 |
|
particle |
http://github.com/stefano/prim[…]lob/master/README |
| 14:47 |
|
dalek |
primitivearc: 5795b49 | (Stefano Dissegna)++ | INSTALL: |
| 14:47 |
|
dalek |
primitivearc: fixed error in INSTALL |
| 14:47 |
|
dalek |
primitivearc: review: http://github.com/stefano/prim[…]f2d3abd971696d5ea |
| 14:51 |
|
|
Andy joined #parrot |
| 14:52 |
|
|
davidfetter joined #parrot |
| 15:01 |
|
bubaflub |
primitivearc? |
| 15:02 |
|
bubaflub |
welp, guess purl doesn't know. i'm going to go read the readme |
| 15:02 |
|
darbelo |
teh horrors! |
| 15:02 |
|
bubaflub |
i know, right? |
| 15:02 |
|
bubaflub |
research on my own... how outdated |
| 15:04 |
|
darbelo |
There should be computers to do that for you. |
| 15:05 |
|
bubaflub |
when i ask my snarky coworker questions sometimes he just puts a link to lmgtfy.com |
| 15:14 |
|
particle |
purl, primitivearc is a primitive arc compiler for parrot or http://github.com/stefano/primitivearc/ |
| 15:14 |
|
purl |
OK, particle. |
| 15:20 |
|
dalek |
parrot: r45712 | bacek++ | branches/compact_pool_revamp/examples/benchmarks/stress_strings.pir: |
| 15:20 |
|
dalek |
parrot: Add GC strings stress test. |
| 15:20 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45712/ |
| 15:20 |
|
dalek |
parrot: r45713 | bacek++ | branches/compact_pool_revamp/src/gc/gc_ms.c: |
| 15:20 |
|
dalek |
parrot: Call compact_pool after gathering all live objects. |
| 15:20 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45713/ |
| 15:20 |
|
dalek |
parrot: r45714 | bacek++ | branches/compact_pool_revamp (3 files): |
| 15:20 |
|
dalek |
parrot: Initial implementation of Memory_Blocks skip list for compact_pool |
| 15:20 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45714/ |
| 15:23 |
|
darbelo |
That sounds potentially fast. |
| 15:29 |
|
bacek |
darbelo, it's only potentially... |
| 15:29 |
|
darbelo |
Awwww. |
| 15:29 |
|
bacek |
purl, (2535375580 - 2497491372) / 2535375580 * 100 |
| 15:29 |
|
purl |
1.49422469392089 |
| 15:30 |
|
bacek |
about 1.5% atm |
| 15:31 |
|
darbelo |
1% is better than nothing. |
| 15:31 |
|
darbelo |
And, if you collect a 100 of those you are done. |
| 15:31 |
|
bacek |
purl, 1 - 0.99**100 |
| 15:32 |
|
purl |
0.633967658726771 |
| 15:32 |
|
bacek |
heh |
| 15:32 |
|
bacek |
about 35% improvements after collecting 100 of them :) |
| 15:33 |
|
darbelo |
:) |
| 15:33 |
|
moritz |
is that on top of the immutable strings? |
| 15:33 |
|
bacek |
moritz, trunk |
| 15:34 |
|
darbelo |
And as far as I'm concerned any improvement is an improvement. |
| 15:34 |
|
moritz |
aye |
| 15:36 |
|
bacek |
OTOH, pure performance of compact_pool is better by about 15% |
| 15:36 |
|
dalek |
parrot: r45715 | bacek++ | branches/compact_pool_revamp/src/gc/alloc_resources.c: |
| 15:36 |
|
dalek |
parrot: Use more presize calculation of used memory |
| 15:36 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45715/ |
| 15:36 |
|
bacek |
purl, (331-293)/331*100 |
| 15:36 |
|
purl |
11.4803625377643 |
| 15:36 |
|
bacek |
11 actually |
| 15:37 |
|
darbelo |
Still nice. |
| 15:39 |
|
bacek |
I do need faster way of calculating blocks used amount... |
| 15:41 |
|
|
rt7 joined #parrot |
| 15:43 |
|
darbelo |
Lies are pretty much O(1) for that purpose ;) |
| 15:43 |
|
bubaflub |
oh sure, darbelo - lying might be computationally quicker but it requires more memory |
| 15:44 |
|
darbelo |
bubaflub: Not if the lie is "I'm not using any." |
| 15:45 |
|
bubaflub |
touche |
| 15:45 |
|
darbelo |
Heck that even has the benefit of becomin true on the next compaction run. |
| 15:46 |
|
darbelo |
We might lose some data in the process, but it's unlikely to be important data anyway ;) |
| 15:46 |
|
moritz |
ah. Now I know why rakudo dies when you do too many numeric operations |
| 15:47 |
|
|
khairul left #parrot |
| 15:49 |
|
darbelo |
"Dude! All this math is *killing* me." |
| 15:51 |
|
davidfetter |
"Math class is tough!" |
| 15:52 |
|
TimToady |
MJD#11963 It's easy to get the *wrong* answer in O(1) time. |
| 15:52 |
|
davidfetter |
heh |
| 15:52 |
|
|
tcurtis joined #parrot |
| 15:54 |
|
darbelo |
int getRandomNumber() { return 4; } |
| 15:55 |
|
particle |
heck, even that's right sometimes. |
| 15:58 |
|
bacek |
purl, (1542526910 - 1523515849) /1542526910 * 100 |
| 15:58 |
|
purl |
1.23246219412795 |
| 15:58 |
|
|
theory joined #parrot |
| 16:01 |
|
* Coke |
throws together an mjd script to join in the fun. |
| 16:03 |
|
rurban |
Will upload an official cygwin parrot-2.2.0-1 soon, rakudo is fine |
| 16:10 |
|
|
theory joined #parrot |
| 16:10 |
|
Coke |
woot. |
| 16:11 |
|
Coke |
any patches needed for parrot? |
| 16:15 |
|
davidfetter |
Coke, um, the ones that sandbox it? ;) |
| 16:15 |
|
Coke |
davidfetter: ? |
| 16:15 |
|
davidfetter |
you asked about needed patches |
| 16:15 |
|
Coke |
in re: < rurban> Will upload an official cygwin parrot-2.2.0-1 soon |
| 16:25 |
|
davidfetter |
ah |
| 16:42 |
|
dalek |
parrot: r45716 | fperrad++ | trunk/runtime/parrot/library/osutils.pir: |
| 16:42 |
|
dalek |
parrot: [osutils] implement tempdir & tmpdir |
| 16:42 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45716/ |
| 16:42 |
|
dalek |
parrot: r45717 | fperrad++ | trunk/runtime/parrot/library/TAP/Harness.pir: |
| 16:42 |
|
dalek |
parrot: [TAP] do first archive |
| 16:42 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45717/ |
| 16:57 |
|
cotto_work |
good morning, robots |
| 16:59 |
|
darbelo |
Greetings, meatbag. |
| 17:00 |
|
cotto_work |
As a robot, I find that remark offensive. |
| 17:11 |
|
rurban |
released. sigh |
| 17:14 |
|
Coke |
rurban: got a url? dukeleto can throw a tweet out and we can put a link on parrot.org |
| 17:15 |
|
rurban |
wait a bit. we'll have to wait for the mirrors |
| 17:15 |
|
Coke |
ok. feel free to ping me here or via email. Thanks. |
| 17:16 |
|
rurban |
I will the announcement CC to perl6-announce |
| 17:17 |
|
|
jan joined #parrot |
| 17:18 |
|
Coke |
I just removed "maxl" from parrot-dev. in case he asks. |
| 17:18 |
|
Coke |
rurban: ah, perfect, I'll grab it from there. |
| 17:18 |
|
Coke |
rurban++ |
| 17:19 |
|
dukeleto |
rurban++ |
| 17:19 |
|
rurban |
It's quite difficult to formulate the huge changes. :) |
| 17:20 |
|
Coke |
(maxl would know I removed him, but his removal bounced. no clue why the mailing list isn't automagically pulling him.) |
| 17:21 |
|
Coke |
feedback welcome on parrot-dev post about trac tickets. |
| 17:38 |
|
rurban |
when is pbc_compat planned? 3.0? |
| 17:38 |
|
|
Andy joined #parrot |
| 17:43 |
|
Coke |
rurban: it's still on the list. I don't think we have enough manpower to plan out past the next supported release. |
| 17:44 |
|
rurban |
http://trac.parrot.org/parrot/ticket/598 ? |
| 17:44 |
|
Coke |
(well, that one's in a week. I mean 2.6) |
| 17:44 |
|
rurban |
3.0 is my last knowledge about it |
| 17:44 |
|
Coke |
yah. but anything later than 2.6 is basically "not right now", practically speaking. |
| 17:45 |
|
Coke |
+/or realistically. |
| 17:45 |
|
rurban |
Can I summarize that it got not faster, massive step in passing perl6 spec tests and many more features? |
| 17:46 |
|
Coke |
er, are you summarize parrot o rp6? |
| 17:46 |
|
Coke |
er, parrot or rakudo. |
| 17:46 |
|
rurban |
yes. |
| 17:46 |
|
rurban |
very briefly, from 0.8 to 2.2 |
| 17:46 |
|
Coke |
(and back from ... 0.8?) |
| 17:46 |
|
dalek |
parrot: r45718 | petdance++ | trunk/src (2 files): |
| 17:46 |
|
dalek |
parrot: updating annotations |
| 17:46 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45718/ |
| 17:46 |
|
rurban |
That would be a novel |
| 17:47 |
|
Coke |
I would tend not to bother summarize a "no change", but otherwise, sure. You can point to the parrot NEWS file for specifics. |
| 17:48 |
|
Coke |
http://trac.parrot.org/parrot/browser/trunk/NEWS works. |
| 17:48 |
|
rurban |
I pointed to http://www.parrot.org/category/news/news |
| 17:48 |
|
Coke |
yah, that's prettier. |
| 17:53 |
|
tcurtis |
Coke: would you consider outdated documentation a bug? |
| 17:59 |
|
ttbot |
Parrot trunk/ r45720 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/266840.txt ( http://tt.taptinder.org//build[…]-Parrot/rp-trunk/ ) |
| 18:02 |
|
dalek |
parrot: r45719 | petdance++ | trunk/src/string/encoding/ucs2.c: |
| 18:03 |
|
dalek |
parrot: flagging unused args |
| 18:03 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45719/ |
| 18:03 |
|
dalek |
parrot: r45720 | petdance++ | trunk/src/string/encoding (2 files): |
| 18:03 |
|
dalek |
parrot: flagged unused vars |
| 18:03 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45720/ |
| 18:03 |
|
Coke |
tcurtis: yes, broken documentation is a bug. |
| 18:03 |
|
|
tcurtis joined #parrot |
| 18:03 |
|
|
Andy joined #parrot |
| 18:09 |
|
darbelo |
That's why not writing documentation is a way of having less bugs ;) |
| 18:10 |
|
Coke |
sadly, missing documentation is also a bug. |
| 18:10 |
|
Coke |
(unlike a missing feature, which is a todo.) |
| 18:12 |
|
* darbelo |
realizes that he can't win the War on Bugs. |
| 18:16 |
|
tcurtis |
Documentation is also a feature, though, so missing documentation must be some kind of half-todo/half-bug chimaera. |
| 18:16 |
|
purl |
okay, tcurtis. |
| 18:16 |
|
tcurtis |
I |
| 18:17 |
|
tcurtis |
I'm tempted to tell purl to forget that, but I think it might be more fun to leave it. |
| 18:17 |
|
darbelo |
purl: Documentation? |
| 18:18 |
|
purl |
Documentation is => a core attribute of attributes or a feature, though, so missing documentation must be some kind of half-todo/half-bug chimaera. |
| 18:25 |
|
|
jan_ joined #parrot |
| 18:30 |
|
|
joeri joined #parrot |
| 18:43 |
|
* Coke |
updates his build script for corevm/coretest first to be a canary. |
| 18:48 |
|
|
rt7 joined #parrot |
| 18:49 |
|
|
chromatic joined #parrot |
| 18:49 |
|
Coke |
trac people - how can I close a trac from svn? |
| 18:52 |
|
Coke |
ah. we don't have a post-commit hook for that. isn't that one of the "big reasons" to switch to trac? |
| 18:53 |
|
cotto_work |
Let's get it then. |
| 18:56 |
|
cotto_work |
msg cotto http://utcc.utoronto.ca/~cks/s[…]owToWriteToStderr |
| 18:56 |
|
purl |
Message for cotto stored. |
| 18:57 |
|
|
plobsing joined #parrot |
| 18:58 |
|
Coke |
msg coke install a post-commit hook for manipulating tickets via svn commits. |
| 18:58 |
|
purl |
Message for coke stored. |
| 18:58 |
|
Coke |
whee. |
| 18:59 |
|
darbelo |
msg darbelo Enough with the self-referentia msgs! |
| 18:59 |
|
purl |
Message for darbelo stored. |
| 18:59 |
|
darbelo |
;) |
| 19:03 |
|
particle |
msg purl messages erase |
| 19:03 |
|
purl |
Message for purl stored. |
| 19:03 |
|
|
Ryan52 joined #parrot |
| 19:03 |
|
cotto_work |
msg purl Hey darbelo, what about this? |
| 19:03 |
|
purl |
Message for purl stored. |
| 19:22 |
|
cotto_work |
we need to build something called ytrace: http://multimedia.cx/eggs/alphabet-of-tracing/ |
| 19:24 |
|
cotto_work |
Maybe khairul's project should take that name. |
| 19:24 |
|
bubaflub |
cotto_work: agreed. |
| 19:24 |
|
bubaflub |
it could just do nothing and print out "Why would you want to trace that anyways?" |
| 19:42 |
|
dalek |
parrot: r45721 | fperrad++ | trunk/runtime/parrot/library/TAP (2 files): |
| 19:42 |
|
dalek |
parrot: [TAP] add meta.yml in archive |
| 19:42 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45721/ |
| 19:42 |
|
chromatic |
cc: /home/chromatic/dev/gitparrot/src/install_config.o: No such file or directory |
| 19:42 |
|
chromatic |
linking failed |
| 19:43 |
|
ttbot |
Parrot trunk/ r45721 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/266934.txt ( http://tt.taptinder.org//build[…]-Parrot/rp-trunk/ ) |
| 19:43 |
|
chromatic |
That's parallel make install. |
| 19:43 |
|
chromatic |
The second time I run it, things work -- a missing dependency? |
| 19:44 |
|
cotto_work |
I've seen parallel build failures recently too. |
| 19:46 |
|
Coke |
anyone run checkdepend recently? |
| 19:46 |
|
ttbot |
Parrot trunk/ r45722 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/266943.txt ( http://tt.taptinder.org//build[…]-Parrot/rp-trunk/ ) |
| 19:46 |
|
Coke |
also, I tend to do make -j3 ; make install |
| 19:58 |
|
dalek |
parrot: r45722 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: |
| 19:58 |
|
dalek |
parrot: [distutils] use TAP/Harness library for step 'smoke' (instead of prove --archive) |
| 19:58 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45722/ |
| 20:11 |
|
|
brooksbp_ joined #parrot |
| 20:12 |
|
ttbot |
Parrot trunk/ r45723 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/267018.txt ( http://tt.taptinder.org//build[…]-Parrot/rp-trunk/ ) |
| 20:15 |
|
dalek |
parrot: r45723 | fperrad++ | trunk/runtime/parrot/library/TAP (2 files): |
| 20:15 |
|
dalek |
parrot: [TAP] refactor with newclosure instead of clone (see TT#1550 ) |
| 20:15 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45723/ |
| 20:20 |
|
|
allison joined #parrot |
| 20:22 |
|
allison |
so, on linux, Parrot is still building libparrot.so.2.2.0 with a symlink libparrot.so, but it only installs libparrot.so (not a symlink). |
| 20:23 |
|
allison |
(it's messing up the packaging) |
| 20:24 |
|
allison |
I don't know when the change was made or why, and trying to figure out if I can change it back. |
| 20:27 |
|
particle |
colud be a bug introduced during recent makefile changes |
| 20:28 |
|
particle |
*could |
| 20:30 |
|
ttbot |
Parrot trunk/ r45724 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/267063.txt ( http://tt.taptinder.org//build[…]-Parrot/rp-trunk/ ) |
| 20:31 |
|
dalek |
parrot: r45724 | fperrad++ | trunk/t/library/tap_parser.t: |
| 20:31 |
|
dalek |
parrot: [TAP] now in test, see r45723 |
| 20:31 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45724/ |
| 20:34 |
|
Coke |
"recent makefile changes" == "coke's fault" |
| 20:34 |
|
Coke |
I'm just changing build stuff, fwiw. =-) |
| 20:35 |
|
particle |
hell, it could be gamma rays. :P |
| 20:36 |
|
chromatic |
msg bacek One of the Rakudo problems is this op substr pkgname, 1, 1, '' -- see src/glue/contextuals.pir line 12 |
| 20:36 |
|
purl |
Message for bacek stored. |
| 20:38 |
|
Coke |
opbots, trust gerd |
| 20:38 |
|
slavorg |
Ok |
| 20:38 |
|
slavorgn |
Ok |
| 20:39 |
|
Coke |
seen allison? |
| 20:39 |
|
purl |
allison was last seen on #parrot 14 minutes and 34 seconds ago, saying: I don't know when the change was made or why, and trying to figure out if I can change it back. |
| 20:43 |
|
Coke |
oooh, allison is a luminary! |
| 20:43 |
|
Coke |
(yapc na 2010 marketing FTW!) |
| 20:44 |
|
sorear |
plobsing: I think --hash-seed is broken in trunk, no matter what value I pass I get a segfault |
| 20:44 |
|
sorear |
not passing --hash-seed at all results in intermittant segfaults (50%) |
| 20:46 |
|
sorear |
however in the second case the crashes are at the end, and in the former case they are at the beginning |
| 20:46 |
|
Coke |
sorear: running what code? |
| 20:47 |
|
sorear |
Coke: nt/call-sv.t from the blizkost test suite |
| 20:47 |
|
sorear |
I've always thought it was destruction order hell |
| 20:48 |
|
sorear |
but plobsing just showed me #1499 |
| 20:49 |
|
|
theory joined #parrot |
| 20:51 |
|
plobsing |
sorear: nopaste the output(s) ? |
| 20:51 |
|
|
cotto_work joined #parrot |
| 20:52 |
|
* allison |
luminesces |
| 20:53 |
|
plobsing |
sorear: what values are you passing to --hash-seed? are they low? passing the same value as current localtime should give the same results as not using --hash-seed |
| 20:53 |
|
sorear |
plobsing: http://pastie.org/923803 |
| 20:54 |
|
sorear |
passing the current localtime has no effect - still instant crash |
| 20:54 |
|
plobsing |
that does sound broken |
| 20:55 |
|
cotto_work |
crud. I thought I fixed that. |
| 20:55 |
|
cotto_work |
time to write some tests |
| 20:56 |
|
plobsing |
I thought you did too |
| 20:59 |
|
|
rurban_ joined #parrot |
| 21:05 |
|
Coke |
rurban: hey, you're back. =-) |
| 21:12 |
|
Coke |
allison: http://twitter.com/merlyn (last few tweets) |
| 21:15 |
|
|
TiMBuS joined #parrot |
| 21:17 |
|
|
rt7 joined #parrot |
| 21:49 |
|
|
Whiteknight joined #parrot |
| 21:53 |
|
dalek |
parrot: r45725 | chromatic++ | branches/immutable_strings_part1/src/string/api.c: |
| 21:53 |
|
dalek |
parrot: [string] Fixed a POD typo. |
| 21:53 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45725/ |
| 22:04 |
|
|
Austin joined #parrot |
| 22:04 |
|
dalek |
TT #1558 created by kurahaupo++: Request wiki edit-access |
| 22:04 |
|
dalek |
TT #1558 : http://trac.parrot.org/parrot/ticket/1558 |
| 22:09 |
|
* Austin |
sings, "Meatwad make the money, see. Meatwad get the honeys, G." |
| 22:17 |
|
Whiteknight |
yeah yeah, check check it. |
| 22:18 |
|
Whiteknight |
aqua teen hunger force, number one in the hood, G |
| 22:33 |
|
plobsing |
cotto_work: it appears "--hash-seed %d" got broken when "--hash-seed=%d" got implemented in r44998 |
| 22:34 |
|
Austin |
Because parsing arguments is harder than it looks, and it's certainly not a problem anyone has solved before... |
| 22:34 |
|
plobsing |
Austin: simple brain-o. you need to null check *before* you increment |
| 22:35 |
|
Austin |
See previous comment. |
| 22:36 |
|
sorear |
Austin: C programmers don't do libraries |
| 22:36 |
|
Austin |
Heh. |
| 22:36 |
|
Austin |
Libraries are for cobol coders. |
| 22:37 |
|
Austin |
Besides, parrot isn't allowed to depend on any other software. |
| 22:38 |
|
sorear |
like, oh, Test::Harness |
| 22:38 |
|
Austin |
Once we get everything else working, we're going to implement a set of assemblers for various platforms. Then parrot will be a fully self-hosted cross-compiler, and we get rid of that nasty gcc requirement. |
| 22:39 |
|
Austin |
It'll take one hundred and eleventy seven years to compile, but parrot will be totally free of dependencies... |
| 22:39 |
|
plobsing |
sorear: if you want to play around with hash-seed without updating parrot, you can use --hash-seed=12345678 which appears to be working |
| 22:40 |
|
sorear |
my parrot is up to date wrt dalek |
| 22:40 |
|
sorear |
did you just push something |
| 22:40 |
|
plobsing |
I'm still testing |
| 22:41 |
|
|
kurahaupo joined #parrot |
| 22:42 |
|
plobsing |
committed |
| 22:42 |
|
sorear |
yeep |
| 22:42 |
|
sorear |
parrot --hash-seed=4389efbd /usr/local/lib/parrot/2.2.0-devel/library/nqp-rx.pbc nt/callsv.t |
| 22:42 |
|
sorear |
crashes every time |
| 22:42 |
|
sorear |
4389efbc works every time |
| 22:42 |
|
dalek |
parrot: r45726 | plobsing++ | trunk/src/main.c: |
| 22:42 |
|
dalek |
parrot: fix "--hash-seed 12345678" |
| 22:42 |
|
dalek |
parrot: check for null *before* incrementing pointer |
| 22:42 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45726/ |
| 22:42 |
|
sorear |
why is the hash seed affecting global destruction order? :/ |
| 22:44 |
|
plobsing |
sorear: if you are seeing 0s and 0x80000s in vtables, your parrot is already borked, so you're lucky to be *getting* to global destruction at all |
| 22:45 |
|
sorear |
plobsing: my initial diagnosis was that the values were memory poisoning of freed vtables. |
| 22:45 |
|
sorear |
I seem to be completely wrong, though |
| 22:45 |
|
ttbot |
Parrot trunk/ r45726 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/267176.txt ( http://tt.taptinder.org//build[…]-Parrot/rp-trunk/ ) |
| 22:45 |
|
sorear |
which puts the entire global destruction order theory into doubt |
| 22:45 |
|
sorear |
there are existing crashes which don't manifest with any vtable insanity |
| 22:47 |
|
plobsing |
arg. trunk is broken. consting-- |
| 22:51 |
|
|
tetragon joined #parrot |
| 22:58 |
|
dalek |
partcl-nqp: fdf0569 | Coke++ | src/Partcl/commands/string.pm: |
| 22:58 |
|
dalek |
partcl-nqp: remove commented out debug output |
| 22:58 |
|
dalek |
partcl-nqp: review: http://github.com/partcl/partc[…]9a660eac0c5f68f78 |
| 22:58 |
|
dalek |
partcl-nqp: 8854c2c | Coke++ | CREDITS: |
| 22:58 |
|
dalek |
partcl-nqp: Add Austin to CREDITS, other minor updates. |
| 22:58 |
|
dalek |
partcl-nqp: review: http://github.com/partcl/partc[…]830f9fc6910bf12f9 |
| 22:58 |
|
dalek |
partcl-nqp: ec04d4f | Coke++ | (27 files): |
| 22:58 |
|
dalek |
partcl-nqp: whitespace and sub reordering only. |
| 22:58 |
|
dalek |
partcl-nqp: review: http://github.com/partcl/partc[…]1dbd74382840e17de |
| 22:58 |
|
dalek |
partcl-nqp: f2257d7 | Coke++ | (3 files): |
| 22:58 |
|
dalek |
partcl-nqp: update [set] to recognize array varnames. |
| 22:58 |
|
dalek |
partcl-nqp: review: http://github.com/partcl/partc[…]5c10f099c75102bad |
| 22:58 |
|
dalek |
partcl-nqp: b27eb09 | Coke++ | (2 files): |
| 22:59 |
|
dalek |
partcl-nqp: First pass at converting [array] to the command-dispatch of [string] |
| 22:59 |
|
dalek |
partcl-nqp: review: http://github.com/partcl/partc[…]d91ba71bc50538608 |
| 22:59 |
|
dalek |
parrot: r45727 | plobsing++ | trunk/src/string/encoding/fixed_8.c: |
| 22:59 |
|
dalek |
parrot: headerizer |
| 22:59 |
|
purl |
well, headerizer is making me happy |
| 22:59 |
|
dalek |
parrot: review: http://trac.parrot.org/parrot/changeset/45727/ |
| 23:00 |
|
|
ruoso joined #parrot |
| 23:02 |
|
plobsing |
sorear: how can I get that test case to work? I seem to be getting " |
| 23:02 |
|
plobsing |
Class 'P5Interpreter' not found" |
| 23:02 |
|
plobsing |
a lot |
| 23:05 |
|
plobsing |
I'm interested in that test case, because it shows that parrotbug without waiting for 5 minutes of rakudo spectests to scroll by |
| 23:07 |
|
sorear |
plobsing: that test case doesn't seem to be exactly the same issue |
| 23:07 |
|
plobsing |
:-( |
| 23:07 |
|
sorear |
it's just ordinary destruction ordering causing SvREFCNT_dec after perl_destruct |
| 23:08 |
|
sorear |
no vtable wrecking |
| 23:08 |
|
sorear |
I had a problem earlier which caused vtable wrecking, resulting in a crash from inside Parrot_pmc_gc_unregister |
| 23:08 |
|
sorear |
the AddrRegistry VTABLE was getting smashed |
| 23:09 |
|
sorear |
alternatively, the ->vtable field of the global AddrRegistry was pointed somewhere random |
| 23:09 |
|
plobsing |
sorear: is this still a problem? |
| 23:12 |
|
chromatic |
That sounds a lot like the "Why is Parrot crashing when I call Parrot_pmc_unregister() from DESTROY?" question. |
| 23:12 |
|
sorear |
chromatic: indeed |
| 23:12 |
|
chromatic |
Did you stop doing that? |
| 23:13 |
|
sorear |
No |
| 23:13 |
|
chromatic |
Then stop doing that. |
| 23:13 |
|
sorear |
it has, however, stopped being a problem |
| 23:13 |
|
sorear |
and I can't find out why |
| 23:13 |
|
sorear |
or rather, I have no record of why |
| 23:14 |
|
chromatic |
That's easy. It's because the order of PMCs within the pools has changed. |
| 23:15 |
|
* sorear |
wonders if a patch to implement simplest-thing-that-could-possibly-work destruction ordering would be acceptable |
| 23:16 |
|
chromatic |
It's not going to fix your problem. |
| 23:16 |
|
sorear |
tell me what my problem is |
| 23:16 |
|
chromatic |
Stop calling Parrot_pmc_unregister from your destroy VTABLEs. |
| 23:16 |
|
|
kid51 joined #parrot |
| 23:17 |
|
sorear |
Do you have a better idea? |
| 23:17 |
|
plobsing |
destruction ordering of an arbitrary object graph hurts my head |
| 23:17 |
|
sorear |
Removing it with no compensation would introduce a worse bug |
| 23:17 |
|
chromatic |
Then keep it, and keep complaining that you get stupid crashes. |
| 23:19 |
|
sorear |
Nobody is complaining here. |
| 23:19 |
|
sorear |
Try not to take my debugging efforts so personally. |
| 23:20 |
|
chromatic |
Try to take debugging advice from people who know the code, who've debugged many bugs like this before, and have actually fixed bugs in the code. |
| 23:20 |
|
chromatic |
Or not, either way. |
| 23:20 |
|
sorear |
Introducing a memory leak is not "fixing a bug" |
| 23:21 |
|
chromatic |
I said nothing about introducing a memory leak. |
| 23:21 |
|
sorear |
You keep telling me to remove the one statement which is responsible for freeing my memory |
| 23:21 |
|
sorear |
Why |
| 23:21 |
|
chromatic |
How does Parrot_pmc_unregister free your memory? |
| 23:22 |
|
sorear |
By allowing it to be garbage collected |
| 23:22 |
|
chromatic |
How does calling Parrot_pmc_unregister from your PMC's destroy cause your PMC to be garbage collected? |
| 23:23 |
|
sorear |
You are assuming that my destroy method is unregistering *the same PMC* |
| 23:23 |
|
sorear |
This is wrong |
| 23:23 |
|
sorear |
It is unregistering a different PMC |
| 23:23 |
|
plobsing |
sorear: how many interpreter PMCs do you expect to go through? I would expect them to be long-lived. |
| 23:24 |
|
chromatic |
Why are you registering so many PMCs that are already referrred to by registered PMCs? |
| 23:25 |
|
chromatic |
So that's where W3C lost that extra R in Referer. |
| 23:26 |
|
sorear |
plobsing: this isn't about the interpreters |
| 23:26 |
|
sorear |
chromatic: they aren't referred to by registered PMCs |
| 23:27 |
|
sorear |
there are two types of handles |
| 23:27 |
|
sorear |
P5SV is a Parrot object which holds a Perl 5 reference |
| 23:27 |
|
sorear |
there's also a Perl 5 object which holds a Parrot reference |
| 23:27 |
|
sorear |
suppose the Parrot GC decides to free a P5SV |
| 23:27 |
|
sorear |
my VTABLE destroy calls SvREFCNT_dec |
| 23:28 |
|
|
alexn_org joined #parrot |
| 23:28 |
|
sorear |
SvREFCNT_dec recursively frees an object graph, including a Perl->Parrot reference |
| 23:28 |
|
sorear |
the Perl->Parrot reference destructor - still in the dynamic scope of VTABLE_destroy - has to somehow tell Parrot that there is no longer an external reference to its referent |
| 23:28 |
|
sorear |
is this clear? |
| 23:29 |
|
chromatic |
Is this Perl->Parrot reference destructor a Perl 5 DESTROY or the XS equivalent? |
| 23:29 |
|
sorear |
The XS equivalent |
| 23:29 |
|
sorear |
mg_free |
| 23:29 |
|
chromatic |
I follow so far. |
| 23:30 |
|
sorear |
it could be changed to DESTROY if you think that would help, but it would be a fair amount of work |
| 23:30 |
|
sorear |
Now, Parrot goes into global destruction |
| 23:30 |
|
sorear |
It frees the AddrRegistry |
| 23:30 |
|
sorear |
then it frees the P5SV |
| 23:30 |
|
chromatic |
mg_free should be fine. |
| 23:31 |
|
sorear |
the P5SV goes into Perl and back again |
| 23:31 |
|
sorear |
Parrot_pmc_gc_unregister is called |
| 23:31 |
|
sorear |
but the AddrRegistry is already freed |
| 23:31 |
|
sorear |
crashes right here |
| 23:31 |
|
chromatic |
What types of Perl 5 data structures have this behavior in mg_free? |
| 23:32 |
|
sorear |
Currently the only type of back reference implemented are callbacks, SVf_PVCV |
| 23:33 |
|
sorear |
I plan to extend this to other sorts of Parrot role |
| 23:34 |
|
sorear |
here is my proposal for the Simplest Thing Which Could Work destruction ordering: each vtable gets a destroy_phase field. Objects with destroy_phase 0 are destroyed immediately, others are queued. AddrRegistry and Library (we can't dlfree before calling dynpmc destructors) get high destroy_phases |
| 23:34 |
|
chromatic |
Do you know when Parrot global destruction is about to happen? |
| 23:35 |
|
sorear |
No |
| 23:35 |
|
chromatic |
Why not? |
| 23:35 |
|
sorear |
Nobody tells me |
| 23:36 |
|
chromatic |
You don't free a ParrotInterp? |
| 23:36 |
|
chromatic |
Or are you embedding Perl 5 in Parrot? |
| 23:37 |
|
sorear |
I am embedding Perl 5 in Parrot |
| 23:38 |
|
chromatic |
We don't really have a good way to register code to run at the end of the process, either. |
| 23:38 |
|
chromatic |
If we had that... |
| 23:39 |
|
chromatic |
... you could create a ResizablePMCArray. |
| 23:39 |
|
chromatic |
... and change your callback creator to store each callback in that RPA. |
| 23:39 |
|
chromatic |
... and register only that RPA with the AddrRegistry. |
| 23:39 |
|
chromatic |
... and, at the end of the interpreter, unregister that RPA before global destruction. |
| 23:40 |
|
chromatic |
Would that let you remove Parrot_pmc_gc_unregister from your mg_free code? |
| 23:45 |
|
sorear |
yes, but in name only |
| 23:45 |
|
chromatic |
How so? |
| 23:45 |
|
sorear |
the mg_free code would still have to delete from the RPA |
| 23:45 |
|
chromatic |
I don't see how. |
| 23:45 |
|
sorear |
and so the destruction order dependency would still exist |
| 23:45 |
|
chromatic |
Why would it need to delete from the RPA? |
| 23:45 |
|
sorear |
if it doesn't delete from the RPA, the callback will be retained until the end of the interpreter |
| 23:45 |
|
cotto_work |
blitzkost? |
| 23:46 |
|
sorear |
for 1 .. 1000000 -> $a { perl5_func(-> $b { $a + $b}); } |
| 23:46 |
|
sorear |
this creates a million callbacks but only 1 is live at a time |
| 23:46 |
|
sorear |
cotto_work: yes |
| 23:47 |
|
cotto_work |
where's the code live? |
| 23:47 |
|
cotto_work |
mn. no t |
| 23:47 |
|
sorear |
github.com/jnthn/blizkost |
| 23:47 |
|
cotto_work |
found it |
| 23:49 |
|
chromatic |
What kind of data structure is the callback? |
| 23:49 |
|
Austin |
blizkost? |
| 23:49 |
|
purl |
blizkost is http://github.com/jnthn/blizkost/tree/master or the last Jonathan's project, an embedding of Perl 5 in Perl 6 |
| 23:49 |
|
Austin |
No 't' |
| 23:49 |
|
cotto_work |
blitzkost is blizkost |
| 23:49 |
|
Austin |
blitzkost? |
| 23:49 |
|
purl |
rumour has it blitzkost is blizkost |
| 23:50 |
|
cotto_work |
no, blitzkost is see "blizkost" |
| 23:50 |
|
purl |
okay, cotto_work. |
| 23:50 |
|
Austin |
blitzkost? |
| 23:50 |
|
purl |
somebody said blitzkost was see "blizkost" |
| 23:51 |
|
sorear |
chromatic: The Parrot-side callback is anything which supports VTABLE_does('callable') |
| 23:51 |
|
kurahaupo |
hi |
| 23:51 |
|
purl |
what's up, kurahaupo. |
| 23:51 |
|
sorear |
Ideally it should also implement VTABLE_invoke but I don't actually check that yet. :) |
| 23:51 |
|
Austin |
Morning, Kura. |
| 23:51 |
|
kurahaupo |
Morning. |
| 23:52 |
|
chromatic |
The CallContext PMC marks its sub. Is that not sufficient to keep the callback alive from the Parrot side, or do you need it to outlast the continuation chain? |
| 23:54 |
|
sorear |
I need it to be live before it is called, as well as during |
| 23:54 |
|
sorear |
If perl5_func somehow triggers the Parrot collector, the callback ought to still be available |
| 23:55 |
|
chromatic |
It should be until the continuation which invoked it gets collected. |
| 23:56 |
|
sorear |
I'm just talking about the callbacks themselves |
| 23:56 |
|
sorear |
The activation records don't need to exist. |
| 23:57 |
|
sorear |
-> $b { $a + $b } in Perl 6 does not create an activation record |
| 23:57 |
|
sorear |
it just returns a sub |
| 23:57 |
|
sorear |
so "activation records" don't figure into this discussion at all |
| 23:57 |
|
chromatic |
Sure, but if that sub gets stored somewhere, it should get marked during GC. |
| 23:58 |
|
sorear |
If it gets stored somewhere in the Parrot heap, sure |
| 23:58 |
|
sorear |
but if the only references to it are from the Perl 5 heap - this is why I need registration |
| 23:58 |
|
chromatic |
Why would there only be references to it from Perl 5? |
| 23:59 |
|
sorear |
perl5_func_which_saves_a_reference(-> { do_something; }); |
| 23:59 |
|
sorear |
# look here, I forgot to save a Parrot reference to the pointy |
| 23:59 |
|
sorear |
# I'm about to die |