Parrot 1.2.0 released | parrot.org/ | 306 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets
Set by moderator on 20 May 2009.
Infinoid ok... 00:00
I'm guessing splint is already aware of our non-NULLness constraints?
Andy yes
That's what ARGIN is for
Infinoid in that case, it's already at least as smart as ASSERT_ARGS is
Andy that's why ARGIN is a macro.
well, shoot, it doens't tell me. 00:01
darbelo cotto: They do make MD5 decompressors, thay're called "rainbow tables".
Infinoid cool. ARGIN is also used in headerizer to generate the ASSERT_ARGS backend macros
Andy Right. I wanted ARGIN to be the generic marker that other instrumentation could base themselves on.
Infinoid It's working great for that
Oh, I remember now. My flyby comment was just because your commit struck me as interesting, as I was frantically clicking through 400 commits trying to generate NEWS as quickly as possible 00:02
Andy jI'll llook at this a little later.
I never have tested that this most basic of pointer checks worked, and I shoudl have.
Infinoid gcc has a feature to check these things too... but it's half-written and dangerous 00:03
when you compile with -O, it turns off the checks, and the optimizer assumes it's nonnull so things like if(pointer) are ripped right out of the internal parse tree 00:04
which breaks things even worse. 00:05
Andy yeah, the -O is a bummer
but
latest GCC makes those checks work without having to have -On
Infinoid: it's easy 'nuff to play with splint 00:11
hack the file list in Makefile and change it to, say, src/key.c. A nice simplefile.
Infinoid yeah, mostly because of your hard work :) 00:12
Andy and then just 'make splint-andy'
Infinoid actually, playing with splint was the first thing I ever did with parrot.
Andy Infinoid: It's not hard so much as tedious. :-)
but I'm glad you appreciate it. 00:13
Whiteknight allison: ping 00:30
oh crap, she just left
anybody else here know about PMC esoterica? 00:31
00:31 Tene joined
Infinoid Whiteknight: It can't hurt to ask, anyway 00:32
Whiteknight I'm looking for input on TT #696, it has me stumped
Infinoid hmm... apparently it wants the subclass to have overwritten the init() vtable? 00:33
s/overwritten/overridden/
Whiteknight Class:Instantiate does allow init to be overriden, yes 00:35
so somewhere in the equation we definitely need to be calling instantiate 00:36
and I could be doing some kind of special-case hackery in set.ops, but that seems wrong to me 00:37
Infinoid note that Undef doesn't have an init(), so it would fall through to Object's, which throws 00:38
Whiteknight right
Infinoid I don't know where instantiate is called
Whiteknight in this case, it isn't called
but it should be
Infinoid ...for undef?
Whiteknight no, for the object that the Undef is being changed to 00:39
dalek cnum-dynpmcs: r50 | darbelo++ | trunk/src/decNumber/decNumber.h:
We define DECDPUN on the compiler comandline, wrap it's definition in
00:40
Infinoid Apparently the "assign P0, P2" pasm instruction calls init() on undef 00:41
wait, what? that's called internally by pmc_reuse()
pmc_reuse() is called with enum_class_Object, so it morphs it from an Undef to an Object, and then VTABLE_init crashes 00:43
Undef.set_pmc() is doing: pmc_reuse(INTERP, SELF, other->vtable->base_type, 0); 00:46
but other->vtable->base_type needs to be something other than enum_class_Object for this to work.
Whiteknight right 00:47
and that's where the exception gets thrown
so somewhere in Undef:assign, we need to convert SELF into an Object that's instantiated properly
Infinoid and apparently, calling pmc_reuse does not do so properly 00:48
Whiteknight exactly. Hence me being stumped 00:49
nothing does the right thing, it seems
Infinoid ok. any idea if this pir code *ever* worked? 00:50
Whiteknight Coke claims that it did back in the olden days
pre-0.9.0
Infinoid it's not that the class is created wrong, so much as the undef pmc doesn't like being assigned to 00:51
Whiteknight and I'll be damned if i'm going to bisect all that
Infinoid heh, yeah
Whiteknight right, Undef doesn't like being assigned to
Infinoid r38029 looks interesting 00:52
00:52 MariachiElf joined
Whiteknight how the hell did you find that? 00:53
Infinoid git blame
Whiteknight "Infinoid: Finding needles in haystacks"
Infinoid also finds haystacks in needles, sometimes. True story.
cotto Infinoid, thanks 00:54
(I hope)
Whiteknight haha, we can't even test if that was the problem, because we don't ahve Ref anymore!
Infinoid hooray for proactive deprecation! 00:55
cotto although do note that that code didn't have any test coverage (and probably still doesn't)
Infinoid well, now we have a test case (#696)
Whiteknight right, which is why nobody knew it was a problem till Coke tried it and broke it
I blame Coke
cotto yay for test cases 00:56
and me-- for not trying harder to write one when I committed that code 00:57
Whiteknight hmmm, I guess the class is being instantiated, I misread that it didnt
and if that's the case, I can't really think of a situation where we would have an Object here whose class wasn't instantiated
Infinoid doesn't understand pmcs well enough to know the significance of that 01:00
01:05 allison joined
Whiteknight a Class PMC needs to be instantiated first, before objects of that class can be used 01:05
instantiation fixes the MRO for the class, and other metadata 01:06
cotto and an Object can't be instantiated by itself
Whiteknight check out src/pmc/class.pmc:instantiate, look at the _instantiated flag
allison: you have a moment?
Infinoid oh, ok 01:07
01:09 MariachiElf joined, bacek joined
Whiteknight I definitely think this behavior should be allowed, but this is such a stupid problem 01:10
allison Whiteknight: what's up? 01:11
purl The Canadian Dollar
Whiteknight allison: we're stumped by TT #696. 01:12
It's something that apparently used to work but was never tested, and now it doesnt work with Ref PMC disappeared
I'm wondering if you have any insight off the top of your head, before I do something stupid and hackish 01:13
allison Whiteknight: okay, I'll take a look
Whiteknight thanks!
01:13 eternaleye joined
Whiteknight damnit! even my hackish solution segfaults. Now I don't have a fallback! 01:15
allison Whiteknight: well, what it's currently doing is hackish anyway (looking at the code) 01:16
Whiteknight right, I'm resisting the urge to rip a lot of this stuff out right now
allison Whiteknight: heh, it checks whether the other is an object, then goes on to do something that could never work for objects :) 01:17
Whiteknight yeah, assign_pmc doesn't call reuse_pmc directly, it calls set_pmc which calls reuse_pmc
hear no evil, see no evil...
allison: Don't worry about it then. you've got enough going on. I'll wrestle with it for a while to see what I can come up with 01:23
allison Whiteknight: the main problem with morphing to an object type is how to "rebless" the PMC as an object
MariachiElf takes a moment to thank you guys. 01:25
Whiteknight right. and when I try to call VTABLE_instantiate(interp, pmc->vtable->pmc_class), it seems to get directed to Object:instantiate instead of Class:instantiate
so that's annoying me
MariachiElf I've been following this project for about two years now and I'm inspired and impressed by what you all have accomplished (and I know it's not done yet and there's more to to be done, etc)
Infinoid MariachiElf: :) 01:26
MariachiElf only wishes he had more of whatever it is he is missing to actually contribute to the project (specifically to support his end game of having a HyperCard/SuperCard clone) 01:27
allison Whiteknight: okay, here's my recommendation:
Whiteknight: take the contents of the 'clone' vtable function in src/pmc/object.pmc and change them into a function in src/oo.c named Parrot_oo_clone_object
Whiteknight: make the function take an optional PMC argument, the destination of the clone 01:28
Whiteknight: when the (optional) destination PMC is passed, morph it to the object type, when it's not passed, create a new object
Whiteknight: otherwise, the behavior is the same as Object PMC's 'clone' 01:29
Whiteknight yeah, I figured the solution was going to be something like that. I'll make that happen
probably put that together pretty quickly in a branch
Infinoid MariachiElf: Parrot takes contributors of all types, even just running "make test" once in a while is helpful
allison Whiteknight: excellent
Whiteknight: we shouldn't even need a deprecation cycle, since it's fixing a bug, not changing working behavior 01:30
Whiteknight allison++ # Thanks for the help! Sometimes I just need a second set of eyes for stuff like this
Infinoid MariachiElf: As for implementing HC/SC, there are very good guides online and very smart people in here to help start a languages project
allison Whiteknight: happy to help :)
now back to Tcl tests
Whiteknight okay, goodnight 01:32
MariachiElf Infinoid: The problem I ran into pretty quickly is that to do the HC/SC functionality right requires an understanding of those languages beyond my comprehension at this time. :) It turns out that I might be better off using Perl6 as the main code driver rather than Parrot :) 01:33
But the guides were great
Infinoid Fair enough. Stick around though, things tend to get easier and easier here :) 01:34
MariachiElf I actually was able to follow the tutorial pretty well --- though it did need to be updated to reflect the current codebase
MariachiElf nods.
Infinoid Yeah, that's a constant battle
MariachiElf I'm not going anywhere :)
Infinoid: So what's the best way for me to get some "consulting" on how best to attack my project? My first problem has been very few people even have experience of what HC/SC are so even describing the language and the features have been difficult 01:46
Infinoid I guess the first step would be to find a formal language specification if you can
I suppose you'll eventually want to replicate the GUI/RAD elements as well 01:47
MariachiElf Well here's the problem. One of the features of the language is it changes at runtime
Infinoid: For the GUI part I was going to use Perl::Qt
Infinoid what, not OpenGL? :)
MariachiElf Infinoid: Well let's just say the GUI part is actually part of the language that gets changed 01:48
hehe - well I'm lazy and I love KDE
Infinoid yeah, that shouldn't be a problem
if you want to access Qt stuff from within parrot, you will need to add some NCI access (or whatever) though
that will likely be a fair bit of work, the Qt API isn't small.
Infinoid starts thinking about some kind of automatic translation 01:49
MariachiElf Well I'm eating an elephant anyway so why not plan for the whole herd? ')
What I realized is that if I focused on the dynamic nature of the language first the GUI commands will become easier to implement 01:50
So what's forming in my mind is a scope/namespace stack 01:51
Infinoid that seems reasonable
MariachiElf The core language only has a couple commands - everything else is added on 01:52
The two main features I'm hoping to improve upon are adding new core syntax and the ability to translate scripts into different languages 01:54
Infinoid my mistake, there's already some Qt support in examples/nci/ (though it seems to need a little updating) 01:55
MariachiElf By new core syntax I mean stuff like "move button "theButton" to newPoint" can be augmented at runtime to be "move button "theButton" to newPoint over 10 seconds" 01:56
Infinoid hmm, interesting 01:57
cotto I'm really looking forward to seeing what gets done with Parrot as it matures. 01:58
Infinoid Oh cool, examples/nci/QtHelloWorld.pir works
MariachiElf Instead of what you used to have to do which is add a new sub; "newTimedMoved(button "theButton", newPoint, "10 seconds") 01:59
Infinoid: Excellent! 02:00
purl plays air guitar
Infinoid I'd love to see examples/nci/PQt.cpp replaced by NCI though
02:04 dukeleto joined
MariachiElf Infinoid; I always saw having to use a different syntax for anything not baked in as a shortcoming 02:06
Infinoid what do you mean? 02:07
MariachiElf Well like the example I just gave 02:09
MariachiElf just replaced the batteries in his keyboard and can type much faster now
If you used the native move command 02:10
It worked one way
But let's say you wanted a different move command
Infinoid this is the hypercard "move" command you're talking about? (Sorry, I'm not familiar with the language's syntax)
MariachiElf One that would move the object like an animation over x time instead of just "pop" the object is in its new spot
Oh - yeah 02:11
afk_coke msg whiteknight (actually, this behavior worked as recently as 1.0, apparently)
purl Message for whiteknight stored.
Infinoid but if you change the syntax, won't that break compatibility?
MariachiElf There's an entire language dictionary here: downloads.runrev.com/userguide/Dictionary.pdf
Infinoid I suppose you could have a compatible HyperCard and an extended MariachiCard with better syntax :) 02:12
MariachiElf Infinoid: I'm not trying to be compatible really
Infinoid rtfms
MariachiElf Careful it's big
Revolution is the current xCard like application that I would be building an Open Source workalike for
Infinoid cool. Do they have a testsuite you can borrow from? 02:13
MariachiElf Well this is a dictionary from a full blow product
See www.runrev.com 02:14
So no
And it wouldn't work anyway because whatever they provided would be shipped as "stacks"
stacks = binary encapsulation of the app 02:15
Infinoid nice reference document
MariachiElf It's kind of like getting a jar file where a jar file isn't just a rename of zip but something else entirely 02:16
Yeah I've been waiting a long time for them produce it -- it just came out this year
They have 1601 commands and functions in the top level product 02:18
Everything from connecting to SQL databases, websites, and files, to graphics and buttons and mouse events, etc
Infinoid PythonCard has some tests, but they're written in python 02:19
MariachiElf Once I got off my high horse that it doesn't look like a "real" programming language - I fell in love with using it
Well I can "translate" those
Infinoid hehe 02:20
MariachiElf PythonCard having a very similar goal to this project should be something I end up collaborating with them on
Infinoid funny how everyone seems to have different, incompatible definitions of what a "real" programming language should look like
MariachiElf Ideally Parrot would enable this project to run PythonCard 02:21
anyway what I meant by new functions using a different syntax is that if you aren't using one of those 1601 commands they've already baked in, you can't use the cool english like syntax 02:22
Infinoid as for the "real"ness of programming languages... I should note that I'm mentioned in cpansearch.perl.org/src/JQUELIN/Lan...10/Changes nearly 30 times :)
MariachiElf I'll take a look -- I've long since kicked my habit of assuming I have any clue about what a real programming language should look like --- and as far as I'm concerned the best language for the job is the one you know or the one you're willing to learn 02:23
ok gotta go spend some time with my wife! :)
Infinoid: It was nice talking to you and hope to do it again soon :) 02:24
Infinoid Befunge is one of the less-conventional looking languages :)
have fun!
MariachiElf Sounds like something I'd get a kick out of :)
l8r
allison Coke: lots of tcl failures now, looks like it's running the tests on a different parrot than the one I configed: "PackFile_unpack: This Parrot cannot read bytecode files with version 4.6." 02:34
02:41 janus joined
Infinoid If this is on feather, 1.2.0 is installed in /usr/local and it's PBC_COMPAT is 4.5 02:43
s/it's/its/
allison Infinoid: nope, local, and installed in a custom directory 02:44
Coke allison: probably need a realclean. 02:45
allison Infinoid: the problem goes away if I build against my installed 1.0
Coke: yup, tried realclean
Coke I just had a similar issue running in a checkout that was built against 1.2 when I tried to build against svn-latest-installed
allison (4.6 is the version of the current trunk)
Coke yah. after I realclean'd that went away. 02:46
allison Coke: will try again, to be sure
Coke your fix seems to work.
allison Coke: at the moment I'm trying against 1.0, for comparison
Coke k. 02:47
allison Coke: excellent
Coke could probably bisect where that morph issue started happening.
allison Coke: I think someone mentioned it was when the Ref PMC was removed
Coke oh, was that it? ok.
Infinoid if it's the Undef assignment thing, r38029 02:48
Coke ayup. 02:49
So that's the big blocker. Tcl, btw? Still (*&#$ slow. =-)
allison Infinoid: oh! yeah, that'd break things 02:50
Coke: Tcl might be able to use some of the tricks chromatic cooked up for Perl 6
Coke: and Whiteknight was starting to work on a solution for Undef 02:51
Coke allison: wouldn't I be using them already?
allison Coke: basically, clone the object (when it's an object) instead of trying to instantiate it directly
Coke: the fixes that were baked into Parrot, yes. But there were some things done to Perl 6 instead 02:52
Coke: the big thing though, would be profiling Tcl to find out what's slowing it down
Coke: so we can fix those things directly, instead of making general guesses about what might be slow 02:53
Coke allison: I've been saying that for years now. =-)
allison Coke: :) 02:55
allison briefly afk
Coke to run the select* tests, will need to bake the path to perl in the shebang.
Infinoid So I'm guessing the pmc_pct branch makes the pmc2c-cache idea obsolete 02:58
dalek rtcl: r357 | coke++ | trunk/ (6 files):
Instead of having a hardcoded shebang for the parrot only tests,
03:07
Coke allison: there. that should let select*.t run. 03:11
allison; (I generate the .t at config time, putting the right shebang in.) 03:12
dalek rtcl: r358 | coke++ | trunk/ (2 files):
ignore generated test files; Fix shebang logic (avoid embedded newline)
rtcl: r359 | coke++ | trunk/ (2 files):
we don't live in parrot-land anymore.
Coke allison: ... and now that I've reconfig'd and rebuilt again, I too am getting that error. 03:13
realclean isn't clean enough.
dalek rtcl: r360 | coke++ | trunk/dynext/README:
subversion can contain empty directories. Remove the placeholder
03:17
Coke allison: lib/Parrot/Installed.pm has the wrong path. 03:20
03:20 donaldh joined
Coke even if I run with a --parrot-config, it gives me the one in my path. 03:21
dalek rtcl: r361 | coke++ | trunk/config/makefiles/root.in:
remove all generated files in dynext
03:22
03:25 petdance joined
Coke allison: ... crap . no, that does look right. 03:27
allison: fixed. 03:31
msg allison I missed a case of specifying full path to parrot, so we were picking up the one in our PATH, not the one from teh config. 03:32
purl Message for allison stored.
dalek rtcl: r362 | coke++ | trunk/lib/Tcl/Test.pm:
use path to parrot instead of grabbing first in PATH.
allison Coke: excellent 03:37
mikehh allison: The first paragraph in the book still bothers me "fundamentally different than existing virtual machines" - thats got to be from not than. 03:41
03:53 darbelo joined
s1n allison: apparently my company is in the process of developing a contributor policy, so i submitted the paperwork for parrot 03:54
allison s1n: excellent 03:56
s1n allison: we apparently have an oreilly author consulting us on the process 03:58
allison s1n: they're generally clueful 04:01
mikehh: both are a little awkward, there's probably a good way to completely flip the sentence around 04:02
s1n allison: is the parrot website current in the list of sponsors? it was in the paperwork
04:07 tetragon joined
allison s1n: yes, that's the full current list 04:13
Coke: Your fix is a success! 111 failing tests in Partcl when I run it on 1.2 now. Mainly the 'Undef' bug. 04:14
04:26 petdance joined
wayland76 "Parrot different fundamentally is from virtual machines existing" -- Yoda's Parrot :) 04:54
allison wayland76: :) 04:57
04:59 wayland joined 05:18 masak joined 05:24 szabgab joined 05:52 lli joined 05:55 dduncan joined 05:58 cotto joined 06:04 dduncan left 06:05 Maghnus joined 06:07 lli_ joined
dalek rrot: r39030 | petdance++ | trunk/config/gen/makefiles/root.in:
Adding in more memory checks to the splint flags
06:09
rrot: r39031 | petdance++ | trunk/lib/Parrot/Pmc2c/Attribute.pm:
consting some args in the generated code
06:16
rrot: r39032 | petdance++ | trunk/src/key.c:
explicilty cast an int->FLOATVAL
06:19
rrot: r39033 | petdance++ | trunk/include/parrot/pmc_freeze.h:
instrumenting visit_f
06:33
cotto going to yapc10 06:35
purl well, going to yapc10 is kid51 or pmichaud or davidfetter or cotto
cotto going to yapc10 is also whiteknight 06:36
purl okay, cotto.
wayland Where's yapc 10? 06:40
cotto CMU 06:45
06:50 bsdz joined
wayland As in Carnegie-Mellon University? 06:50
cotto yup, that one 06:52
wayland Ah, Google Maps tells me that's in Pittsburgh :) 06:53
06:55 Theory joined
cotto just found all the cool Parrot-related stuff that whiteknight++ is putting in his blog 06:55
dalek TT #698 created by rusabd++: [PATCH] Mac OS X build fix 07:18
cotto Infinoid++ for adding TTs to dalek! 07:19
07:20 donaldh joined 07:36 Theory joined
cotto darbelo, ping 08:00
mikehh cotto: failed to send smolder again - we seriously need something done about smolder reports for parrot 08:21
I managed to send 1 report in the last week 08:23
cotto I completely agree, but I'm not in a position do do anything other than raise a stink. 08:24
(which I'm happy to do)
cotto finally found his TODO list 08:30
I hate knowing that there's stuff I should do, but not knowing what it is. 08:31
fortunately, knowing what it is and ignoring it isn't so bad
mikehh, how many times did you attempt to submit a report? 08:33
mikehh i usually run make smoke and if it fails I try to connect to the site - that usually also times out 08:38
fails to send that is 08:39
I usually do one or two builds a day 08:41
cotto plusthree-- 08:43
mikehh running a make fullyesy at the moment and have just hit some more codetest failures :) 08:44
s/fullyesy/fulltest/
cotto mikehh, do you care to write a tt? Mine feel too flamey. 08:46
mikehh will report on those in a bit
cotto and it doesn't help that I'm trying to fix this on my system: bugs.launchpad.net/ubuntu/+source/...bug/331589
mikehh i do make -k fulltest 2>&1 | tee fulltest.39033.amd64.log - so I will look at it detail when it finishes 08:48
a lot of failures from src/gc/malloc.c 08:58
ok finished now - took just over an hour to run 09:01
cotto mikehh, do you want to write a tt about smolder availability or should I just wait until I'm not crabby? 09:05
mikehh codetest FAIL all others PASS 09:06
ok will do
cotto Thanks. I think it's safe to ignore any failures in src/gc, since whiteknight is doing some heavy refactoring there atm. 09:07
09:09 wayland joined 09:22 bacek joined
dalek TT #699 created by mikehh++: plusthree site down again 10:08
10:14 riffraff joined 10:32 bacek joined
bacek OH HAI 10:34
10:50 bacek_ joined
dalek rrot: r39034 | bacek++ | branches/tt452_reduce_mmd/t/pmc/multidispatch.t:
[t] Mark failing MMD tests with "todo => 'TT#452'" to revisit in future.
10:56
11:00 bacek__ joined
dalek rrot: r39035 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Rewrite Integer.modulus without MULTIs.
11:03
rrot: r39036 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Don't use MMD in Integer.pow
11:06
rrot: r39037 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Drop cheating register VTABLE as MULTI methods.
rrot: r39038 | bacek++ | branches/tt452_reduce_mmd/t/pmc/multidispatch.t:
[t] Mark more failting MMD tests with todo tag.
rrot: r39039 | bacek++ | branches/tt452_reduce_mmd/src/pmc/float.pmc:
[pmc] Don't use MULTIs in Float.
rrot: r39040 | bacek++ | branches/tt452_reduce_mmd/t/pmc/objects.t:
[t] Add skip of failing tests due TT#452
wayland The daleks are taking over! ( commits++ )
bacek__ wayland: actually git++ :) 11:11
bacek cotto: ping 11:20
11:21 donaldh joined 11:25 burmas joined 11:27 bacek joined
darbelo cotto: pong 11:44
wayland bacek: Yes, I know it's git. My point was, I was being silly, but I was still in favour of the commits (based on the presumption that they indicate progress :) ) 11:48
dalek kudo: 5eac9bd | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION so we get the smarter "variable not predeclared" messages.
11:49
bacek wayland: currently they indicate brokenness of parrot in many ways :/
wayland Ah well :) 12:18
12:40 rg joined
dalek cnum-dynpmcs: r51 | darbelo++ | trunk/src/pmc/dec (2 files):
Clean up a few warnings.
12:41
Infinoid darbelo: Looking good. Only warning I get is in the upstream decnum sources themselves... decContext.c:30: warning: cast discards qualifiers from pointer target type 13:01
darbelo I see that one too. I had to check on the ubuntu box, since the c++ warnings have mysteriously disappeared from the OpenBSD build. 13:06
Infinoid I like the disappearing ones 13:08
I hate the reappearing ones
13:09 darbelo left, darbelo joined
darbelo The whole thing is probably due to OpenBSD gcc confusing Configure.pl. It's a "heavily patched" gcc 3.x 13:12
13:13 davidfetter joined
darbelo If you take "heavily patched" to mean "Patched up beyond all recognition", of course. 13:14
Infinoid sounds similar to the "hardened" gentoo toolchain 13:16
it means there's a whole class of bugs which your OS and only your OS has, which makes them harder to google for
such fun. 13:17
13:19 gryphon joined 13:27 Whiteknight joined
darbelo Well, running OpenBSD already means that what everyone else perceives "harmless" bugs turn into big nasty segfaults here. So the fun is pretty much guaranteed anyways. 13:27
13:35 Theory joined 13:36 particle joined
mikehh Whiteknight: I am getting loads of codetest failures with src/gc/malloc.c 13:39
afk_coke I am tempted to give mikehh commit bits so we stop getting those reports. =-) 13:47
Infinoid mikehh: patches welcome :)
Coke I'm running codetest now. 13:48
Infinoid finally got tired of waiting for perlcritic, and uninstalled it again
Whiteknight mikehh: Really? I made sure to run all the codingstd tests before I committed that 13:49
mikehh: Did you realclean and reconfigure? 13:50
Infinoid I'm seeing it here too, Whiteknight 13:51
Whiteknight damnit!
Infinoid still get them after realclean/configure
Whiteknight okay, I'll take a look at it 13:53
Coke Whiteknight: I have some changes in progress. want me to commit the fixes I have so far?
and you can take it from there?
Whiteknight Coke, that would be great
begs the question about why the codingstd tests said they passed on my system, and why I would ever run those tests if they are going to lie to me 13:54
Coke done.
Whiteknight w00t. Coke++
Coke I think you didn't run the tests you thought you ran.
was this a new file?
Whiteknight no, old file 13:55
Coke k.
Whiteknight was src/malloc.c, moved to src/gc/malloc.c with no changes
Infinoid guess the codetests had a blind spot 13:56
Whiteknight I made absolutely zero changes to that file other then the rename, so it must have been failing all along
dalek rrot: r39041 | coke++ | trunk/src/gc/malloc.c:
[cage] protect macro args
Coke HA! 13:57
so it IS a new file. =-) 13:58
sure, the old one should have been failing...
I'm assuming that you ran the tests before re-gening the makefile.
Whiteknight i honestly don't remember 14:00
no wait, I ran the tests the last thing before I committed. I got a fresh checkout, merged the branch, configure, make, test 14:01
Coke they all look easy enough to fix anyway. 14:02
14:18 Theory joined 14:20 davidfetter joined 14:21 whoppix joined 14:23 elmex joined
dalek rrot: r39042 | NotFound++ | trunk/config/gen/makefiles/dynpmc.in:
[config] fix dynpmc makefile, TT #698, rusbad++
14:29
Coke Anyone interested in hacking on annotations, partcl could use some help. =-) 14:30
pmichaud: Any guidelines on writing our own regex syntax using PGE? 14:31
dalek rtcl: r363 | coke++ | trunk/ (2 files):
Issue #79 - Update the syntax for conditioned lines.
14:33 cghene joined
dalek rtcl: r364 | coke++ | wiki/PartclSource.wiki:
Edited wiki page through web user interface.
14:40
rtcl: r365 | coke++ | wiki/SpecTestStatus.wiki:
update status on 1.0
15:00
rtcl: r366 | coke++ | wiki/RunningTclCode.wiki:
can't run tclsh at the moment.
15:05
15:05 Whiteknight joined 15:07 particle1 joined
NotFound Coke: what kind of annotations hacking? 15:18
15:20 donaldh joined
Coke adding annotations to code so errors report properly. 15:31
NotFound: code.google.com/p/partcl/issues/detail?id=3 15:33
so there's adding the annotations, and being able to report on them. 15:38
dalek rtcl: r367 | coke++ | wiki/ParrotIssues.wiki:
This bug exists in parrot still, but we don't care now.
15:39
15:42 gryphon joined 15:46 rdice joined 15:55 skids joined
Coke rant: trac language is not multi-select. 16:08
Util Coke: for ticket query? use SQL instead. 16:10
Coke when you /create/ a ticket, you can only specify /one/ language. 16:11
NotFound Coke: the macro get_stacktrace just gets the exception message. Is here where you want to get the backtrace?
Util Oh! nm.
Coke NotFound: That seems reasonable, yes. 16:12
It's just been a placeholder there for some time.
if you put any real code there, might want to upgrade it to a real .sub
16:13 darbelo joined
Coke Thanks! 16:13
Infinoid NotFound: I'm going to apply Andy's patches from #698 and revert the previous fix
dalek TT #700 created by doughera++: dynpmc/Makefile problem on Solaris 8/SPARC at r39040
NotFound Infinoid: ok 16:14
Infinoid those patches are in my queue, gonna fix codetest first tho
s/queue/stack/
Coke doughera++
Infinoid doughera++ indeed 16:15
Coke there's probably about 10 tickets about this bizarre linking crap that can all be closed if this works. (540 & 627 at least. =-) 16:16
Infinoid hmm, actually, I thought someone was already working on these codetest failures
16:16 Andy joined
Coke Infinoid: Whiteknight was, think he got distracted. 16:16
I'm sure he won't complain if you fix them.
Infinoid happy to, I'll do that next 16:17
16:17 iblechbot joined
Coke NotFound: I don't know all the details of how tcl formats every exception, but having anything here will actually go a long way to passing more spec tests. 16:18
I can write a regression test with a basic one and TODO it if that would help?
dalek rrot: r39043 | Infinoid++ | trunk/config/gen/makefiles/dynpmc.in:
Revert r39042 in preparation for applying doughera's alternative patches from TT #698.
rrot: r39044 | Infinoid++ | trunk/config/gen/makefiles (2 files):
Apply tt698-simplify-1.patch from doughera++ in TT #698.
rrot: r39045 | Infinoid++ | trunk (9 files):
Apply tt698-simplify-2.patch from doughera++ in TT #698.
NotFound Coke: first I'll try just to get some backtrace
Infinoid is trac's Cc: field based on email or trac username?
Coke hokay. I'll get a test added at some point.
Infinoid: I think either.
16:20 zostay joined
NotFound Looks like the first and main problem is that the backtrace isn't stored in the exception object 16:26
jonathan NotFound: I think the backtrace attr in the exception PMC is unused. 16:28
IIRC Tene hadn't noticed it being used either.
Tene Yes. 16:29
That's right.
jonathan NotFound: If you're after a backtrace containing the annotations, call the .backtrace() method on an exception PMC.
NotFound: It'll give you an array of hashes. 16:30
Whiteknight Coke: I didn't get distracted, I just can't really do anything till I get home from work
Infinoid the previous code had a codingstd exemption, it's listed in the exempt list at lib/Parrot/Distribution.pm:434 16:31
the previous filename, I mean
there are a lot of things to fix up, but I'm armed with mighty regexes. However, was it exempt on purpose? It looks like it is third party code 16:32
Whiteknight i think it's exempt on purpose 16:33
NotFound It says is public domain code
Whiteknight i also think it's going to get deleted eventually
at least, if I have anything to say about it
NotFound Keep excluding it 16:34
Infinoid nah, I'll just fix it up :)
I was mainly worried about retaining easy upgradability (whitespace changes clutter up those diffs)
but since we don't care, I'll fire my regexes at will.
Whiteknight how hard is it to just mark the files exempt again? 16:35
Infinoid not hard. one-liner 16:36
Whiteknight I would recommend we do that then
Infinoid urk. I can fix up the coding standards but assigning copyright might not be such a good idea
Whiteknight how the hell did these files live so long in the repo without this stuff?
Infinoid they're in the exempt list in Parrot::Distribution 16:37
Whiteknight I ack'd for the file names, I'm surprised I didn't see that list in my travels
Infinoid lib/Parrot/Distribution.pm:434 16:38
(what other files are there? I'm mainly focusing on src/gc/malloc.c.)
Whiteknight that and src/gc/malloc_trace.c, which was moved at the same time 16:41
Infinoid t/codingstd/copyright.t (Wstat: 0 Tests: 3 Failed: 0) 16:42
TODO passed: 3
That's a good thing, right? Can I un-TODO it?
ok, no errors from that one tho
The remaining codetest errors are that TODO pass I just mentioned, plus a badly written and confused test (t/codingstd/c_indent.t). 16:44
Well, I don't know if it's badly written, but it is definitely confused. :)
dalek rrot: r39046 | Infinoid++ | trunk/src/gc/mark_sweep.c:
[cage] Re-run headerizer.
16:45
rrot: r39047 | Infinoid++ | trunk (3 files):
[cage] Clean up some codetest failures. Make src/gc/malloc.c exempt from
Infinoid oops, my whitespace changes from filehandle.pmc snuck in there. 16:46
16:47 zostay joined
skids Linux bosstones 2.6.8-1-32 #1 Wed Aug 25 04:22:11 EDT 2004 parisc GNU/Linux 16:48
All tests successful, 19 tests and 629 subtests skipped.
BUT, had to revert changeset 22453 (old RT#43535) to get it to compile
Infinoid wow, that's from a while ago 16:50
skids I keep it purposefully crusty.
Infinoid So without that, you get an assert failure? 16:51
skids Though I did have to update vs archive.debian.org just to get all the build tools.
Yeah, and it's pretty bizzarre.
Infinoid either your pointer isn't aligned and it should be, or your platform has PARROT_HAS_ALIGNED_FUNCPTR defined and it shouldn't
... I guess
skids Erm, xterm backlog exhausted, see #perl6 backlog 16:52
Infinoid thanks, looking now
16:53 donaldh left
Infinoid hmm, I don't see anything in irclog.perlgeek.de/perl6/today about parisc, ia64, alignment or 22453 16:54
skids Within the last hour, search _temp_multi_func_list.func_ptr 16:56
(hour or two, I'm bad with time :-)
Infinoid ... okay. the pointer alignment assertion has an effect on that? 16:58
Sorry, I'm a little confused :)
16:58 zostay joined
skids Yeah it fails because it sees 0x40868042 16:58
Infinoid print &_temp_multi_func_list 16:59
I think that struct itself must not be aligned
skids Even though Parrot_Undef_multi_is_equal_Undef is at 0x407aca30
I don't have the backlog, but the struct itself was aligned.
Infinoid Parrot_Undef_multi_is_equal_Undef is the function. _temp_multi_func_list is a struct containing a pointer to it
skids Unfortunately it'll take a half hour to rebuild :-) 17:00
Infinoid ok, if the struct is aligned, that means its members aren't (at least not this one)
skids No, &_temp_multi_func_list.func_ptr was aligned, too.
Infinoid I'm looking at your discussion of the @ value 17:04
I at first assumed it was the address of _temp_multi_func_list.func_ptr, but maybe it's a PLT lookup or something
skids Yeah, I haven't used gdb enough to know what that's all about.
Infinoid busts out the gdb docs 17:05
skids if you (unsigned long)func_ptr that's the value you get.
cotto darbelo, reping 17:06
Infinoid erm, so the value of func_ptr is unaligned after all? 17:07
skids Yes, but it's not the value it was assigned in the definition, yet it all still works somehow. 17:08
As if it's a pre-reloc value or fixup table or something.
Infinoid yeah, that's why I was thinking PLT 17:09
or some compiler-generated trampoline
skids This is during ./miniparrot config_lib.pasm BTW 17:10
Infinoid where did you set your breakpoint? I'd love to play along for comparison purposes
skids breakpoint? I just let it die on the assert :-)
Infinoid ah.
skids OK, have it dead in gdb again now. 17:12
(gdb) print func_ptr
$1 = @0x40865cb2: 0x407aa6a0 <Parrot_Undef_multi_is_equal_Undef>
17:12 AndyA joined
Infinoid can you nopaste your bt? 17:13
darbelo cotto: repong
cotto heh
dukeleto wanted me to make sure that you blog at least weekly.
darbelo About that: can we make it not show up on the parrot.org front page? I have two half-written posts but I don't think they're relevant enough to bump the latest realease off the top. 17:15
Whiteknight wants to make sure of that too
cotto Sure. Publishing Options -> uncheck "Promoted to front page" 17:17
although we can make the release announcement sticky too
skids sial.org/pbot/36768. 17:18
cotto There. Now you can publish without displacing the release announcement.
darbelo I don't have that option visible. Do you? 17:19
Whiteknight I do
cotto It should be right above the buttons at the bottom of the page.
darbelo buttons at the bottom? 17:20
Whiteknight yeah, on the editing page
Infinoid skids: thanks. So for comparison, on linux/amd64, I do not get that @ syntax 17:21
mine looks like: $4 = (funcptr_t) 0x7ffff7b13da0 <Parrot_Undef_multi_is_equal_Undef>
nopaste "Infinoid" at 75.31.91.96 pasted "skids: here's a dump of the whole struct" (4 lines) at nopaste.snit.ch/16641
skids glad it's not just his imagination 17:22
Infinoid I'd love to see the output of that x/ command on your machine
Whiteknight Which one was the other GSOC project?
darbelo I don't see any buttons on the bottom of any edit page. 17:23
Whiteknight darbelo: Do you see the link "Publishing Options"?
darbelo s/any buttons/that button/
Nope. It's not on 'My account' or 'My blog' 17:24
Whiteknight what buttons do you see?
skids nopaste.snit.ch/16642. 17:25
cotto darbelo, this page www.parrot.org/node/107/edit
darbelo Access denied 17:26
purl hmmm... Access denied is not cool on my main page
Whiteknight darbelo: Create a new blog post
you have to set the option when you write a new post
cotto s/107/103/
or what Whiteknight said if that doesn't work 17:27
17:27 AndyA joined
darbelo I only have 'Preview' 'Submit' and 'Delete' 17:27
And not even delete when creating a new post. 17:28
Smells like a permissions thing to me. 17:32
cotto You can ask allison about that. 17:34
I'm not sure who else has permission-changing permissions.
17:38 Theory joined
darbelo afk # phone 17:38
allison darbelo: you should have access to edit your own posts 17:40
darbelo: maybe not to edit other people's posts
allison has to run to the airport
cotto who else can edit users?
particle1 enjoy the flight
particle- Infinoid: ping
allison darbelo: drop me an email and I'll sort out permissions when I get access again, or catch Coke or particle 17:41
(they also have access)
darbelo I'm back. I can edit my posts, but I can't make them not go to the parrot.org home page. 17:49
17:52 darbelo joined
Whiteknight allison always has to run to the airport 17:56
skids she should buy a car :-) 17:57
Tene or move into the airport. 18:02
Infinoid particle-: pong
18:30 Ademan joined
afk_coke Infinoid: the copyright.t mis-firing todo is wrongly passing on some versions of perl. A fix is most welcome, as I thought I already fixed it. 18:31
Coke "what afk_coke just said."
Infinoid oh, ok 18:32
is it a 5.8.x vs 5.10.x issue?
Coke more like a 5.8.6 vs. 5.8.9 issue. 18:33
there's a ticket for it.
that I thought I resolved but apparently did not.
Infinoid ok. it passes on 5.10.0 too 18:34
Coke oh. perhaps it's gone from "broken on a perl" to "always broken". 18:49
I can show you a file that the test should fail on but doesn't.
compilers/imcc/imcc.y
... oh, I bet I know why. 18:50
..or not.
18:52 Theory joined
Coke compilers/imcc/imcc.y is failing step 2, which is wrong, and passing step 3 which is wrong. whee. 18:52
18:55 Theory joined 18:56 Ruiloff joined
Coke fixed it. 18:56
Infinoid++ 19:00
dalek rrot: r39048 | coke++ | trunk/t/codingstd/copyright.t:
[codingstd] say what I mean; match a newline.
19:01
Coke that leaves one failure for test 2, after which we can probably unTODO it. 19:06
dalek rrot: r39049 | coke++ | trunk/config/init/hints/mswin32.pm:
[codingstd] no tabs.
19:11
rrot: r39050 | coke++ | trunk (2 files):
[codingstd] fix last mis-formed copyright statement; untodo test
19:14
rrot: r39051 | coke++ | trunk/src/pmc/filehandle.pmc:
[codingstd] make 'make codetest' happy.

obscures the function that is now split in two. YMMV.
19:31
19:36 flh joined
dalek rtcl: r368 | coke++ | wiki/ParrotIssues.wiki:
doughera++
19:47
TT #627 closed by coke++: dynlexpad doesn't work with installed parrot.
Infinoid (what did I do?) 19:48
Coke Infinoid: you pointed out it was failing everywhere so I actually looked at it. 19:50
particle- pointer++
Infinoid Coke++ for fixing it; pointers are easy in comparison :) 19:52
19:55 ZuLuuuuuu joined
ZuLuuuuuu Hello, how updated are the docs on www.parrotcode.org/docs ? Would you suggest me to read docs on there or on SVN? 19:57
darbelo I might be wrong but I think the docs on the page are (or should be) the ones for the latest release. 19:58
particle- docs.parrot.org/parrot/latest/html/ 19:59
darbelo If you are working with svn then the svn docs are the safe choice :)
particle- coke: can parrotcode.org/docs redirect to docs.parrot now?
ZuLuuuuuu thank you very much 20:00
particle- docs.parrot.org is updated nightly iirc
Coke particle-: it's not, sfaik. 20:04
I like how our version number is black on black there. whoops. 20:05
docs.parrot.org is currently showing the 1.1 docs.
I can push out the 1.2 docs later. 20:08
darbelo particle-, Coke: Is there a way to make my blog posts not show up on the parrot.org front page? 20:09
particle- too much press? 20:11
ah, hrmm, docs.parrot.org--
darbelo: i can look into it this weekend, but not before
gave notice at my job today, i'm busy preparing for a replacement 20:12
Coke darbelo: maybe. I'm not a drupal guru. =-)
... but i don't see why this is a problem.
darbelo I feel kinda sqeamish about displacing the actual news of the project with blogging about a project that isn't even in the parrot core. 20:13
Coke welcome aboard. 20:14
the problem isn't that your blogging too much;
"you're"
docs.parrot.org now pointing to 1.2.0 docs.
darbelo I'm not blogging enough, actually.
Coke so don't worry about it.
darbelo Oh, and while I'm at it. What should I do to get it aggregated at planet parrot? 20:15
Coke open a ticket.
isn't parrot.org aggregated into planet parrot? 20:16
darbelo I think it only aggregates some tags, not everything that goes to the front page. I don't think it aggregated the bilbo poll, for example. 20:19
20:34 bacek joined
jonathan Hi folks 20:41
Does anyone know of any changes relating to readline_interactive of late?
I just ran Rakudo and... 20:42
Method 'readline_interactive' not found for invocant of class 'FileHandle'
:-(
Coke jonathan: I just today reworked src/pmc/filehandle.pmc
minor codingstd fix.
quite possible I (*#$'d it.
Feel free to revert it if that fixes your problem. 20:43
jonathan Coke: Ah, very possibly a mistake.
Coke: I'll go find the patch and look.
Coke sorry if it was me. :|
flh btw this make me think about TT#680: has someone (maby with commit bits...) got an opinion about it? 20:44
jonathan Coke: 39051 looks dubious. 20:45
Coke: Well, looks like the likely cause.
Does look kosher at first glance though...
Coke flh: karma'd it. 20:49
if no one disagrees, I'll probably apply it later this weekend.
jonathan Coke: I think your patch in theory is OK. I fear in practice, conditional comments around a routine as a whole is maybe confusing pmc2c. 20:50
Coke ok. feel free to revert that part. 20:51
jonathan Coke: Will just undo the part of it that breaks things and leave the rest intact.
Coke I was just try.... ok. 20:52
rakudo: say hi
rakudo: 'hi'.say
polyglotbot?
purl polyglotbot is running an outdated version of rakudo.
jonathan perl6: say 42 20:53
meh
polyglotbot is has a sad.
polyglotbot OUTPUT[error:imcc:syntax error, unexpected $end ('þ')␤ in file '/home/tene/parrot-build2/runtime/parrot/library/config.pbc' line 1␤Could not find non-existent sub hi␤current instr.: '_block14' pc 53 (EVAL_16:38)␤called from Sub '!UNIT_START' pc 18229 (src/builtins/guts.pir:321)␤called from Sub 20:54
..'parrot;PCT;HLLCompiler;eval' pc 950 (src/PCT/HLLCom...
OUTPUT[error:imcc:syntax error, unexpected $end ('þ')␤ in file '/home/tene/parrot-build2/runtime/parrot/library/config.pbc' line 1␤hi␤]
OUTPUT[error:imcc:syntax error, unexpected $end ('þ')␤ in file '/home/tene/parrot-build2/runtime/parrot/library/config.pbc' line 1␤42␤]
Coke whoa.
jonathan Epic sad. 20:55
Coke: Yes, reverting that hunk fixes things up. Will apply.
NotFound about TT #680: I'd pefer to deprecate setstdout and setstderr, instead of creating setstdin 20:57
jonathan NotFound: As ops?
NotFound jonathan: yes 20:58
dalek rrot: r39052 | jonathan++ | trunk/src/pmc/filehandle.pmc:
[core] Revert part of r39051; while in theory it's fine, it left us without a readline_interactive method, possibly because of a bad interaction between conditional compilation and pmc2c.
20:59
jonathan NotFound: 'cus we have a method on ParrotInterpreter to do that?
NotFound jonathan: yes, and they are not so critical in speed nor so frequently used to justify other way than the methods.
flh indeed, actually: stdhandle(fileno, new_pmc) 21:00
jonathan NotFound: Agree with you. 21:01
flh we might also want to deprecate getstd* also 21:02
NotFound Yeah 21:03
jonathan Yeah, for these things, if there's a way to do it on the interpreter object we don't need opcodes... 21:04
Coke NotFound: you might want to comment on the ticket.
though why we'd want to start being careful about adding opcodes is beyond me. =-)
NotFound Coke: I'll do that now
Coke (I think we missed that about about 8 years ago. =-)
s/that about/that boat/
NotFound Coke: we need to maintain them, we to test them, we need to maintain the tests...
jonathan ...and we compile them in for every runcore... 21:05
NotFound jonathan: yes, but I put I pay more attention to our work than to CPU work ;-) 21:06
jonathan NotFound: My point was more that it bulks up the already un-small Parrot binary. 21:07
NotFound Not a bad point
21:08 bacek_ joined
nopaste "flh" at 88.160.47.207 pasted "Change "ParrotIO" to "FileHandle" in the docs" (54 lines) at nopaste.snit.ch/16643 21:09
flh here's a little patch which updates the doc for the soon to be deprecated opcodes 21:10
Tene Oops, I never finished fixing polyglotbot 21:12
21:12 AndyA_ joined 21:13 AndyA__ joined
NotFound flh: please attach it to the ticket 21:15
But note that the "soon to be deprecated" is just a proposal for a now. 21:16
flh NotFound, that's why I'm sending the patch for the docs :) 21:21
I cannot close the ticket myself, someone else will have to do it at some point 21:22
NotFound Please don't drop readline_interactive when there is no readline library. Will be a shame to have to check for his presence in all programs. 21:24
jonathan NotFound: +1 21:25
purl 1
21:26 Whiteknight joined
jonathan omfg. chromatic++ 21:29
dalek rrot: r39053 | NotFound++ | trunk/docs/book/ch10_opcode_reference.pod:
[docs] update references to the old ParrotIO objects, TT #680, flh++
21:32
rrot: r39054 | whiteknight++ | branches/tt_696:
creating a branch to work on TT #696
21:54 bacek joined
dalek rrot: r39055 | whiteknight++ | branches/tt_696 (3 files):
[tt_696] create Parrot_oo_clone_object function.
21:55
NotFound There is some reason to return a PMCNULL instead of a NULL STRING in readline_interactive? 21:59
dalek rrot: r39056 | whiteknight++ | branches/tt_696 (2 files):
[tt_696] add logic to Parrot_oo_clone_object to allow an optional destination PMC to be supplied, instead of creating a new one. This allows the function to act like reuse_pmc, but to dtrt
22:02
Whiteknight is there a reason not to? 22:03
jonathan Whiteknight: Unrequired auto-boxing perhaps. 22:04
Whiteknight: I suspect many people write $S0 = $P0.'readline_interactive'()
Also slightly different behavior. 22:05
$S0 would get a NULL string if we changed it, whereas now you'd get a null pmc access... 22:06
NotFound Whiteknight: consistency 22:07
purl consistency is a problem. or highly overrated or the hobgoblin of small minds or (see FOOLISH consistency)
NotFound If we want a pmc, will be better to return a string pmc in the other cases 22:08
Whiteknight okay then, NULL it is
NotFound I'll try and look if it break some test 22:11
Coke notfound - false argument. we'd need to test and maintain the code no matter how it was invokable. 22:13
NotFound Coke: if is invokable in several ways, we need to test and maintain all ways, 22:15
dalek rrot: r39057 | bacek++ | branches/tt452_reduce_mmd/src/pmc/complex.pmc:
[pmc] Use less MULTIs in Complex.
22:16
rrot: r39058 | bacek++ | branches/tt452_reduce_mmd/src/pmc/bigint.pmc:
[pmc] Don't try reuse PMC in arithmetic. It's dangerous.
22:18 Theory joined
dalek rrot: r39059 | bacek++ | branches/tt452_reduce_mmd/t/pmc/multidispatch.t:
[t] Mark more tests with todo => TT#452 tag
22:19
NotFound Somemone has taken a look at TT #433 22:20
?
dalek kudo: 23718a8 | jnthn++ | src/classes/Object.pir:
First steps in refactoring object building/initialization. We now are a bit more consistent with the spec about new/bless/CREATE and their relationship, plus follow a recent spec change. Plus adds placeholders for the next step of refactoring creation and BUILD.
22:24
bacek NotFound: enough :)
Infinoid NotFound: (#433) That looks an awful lot like a half-done feature 22:30
NotFound Infinoid: I'm not sure if is a half-done feature or a half-done test 22:31
I'm only sure that is a half-done comment X-) 22:32
Infinoid :) 22:33
I thought I'd take a shot at factoring Handle out of FileHandle today
22:35 wayland joined
NotFound I'm tempted to add src/pmc/crazyexception.pmc to the repo 22:38
"Not my fault, It was a TODO in a test" X-) 22:39
Infinoid Then we'd need a deprecation cycle to rip it out again. :P 22:40
bacek In Soviet Russia exceptions catch YOU
NotFound Oh, I can call it CrazyIvan, then
bacek :)
Infinoid is crazy ivan a subclass of crazy?
NotFound A subclass of Ivan, I think 22:41
Infinoid we might need MI
NotFound Crazy may be a Role
dalek website: darbelo++ | Putting contexts in the proper context. 22:42
website: www.parrot.org/content/putting-cont...r-context.
rrot: r39060 | bacek++ | branches/tt452_reduce_mmd/t/pmc/multidispatch.t:
r39065 | NotFound++ | trunk/src/pmc/filehandle.pmc:
22:42 dalek joined
darbelo Did I just kill dalek? 22:43
bacek darbelo: no. It was me. 22:44
Infinoid: my commit messages usually kill dalek...
NotFound They killed dalek!
Infinoid why? 22:45
bacek hides
Infinoid checks the log
darbelo EX-TER-MI-NATE! EX-TER-MI-NATE! EX-TER-MI-NATE! 22:46
Infinoid there are a few high characters in one of the log entries... @400000004a172a743b73cf7c magnet >> PRIVMSG #parrot :parrot: [t] More todoed tests<E2><80><A6>
@400000004a172a7438bb9cec Wide character in syswrite at modules/core/modules.pm line 109. 22:47
Infinoid ugh, I'm feeling yet *another* urge to rewrite botnix from scratch (this is about the 10th time) 22:51
darbelo Infinoid: the 10th urge or the 10th rewrite? 23:00
;)
Infinoid 10th urge. I've managed to resist it so far, barely
Whiteknight urg, TT #696 is a PITA 23:01
szbalint maybe we should cooperate, botnix is annoying me aswell 23:02
wayland The guys on #perl6 were talking about writing a Perl 6 IRC bot framework, but only in a "We'll do this sometime soon" sort of way 23:03
NotFound Can partcl emit pir?
Infinoid No matter how many irc bot packages are on the internet, there are never enough :) 23:04
Infinoid googles for botnix utf8 and sees himself in 5 of the first page results... and starts to wonder if dalek is the biggest botnix installation on the planet 23:06
szbalint certainly the deadliest
Infinoid bacek: I'm going to try to un-collapse the utf8 "..." thing that trac does, with a simple s/// 23:09
bacek Infinoid: good luck :) 23:12
23:14 kid51 joined
Infinoid works in make test, but it'd need a real commit to test it in botnix 23:14
23:15 tetragon joined
Infinoid hmm. make that: works in my perl 5.10.0, doesn't work on feather's perl 5.10.0 23:17
bacek There Is Many Perls To Do It 23:20
23:20 dalek joined
Infinoid cool, just needed "use utf8" in the right places 23:20
bacek: lemme know the next time you commit something whose commit log contains "..."
(there are probably other characters that will still crash it.)
bacek In few minutes. I'm going to finish tt452 branch :) 23:21
Infinoid bacek++
Infinoid does a rakudo benchmark so he'll have something to compare against 23:22
bacek Infinoid: drop --gc-debug from Makefile. 23:24
in benchmark_test target
And revert cotto++ commit about reducing number of iterations. Just in case :) 23:25
23:31 ruoso joined
bacek *incoming* 23:31
cotto hey, if it runs at a reasonable speed, I'm happy
bacek++ for that
bacek It slow because of --gc-debug... 23:32
cotto that's an odd thing to run while benchmarking
bacek And I don't know why we use --gc-debug during benchmarking...
If no one comply I'll remove it. 23:33
dalek rrot: r39066 | bacek++ | branches/tt452_reduce_mmd/t/dynpmc/foo.t:
[t] Replace '-' with method form in t/dynpmc/foo.t
rrot: r39067 | bacek++ | branches/tt452_reduce_mmd/lib/Parrot/Pmc2c/PMCEmitter.pm:
[Pmc2c] Generate MULTI method for each VTABLE to participate in MMD.
bacek No one? 23:34
cotto do it
do it nao
Infinoid dooo eeeet
moderator Parrot 1.2.0 released | parrot.org/ | 305 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets 23:34
bacek Committing... svn is bloody slow. 23:35
cotto no excuses
Infinoid some of those benchmark examples are great for testing the GC, because of the amount of PMCs they juggle... but for that usage there should be a gc_debug_test or something
cotto I'm sure Whiteknight will want something like that once he starts hacking out a new gc. 23:36
bacek He can easily add this target into Makefile. He is big boy anyway :) 23:37
Here we go.
Infinoid it's rather confusing that rakudo has --parrot-config and all the other languages I've tried have --parrot_config (with an underscore instead of a hyphen) 23:38
hmm. and by "all the other languages" I apparently mean "decnum-dynpmcs" 23:39
dalek rrot: r39068 | bacek++ | branches/tt452_reduce_mmd/config/gen/makefiles/root.in:
Drop --gc-debug in benchmark_test
rrot: r39069 | bacek++ | trunk/config/gen/makefiles/root.in:
Drop --gc-debug from benchmark_test target.
bacek Ok guys. It's ready. BigNum still has few MULTIs. But it's ready for benchmarking 23:41
darbelo Infinoid: I'm about to commit something, do you still need a commit message with '...' in it? 23:46
Infinoid darbelo: It only affected the trac parsers, sorry 23:47
the googlecode parser works fine until proven otherwise
cotto bacek, is pmc_reuse dangerous when dealing with subclasses?
Infinoid I can't build rakudo using a tt452_reduce_mmd parrot, maybe pct or imcc changed since the branch started 23:48
darbelo Lets prove otherwise!
23:48 bacek_ joined
nopaste "bacek" at 122.110.62.127 pasted "Benchmarking" (13 lines) at nopaste.snit.ch/16644 23:48
"Infinoid" at 75.31.91.96 pasted "rakudo build failures using tt452 parrot (but I'm not sure this is related to the MMD cleanups)" (164 lines) at nopaste.snit.ch/16645 23:49
bacek_ Infinoid: strange... But it doesn't look like my fault. 23:53
cotto That's what they all say. 23:54
dalek cnum-dynpmcs: r52 | darbelo++ | trunk/ (3 files):
Rename DecContext to DecNumContext ...
Infinoid yeah. I can't build rakudo using a tt452_reduce_mmd parrot, maybe pct or imcc changed since the branch started
bacek oh.. 23:55
I'll merge trunk into branch.
Infinoid oki, thanks
bacek Have to go soon. 23:57
darbelo cotto: ping 23:58
bacek Still waiting to parrot from trunk for benchmark results with bumped up numbers...
cotto darbelo, you pinged?
dalek cnum-dynpmcs: r53 | darbelo++ | trunk/src/pmc/decnumcontext.pmc:
Add getter-setter pairs for emin and emax fields of decContext.
23:59
Infinoid bacek: heh, yeah, it's ridiculous
darbelo Yup, have a question: Is all the talk about 'less MULTI' something I should pay attention to?
dalek rrot: r39070 | bacek++ | branches/tt452_reduce_mmd/src/pmc/scalar.pmc:
[pmc][cage] Remove commented out code from Scalar.
rrot: r39071 | bacek++ | branches/tt452_reduce_mmd (21 files):
Bump benchmark numbers back. They are slightly faster now.