Please mentor for SoC | parrotcode.org/ | YAPC::NA talks deadline is Sat Mar 15 | tinyurl.com/2pmnlq
Set by moderator on 8 March 2008.
Tene Yay, segfault! 00:00
Infinoid heh. I don't understand perlio.c, either.
#define PerlLIO_dup(fd) dup((fd)) 00:01
#define PerlLIO_dup2(fd1, fd2) dup2((fd1), (fd2))
ah. win32 uses stdio, not file descriptors, so they specialcase their dup routine to call win32_dup(win32_fileno(file)) 00:04
Tene Hmm... there's a problem with the io layer. 00:05
chromatic Hey, we're down to one. Nice.
nopaste "tene" at 166.70.38.237 pasted "problems with PIO_dup" (86 lines) at nopaste.snit.ch/12478 00:07
Infinoid fd=-1 00:08
Tene Ahh.
Well, that's a problem.
chromatic Welcome to PDP-8 assembly language.
Tene What's the difference between dup'ing the fd and re-opening the same fd? 00:13
Infinoid depends a lot on where it came from 00:14
if you open a file twice, changes made to one fd will supercede changes made to the other
Tene Infinoid: fdopen() the same fd, that is. 00:15
Infinoid oh. fdopen() is just C library stuff, it will behave the same as a dup()'d fd 00:16
Tene I'm doing something wrong with the ParrotIOLayer.
Infinoid hrm 00:17
except that fclose() on both FILE*'s will try to close() the same underlying fd twice
when you destroy one file handle, the other one becomes inoperative 00:18
did you figure out why dup() returned -1? was the input valid? can you check errno? 00:20
Tene The problem I'm working on right now is that I can't get a valid ParrotIOLayer. Both ->stack of the pmc it's called with and interp->piodata->default_stack throw segfaults when fdopen_down tries to access ->api on them. 00:22
they're 0x20 and 0x1b respectively, which don't look like valid pointers.
Infinoid ok. in PIO_dup, layer is a copy of io->stack 00:26
io is the pmc data pointer, casted to ParrotIO
if io->stack is 0x20, are you sure that was really a ParrotIO PMC? 00:27
Tene It's called like: 00:28
PMC * const dest = PIO_dup(SELF);
from parrotio.pmc
Infinoid ok, that makes sense 00:32
00:33 GeJ joined
Infinoid do you have to pass in INTERP too, or does the pmc2c thingy handle that for you? 00:34
Tene ... 00:35
I think I have to pass that myself.
Infinoid the odd thing is, if it was supposed to be "PMC * const dest = PIO_dup(INTERP, SELF);", I would have expected the compiler to barf 00:36
Tene Yeah, me too.
Infinoid missing a prototype perhaps?
Tene I don't know where I should put a prototype. 00:37
i could find one mentioned for PIO_destroy anywhere.
compiles fine with INTERP being passed in and seems to run fine, too.
Infinoid the prototype for that is in include/parrot/io.h
Tene Except for that same double free I was trying to get rid of in the first place. ;)
Infinoid so, invalid pointer problem solved? :) 00:38
Tene Yes.
Infinoid great. so, your strategy is basically to take a new fd (created with dup()), and wrap a new ParrotIO around it, right? 00:39
Tene Right.
Infinoid that sounds good... no chance of sharing the same allocated buffers, thus, no chance of double frees
what's your PIO_dup() look like currently?
nopaste "tene" at 166.70.38.237 pasted "PIO_dup" (30 lines) at nopaste.snit.ch/12479 00:42
Infinoid if newfd is -1, I'm really curious what io->fd was, and also, what errno is 00:43
chromatic Do you mean to use io->fd or newfd in PIO_fopen_down? 00:44
Infinoid he replaced newfd with io->fd because newfd was -1 00:45
the disturbing thing is, even after creating a new ParrotIO around the same fd, he still sees a double free.
chromatic There's no code in the -1 case here.
Tene No, newfd isn't getting set to -1 anymore. 00:46
Works fine with newfd, just put it back. 00:47
Infinoid getting a double free?
Tene Yes.
Now trying to figure out where.
Infinoid valgrind might help 00:48
also, at some point it's probably a good idea to put some real error checking in there for the return value of dup()... you never know, big processes might run out of fds 00:50
chromatic real_exception... errno... 00:51
nopaste "tene" at 166.70.38.237 pasted "assign_pmc" (20 lines) at nopaste.snit.ch/12480
Tene When I add that PMC_data(other) = NULL; the double-free goes away.
Doesn't go away when I do it to the clone. 00:52
... oh. 00:53
I was returning new_io_pmc(io), not (newio)
Infinoid awesome 00:54
Tene Huh. It works.
purl of course it works
Coke tello? 00:55
Coke pats purl onna head.
hurm. I'm supposed to see a 3 element list. instead, I see the number '3'. This *should* be easy to track down. 00:57
Infinoid scalar context? :) 00:59
chromatic Scalar context and Tcl... yeah, that's head-explodey. 01:00
Tene some tests in t/postconfigure/ always hang for me, but seem to complete successfully if I ^C them. 01:01
Coke puts [join [list {*}{a b c}] ,] # should print "a,b,c\\n", instead prints "3\\n". It's related to the {*} syntax. (yes, tcl has syntax now. Shhh. It'll be ok.) 01:02
Tene what does {*} do? 01:04
Coke it expands the next word into multiple words. 01:06
it's as if you had typed: puts [join [list a b c]]
which is much handier when the thing following {*} is not a literal, obviously. 01:08
01:20 Ademan joined
Coke is lost in sea of trace output and gives up for the night. 01:22
kid51 Tene: can you send me instances of those t/postconfigure/ tests hanging, including OS/platform details? 01:47
And can you pinpoint hang locations by running prove -v?
I wrote the tests, but have never experienced this hanging or heard reports of that. 01:48
Also: Are they hanging during 'perl Configure.pl --test' or during 'make test'?
02:05 particl1 joined 02:10 chromatic joined 02:28 rdice joined 03:19 teknomunk joined 03:50 b2gills left
Tene So, if 'make test' passes just the same after my ParrotIO changes, it should be okay to commit? 04:07
particle yep 04:08
PerlJam Tene: if not, someone will scream at you :-)
04:09 Ademan joined
PerlJam woo ... I'm losing it. I just tried "perl perl6.pbc" several times and was puzzled why it wasn't working. 04:19
Tene Heh.
particle hrmm... maybe you should build perl with an embedded parrot and direct it to run .pbc files via parrot. 04:21
it's definitely a sign.
PerlJam Well ... I /have/ wanted access to p6 regex (PGE) in perl 5 on occasion ... ;) 04:22
chromatic ext/Parrot-Embed/
avar Are there any examples of how to use specific pir libs w. Parrot::Embed and how to convert pir->perl datastructures? 04:23
PerlJam avar: I don't know how chromatic's parrot column it going, but that sounds like a good topic at some point ;) 04:26
Tene Okay, I'm looking at include/parrot/io.h and I'm uncertain about the attribute and FUNC_MODIFIES stuff. It looks autogenerated. Is it a generated file? 04:27
particle if it's generated, it'll be in a comment at the top
Tene Oh, clever! 04:28
Okay, thanks.
particle++
avar PerlJam: If someone parrot-y could spoonfeed me info I might bother to write re::engine::PGE :) 04:29
PerlJam avar: what info do you need?
(how much spoon feeding do you require?) 04:30
particle looks for a silver spoon
PerlJam are the pmcs in languages/perl6/src/pmc used for anything? 04:31
particle yes
PerlJam or, put another way, how can I make perl6.pbc use the perl6bool.pmc?
particle see languages/perl6/Makefile
avar PerlJam: I'm not sure, I just remember peeking at it once and being very confused:)
How to make a match and access match buffers and such would be nice 04:32
PerlJam particle: been there, done that, but my changes don't seem to have affected anything.
avar And how to feed it a new grammar etc.
But I really don't want to bother anyone else with it unless they're really excited about it since I'm being really lazy about it:)
particle omg my head just exploded 04:33
i imagined using re:engine:PGE to run Perl5Rules in perl 5
er, Perl5Regex
Tene I'm rather uncertain about my addition to include/parrot/io.h 04:34
Is it enough to bother asking the list, or just commit and let someone complain to me about it?
particle well, we don't like it when trunk breaks
but if make test passes. what's the prob? 04:35
PerlJam particle: for instance, as a test, I made perl6str.pmc's get_integer routine always add 7 to the value it returns, yet I can't get perl6.pbc to ever do that.
particle i've fallen way behind on reviewing commits, but chromatic reviews most (and all c commits afaict)
avar PerlJam: It's probably best not to make it a re::engine 04:36
PerlJam avar: there is a bit of an impedence mismatch between the perl5 "interface" and the perl6 semantics.
$0 vs $1 for instnace 04:37
avar The main problem is that p5 regexes are strings and p6 regexes are objects
particle p5 regexes are still strings?
PerlJam yeah, I was just about to say something about hacking a "match object" :)
particle hrmm. a reentrant string. 04:38
PerlJam avar: qr// gives an object doesn't it?
avar No they're first class objects (in 5.11) but you always end up with the quote problem
particle i suppose that makes as much sense as "a reentrant object"
avar yeah, but the // part quotes which will screw you up in lots of cases
PerlJam avar: you can't turn off the quoting and just grab what's in between and shunt it off to the re engine? 04:39
avar no, it'll still be interpolated
PerlJam avar: or, better yet, morph the quoting to use perl6 rules.
avar But generally it's just a lot of troble and it would be easier to start by doing my $rule = Grammar::Foo->new; my $m = $rule->match($str): say $m->[0]; and so on 04:40
04:41 Theory joined
particle could possible be shimmed in with m/(?p6).../ 04:43
avar Yes, I'm just saying if you want a p5 interface to pge it's best to start by doing a regular XS/Parrot::Embed module rather than using re::engine stuff 04:45
particle yep. i'm not too interested in that, though 04:46
i'd rather get p5 on p6 or parrot
or just xlate
avar Well, if you'd get PGE working on something people actually use in production you'd have a lot more .pg stuff to play with once p6 becomes usable:) 04:47
particle i hope that as parrot approaches 1.0 this year, it'll be used in production 04:48
PerlJam I hope that as rakudo approaches perl 6, it'll be used in production :) 04:50
(I'm not so hopeful for "this year" as I should be though) 04:51
particle yeah, meetoo
my tuit supply is near nil lately
PerlJam particle: do you know why Str.pir does $P0('String', 'Str') and $P0('Perl6Str', 'Str') (where $P0 is make_proto) > 04:53
er ?
purl derrr.. or www.imdb.com/title/tt0108757/
PerlJam that would seem to map both String and Perl6Str to the Str type in perl 6 04:54
particle that's exactly right
PerlJam but that doesn't make much sense to me since Perl6Str extends String
particle but sometimes you are dealing with a parrot String 04:55
and you want to treat it as a Str
it's a bit of a mess that needs cleaning eventually
PerlJam okay, then how would I do the same for Bool? 04:56
(All I wanted to do was something simple to whet my appetite and hone my skills a little before I tried something slightly more complex and simple is turning out to not be so)
particle what do yo want to do with bool?
PerlJam I was just trying to implement increment() and decrement() 04:57
(in Perl6Bool.pmc)
currently it appears that the only pmc that's actually used is perl6str.pmc 04:58
particle hrmm
c:\\usr\\local\\parrot\\trunk\\languages\\perl6>perl6 -e "say 1 ~~ Bool::True"
1
PerlJam Maybe I should just skip to my next trick which was to implement increment() and decrement() for Perl6Str
particle the ACCEPTS method is definitely called for Bool 04:59
PerlJam um ... where is ACCEPTS documented? 05:01
svnbotl r26320 | tene++ | trunk: 05:02
: Fix ParrotIO's clone()
: Add PIO_dup to dup an fd
: Add a set_pmc to ParrotIO
: chromatic++ pmichaud++ Infinoid++
PerlJam Tene++ again! :)
particle .sub 'increment' :method
$P0 = get_global 'True'
.return ($P0)
.end
that'd be my off-the-cuff guess for increment 05:03
PerlJam particle: I can do it in pir, the execise here was for me to do it in the .pmc file.
particle oh. i see.
src/classes/Bool.pir is where i was looking
i guess i didn't realize you were looking at src/pmc/ 05:04
PerlJam I'm looking at both because they apparently interact.
or, they would if I could make make_proto('Perl6Bool','Bool') work :)
particle ok, well perl6bool isn't built
there's no perl6bool.c file on my system 05:05
PerlJam particle: it is in my copy :)
as I said, perl6str.pmc appears to be the only one of the pmcs that's actually in use.
particle ok, so you have METHOD increment() { ... }
PerlJam: onload in bool.pir makes objects of type Boolean 05:09
and sets them as globals
PerlJam I can tell you exactly what I have: METHOD increment() { SELF.set_bool(1); } and then in Bool.pir, I replaced $P0('Boolean', 'Bool') with $P0('Perl6Bool', 'Bool');
particle ok 05:10
what happens?
of course, you also modified the makefile to build perl6bool.pbc
PerlJam yep
and my test is: parrot perl6.pbc -e 'my $x = Bool::True; $x++; $x++; say $x;' # I expect to get a 1 as output. 05:11
I get 3
particle ok, so find out what type $x is
PerlJam er, how? 05:12
purl i think er, how is that a problem ?
particle i bet it's Integer
$x.WHAT iirc
PerlJam oh, right. I'm not fully in perl6-think right now.
Bool
particle maybe $x.WHAT.WHAT 05:14
PerlJam still Bool :) 05:15
Is there a way to trace the method calls?
particle not really, no
particle is in really-tired-wife-is-away-two-beers-for-dinner-mode 05:16
davidfetter hands particle another beer 05:18
particle PerlJam: try SELF.set_integer(1)
PerlJam I've convinced myself that my increment() method isn't being called at all. 05:19
wknight8111 Force your increment method to output an error diagnostic. It's crude, but it should show you if something is happening 05:20
PerlJam (I added a printf(), re-make, and don't see the output. I did the same with perl6str and I do see the output (yay! a positive result) )
:-)
wknight8111 ...nevermind then
PerlJam okay, that's weird. 05:21
oh, no it's not.
particle alert('foo'); 05:22
PerlJam get_string() is called from the pmc just fine.
05:22 teknomunk joined
particle please tell me your increment sub is before the final } 05:22
PerlJam yes. :-P 05:23
particle good, because i would have been upset if you weren't getting compile errors
PerlJam aha! s/METHOD/VTABLE void/ 05:24
PerlJam does the happy dance
particle ahhhh.... duh.
PerlJam doesn't understand it all yet, but it's sinking into the grey matter slowly 05:25
particle good point, though. i find it odd that the perl 6 pmc's functions aren't decorated with METHOD or VTABLE 05:26
it should be REQUIRED by pdd17
perhaps chromatic's parser is still forgiving
PerlJam now to adding increment and decrement to perl6str :-) 05:27
s/ing//
er, how do I remake the Makefile? 05:30
particle make Makefile 05:31
purl i heard make Makefile was a shortcut
PerlJam i.e., it's generated from config/makefiles/root.in
particle that's one of my favorite hacks
PerlJam It mildly bothers me as it's so close to make -f Makefile 05:32
but, still neat :)
svnbotl r26321 | duff++ | trunk: 06:02
: [rakudo] implement auto{increment,decrement} semantics as per S03
diff: parrotvm.org/svn/parrot/revision/?rev=26321
PerlJam boy that was a useless message. It didn't even mention Bool 06:04
PerlJam was distracted by using "git svn" to push something upstream for the first time. 06:05
chromatic Is Bool now one of the Rakudo PMCs, and built by default? 06:06
PerlJam yes.
chromatic Good stuff. 06:07
Hm, the commit mail is taking a while to come through. 06:14
I can't abuse you^Hyour patch until it does. Sigh.
PerlJam chromatic: my next commit will venture into territory I'm even less familiar with (I'm going to flesh out initial implementations for auto{inc,dec} strings) 06:16
I'm not really sure about STRING* v. char and such. (I assume that I should use INTVAL rather than int too) 06:17
er, s/char/char*/
chromatic There are encoding considerations. That could be tricky. 06:19
Start with STRING and only use char if lathos says you can.
(I suspect that he will not.) 06:20
PerlJam well, I figure I'll do something very ASCII (since that's better than /* do nothing */) and then let someone else show me the right way to respect encodings, etc.
also, there appears to be some prior art of ignoring the encoding in perl6str.pmc so I wouldn't be treading anywhere someone else hasn't already tread :) 06:22
lathos If only someone wrote a design document about all this. 06:23
PerlJam senses sarcasm
lathos svn.perl.org/viewvc/parrot/trunk/do...iew=markup 06:24
shorten lathos's url is at xrl.us/bhjfk
chromatic I skimmed the doc; it's not entirely clear to me how to make increment/decrement respect encodings.
PerlJam lathos: tell me, how do I do the equivalent of isalpha() or isdigit()?
chromatic Then again, I have very much not the smartest person in the room syndrome with regard to this.
lathos The problem is that the whole infrastructure just isn't there right now, so it can't be helped. 06:25
Right now it's unfortunately probably best just to hack away and we'll clean it up later.
PerlJam that's exactly what I figured. 06:26
chromatic When you commit, then file a bug that it needs robustification.
PerlJam will do
lathos But if you're doing stuff like isalpha (or anything really), it could be worth creating a stub Parrot_string_isalpha (or whatever) abstraction and we'll make *that* do the right thing later, rather than having to go through everyone's code looking for all the different ways they've done things..
chromatic There are some suspicious functions in src/charset/*.c 06:27
lathos Everything in src/charset is suspicious. :(
PerlJam heh ... I'll just use to_ascii() first ;) 06:28
lathos is_cclass does look like the right thing.
PerlJam perhaps someone who knows what's what could satisfy RT#48260 06:29
is there a pastebot on this channel? 06:38
oh, never mind
purl Okie dokie
Tene purl: nopaste 06:39
purl nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or paste.husk.org/ or poundperl.pastebin.com/ or paste.scsys.co.uk/ or don't bother me while I'm eating
PerlJam Tene: yeah, I got it. (there are so many different names to remember in all of the channels I frequent)
nopaste "PerlJam" at 75.43.16.244 pasted "Perl6Str autodecrement implementation." (42 lines) at nopaste.snit.ch/12488 06:40
PerlJam here's a first cut at autodecrement. Be kind I haven't coded in C in a while.
but feedback is *most* welcome. 06:41
chromatic I'm getting lost in the single- and double-character variable names.
s and i I get, but....
PerlJam sx and ex are just the previous values of s and e so we can take care of finding the . if there is one. 06:43
(so that blah-999.jpg becomes blah-998.jpg) 06:44
lathos Do extra characters really cost that much? :)
PerlJam btw, is there a tool that tidies C code to whatever the standard is for parrot? 06:46
(well, something that I can apply to the .pmc file)
chromatic svk diff | mail -s 'chromatic|Andy please tidy my code'
PerlJam chromatic: well, if you don't mind the busy work, feel free to recast that paste in a more parroty manner. :-) 06:48
chromatic If you fix up the variable names and throw in some newlines, I'll poke at it. 06:50
PerlJam It's nigh on my bedtime, so perhaps tomorrow. 06:55
good night all.
07:05 uniejo joined
svnbotl r26322 | chromatic++ | trunk: 07:11
: [IMCC] Sped up compute_dominators() by about 75%. In particular, walking
: backwards through the three-level runner loop is responsible for most of the
: gains.
diff: parrotvm.org/svn/parrot/revision/?rev=26322
r26323 | chromatic++ | trunk: 07:30
: [IMCC] Minor cleanups of this file.
diff: parrotvm.org/svn/parrot/revision/?rev=26323
07:46 cognominal joined 07:47 cognominal left 07:48 cognominal joined 08:09 iblechbot joined 08:11 wknight8111 joined
svnbotl r26324 | fperrad++ | trunk: 08:14
: [Lua]
: now works without --no-gc
diff: parrotvm.org/svn/parrot/revision/?rev=26324
chromatic Heh. I've said that for while. 08:16
lathos chromatic: I take it you know about valgrind massif? I only just found out about it. 08:17
08:18 kj joined
chromatic I've run it a couple of times, but I'm not a thread person, so I don't really know how to use it. 08:19
I do love Valgrind and Callgrind.
lathos It's not a thread thing, it's more of a heap profiler. May be handy with GC leak detection. 08:20
chromatic I've found the gc-debug runcore good at that. 08:21
svnbotl r26325 | chromatic++ | trunk: 08:26
: [PMC] Removed a few unnecessary STRING allocations within CodeString's emit().
: This improves the performance of this METHOD by around 5%, but it has the nice
: effect of reducing GC time by the same amount (at least going by the p6rx
: tests).
: The fewer PObjs we create, the faster we go.
diff: parrotvm.org/svn/parrot/revision/?rev=26325
08:29 AndyA joined
jrt4 Before I post this as a bug, will someone make sure I'm not being stupid ... I'm looking at fixup_unpack() in packfile.c at switch (entry->type) -- the docs (pdd13) say "0x01 - Subroutine fixup", however gdb, and enum_fixup_t both have entry->type at 2 for sub fixups. Are the docs wrong? 08:34
lathos If so then docs/parrotbyte.pod:169 is also wrong. 08:37
jrt4 Ah ... they must have added in enum_fixup_none since the docs were written. 08:40
lathos Dunno, the docs look newer. Certainly file it as a bug. 08:42
09:00 mj41 joined
jrt4 Done ... Is there any way to keep rt from collapsing the whitespace in the bugs I email in? Does it take HTML <code> || <pre> tags? 09:03
Tene chromatic: thank you for comments.
chromatic Glad to help. 09:04
It's really minor stuff.
Tene Yes, but coding style guidelines make me comfortable. 09:10
chromatic They make bugs easier to spot too. 09:13
10:15 wknight8111 joined 10:18 kj joined 10:58 ruoso joined 11:31 liona29 joined 12:04 iblechbot joined
Coke jrt4: for anything where you care about whitespace, send it as an attachment. 12:21
(like, code.) 12:22
chromatic++ # code reviews. 12:32
12:34 Theory joined
svnbotl r26326 | fperrad++ | trunk: 12:46
: [codingstd]
: C parentheses
r26327 | fperrad++ | trunk:
: [Lua]
: now works without --no-gc
diff: parrotvm.org/svn/parrot/revision/?rev=26327
12:55 cosimo_ joined
svnbotl r26328 | coke++ | trunk: 12:59
: [t]
: ' isn't a quote delimiter in tcl, so this test would have always failed.
: fperrad++ # I didn't even know this file was in the repo.
diff: parrotvm.org/svn/parrot/revision/?rev=26328
13:24 Psyche^ joined 13:28 parrot-poke joined 13:55 wknight8111 joined 14:20 Psyche^ joined 14:23 gryphon joined 14:25 skids joined
cognominal I got lexical self working... 14:34
14:35 Alias_ joined
particle cognominal++ 14:49
cognominal waiting for someone interested in my patches...
I guess with heredoc and postcircumfixed pairs, we will be close to compile rakudo in rakudo 14:50
I am pissed off to see people still coding in pir. 14:51
14:51 davidfetter joined
pmichaud cognominal: "pissed off"? really? 14:55
cognominal well, it's about time for people to use parrot to code in HLLS 14:58
kj there seems to be something wrong with pbc_to_exe; parrot bails out when I run an application in my language (the tutorial language I wrote) 14:59
Coke kj: works fine for tcl.
kj cognominal: as long as there's no complete language, people might still be hesitant
coke: sure, some apps work fine
Coke cognominal: most of the people here are writing compilers, so...
pmichaud cognominal: so, how would you write the "substr" function in Perl 6 ? 15:00
kj but this app is rather big
Coke when you say *parrot* is bailing out, do you mean the compiled thing that is calling the parrot libraries?
pmichaud: hey... can I trouble you to look at something in tcl for 5 minutes?
kj coke: I create an executable, squaak.exe in my case, and it just stops
pmichaud coke: sure
kj i just get a new prompt 15:01
cognominal Coke: I want people to start to play with HLLs written with parrot. 15:03
in fact, I wanted to use rakudo, not so much modifying it. 15:04
pmichaud cognominal: we're getting there, albeit slowly 15:05
cognominal btw, I have noted that people can't get used to drop parentheses in conditionals. grammar.pg was full of them.
not that it hurts 15:06
kj you mean actions.pm?
cognominal oops
yes
pmichaud it doesn't hurt, and in many ways I think the parens are more readable
kj well I have no problem with that. but I'm not a Perl programmer, so I Just Don't Know anything else 15:07
svnbotl r26329 | coke++ | trunk: 15:12
: [tcl]
: Add a failing test for {*} that works in tcl 8.5
diff: parrotvm.org/svn/parrot/revision/?rev=26329
particle kj: you're on windows, right? after your command, try echo %ERRORLEVEL% 15:18
see if there's a segfault
cognominal: i don't see your patches hitting the mailing list
maybe my mail client dropped them 15:19
cognominal: where are you submitting patches? parrotbug@parrotcode.org? rakudobug@perl.org? 15:20
skids cognominal: I'm more interested in coding in perl6 than working on parrot, frankly, but neither it nor pugs has async socket IO really working enough to start porting over Net:: stuff which is about the only part I can job-justify :-) 15:22
Glad to see Tene tackling it, wish I had more spare attention.
kj particle: good idea. it's some non-0 value indeed, so there's someting wrong.
cognominal I had submitted a patch to parrotbug@parrotcode.org 15:24
svnbotl r26330 | coke++ | trunk:
: [tcl]
: Now that 8.5.0 is released, when running the tcl tests, specifically
: use the 8.5.0 tests, not HEAD.
diff: parrotvm.org/svn/parrot/revision/?rev=26330
cognominal waiting it to get thru before submitting other
I did not know about rakudobug@perl.org 15:25
particle rakudobug@ is for rakudo patches. it automatically puts the bug in the rakudo queue 15:26
Coke (otherwise a bugadmin has to move the tickets around, which is doable, but time consuming.)
s/time/tuit/
davidfetter wonders where he can find a gift pack of tuits 15:28
the round ones are best
Coke hurm. if all my user callable subs in tcl have a "&" prefix, there's really no reason to keep all my helper methods in another namespace. I could just keep them sans sigil. (or with a different sigil)
15:29 Andy joined
svnbotl r26331 | coke++ | trunk: 15:29
: [tcl]
: When running tcl's test suite, use GC.
diff: parrotvm.org/svn/parrot/revision/?rev=26331
nopaste "pmichaud" at 76.183.97.54 pasted "partial trace for tcl" (8 lines) at nopaste.snit.ch/12490 15:43
particle coke: tcl only fails 5 subtests on win32 now 15:54
15:59 slavorg joined
svnbotl r26332 | coke++ | trunk: 16:00
: [tcl]
: pmichaud++ # figuring out where this was falling down.
: Re-implement a workaround for a failing test. (At one point, :slurpy
: here always provided us with a TclList: when it does again, this hack
: can be removed.)
diff: parrotvm.org/svn/parrot/revision/?rev=26332
pmichaud need an RT ticket for :slurpy, I think. 16:05
particle thinks of things that are slow: glaciers, global warming, tcl's test suite 16:11
avar Actually some icefalls are a lot faster than 16:25
..tcl;) 16:26
particle rats. i don't see a way to specify which pages firefox should load from commandline 16:32
Coke tcl is invoking a LOT of opcodes. 16:45
seriously, speed updates welcome. =-) 16:49
I would love to have more people hacking on partcl. 16:50
cotto_work how much of the schedule for YAPC::NA and the subsequent hackathon is known? 16:51
davidfetter wonders whether his talk got accepted 16:52
Coke I would expect: conferences.mongueurs.net/yn2008/talks to show me when the proposals are due. 16:59
davidfetter see, that would make sense and help people. 17:00
Coke seen jmcadams? 17:01
purl jmcadams was last seen on #catalyst 2 days and 14 hours ago, saying: will try to get one together... no promises though... i'm running way behind on everything right now :( [Mar 9 20:01:43 2008]
Coke particle: are you sure that's how those tests would output in tclsh8.5 on windows? 17:05
particle no 17:06
they're not testing against tclsh8.5 anyway
Coke no, but they're supposed to behave *just like* 8.5
particle ok, well then the expected output was wrong anyway
tcl?
purl tcl is www.tcl.tk/ or TCL7::TCL8 as perl4::perl5 or possibly partcl. or rt.perl.org/rt3/NoAuth/parrot/List....;Value=tcl or segfaulting parrot since 2001. or the canary in the mine shaft, as far as parrot is concerned. or www.tcl.fr/
svnbotl r26333 | particle++ | trunk: 17:07
: [tcl] fix some test portability problems leading to windows failures
diff: parrotvm.org/svn/parrot/revision/?rev=26333
particle downloads activetcl 17:08
Coke muahahahas.
17:09 Alias_ joined 17:10 Theory joined
Coke I think tcl is failing 2 tests on non-windows now. 17:10
particle ok, it's failing two on windows, too
and one occasionally 17:11
*one more
Coke woz the other one?
lsort is passing everything here; but it's got the continuation issue.
particle here too 17:12
t/cmd_error.t reports failures occasionally when run in make test, but 'prove t/cmd_error.t' never gets erros
Coke huh. 17:13
particle it's from some wonky c code somewhere
i used to get these problems with imcc tests 17:14
chromatic and andy went over the imcc source, and the problems disappeared
sic em!
17:16 Alias_ joined
particle c:\\usr\\local\\parrot\\trunk\\languages\\tcl>\\usr\\tcl\\bin\\tclsh85 17:18
% puts [pwd]
C:/usr/local/parrot/trunk/languages/tcl
so, i can change t/cmd_pwd.t to use File::Spec::Unix->canonpath( getcwd ); 17:20
then the test will fail, but the expected output is correct
should i mark the test TODO, or let it fail?
Coke If you can conditionally TODO it, that'd be good. 17:21
particle can do 17:25
svnbotl r26334 | particle++ | trunk: 17:38
: [tcl] tchsh likes unix slashies, even on windows
diff: parrotvm.org/svn/parrot/revision/?rev=26334
r26335 | particle++ | trunk: 17:51
: [rakudo] remove accidentally committed test code by duff
diff: parrotvm.org/svn/parrot/revision/?rev=26335
18:08 pjcj joined 18:09 rdice joined
Andy ehich tests? 18:10
What did we do? Were we good? Hooray for us!
cognominal nope, a spare 'say' 18:12
particle andy: there's some funny business with tcl pmcs on win32
they could use a good going-over
Andy specific file? 18:13
particle when i run make test, i get occasional erros in t/cmd_error.t 18:14
Andy Well, I can't dig right now. 18:17
maybe a splint run would do you good.
lemme at least compile tcl and see if anything leaps out.
Coke pmichaud++ 18:19
pmichaud ...what did I do? ;-) 18:20
pmichaud thinks that coke is throwing out random karma 18:21
particle silence is golden
Coke ah, that was for your eyes earlier today. 18:33
will be happy to karma you again if you can fix the remaining failure in t/tcl_misc.t =-) 18:34
pmichaud karma pmichaud 18:36
purl pmichaud has karma of 1059
pmichaud I could TODO the test :-)
18:36 davidfetter joined 18:37 ambs joined
Coke tbbthp. 18:37
davidfetter oi, ambs 18:38
ambs Hi, davidfetter 18:39
davidfetter recently back from .pt :)
(fsvo "recently")
ambs davidfetter: and you didn't visit me? :-P 18:40
:D
davidfetter sorry. where are you? 18:41
ambs Braga
somewhere in the north
davidfetter ah. i was in lisbon
got to talk to lisbon.pm :) 18:42
is there a braga.pm ?
18:42 cout joined
ambs yes, second biggest perl monger group in Portugal, I must say 18:43
18:43 Psyche^ joined
davidfetter :) 18:43
ambs hmms... my parrot is failing a lot of tests :-/
Failed 3/561 test programs. 8/11196 subtests failed. 18:46
davidfetter that's not too awful 18:49
ambs pokes svnbotl 18:51
svnbotl r26336 | ambs++ | trunk:
: Copied some code from readline.pm to gmp.pm to detect libgmp with macports.
diff: parrotvm.org/svn/parrot/revision/?rev=26336
18:52 gryphon joined, IllvilJa joined
ambs how I missed these lines :) 18:52
particle wow! a commit from ambs. 18:54
glad to have you back :)
ambs thanks :D
pmichaud ambs++ # yay! 18:58
Coke ambs? 19:01
purl ambs is, like, Alberto Simoes, one of the organizers of YAPC::EU::2005 and available at mailto:ambs@cpan.org
ambs hmms.. these errors are usual?
# dyld: Symbol not found: _pio_stdio_layer
# Referenced from: /Users/ambs/Projects/parrot/./t/src/io_19
# Expected in: dynamic lookup
#
COKE!!
Coke finally makes the connection between committer ambs and Alberto.
~~
Ola, ambs. 19:02
ambs Hello, Coke.
Trying to get back :)
particle coke: tell me the phone call is tied to UTC 19:03
Coke particle: yes. 19:04
I think we have one more hour.
which means my alert messags are finally going to be timely since DST ended last time.
19:06 jrt4 joined
pmichaud phone is in 39mins 19:21
I will miss it, as I will be off having wedding photos taken :-)
19:23 barney joined
Coke barney: hio. 19:23
ambs pmichaud: who's wedding?
barney hi there
purl niihau, barney.
pmichaud ambs: mine :-) 19:24
ambs pmichaud: and you are here in your wedding?
Congratulations, by the way :-D
pmichaud no, the wedding itself will be on Friday. We're doing photos today.
and thanks. 19:25
barney How about a Parrot release name as a wedding present?
ambs hehehe 19:26
pmichaud for those who are wondering, Paula and I have been together for quite a while but never got married for tax/estate reasons. But we've decided to go ahead and bite the bullet on the taxes/estates.
er, "never got legally married"
ambs pmichaud: Paula is (also) a Portuguese name, btw
Tene How married did you get, then?
Any parroters near SF, btw? 19:27
parrot-poke Im near SF 19:28
more of a groupie at this point 19:29
Tene I'll be in SF in a couple of weeks. Might have time to meet someone for dinner. 19:31
svnbotl r26337 | ambs++ | trunk: 19:38
: Not sure of this fix, but one more test passing (test 16 from t/src/io.t)
diff: parrotvm.org/svn/parrot/revision/?rev=26337
19:55 ambs_ joined 19:57 purl joined
Coke IO PEN ING! 20:05
cognominal Paula is French too, but not too common 20:09
barney Paula is German too 20:10
ambs damn :) 20:11
Coke AIGH. tcl 8.5.1 is out. 20:14
particle has tcl 8.5.1.0 installed :) 20:15
ambs 8.4 here :-P 20:16
Coke builds 8.5.1 20:18
ambs makes perl6
svnbotl r26338 | bernhard++ | trunk: 20:21
: #41237: [TODO] PMC Class name IDs will require a dot in front
: Avoid deprecated PIR syntax
: Some beautifications
diff: parrotvm.org/svn/parrot/revision/?rev=26338
ambs beautifications++ 20:22
dinner & 20:23
Coke gah. had a tcl8.5 alpha release in /usr/local; built tlch8.5.1 locally; ran ./tclsh8.5 ; guess which tcl library i was using... 20:29
Tene The right one? 20:30
purl the right one is the one where you control the box :)
Tene purl: forget the right one
purl Tene: I forgot right one
Coke anyone want to know how much slower partcl is than tclsh8.5.1 ? 20:35
running, say, t/cmd_expr.t
anyone? =-) 20:36
about 3000 times slower. =-)
davidfetter d'oh 20:38
Coke 1m27.493s vs. 0.030s
(and I don't even *pass* all those tests.) 20:39
svnbotl r26339 | bernhard++ | trunk: 20:40
: #51662: [TODO] Remove 'classname' rule in imcc.y
: Expect changed error message after 'classname' has been removed.
diff: parrotvm.org/svn/parrot/revision/?rev=26339
Coke (even worse on something like examples/bench.tcl ; tclsh does it in half the time of the cmd_expr.t, parrot was up to 4.5 minutes when I killed it. 20:44
ambs fg 20:45
Coke: that are bad news, right?
svnbotl r26340 | bernhard++ | trunk: 20:46
: #51662: [TODO] Remove 'classname' rule in imcc.y
: Avoid deprecated PIR syntax
diff: parrotvm.org/svn/parrot/revision/?rev=26340
Coke it's SLOOOOW.
insanely slow.
perhaps If I blog about it, I can shame mdiep into coming back! 20:47
ambs :D
20:47 arbingersys joined
ambs wonders why same Test::Harness shows a different output (when running prove) 20:52
20:53 Psyche^ joined
ambs bounces his head on the wall. 20:54
particle different TAP::Parser? 20:58
ambs no, different architecture, and different messages in the test accordingly to it 20:59
Coke AHAHAHAHAAH 21:09
the script examples/bench.tcl runs about 2**16 times slower in parrot than on tclsh8.5 21:10
davidfetter ouch 21:11
Coke 64366 times, but damn.
particle i bet it'd be easy to get an order of magnitude improvement there somewhere 21:12
not that you'd notice.
try an optimised build, for giggles 21:13
Coke I can't wait another 23 minutes to run the damn thing at the moment. :|
if there would be that much of a speedup, why ever NOT build optimised? 21:14
particle because you need to debug
Coke that shouldn't be the default, should it? =-)
we are gonna have to flip that bit at some point.
particle for sure it'll be optimized by default at parrot 0.50.0 21:15
that's our 'major subsystems implementation complete' release 21:16
Coke ok. the first test, which was 2916 times slower with default build, is only 1752 times slower with optimized build. 21:23
particle there you go. that's an order of magnitude, base 2
Coke if you squint really hard, yes. =-) 21:24
so, I should be aiming to get unoptimized partcl to run only single digit times faster than tclsh8.5 21:25
and then count on parrot for the rest. =-)
particle perfect. only 15 oom to go 21:26
21:45 slightlyoff joined
cognominal I am back to my old question, what happens if your Perl6 class has the same name as a pmc? 21:57
I want to extend the Hash class...
pmichaud for the moment, it has to have a different name 22:12
however, the way that protoobjects are set up, that's not too much of a problem 22:13
i.e., Perl6Hash (in Parrot) can be held as the 'Hash' entry in the root namespace and report itself back as 'Hash'
(actually, %hash.WHAT gives back the Protoobject, which can report whatever it wants :-)
cognominal well, but the method I add to the namespace hash are not visible 22:14
rakudo -e 'my %h; for %h.HOW.methods { say $_ } ' # uses the pmc iterator to list me the methods of the protoobject!! 22:16
but no the keys method!
... I added
22:48 Psyche^ joined 23:11 cotto_work joined, jjore joined, davidfetter joined, amoore joined, cxreg joined, zev joined, teknomunk_ joined, parrot-poke_ joined, rhr_ joined, TimToady_ joined, particl1 joined, arbingersys joined, purl joined, cout joined, Alias_ joined, mdiep joined, silug joined, arcady joined, Khisanth joined, bphillips joined, ewilhelm joined, shamu joined, pfig joined 23:13 diakopter joined, Ademan joined, tewk joined, Sartak joined, Crassworm joined, Tene joined, allison joined, slightlyoff joined, spinclad_ joined, jdv79_ joined, jrt4 joined, IllvilJa joined, Theory joined, wknight8111 joined, Coke joined, Dave joined, c9s_ joined, shorten joined, buildbot joined, cotto joined, Piper joined, TonyC joined, workbench joined 23:15 skids joined
wknight8111 viva la netsplit 23:24
23:28 davidfetter joined 23:35 clunker joined, dngor joined, confound joined 23:45 BitPoet joined, Andy joined, jrockway joined, avar joined 23:46 Infinoid joined, confound joined, dngor joined, clunker joined, davidfetter joined, skids joined, diakopter joined, Ademan joined, tewk joined, Sartak joined, Crassworm joined, Tene joined, allison joined, slightlyoff joined, spinclad_ joined, jdv79_ joined, jrt4 joined, IllvilJa joined, Theory joined, wknight8111 joined, Coke joined, Dave joined, c9s_ joined, shorten joined, buildbot joined, cotto joined, Piper joined, TonyC joined, workbench joined 23:48 cotto_work joined, jjore joined, amoore joined, cxreg joined, zev joined, teknomunk_ joined, rhr_ joined, TimToady_ joined, particl1 joined, arbingersys joined, purl joined, cout joined, Alias_ joined, mdiep joined, silug joined, arcady joined, Khisanth joined, bphillips joined, ewilhelm joined, shamu joined, pfig joined 23:49 clunker joined, dngor joined, confound joined 23:55 slavorg joined