Parrot 2.7.0 "Australian King" Released! | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets (20 to go), merge outstanding branches; profile your favorite PIR for memory leaks with valgrind
Set by moderator on 2 September 2010.
00:11 Paul_the_Greek left, davidfetter left 00:26 senf_statt_oel left, theory left 00:31 dngor_ joined 00:33 dngor left 00:35 dngor_ is now known as dngor 00:49 whiteknight left 00:53 Psyche^ joined 00:57 mikehh left 00:58 hercynium left 00:59 Patterner left, Psyche^ is now known as Patterner 01:44 kid51 joined
nopaste "mariano" at 192.168.1.3 pasted "Why I'm getting "get_integer() not implemented in class 'Object2'" ? ( parrot 2.4.0 )" (23 lines) at nopaste.snit.ch/23230 01:51
mariano I'm toying with morph 01:56
and got that funky error.. i'm doing something wrong there
dalek TT #1679 closed by jkeenan++: examples/compilers/japhc.c: Misleading documentation 01:57
TT #1679: trac.parrot.org/parrot/ticket/1679
TT #1075 closed by jkeenan++: Add Configure probes for LLVM
TT #1075: trac.parrot.org/parrot/ticket/1075
TT #1257 closed by jkeenan++: src/io/utf8.c: Does the amount read in Parrot_io_read_utf8() need to be ...
TT #1257: trac.parrot.org/parrot/ticket/1257
cotto That's a curious bug. 01:59
You don't even need the extra namespaces to trigger it.
mariano i first thought that main was expecting an integer from the tailcall just like C's main 02:00
dalek rrot: r48776 | jkeenan++ | trunk (3 files):
Per discussion in ļæ½trac.parrot.org/parrot/ticket/1679, removing examples of JAPHs written in PASM and corresponding test.
02:01
rrot: r48777 | jkeenan++ | trunk/src/io/utf8.c:
Eliminating useless TODO comment per ļæ½trac.parrot.org/parrot/ticket/1257.
cotto Ah. Default's morph calls VTABLE_get_integer for some reason.
mariano mmm.... I guess nobody is using morph ? 02:03
cotto I'm wondering how that can be right.
Yeah. It appears to be severely undertested. 02:04
ack morph t/|wc -l says 20
mariano should I submit a bug then ?
cotto definitely
mariano++ 02:05
kid51 At the risk of seeming ridiculous ... what is morph?
sorear rebless for PMCs
cotto less evil but more broken
sorear it changes the type of an existing PMC 02:06
it is the reason PMCs are allocated in two memory blocks and causes a lot of the gc's complexity
cotto I could attempt a fix, but the tests are so anemic I wouldn't have much confidence in the results.
kid51 It's interesting that 'morph' does not appear in the name of any file in the Parrot distro. 02:07
sorear seen darbelo
purl darbelo was last seen on #parrot 5 days, 2 hours, 15 minutes and 24 seconds ago, saying: whiteknight: Is svn tied to Trac or drupal's auth? [Aug 29 23:52:30 2010]
aloha Sorry, I haven't seen darbelo.
cotto and indicative 02:08
istr that partcl relies on it 02:09
mariano sorear: is it exactly a rebless ? 02:11
dalek TT #1769 created by bluescreen++: Getting get_integer() not implemented in class 'XXXXX' when using "morph" 02:14
TT #1769: trac.parrot.org/parrot/ticket/1769
mariano and just out of curiosity, what the hell are the ++ and -- 02:15
is that an XP system like perlmonks?
sorear we call it karma here, but yes 02:18
tcurtis karma sorear 02:19
purl sorear has karma of 151
aloha sorear has karma of 6.
tcurtis aloha, explain sorear
aloha tcurtis: positive: so basically, I can write anything I want here, and it'll show up in 'explain'? (masak), foo (Tene), for another reason (nwellnhof); negative: nothing; overall: 6.
sorear (aloha is new here) 02:20
mariano that's cool 02:21
now I'm wondering how many people here is a bot
sorear count the +s in your IRC client
preflex: xseen sorear 02:22
preflex sorear was last seen on magnet/#parrot 42 seconds ago, saying: count the +s in your IRC client
sorear opbots beleive preflex
opbots believe preflex
slavorg Ok
slavorgn Ok
mariano wow.. i guess the is nothing but a big turing test env 02:23
sorear "the is"? 02:24
mariano this is
that's the proof I'm not one of them :P 02:25
sorear :p
none of the bots is designed to pass
only purl even tries to parse natural language
(and is hated for this; aloha is being developed to replace purl's actually useful features) 02:26
mariano do you keep boot for different version of parrot/rakudo? 02:29
or just whatever is in the trunk?
sorear "boot"?
we keep all versions ever
mariano I mean, lets say you want to evaluate something in a previous version of rakudo can you do that? 02:30
sorear *you* can do that
mariano sweeet 02:31
sorear git checkout VERSION
mariano oh, gotcha!
sorear the rakudo build will automatically pick the correct contemporary Parrot
02:35 janus left 02:48 mikehh joined 03:00 janus joined
cotto We also suspect that bacek is actually a robot, but if so he's a very sophisticated model. 03:14
03:20 kid51 left 03:29 tcurtis left 03:30 kthakore joined
kthakore hola 03:30
04:04 JimmyZ joined 04:28 theory joined
cotto According to FedEx's tracking, a pair of hdmi cables I ordered from Woot weigh about 32 pounds. 05:30
I must have gotten the 600' versions instead of the 6'. 05:31
05:32 Andy joined 05:36 integral left 05:37 integral joined 05:56 JimmyZ left, cotto left 06:08 Andy left 06:17 particle left 06:19 particle joined 06:37 mikehh left 07:55 theory left 08:23 perlite left, perlite joined 09:01 aloha left 09:04 bacek left 09:23 M_o_C joined, bacek joined 09:24 M_o_C left, M_o_C joined 09:29 aloha joined 09:32 M_o_C left 09:33 M_o_C joined, mikehh joined 09:38 jan left 10:23 jan joined 10:25 fperrad joined
smash morning' everyone 10:28
10:29 M_o_C left, M_o_C joined 10:52 contingencyplan left 10:59 M_o_C left 11:23 smash left 11:50 nwellnhof joined
dalek TT #1769 closed by nwellnhof++: Getting get_integer() not implemented in class 'XXXXX' when using "morph" 11:55
TT #1769: trac.parrot.org/parrot/ticket/1769
rrot: r48778 | nwellnhof++ | trunk/src/ops/pmc.ops:
[doc] Amend documentation of morph opcode
11:56
12:11 NotFound left 12:13 whiteknight joined 13:13 Paul_the_Greek joined
Coke msg nwellnhof why does morph's $2 have to be a class PMC? 14:24
purl Message for nwellnhof stored.
aloha OK. I'll deliver the message.
14:25 _shockwave joined, _shockwave left
shockwave Howdy 14:26
I've been wresting with caching registers returned by getattribute, which represent fields, so that getattribute doesn't have to called everytime a field is accessed. 14:28
One of the things that has giving me most trouble is the use of setattribute, which sets the value to a new PMC. But, now, I was staring at some code, I thought of something, which I'm hoping will work. Question, 14:29
For now, I've been using setattribute every time I want to set a value that represents a HLL field. Is the value is a scalar, I've been using 'box val' to box it into a PMC prior to setting it as the new value. But, I just though, 14:31
Coke while I appreciate the caching - is there specific performance issue you're trying to overcome by the caching? 14:32
shockwave do I even need to call setattribute. I mean, is there any reason why I shouldn't just set the value using the attribute's register. i.e., $P001 = 5; instead of: setattribute self, 'foo', boxed5
Coke box will create a new PMC for you. $PFOO = 5 will not. 14:33
shockwave @Coke: I can't justify myself NOT doing that catching. It's such a long hanging fruit of an optimization. It can eliminate may getattribute calls, register allocation, and (hopefully) many setattribute calls. 14:34
@Coke: But, if the attribute has previously been setattribute'd, then that value was fetched into, say, register $P1; is it value to just $P1 = x for any value? 14:35
^^^s/long hanging/low hanging
Coke that's probably fine, depending on what type the P1 was. 14:36
if you get back a array and say $P1 = 5, that might not do what you want.
shockwave oh
@Coke: I know I'm asking you to guess here: If the value at $P1 is a scalar (int, float, string), would that be fine? 14:37
Coke yah, probably. it really does depend on the individual PMC on how to respond to = <int>, but it'll probably work. 14:38
->
shockwave @Coke: Sweet. Thanks. I'll give this a try. 14:39
14:42 dmalcolm joined 14:43 kid51 joined, whiteknight left 14:51 mikehh left
Paul_the_Greek Say, what about PMC properties? 14:57
They don't seem to be used too much.
14:58 theory joined 15:01 Paul_the_Greek left, Paul_the_Greek joined
dalek rrot: r48779 | chromatic++ | trunk (2 files):
[PMC] Added init_pmc() to StringBuilder PMC.
15:19
rrot: r48780 | chromatic++ | trunk/src/string/api.c:
[str] Ported Parrot_str_join() to StringBuilder.

just fine.
rrot: r48781 | chromatic++ | trunk/src/string/api.c:
[str] Rearranged Parrot_str_join() for efficiency.
rrot: r48782 | chromatic++ | trunk/src/string/api.c:
[str] Ported Parrot_str_join() to StringBuilder.

it's cleaner for now.
Paul_the_Greek ping chromatic 15:22
Folks: What's the easiest way to check the pod documentation in a C file? 15:23
dukeleto Paul_the_Greek: perldoc foo.c 15:27
Paul_the_Greek: what do you mean, "check" ? 15:28
Paul_the_Greek: test for correctness, or just read it?
Paul_the_Greek I'd like to generate html and look at it. I know how to convert pod to html, but didn't know about perldoc.
dukeleto Paul_the_Greek: you can run perldoc on any file and it will look for POD in it 15:32
Paul_the_Greek: try : perldoc perldoc :) 15:33
Paul_the_Greek Working like a charm, thanks. 15:34
dukeleto did some peeps forget to update the closed ticket count in the /topic ? I thought I saw more closed tickets happen 15:36
dalek rrot: r48783 | chromatic++ | trunk/src/namespace.c:
[src] Removed GC blocking when installing subs.

should use it as sparingly as possible.
rrot: r48784 | chromatic++ | trunk/src/dynext.c:
[src] Removed GC blocking from run_init_lib().

library loading, this commit may be the culprit.
kid51 Paul_the_Greek: there's a utility that comes with Perl called 'pod2html' that will do that translation ... and if you're really ambitious, I have a CPAN module called Pod::Multi that translates pod into man, text and html simultaneously. 15:44
dukeleto: I closed some tickets, but was unaware of the count in the topic
So we may be in better shape than that indicates.
15:45 dmalcolm left
Paul_the_Greek I've found pod2html, but it's saying "no title for temp.pod." and producing an html file with no text. 15:45
I bet I'm using perldoc incorrectly. 15:47
dukeleto kid51: yes, it is nice to know the current count in the topic. I think I saw 3-4 more tickets gets closed. we can figure it out from the timeline 15:48
Paul_the_Greek That's better. Gotta use -u on perldoc. 15:51
kid51 pod2html expects a file as input, whereas perldoc by default prints to STDOUT. So you may need to do some file redirection
Paul_the_Greek Yes, I did. And you need the -u option or you just get plain text in the output pod file. 16:09
So the new Boolean PMC is about 20% faster than the old one. 16:10
Almost all of the improvement is in allocation, since there is no attribute block. 16:11
16:13 kid51 left
dukeleto Paul_the_Greek++ # that sounds awesome 16:13
Paul_the_Greek If the typical program was all boolean operations, it would be quite awesome. 16:14
But it's good not to allocate memory when we don't need to.
Thanks to chromatic for pointing out that we could use a PObj flag for the boolean value.
dukeleto attempts to figure out how to make a debian package 16:17
moritz dukeleto: of parrot?
there's a guide for that somewhere in doc/ 16:18
dukeleto moritz: OH RLY? 16:19
purl ya rly!
moritz erm, docs/ :-)
$ find docs/ -name '*debian*' 16:20
docs/project/debian_packaging_guide.pod
dukeleto moritz: i want to make a package for PL/Parrot, but that doc will help
16:21 ruoso joined 16:28 mikehh joined, kid51 joined
dukeleto wow. setting up a chroot environment is non-trivial 16:33
moritz found it quite easy 16:36
debootstrap stable /location # and then wait a bit 16:37
dukeleto moritz: maybe I am reading old instructions 16:38
moritz dukeleto: are you on debian?
dukeleto moritz: yep
moritz then it should be that simple 16:39
maybe with s/stable/testing/
16:48 ruoso left
Paul_the_Greek ping shockwave 16:52
dukeleto moritz: this makes it look complicated: trac.parrot.org/parrot/wiki/ChrootSetup 16:55
dalek rrot: r48785 | chromatic++ | trunk (2 files):
[OO] Removed PIR overriding of Object's get_class.

nothing does it, so why pay the NQP-rx penalty for it? When we get a more flexible metaobject system, people can do the kinds of things they need here in a different (better and safer) way.
17:00
17:00 ruoso joined
rrot: r48786 | chromatic++ | trunk/src/pmc/object.pmc:
[oo] Optimized Object's get/set attr_str VTABLEs.
dukeleto moritz: should I be using quilt? Do you have any experience with it? 17:04
Paul_the_Greek ping coke 17:06
17:14 kid51 left
moritz dukeleto: none at all 17:15
dalek parrot: f759d4b | leto++ | ports/debian/ (30 files):
Add a skeleton of files necessary for making a debian pacakge
17:18
17:35 tcurtis joined 17:46 tetragon joined
dalek kudo: 29fcf8e | chromatic++ | src/ (4 files):
[src] Updated deprecated string_from_literal calls.

Parrot's (not all that) new approach is to use Parrot_str_new().
17:50
kudo: 6b1b030 | chromatic++ | src/binder/bind.c:
[binder] Hoisted several constant Parrot STRINGs.
kudo: e36452e | chromatic++ | src/ops/perl6.ops:
[ops] Hoisted constant Parrot STRINGs.
17:51 cotto joined
cotto ~~ 17:53
17:59 contingencyplan joined
dukeleto contingencyplan: hello 17:59
Paul_the_Greek ping chromatic 18:05
18:05 cotto left
contingencyplan dukeleto, howdy 18:08
dukeleto contingencyplan: welcome to our comfy corner of the internets
tcurtis Looks like trac.parrot.org/parrot/timeline?fro...;ticket=on we've closed at least 11 tickets. Five more were closed on Tuesday, but I'm not sure whether they were before or after #ps. 18:22
dalek rrot: r48787 | chromatic++ | trunk/src/pmc/undef.pmc:
[PMC] Optimized Undef's get_string VTABLE.
18:25
rrot: r48788 | chromatic++ | trunk/src/pmc/stringhandle.pmc:
[PMC] Used more CONST_STRING in StringHandle.
rrot: r48789 | chromatic++ | trunk/src (3 files):
[ops] Gutted addattribute thanks to polymorphism.

because, truly, it's the invocant PMC's responsibility to do something sane or explain why it won't.
18:41
kudo: ff5b4c0 | moritz++ | / (2 files):
partially update build system to deal with spectests in git
18:49
18:55 plobsing joined
dalek TT #1769 reopened by bluescreen++: Getting get_integer() not implemented in class 'XXXXX' when using "morph" 18:59
TT #1769: trac.parrot.org/parrot/ticket/1769
19:14 fperrad left 19:28 smash joined
smash hello everyone 19:28
19:52 mariano left 20:05 perlite left, pjcj left
dalek rrot: r48790 | plobsing++ | trunk (8 files):
[TT #1549] add NativePCCMethod PMC to replace raw NCI
20:06
20:07 perlite joined 20:14 bluescreen joined
dukeleto moritz++ # spectests in git! 20:25
dalek rrot: r48791 | plobsing++ | trunk/MANIFEST:
mk_manifest_and_skip
20:40
purl mk_manifest_and_skip is the canonical mechanism for (re)generating MANIFEST
rrot: r48792 | plobsing++ | trunk/src/pmc/nativepccmethod.pmc:
[codetest] svn properties
20:44 bluescreen left
dalek rrot: r48793 | plobsing++ | trunk/src/pmc/nci.pmc:
[TT #1549] eliminate raw NCI functionality
20:57
21:18 bluescreen joined 21:23 dafrito left
dalek rrot: r48794 | plobsing++ | trunk/DEPRECATED.pod:
[TT #1549] deprecation item complete
21:31
TT #1549 closed by plobsing++: [DEPRECTION] NCI for "raw" pointers 21:32
TT #1549: trac.parrot.org/parrot/ticket/1549
21:38 hercynium joined 21:40 dafrito joined, Paul_the_Greek left 22:24 aloha left, M_o_C joined, bacek left 22:35 kid51 joined 22:36 bacek joined 22:43 aloha joined 22:45 hercynium left
kthakore Hi 22:56
Are the lorito tickets seperate on trac?
kid51 kthakore: It appears that as yet there are no specific tickets for Lorito in Trac. 23:04
kthakore oh ok
kid51 But if you enter Lorito in the search box, you'll find links to the wiki pages where this is being scoped out.
kthakore ok 23:05
kid51 My perhaps erroneous impression is that lorito has not progressed beyond the scoping phase -- but I would love to see evidence to the contrary.
23:21 contingencyplan left 23:23 contingencyplan joined 23:31 M_o_C left 23:37 cotto joined
cotto ~~ 23:37
Coke . 23:59