Parrot 1.1.0 Released | parrot.org/ | 322 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets
Set by moderator on 13 May 2009.
dalek rrot: r38762 | chromatic++ | trunk (3 files):
[MMD] Added the appropriate namespace name to the multi_func_list structure

runtime initialization to compile-time and speeds up Parrot startup by some 7%.
00:02
00:14 bacek_ joined
darbelo cotto: ping 00:30
make all 00:31
Sorry, wrong window.
cotto darbelo, make realclean
i mean pong 00:32
darbelo I have some pmc2c trouble. The generated c produces "error: structure has no member named `ctxt'" on compilation. 00:34
cotto is it committed?
darbelo no, I wanted to get it working first. I can commit if you want 00:35
cotto you could send me a patch, but there's a certain charm to breaking svn occasionally
go ahead and commit
00:37 wilig joined
dalek cnum-dynpmcs: r31 | darbelo++ | trunk/ (4 files):
Add (non functional) global-context prototype and integrate into makefiles.
00:38
darbelo That's a fast dalek. 00:39
cotto yarly 00:40
I haven't seen pmc2c explode quite like that before. Good job.
darbelo Oh, yeah. I don't remember if pmc2c will work without the patch I sent to parrot-dev. 00:41
I have that in my parrot tree, haven't tested without. 00:42
cotto sneaky
darbelo You can just change the "union blah" to void *
more warnings, same thing
Oh wait: "ATTR void *ctxt;" You don't need the patch at all. 00:43
cotto I'm seeing the same explodeyness with that change 00:46
darbelo The change is on decnum.pmc the 'sploding is on decnum2.pmc 00:47
I'm going out for some food in a few minutes. Be back in about an hour, with a fresh head, a full stomach, and absolutely no idea of why it 'splodes. 00:49
cotto It looks like the problem with pmc2c is that there's no decbase.dump
ok. We'll continue then. I'll see what I can find in the meantime.
darbelo there should be a dump, from the makefile: decnum2.dump: decnum2.pmc decbase$(O) 00:51
and in turn that depends on decbase.c and decbase.dump 00:52
dalek kudo: 1e3683e | tene++ | perl6.pir:
Work around problems caused by not being able to set an HLL on PMCs.
00:55
kudo: d7c7a67 | tene++ | src/parrot/ClassHOW.pir:
Fix another Protoobject HLL failure.
darbelo Anyways, going now. Be back later.
dalek kudo: 60c2bce | tene++ | src/ (4 files):
Fix a subid issue with list() exposed by HLL migration.
kudo: 1b79d4f | tene++ | src/parrot/Protoobject.pir:
More Protoobject HLL fixes.
kudo: 4a011d6 | tene++ | src/parrot/ (2 files):
Fix metaclass and protoobject HLL bugs.
kudo: 2a4dd87 | tene++ | (6 files):
Fix several HLL issues.

  * Fixes for calling Perl 6 functions from the Parrot HLL namespace
  * Assorted fixes for enums
01:04 AndyA joined 01:08 DietCoke joined
Coke 01:09
01:09 Coke joined
Tene um... dalek reported those in reverse order? 01:10
?EMIT NI SDRAWKCAB GNIOG UOY ERA !KELAD OLLAH 01:11
rg tene: did you compare it to the github feed? 01:12
Tene rg: I compared it to when I made the commits.
github.com/feeds/rakudo/commits/rakudo/master agrees with me, though 01:13
rg tene: dalek reported the commint in the same order (top to bottom) the feed is listing them. 01:16
Tene ah, right
><
01:28 Coke joined 01:55 kid51 joined 02:12 davidfetter joined
dalek kudo: bf281cf | pmichaud++ | src/parser/ (2 files):
Add ability to recognize operator subs. The ability to define
02:15
02:15 dukeleto joined 02:18 darbelo joined
dalek rrot: r38763 | jkeenan++ | trunk/ext/Parrot-Embed/lib/Parrot (3 files):
Correcting 3 copyright statements per discussion 2009-05-13 in
02:18
kid51 Looks like Smolder has been down most of the day and evening (ET). 02:21
darbelo cotto: ping 02:28
dalek cnum-dynpmcs: r32 | darbelo++ | trunk/build/src/pmc/Makefile.in:
Minor corrections to pmc Makefile.
02:31
02:34 tetragon joined 02:35 janus joined 02:36 allison joined 03:01 darbelo left, darbelo joined
dalek cnum-dynpmcs: r33 | darbelo++ | trunk/src/pmc/decnum (2 files):
Change "union decQuad *" into "void *".
03:20
purl dalek: that doesn't look right
03:20 donaldh joined
dalek cnum-dynpmcs: r34 | darbelo++ | trunk/build/src/pmc/Makefile.in:
Reorder group targets, and correct the linking commands.
03:44
03:52 tetragon joined
dalek rrot: r38764 | petdance++ | trunk/src/packfile.c:
simplify calculation a lot
03:56
rrot: r38765 | petdance++ | trunk/src/io/socket_unix.c:
localized a variable
03:59
darbelo purl: msg cotto I've found the problem. pmc2c generates "pmc_whatever.h" based on filename but the #include "pmc_whatever.h" directives are generated with the name of the PMC. It was all a header collision issue obscured by my inability to write Makefiles. 04:08
purl Message for cotto stored.
dalek rrot: r38766 | petdance++ | trunk/src/list.c:
use NULL for pointers, not 0
04:12
04:39 eternaleye joined
dalek cnum-dynpmcs: r35 | darbelo++ | trunk/src/pmc/decnum2.pmc:
Insert workarrounds to a header collision problem.
04:43
rrot: r38767 | petdance++ | trunk/config/gen/makefiles/root.in:
Allow really big structs in splint
04:55
05:11 he joined, he_ joined
cotto msg darbelo Good job figuring out the makefile issue. 05:38
purl Message for darbelo stored.
cotto messages
pmichaud I'm getting test failures in trunk... known? 05:42
Tene pmichaud: the sockets one?
pmichaud no, something to do with packfiles 05:43
I'm re-running the test again
(on two separate machines)
Tene lemme test here too
This rakudo slowdown in the perl6 HLL is concerning to me... 05:44
pmichaud have you timed it? how much slower? 05:46
Tene lemme time a rebuild once parrot is done rebuilding 05:47
pmichaud t/pmc/packfileconstanttable.t 0 11 10 16 3-10 05:55
t/pmc/packfiledirectory.t 0 11 21 32 6-21
t/pmc/packfilefixupentry.t 0 11 3 2 3
... but only on my laptop.
my desktop they pass okay.
Tene pass for me 05:56
pmichaud yeah... kinda weird. oh well, I'll run some more tests.
nopaste "tene" at 98.232.146.13 pasted "time statistics for HLL perl6 and parrot for pmichaud++" (27 lines) at nopaste.snit.ch/16544 05:57
pmichaud I wonder what makes the 'perl6' version slower. 05:58
Tene still want me to commit it? 05:59
I remember similar proportional timing on the test suite.
pmichaud is it just changing 'parrot' to 'perl6' ? 06:00
Tene Yes.
It would help ensure we don't break that in the future, though. For example, src/parrot/Role.pir wasn't even included in perl6.pbc. only the version in src/classes was.
pmichaud I think I'd like to wait until Friday -- maybe jonathan++ has some ideas about it.
Tene OK 06:01
pmichaud (Friday is jonathan's rakudo day)
The test suite is already so slow... I'd hate to make it worse.
Tene also, I should ideally file tickets about the workarounds I put in...
pmichaud I didn't see any that I thought needed tickets. 06:02
Tene the one with perl6multisub.pmc at least should be documented.
exporting !JUNCTION_SOMETHING to the parrot HLL namespace 06:03
pmichaud a comment in the code is sufficient; I don't know that we need a ticket.
Tene OK
pmichaud eventually we'll want to eliminate all of our parrot mucky-mucks. :-)
Tene right, comments... those things that help people...
maybe I'll be desperate enough to poke around with valgrind tomorrow during class. 06:04
06:05 uniejo joined
pmichaud anyway, I totally agree we don't want HLL to break now that it's working. :-) 06:05
so, we switch it on Friday, whether it's slow or not. :-)
06:07 slavorg joined
dalek rrot: r38768 | pmichaud++ | trunk/compilers/nqp (3 files):
[nqp]: Port Q:PIR notation from Rakudo.
06:07
Tene make probabilistic_spectest_regression 06:09
runs a random assortment of spectests. :)
load_bytecode and loadlib are still broken... pasting an example that uses a perl6'd rakudo shortly 06:12
gist.github.com/111518
06:20 slavorg joined
pmichaud I mentioned that during today's perl 6 design meeting -- we should probably update the tickets with any latest information/examples. 06:20
Tene I'm having trouble reproducing without perl6.pbc 06:21
working on it, though...
Oh... *that*'s interesting. 06:23
if I load_bytecode something that loadlib's perl6_group, then the pmcs get made in whatever .HLL the load_bytecodeing code is in. 06:24
so a potential workaround is to just always make sure to load_bytecode from .HLL 'parrot'
NotFound Tene: I think I wrote about such workaround in some ticket 06:25
Tene I have a secret to confess to you, NotFound.
I... I actually have some trouble dealing with tickets. 06:26
That's my terrible deep dark secret.
I always mean to actually read the relevant tickets, but never do.
NotFound Just 'some' ? Don't worry, I have lots ;)
Tene anyway, the ideal solution is to have a field in PMcs to specify the HLL namespace. 06:27
pmichaud there is one.
Tene is there? I thought there was originally, but then someone told me that field was for something else.
I have a vague memory of hearing something like that! On IRC! That's proof!
pmichaud see src/pmc/perl6str.pmc 06:28
hll Perl6
I don't know if it works, though.
Tene Yeah, that field.
anyway, want me to post my minimal example for you? 06:29
NotFound I remember to have added a function outside of .HLL to do the load_bytecode somewhere, but don't remember...
Tene NotFound: ideally we're going to be asking PCT to do it for us, so... 06:30
might not be a problem anyway.
NotFound Tene: yeah, but that was to show clearly the problem
Tene yeah
anyway, allison++ wanted a minimal example... I'll mail her a link to this: 06:32
gist.github.com/111529
OK, great. 06:34
pmichaud: interested in ideas for handling library loading in PCT? 06:36
pmichaud Tene: yes, but I'm not lucid enough tonight to discuss it :-|
Tene pmichaud: oh, certainly not tonight
pmichaud as soon as my spectest run finishes, I'm pushing then heading to bed
Tene neither am I
pmichaud okay. I should be around the next couple of days, though. 06:37
Tene as my earlier attempts at humor demonstrate
I won't be, during the day.
no internet at the classroom, unless I route through my phone, which I can rarely get to work.
but, maybe I can write something up during class.
pmichaud okay, sounds good 06:38
Tene If you haven't figured out, establishing "Someone is expecting me to get shit done" really helps my motivation.
That's the reason for me harassing you so much. :) 06:40
pmichaud :-) 06:42
Tene Thanks.
06:45 slavorg joined 07:01 dukeleto joined 07:11 mikehh_ joined 07:16 iblechbot joined 07:20 donaldh joined
dalek kudo: 8349d75 | pmichaud++ | src/parser/ (2 files):
Add ability to define operator subs.
07:56
kudo: ad9e008 | pmichaud++ | (2 files):
Add ability to declare infix: subs.
07:56 contingencyplan joined
kudo: 9dcaf47 | pmichaud++ | src/parser/actions.pm:
Update parse table both immediately and in saved code.
cotto msg bacek It looks like pmc2c doesn't bother trying to generate missing dumps, so there's no reason for pmcc to do it either. 08:00
purl Message for bacek stored.
mikehh smolder is down again 08:15
cotto we should just host it on parrot.org 08:26
it's a joke how much it's been going down recently
bacek, ping 08:39
clock
clock?
purl cotto: LAX: Thu 1:39am PDT / CHI: Thu 3:39am CDT / NYC: Thu 4:39am EDT / LON: Thu 9:39am BST / BER: Thu 10:39am CEST / IND: Thu 2:09pm IST / TOK: Thu 5:39pm JST / SYD: Thu 6:39pm EST /
dalek kudo: 1af7e29 | moritz++ | t/spectest.data:
we pass an operator definition/overloading test
08:41
bacek_ cotto: pong 08:50
cotto I need something in pmcc to hack on.
What do you not feel like implementing?
bacek_ METHOD's :) 08:51
Actually, you can overtake VTABLE generation for next couple of days. 08:52
cotto ok. Where's it at and what needs to be done?
bacek_ It's not likely that I'll have much time over weekend for work on parrot :/
pmc.pm:get_vtable_func 08:53
it can be stolen from Pmc2c/PMC:get_vtable_func
And class_init as well
cotto That doesn't sound too bad. 08:54
and if pcc_rewiring won't be landing soon, it might be worthwhile to start on METHODs anyway. 08:55
bacek_ Oh.
cotto I'll have to find out about that
bacek_ ok. 08:56
Anyway, you can take any part of pmcc. When I'll have time I'll just take another part.
cotto I suppose some of the pmc-specific stuff like object.pm will also need to be implemented
bacek_ "object.pm"? 08:57
cotto I'll do that and make sure to write useful commit messages.
pmc2c has some Object PMC-specific stuff.
bacek_ It's already in place
Check src/emitter/pmc/default.* 08:58
So you can throw pmc-specific code easily
into pmcc
cotto Yup. I was just noting that we'll probably need some other pmc-specific files there too 08:59
It'll be fun to dive into this more.
bacek_ Null and ParrotClass probably
cotto and it'll increase pmcc's bus number
bacek_ I really dislike how RO handling implemented in pmc2c.
cotto Is it something that pmcc will have to imitate? 09:00
bacek_ no. We have to handle _ro_ version of VTABLEs. 09:01
But it's not necessary to mimic pmc2c
cotto ok. it's nice when we don't have to inherit stupid hacks
nope, as long as it works 09:02
I wonder how tewk's gsoc project is going
bacek_ which one? 09:03
cotto a shiny new llvm-based jit backend 09:04
well, a prototype version
moritz cotto: the gsoc projects haven't started yet 09:05
bacek_ Sounds good.
cotto it's a very ambitious project, but it'll be a big help to Parrot
moritz it's "community bonding period"
cotto moritz, yes, but that's only a recommendation
moritz which is a no-op for tewk :-)
bacek_ ok. I'm going home now. 09:06
cotto bye
bacek_ afk # $work !~~ self
cotto msg darbelo www.codinghorror.com/blog/archives/001266.html may be of interest to you 09:26
purl Message for darbelo stored.
cotto jonathan, ping 09:45
jonathan pong # but not very much coffee imbiled yet ;-) 09:49
cotto How does Util's pbc_to_exe patch work on windows?
that shouldn't take much coffee ;)
jonathan oh, argh, I meant to do that before now... 09:50
cotto: You have the link to the patch handy?
If not I can go find it in the backlog...
cotto no, but I can nopaste it quickly
jonathan thanks 09:51
nopaste "cotto" at 96.26.202.243 pasted "util's patch to pbc_to_exe" (264 lines) at nopaste.snit.ch/16545
jonathan Thansk, will try it now. 09:52
09:55 rdice joined
jonathan cotto: Parrot built, waiting to find out on Rakudo now. 10:03
cotto that's a good sign, since pbc_to_exe uses itself on itself as part of the build 10:04
jonathan fail :-( 10:05
perl6.c(19200) : fatal error C1076: compiler limit : internal heap limit reached
; use /Zm to specify a higher limit
cotto too bad 10:06
Util, ping 10:07
10:08 gaz joined
jonathan Seems it actually has more memory usage than the previous version. Not sure I understand how/why. :-| 10:09
cotto d'oh 10:10
jonathan cotto: btw 10:12
it declares a
const char * const program_code_array[]
Which made me think it was going to contain many strings
oh, it does
oh clever
Nice try. :-( But sadly doesn't work. :-(
I've set the memory usage allowed as high as I can. And it fails. :-( 10:13
cotto Hmmm. Could it be misdetecting the compiler?
and generating the wrong code?
jonathan cotto: No, I realized 10:15
cotto I guess not. The gcc version declares that differently
jonathan It is putting the commas
Just every so often.
(in big enough chunks)
So it's doing the right thing in that sense.
cotto msg Util It looks like your pbc_to_exe patch doesn't make msvc happy: irclog.perlgeek.de/parrot/2009-05-14#i_1142271 10:16
purl Message for util stored.
jonathan Sorry to be bearer of bad news. :-(
cotto Well, we know a way not to do it.
That's progress. 10:17
jonathan I've played around a little with it just now (silly things in case they helped), but no luck.
10:33 cognominal joined 11:00 masak joined
dalek rrot: r38769 | bacek++ | branches/pmc_pct/compilers/pge/PGE/Match.pir:
[pge] Fix typo in PGE::Match.orig
11:04
rrot: r38770 | bacek++ | branches/pmc_pct/compilers/pmcc/src/builtins.pir:
Add substr into builtins.
rrot: r38771 | bacek++ | branches/pmc_pct/compilers/pmcc/src/parser/actions.pm:
Save pmc's c_header.
rrot: r38772 | bacek++ | branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm:
Emit c_header to C-code.
11:14 burmas joined 11:21 donaldh joined 11:29 uniejo joined
dalek rrot: r38773 | bacek++ | branches/pmc_pct/compilers/pmcc/src/emitter/pmc/default.pm:
Properly propogate .returns to created default's vtable methods.
11:31
11:50 cghene joined
bacek purl: msg cotto Look at r38774! We (almost) can generate C-code for default.pmc. 11:50
purl Message for cotto stored.
dalek rrot: r38774 | bacek++ | branches/pmc_pct/compilers/pmcc/src/emitter/pmc/default.pm:
First cut for implementing Parrot_default_get_vtable.
11:51
cotto ooh. shiny 11:55
bacek++ 11:58
sleep++
12:40 rg1 joined 12:44 burmas left 13:12 gryphon joined 13:23 ruoso joined
dalek kudo: 705cb2b | pmichaud++ | src/parser/grammar.pg:
Fix use of ļæ½ ļæ½ and << >> in postcircumfix (and operator definitions). moritz++
13:32
14:10 flh joined
flh hi everyone 14:10
purl Howdy, flh, you fantastic person you.
flh purl, good girl
purl thanks flh :)
flh I have a little question about perl6 regexes for my grammar: I'm trying to parse integers or floats, with a rule like "rule int_or_float { <integer> | <float> }" 14:12
moritz sees a problem in there 14:13
try { <float> | <integer> } instead
sorry, I should let you ask your question first ;-)
flh you've almost guessed it
the integer rule is a subset of the float rule 14:14
so in your variant, the <integer> part is useless
moritz and PGE doesn't implement longest token matching yet
so you need something more like { <integer> <float_part>? } 14:15
flh that's a good workaround... since I can distinguish afterwards between the two in the action
does parrot implement <!after...> ? 14:16
14:16 Andy joined
moritz let me check... 14:17
flh your <float_part> makes me think that I could write <integer><!after <float_part>> (not sure about the syntax however)
moritz it would be <!before <float_part>> 14:18
and yes, after and before are implemented
sure you could, at the expense of doing the integer match twice 14:19
flh we agree that it's just a hack until longest match works :) 14:20
moritz aye 14:21
14:23 iblechbot joined
flh ok, there is another problem with that: I don't know how to convince the engine that <float_part> should not be empty (it is [part1]?[part2]? but there should be at least one) 14:24
moritz I'm not sure I understand 14:25
flh: but you might look at rakudo's number matching, src/parser/grammar.pg lines 941 and onwards 14:26
particle- flh: at least one or both? 14:27
or "one or the other"?
flh at least one
purl at least one is probably NO THERE CAN ONLY BE ONE, HIGHLANDER!
moritz what you could do is 'token number { <integer> <!before \\.> | <float> }
particle- ok, group them with []
wait... i have it...
moritz and 'token float { '.' \\d+ | \\d+ '.' \\d* } 14:28
or 'token float { ['.' \\d+ | \\d+ '.' \\d*] <exponential>? }
particle- ...crap... phone call... 14:29
flh and in this case, I would have <integer><!before <dot_part>><!before <exponential>>
moritz or so, yes 14:30
and don't be afraid of whitespaces in tokens ;-)
flh maybe I'd rather just unfold all cases in the float rule, like rakudo seems to do in dec_number
moritz, I know, I just felt a bit lazy here :) 14:31
moritz that seems the least "clever", and thus the most maintainable solution ;-)
flh moritz++ # thanks for the advice, it works and I could even get rid of a "regex" (my <int_or_float> is now a token) 14:42
14:57 davidfetter joined
dalek kudo: 90dbe0b | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 388 files, 11258 passing, 1 failing
15:03
15:11 rdice joined
dalek kudo: 612bcf3 | moritz++ | docs/ChangeLog:
[docs] ChangeLog updates
15:15
15:20 donaldh joined 15:22 eternaleye joined 15:38 whoppix joined
dalek rrot: r38775 | coke++ | trunk/tools/dev/branch_status.pl:
Minor updates to report format

  - sort components case-insenstively
  - sort authors by # commits DESC
  - use "bullet" syntax for Perl6::Form instead of previous hack.
15:55
16:05 darbelo joined 16:06 Theory joined 16:11 HG` joined
darbelo purl messages 16:11
dalek tracwiki: v15 | coke++ | BranchDescriptions 16:12
tracwiki: new report format, plus catch some recent commits.
tracwiki: trac.parrot.org/parrot/wiki/Branch...ction=diff
moritz dalek: try 'messages?' in a query
Infinoid darbelo: you too :) 16:15
darbelo me what? 16:16
purl you are probably Daniel Arbelo Arrocha <mailto:dany.arbelo@gmail.com> or into bonding or mailto:arbelo@gmail.com
Infinoid darbelo: I think moritz was talking to you
moritz erm, yes
I did da<tab>
and it went wrong :)
darbelo Ah. I thought you were trying to get some clever response out of dalek or something like that. 16:17
cotto: ping 16:43
16:43 particle1 joined 16:51 Andy joined 16:54 wilig joined
darbelo purl: msg cotto Can you comment on nopaste.snit.ch/16547 ? 17:15
purl Message for cotto stored.
Infinoid darbelo: Are you unable to add your own #includes in addition to the pmc2c-generated stuff? 17:33
darbelo Nope, that works. 17:34
Infinoid I know I'm not cotto, but I was curious and I don't understand where the bug is :)
darbelo I have a PMC named bar in a file name foo.pmc. 17:35
pmc2c generates pmc_foo.h
Infinoid yeah
oh, hmm
darbelo but includes pmc_bar.h inside foo.c
Infinoid I think we've pretty strictly adhered to the idea of 1 pmclass per .pmc file, and I don't think the idea of naming it differently from the file has ever occurred to me before 17:36
NotFound Currently they differ in case.
darbelo That, on top of my complete inability to write Makefiles, and a name collision caused some serious head scratching for me. 17:37
Infinoid Ok, glad you figured it out 17:38
Is there a good reason to name the pmclass differently from the file? (other than upper/lower caseness, as NotFound said)
If we do want to support that, pmc2c does indeed have a bug
I'm just not sure anyone has tried that before. :)
Coke (differ in case) there's a ticket for that. 17:40
NotFound Forgot to say: several packfile pmc tests failed for me this morning on amd64 machines
Coke RT#39142
NotFound Even worse, they failed differently building with C and with C++
Coke you guys fixing RT#39313 in pmcc? 17:41
or RT#38896 ? =)
Infinoid Coke: This is an issue that came up yesterday with some dynpmcs darbelo is making for his gsoc project
It caused much head-scratching.
Apparently there's an undocumented dependency on the pmc file being named the same as the name in the pmclass line 17:42
If we want to support that, pmc2c needs fixing. If not, emitting a big nasty error message might help 17:43
darbelo Documenting it somewhere is good too. 17:44
17:45 acajou joined
acajou waves hi. 17:45
darbelo The particular case I ran into is not very common, documenting the dependency is probably enough for most people. 17:46
17:46 particle1 joined
Infinoid hi acajou 17:46
darbelo afk # phone 17:47
Coke phoen? 17:51
phone?
purl ~/ Ring, ring, ring, ring, bananaphone! /~
szbalint bongophone? 17:53
NotFound (big nasty error message)++
nopaste "infinoid" at 76.215.211.232 pasted "[PATCH] big nasty error message" (23 lines) at nopaste.snit.ch/16548 18:05
Infinoid I won't commit that, because it's conceiveable that some HLL depends on this (rather insane) behavior. 18:06
darbelo I doubt it. The .c won't compile without the header. 18:07
Infinoid Right, which is why it's insane. But nothing is stopping them from making their own pmc_bar.h header to work around it
So I'd like some parrot designer review before I commit that
Coke more likely to get that with a post to trac. 18:08
Infinoid I have to run, but I will post a trac later
(this phone convo is taking too long) 18:09
darbelo Infininoid++
Coke Infinoid++ # spell it right? 18:10
darbelo Sorry, I underuse my tab key. 18:11
NotFound Some people overuse it, there must be some compensation law 18:12
darbelo I'm an over-user myself, but I twisted my tab-finger two days ago. 18:13
It make using emacs-y editors real fun too. 18:14
particle- just remap it to 6 or something.
darbelo Nah. It'll be fine by the time I get used to the new map :) 18:15
Infinoid posted that patch as TT #665 18:19
Infinoid bbl &
Andy Is anyone else at all interested in splint? 18:21
Coke yes. 18:25
Andy are you running it at all?
Coke No. I fought with it some time ago on OS X. 18:26
Andy oh, and you're OS X only?
NotFound $ make splint
/usr/bin/perl -MExtUtils::Command -e mkpath /splint
mkdir /splint: Permiso denegado at /usr/local/share/perl/5.10.0/ExtUtils/Command.pm line 259
Coke I have access to other platforms, but it's my primary dev platform. 18:27
NotFound Where does it try to create a directory?
At root?
Andy oh, I bet it's relying on TMP 18:28
NotFound Looks like that, yes. 18:29
Andy well, that's easily addressed
NotFound Hundreds of messages
Andy well, yes 18:30
hundreds
purl well, hundreds is like thousands, only smaller
Coke Andy: just did a 'make splint' after months of not looking at it.
endless stream of warnings. =-)
Andy actually, I've been working on make splint-andy
NotFound Even millions
Coke so splint seems to be working.
Andy well, good
I'm doing lots of flag clenaup 18:31
an ideal couch exercise. 18:32
splint-andy is only one single file that I focus on, plus some other things i test on.
NotFound Enough work for me to maintain c++ buildability, I can't even imagine how much work can be to make splint happy
Coke does 'make splint' save its output, or just dump to std*? 18:33
Andy You don't do it all at once.
std*, coke
NotFound: My first fixes are just shutting up the noisiest, and then I hope we get to the real wins, where it tracks who's using pointers where.
NotFound Andy: that will be great 18:34
Andy I'm hoping so. 18:35
I see great promise.
Infinoid Andy: Interested in splint, yes. Used it any time in the last year or so, no
Andy k 18:36
Infinoid is splint-andy in trunk?
Coke yes.
Infinoid awesome.
Coke (that's the one that makes /splint. =-)
Andy Yeah, Andy doesn't believe in branches. :-) 18:37
Infinoid hmm, splint won't install on gentoo 18:38
* File 'splint-3.1.2.src.tgz': failed integrity checks: Incorrect file size
Must be teh hax0rs.
Andy there ougtha be a package for it.
Infinoid on Gentoo, the "package" is a bash script that compiles it from source... kinda like bsd ports. 18:39
dalek rrot: r38776 | coke++ | trunk/config/gen/makefiles/root.in:
[docs] add a note to the splint-andy target.
Andy Holy shit, I just got the Follett Values In Action award for pushing wikis. 18:45
Infinoid Andy++ 18:46
Andy Yay for pushing wikis. 18:47
particle- hates wikis
particle- still <3 andy
Andy For this group that i was pushing, it made lots of sense. 18:53
Infinoid purl, andy? 18:54
purl andy is the man with the feathered broom or mailto:andy@petdance.com or AIM:petdance or OK cat-xeger is BACK or trying to get Sun Studio 12 installed so I can lint lint lint.
Infinoid andy is also a wiki pusher
purl okay, Infinoid.
Andy Andy is also Mr. Perlbuzz
purl okay, Andy.
cotto darbelo, pong 19:07
sometimes it's two seconds, sometimes two hours 19:08
darbelo No problem. I forgot to unping you after talking with Infinoid . I was just looking for opinions on pmc2c behavior. 19:09
cotto so you got it figured out? 19:10
or at least got a ticket filed
darbelo Yeah, the last commit from last night 'fixed' decnum-dynpmcs. Infinoid made a ticket and patch for pmc2c today. 19:11
cotto I'm not sure if there's an easy way to support mismatched names, since the names are used in figuring out inheritance
pmichaud's recent rakudo work is shiny 19:12
darbelo Infinoid's patch make pmc2c error out on mismatched names. Which is probably TRT.
cotto I think that's correct.
darbelo It wan't commited becouse somebody might be relying on the way it works now. Unlikely, but it's better safe than sorry. 19:13
cotto yeah. Not committing stuff like that until after a deprecation point is annoying, but it's part of trying to make Parrot a more mature proejct. 19:15
Infinoid I'm not really sure it's a deprecation issue, I just want some more opinions on that first 19:16
It's TT #665.
(I'm not really sure *why* someone would want to rely on insane behavior, but I can't completely rule it out.) 19:17
darbelo I think that if you rely on that you deserve the breakage :)
19:21 donaldh joined
darbelo Also, a PMC witha different name from the PMC file won't build without some rather icky workarrounds (or, in my case, some really unlucky circunstances) 19:21
cotto: I don't think you saw the error I was getting. I had leftover files from an earlier build and wasn't experiencing the 'no decbase.dump' failure. It was another thing entirely. 19:24
cotto Yeah. When I manually generated decbase.dump, I got a different error from gcc. 19:25
darbelo Missing struct members?
cotto I don't recall.
by the time I got around to digging into it, you'd already fixed it. ;) 19:26
darbelo It doesn't matter anymore. Now it builds, time to get it working :)
A possibly unrelated warning: ./decnum2.c:391: warning: implicit declaration of function `Parrot_decbase_ro_update_vtable' 19:28
I think it might be due to the 'empty' DecBase. Should I worry about it? 19:30
cotto checking... 19:32
purl checking is just different
cotto I'm not sure what's causing that, but it looks like pmc2c is generating two sets of update_vtable functions; one with "decbase" and one with "DecBase". 19:33
darbelo pmc2c-- 19:34
cotto ok. It looks like the problem is that you say "extend decbase" instead of "extend DecBase" in decnum2.pmc. 19:35
pmc2c should definitely be smarter about that.
darbelo me--
cotto nah. you're just running into unexpected usage scenarios that pmc2c doesn't handle gracefully. 19:36
dalek cnum-dynpmcs: r36 | darbelo++ | trunk/src/pmc/decnum2.pmc:
Parrot_gc_mark_PObj_alive() the correct pointer.
cotto It works most of the time, but it's fairly fragile in a number of ways.
cotto karma pmc2c 19:40
purl pmc2c has karma of -1 19:41
cotto karma pmcc
purl pmcc has neutral karma
cotto pmcc+
pmcc++
pmcc+++
darbelo ++pmcc ?
dalek cnum-dynpmcs: r37 | darbelo++ | trunk/src/pmc/decnum2.pmc:
Use proper capitalization on the 'extends' line.
rrot: r38777 | petdance++ | trunk/config/gen/core_pmcs.pm:
Added error checks on close(). Made a standard read-only coda for the generated files. Turned off unnecessary interpolation.
19:43
cnum-dynpmcs: r38 | darbelo++ | trunk/src/pmc/decnum2.pmc:
Oops. s/DecNum/DecNum2/ in VTABLE signatures.
19:51
cotto btw darbelo, you should try to avoid compiler warnings during the build. 20:02
At best they're annoying, but they'll occasionally point to actual bugs that would otherwise take time to find and fix. 20:03
20:05 Coke joined
cotto s/best/worst/ 20:06
20:07 Ademan joined 20:11 Theory joined
dalek kudo: bd9fafc | pmichaud++ | src/builtins/match.pir:
Update make() to give a slightly more useful warning when $/ not set.
20:18
20:19 Eevee joined
dalek kudo: 52d8f28 | jnthn++ | src/builtins/guts.pir:
First crack at applying custom user traits to blocks. Hopefully we can eventually get rid of the special cases. A spectest fails if we blow up on unknown triats, so for now we'll just warn.
20:24
kudo: ce81644 | jnthn++ | src/parser/ (2 files):
Start parsing and emitting trait_auxiliary definitions.
darbelo cotto: What warnings are you seeing? 20:33
cotto a bunch of casting warnings 20:34
./decnum2.pmc:105: warning: request for implicit conversion from ā€˜void *’ to ā€˜union decQuad *’ not permitted in C++
darbelo Ah, yeah. I declared number as a 'void *' to avoid patching pmc2c to accept unions. 20:36
particle- void-- 20:37
Andy That's so zen.
Trying to decrement void.
cotto ponders
cotto has become enlightened 20:38
Infinoid *bing*
darbelo I could make all the casting explicit, that should please c++.
Andy I was working on my Just Enough C slides and talking about void
and casting, and explaining that casting in Perl and PHP and the like are coercions. 20:39
but in C, it's saying "I know what I'm doing, dammit, leave me alone"
cotto what's that presentation for?
Andy OSCON
it's a half-day tutorial. I did a 45-minute talk last year. 20:41
slides for the latter are on slideshare
Util purl: msg jonathan (re: pbc_to_exe patch) thanks for trying. I now have access to a MSVC 13.0 compiler, and will try one last technique tonight to resolve the problem. I will replace the string array and the for loop with hundreds of memcpy() and bzero() calls. I will also refine the patch to detect cc=cl instead of just os=win32. 20:45
purl Message for jonathan stored.
Util cotto++, jonathan++, NotFound++ for the help.
moritz and Util++ for doing it ;-)
NotFound Util++ 20:48
Coke tcl: puts hi 20:55
perl6: say "hi"
seen polyglotbot?
purl polyglotbot was last seen on #parrot 43 days, 23 hours, 19 minutes and 1 seconds ago, saying: OUTPUT[Infinoid-- # it stopped working!␤] [Mar 31 21:33:40 2009]
moritz Coke: the vm on which it used to run (feather3) wasn't restarted on last reboot 20:56
Infinoid ... ouch. 20:59
dalek kudo: fe54884 | moritz++ | t/spectest.data:
test importing of operators
Infinoid the angry ghost of polyglotbot attacks Infinoid for 1hp damage 21:00
rg infinoid: are you sure purl parses her own output?
cotto rg, I'm pretty sure she doesn't 21:01
rg that would be my guess aswell
Infinoid heh, good point
cotto She does parse ours, though.
moritz purl: do you parse our output? 21:02
purl moritz: wish i knew
cotto she's playing dumb. She's an expert at it.
darbelo purl: seen darbelo? 21:03
purl darbelo was last seen on #parrot 0 seconds ago, saying: purl: seen darbelo?
Infinoid not easily fooled, that one.
darbelo If she parsed her own output she should have replied to her own seen darbelo? 21:04
or maybe not.
moritz purl: footest is purl-- 21:05
karma purl?
purl purl has karma of 8568
moritz footest?
purl moritz: far above the bay; flower ball; forty two; uprushing and away; one color among the rest; it's not a pumpkin; swoosh; broadleaf reflection; i'm surrounded; curving into infinity; leaf on fern; power line in the corner; towering footstool #2; towering footstool #1; _RS16587; shadowy path; below the roots; flowers, flowers everywhere; sprouting in the foreground; is it a cloud or is it a mountain
moritz wtf?
darbelo karma foo
purl foo has karma of 18
moritz purl: fooalarm is purl--
karma purl
purl purl has karma of 8567
moritz fooalarm?
it doesn't store it all ... 21:06
jonathan purl, fooalarm is purl--
darbelo foo++
moritz purl: fooalarm?
purl i haven't a clue, moritz
jonathan heh
purl, c++ 21:07
not_darbelo seen darbelo?
purl darbelo was last seen on #parrot 40 seconds ago, saying: foo++
not_darbelo karma foo
purl foo has karma of 19
jonathan I wonder if a line that contains a karma is not then analysed for storage.
rg looks a lot like it
not_darbelo There. She doesn't parse her own output. 21:08
darbelo karma-wise
Infinoid: The ghost of the polyglobot misses! 21:09
moritz I can send in p6eval 21:10
but the only language it understands is Perl 6
Coke works around a stupid unicode bug. 21:13
Coke wonders why a application meant to run globally isn't using unicode strings in the DB. "sigh" 21:14
dalek kudo: c223b06 | pmichaud++ | src/builtins/eval.pir:
When reading Perl 6 files, evalfiles needs to assume utf8 encoding.
21:23
kudo: f7dbcce | pmichaud++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
mj41 Hi. Another small step on TapTinder road, see test diff tinyurl.com/obwo2j Good night from Czech republic :-). 21:27
Infinoid darbelo: Hmm, my #665 patch breaks stuff. t/tools/pmc2c.t .. PMC filename pmc2c.t_1.pmc does not match pmclass name a! 21:29
cotto Infinoid, if that's the only thing that breaks, then the test probably needs to be fixed or TODO'd. 21:32
dalek rrot: r38778 | chromatic++ | trunk/src/pmc/nci.pmc:
[PMC] Avoided an unnecessary STRING copying and creation in NCI's

no point in creating another constant string (even if we do cache constant STRINGs). This gets called mostly at initialization time, when initializing MULTI variants from compile-time constants anyway. This change speeds up Parrot initialization by 2.59%.
21:35
Infinoid Yeah, I'll update the patch 21:36
The whole test needs some creative tmpfile handling 21:38
cotto I'm not convinced of its value. 21:39
Infinoid Having pmc2c.t is better than not having it 21:40
cotto It seems very specific to pmc2c rather than testing that it dtrt and generates usable code. 21:41
Infinoid If you want to reappropriate the test for pmcc, I won't stop you 21:44
Hmm. At the point when "make test" runs, parrot itself has already been built, which implies that all the build tools (like pmc2c) have already more or less worked
cotto pmcc already has its own tests.
Infinoid, exactly
dalek rrot: r38779 | chromatic++ | trunk/src (2 files):
[MMD] Changed MULTI initialization to delay generating type typles of candidate

  (There's probably another optimization here.) This avoids a lot of temporary
STRING creation and manipulation for MULTIs which may never get called and improves Parrot's startup time by 14.81%.
21:45
darbelo Infinoid: I checked the test out and the generated files won't build. The test only checks that the files get generated, not that they are buildable. 21:57
So generate wrong files => pass. Choke on invalid input => fail. 21:58
Infinoid yeah 21:59
beautiful, huh?
darbelo The patch didn't break anything that wasn't broken before. It just exposed it. Thats plus in my book. 22:00
(Exposing brokenness)++ 22:02
cotto darbelo, around here we like to kill the messenger. Sorry. 22:03
If your code breaks Parrot, your code is clearly doing something wrong.
darbelo Heh. End users will reverse that argument on you when parrot get more visible, so it evens out in the long run ;) 22:06
cotto We solve that problem by being hostile to end-users. 22:07
It's a very simple and elegant solution. 22:08
darbelo Pfft. I use OpenBSD, you all look like tame kittens to me. 22:09
rg heh, yeah. they haven't met theo ;) 22:10
darbelo "Go use linux, you [REDACTED]"
22:16 acajou left 22:31 kid51 joined, eternaleye joined
dalek rrot: r38780 | allison++ | trunk/ports/ubuntu/control.in:
[ubuntu] Don't bother with custom Ubuntu section names.
22:35
22:53 Theory joined
darbelo Speaking of breaking: 23:04
../instdir/bin/parrot:/home/darbelo/parrot/instdir/lib/1.1.0-devel/dynext/decnum_group.so: undefined symbol 'Parrot_DecBase_class_init'
lazy binding failed!
Segmentation fault (core dumped)
23:05 tetragon joined 23:06 whoppix_ joined
darbelo Somebody didn't like an empty DecBase. 23:06
Infinoid thought those weren't supposed to be global/exported any more 23:09
darbelo DecBase is extended by DecNum2 and DecContext. And all three are in the same group. 23:12
Infinoid Are you calling 'Parrot_DecBase_class_init' directly? 23:17
Or is it something that was called internally?
(in other words, was it called by parrot or by decnum_group.c?) 23:18
darbelo I think it was parrot. DecBase is an 'empty' abstract PMC. Just one ATTR, no VTABLEs, no METHODs. The other PMCs just inherit it. 23:19
23:20 donaldh joined
Infinoid I can try to reproduce it here 23:21
darbelo svn checkout decnum-dynpmcs.googlecode.com/svn/trunk/ somewhere 23:22
relevant files are decnum2.pmc, decbase.pmc and deccontext.pmc
Or if just need to look at the code: code.google.com/p/decnum-dynpmcs/so...nk/src/pmc 23:23
Infinoid nice. 23:25
Reading configuration information from ../test/parrot_config
Creating src/pmc/Makefile
Can't open perl script "/usr/local/lib/parrot/1.1.0-devel/tools/dev/gen_makefile.pl": No such file or directory
(that probably isn't decnum-dynpmcs's fault)
darbelo Ah. I forgot about that. I caved in and installed parrot on $(WORKDIR)/../instdir/ 23:26
I blame it on parrot_config not making up it's mind wether it's installed or not. 23:27
Infinoid parrot_config is fine, tools/dev/mk_language_shell.pl hardcodes the installed path 23:28
afk-coke parrot_config is NOT fine. :P 23:29
\\/nick Coke
Coke parrot_config is NOT fine. :P 23:30
darbelo A parrot configured with --prefix=/home/darbelo/some/path and installed there doesn't have any references to /usr/local that I noticed.
Infinoid ok. but parrot_config isn't the cause of this 23:31
Coke -> reboot
darbelo Configure.pl is looking for my $build_tool = $config{libdir} . $config{versiondir} . '/tools/dev/gen_makefile.pl';
nopaste "infinoid" at 76.215.211.232 pasted "mk_language_shell-depends-on-installed-parrot.patch" (21 lines) at nopaste.snit.ch/16551 23:32
Infinoid darbelo: I applied a similar patch directly to your Configure.pl and now it didn't give me any errors
Of course, it doesn't build either, there are other similar problems
darbelo Send me the patch and I'll commit it. 23:33
Infinoid Let me make sure I'm going down the right path first
23:34 Coke joined
Infinoid ok, it's still depending on installed parrot for pmc2c.pl, the -I lines, and all kinds of other things 23:35
darbelo It's the Makefile.in templates, they all reference @libdir@. 23:36
Infinoid Yeah, I'm backtracking to try to find an easier place to fix it
Ok, that failed 23:41
23:43 bacek_ joined
dalek cnum-dynpmcs: r39 | darbelo++ | trunk/examples/dec (2 files):
(from /trunk/examples/deccontext.pir

   Rename example.
   Fix the loadlib line.
23:49
darbelo If it had worked, you'd be testing the wrong lib. ;) 23:51
Hmm what arch are you on? 23:56
Infinoid x86-64 linux 23:57
dalek kudo: b41e13b | tene++ | perl6.pir:
Migrate Rakudo to use .HLL 'perl6'
Infinoid darbelo: are you seeing all those C++ warnings? 23:58
darbelo Yes, It's becouse one of the ATTRS is a "void *". So far they've proven harmless. 23:59