Camelia, the Perl 6 bug

IRC log for #parrot, 2009-05-22

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 Infinoid ok...
00:00 Infinoid I'm guessing splint is already aware of our non-NULLness constraints?
00:00 Andy yes
00:00 Andy That's what ARGIN is for
00:00 Infinoid in that case, it's already at least as smart as ASSERT_ARGS is
00:00 Andy that's why ARGIN is a macro.
00:01 Andy well, shoot, it doens't tell me.
00:01 darbelo cotto: They do make MD5 decompressors, thay're called "rainbow tables".
00:01 Infinoid cool.  ARGIN is also used in headerizer to generate the ASSERT_ARGS backend macros
00:01 Andy Right.  I wanted ARGIN to be the generic marker that other instrumentation could base themselves on.
00:01 Infinoid It's working great for that
00:02 Infinoid 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.
00:02 Andy I never have tested that this most basic of pointer checks worked, and I shoudl have.
00:03 Infinoid gcc has a feature to check these things too... but it's half-written and dangerous
00:04 Infinoid 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:05 Infinoid which breaks things even worse.
00:05 Andy yeah, the -O is a bummer
00:05 Andy but
00:05 Andy latest GCC makes those checks work without having to have -On
00:11 Andy Infinoid: it's easy 'nuff to play with splint
00:11 Andy hack the file list in Makefile and change it to, say, src/key.c.  A nice simplefile.
00:12 Infinoid yeah, mostly because of your hard work :)
00:12 Andy and then just 'make splint-andy'
00:12 Infinoid actually, playing with splint was the first thing I ever did with parrot.
00:12 Andy Infinoid: It's not hard so much as tedious. :-)
00:13 Andy but I'm glad you appreciate it.
00:30 Whiteknight allison: ping
00:30 Whiteknight oh crap, she just left
00:31 Whiteknight anybody else here know about PMC esoterica?
00:31 Tene joined #parrot
00:32 Infinoid Whiteknight: It can't hurt to ask, anyway
00:32 Whiteknight I'm looking for input on TT #696, it has me stumped
00:33 Infinoid hmm... apparently it wants the subclass to have overwritten the init() vtable?
00:33 Infinoid s/overwritten/overridden/
00:35 Whiteknight Class:Instantiate does allow init to be overriden, yes
00:36 Whiteknight so somewhere in the equation we definitely need to be calling instantiate
00:37 Whiteknight and I could be doing some kind of special-case hackery in set.ops, but that seems wrong to me
00:38 Infinoid note that Undef doesn't have an init(), so it would fall through to Object's, which throws
00:38 Whiteknight right
00:38 Infinoid I don't know where instantiate is called
00:38 Whiteknight in this case, it isn't called
00:38 Whiteknight but it should be
00:38 Infinoid ...for undef?
00:39 Whiteknight no, for the object that the Undef is being changed to
00:40 dalek decnum-dynpmcs: r50 | darbelo++ | trunk/src/decNumber/decNumber.h:
00:40 dalek decnum-dynpmcs: We define DECDPUN on the compiler comandline, wrap it's definition in
00:40 dalek decnum-dynpmcs: decNumber.h with "#if !defined"/"#endif" to avoid conflicts.
00:40 dalek decnum-dynpmcs: review: http://code.google.com/p/decn​um-dynpmcs/source/detail?r=50
00:41 Infinoid Apparently the "assign P0, P2" pasm instruction calls init() on undef
00:41 Infinoid wait, what?  that's called internally by pmc_reuse()
00:43 Infinoid pmc_reuse() is called with enum_class_Object, so it morphs it from an Undef to an Object, and then VTABLE_init crashes
00:46 Infinoid Undef.set_pmc() is doing:         pmc_reuse(INTERP, SELF, other->vtable->base_type, 0);
00:46 Infinoid but other->vtable->base_type needs to be something other than enum_class_Object for this to work.
00:47 Whiteknight right
00:47 Whiteknight and that's where the exception gets thrown
00:47 Whiteknight so somewhere in Undef:assign, we need to convert SELF into an Object that's instantiated properly
00:48 Infinoid and apparently, calling pmc_reuse does not do so properly
00:49 Whiteknight exactly. Hence me being stumped
00:49 Whiteknight nothing does the right thing, it seems
00:50 Infinoid ok.  any idea if this pir code *ever* worked?
00:50 Whiteknight Coke claims that it did back in the olden days
00:50 Whiteknight pre-0.9.0
00:51 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
00:51 Infinoid heh, yeah
00:51 Whiteknight right, Undef doesn't like being assigned to
00:52 Infinoid r38029 looks interesting
00:52 MariachiElf joined #parrot
00:53 Whiteknight how the hell did you find that?
00:53 Infinoid git blame
00:53 Whiteknight "Infinoid: Finding needles in haystacks"
00:53 * Infinoid also finds haystacks in needles, sometimes.  True story.
00:54 cotto Infinoid, thanks
00:54 cotto (I hope)
00:54 Whiteknight haha, we can't even test if that was the problem, because we don't ahve Ref anymore!
00:55 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)
00:55 Infinoid well, now we have a test case (#696)
00:55 Whiteknight right, which is why nobody knew it was a problem till Coke tried it and broke it
00:55 Whiteknight I blame Coke
00:56 cotto yay for test cases
00:57 cotto 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
00:57 Whiteknight 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
01:00 * Infinoid doesn't understand pmcs well enough to know the significance of that
01:05 allison joined #parrot
01:05 Whiteknight a Class PMC needs to be instantiated first, before objects of that class can be used
01:06 Whiteknight instantiation fixes the MRO for the class, and other metadata
01:06 cotto and an Object can't be instantiated by itself
01:06 Whiteknight check out src/pmc/class.pmc:instantiate, look at the _instantiated flag
01:06 Whiteknight allison: you have a moment?
01:07 Infinoid oh, ok
01:09 MariachiElf joined #parrot
01:09 bacek joined #parrot
01:10 Whiteknight I definitely think this behavior should be allowed, but this is such a stupid problem
01:11 allison Whiteknight: what's up?
01:11 purl The Canadian Dollar
01:12 Whiteknight allison: we're stumped by TT #696.
01:12 Whiteknight It's something that apparently used to work but was never tested, and now it doesnt work with Ref PMC disappeared
01:13 Whiteknight 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
01:13 Whiteknight thanks!
01:13 eternaleye joined #parrot
01:15 Whiteknight damnit! even my hackish solution segfaults. Now I don't have a fallback!
01:16 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
01:17 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
01:17 Whiteknight hear no evil, see no evil...
01:23 Whiteknight 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
01:25 * 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
01:25 Whiteknight so that's annoying me
01:25 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)
01:26 Infinoid MariachiElf: :)
01:27 * 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:
01:27 allison 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
01:28 allison Whiteknight: make the function take an optional PMC argument, the destination of the clone
01:28 allison Whiteknight: when the (optional) destination PMC is passed, morph it to the object type, when it's not passed, create a new object
01:29 allison 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
01:29 Whiteknight probably put that together pretty quickly in a branch
01:29 Infinoid MariachiElf: Parrot takes contributors of all types, even just running "make test" once in a while is helpful
01:29 allison Whiteknight: excellent
01:30 allison 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
01:30 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
01:30 allison Whiteknight: happy to help :)
01:30 allison now back to Tcl tests
01:32 Whiteknight okay, goodnight
01:33 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 MariachiElf But the guides were great
01:34 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
01:34 * MariachiElf nods.
01:34 Infinoid Yeah, that's a constant battle
01:34 MariachiElf I'm not going anywhere :)
01:46 MariachiElf 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
01:47 Infinoid 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
01:47 MariachiElf Infinoid: For the GUI part I was going to use Perl::Qt
01:47 Infinoid what, not OpenGL? :)
01:48 MariachiElf Infinoid: Well let's just say the GUI part is actually part of the language that gets changed
01:48 MariachiElf hehe - well I'm lazy and I love KDE
01:48 Infinoid yeah, that shouldn't be a problem
01:48 Infinoid if you want to access Qt stuff from within parrot, you will need to add some NCI access (or whatever) though
01:48 Infinoid that will likely be a fair bit of work, the Qt API isn't small.
01:49 * 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? ')
01:50 MariachiElf 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:51 MariachiElf So what's forming in my mind is a scope/namespace stack
01:51 Infinoid that seems reasonable
01:52 MariachiElf The core language only has a couple commands - everything else is added on
01:54 MariachiElf 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:55 Infinoid my mistake, there's already some Qt support in examples/nci/ (though it seems to need a little updating)
01:56 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:57 Infinoid hmm, interesting
01:58 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
01:59 MariachiElf Instead of what you used to have to do which is add a new sub; "newTimedMoved(button "theButton", newPoint, "10 seconds")
02:00 MariachiElf Infinoid: Excellent!
02:00 * purl plays air guitar
02:00 Infinoid I'd love to see examples/nci/PQt.cpp replaced by NCI though
02:04 dukeleto joined #parrot
02:06 MariachiElf Infinoid; I always saw having to use a different syntax for anything not baked in as a shortcoming
02:07 Infinoid what do you mean?
02:09 MariachiElf Well like the example I just gave
02:09 * MariachiElf just replaced the batteries in his keyboard and can type much faster now
02:10 MariachiElf If you used the native move command
02:10 MariachiElf It worked one way
02:10 MariachiElf But let's say you wanted a different move command
02:10 Infinoid this is the hypercard "move" command you're talking about?  (Sorry, I'm not familiar with the language's syntax)
02:10 MariachiElf One that would move the object like an animation over x time instead of just "pop" the object is in its new spot
02:11 MariachiElf Oh - yeah
02:11 afk_coke msg whiteknight (actually, this behavior worked as recently as 1.0, apparently)
02:11 purl Message for whiteknight stored.
02:11 Infinoid but if you change the syntax, won't that break compatibility?
02:11 MariachiElf There's an entire language dictionary here: http://downloads.runrev.co​m/userguide/Dictionary.pdf
02:12 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
02:12 * Infinoid rtfms
02:12 MariachiElf Careful it's big
02:12 MariachiElf Revolution is the current xCard like application that I would be building an Open Source workalike for
02:13 Infinoid cool.  Do they have a testsuite you can borrow from?
02:13 MariachiElf Well this is a dictionary from a full blow product
02:14 MariachiElf See www.runrev.com
02:14 MariachiElf So no
02:14 MariachiElf And it wouldn't work anyway because whatever they provided would be shipped as "stacks"
02:15 MariachiElf stacks = binary encapsulation of the app
02:15 Infinoid nice reference document
02:16 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 MariachiElf Yeah I've been waiting a long time for them produce it -- it just came out this year
02:18 MariachiElf They have 1601 commands and functions in the top level product
02:18 MariachiElf Everything from connecting to SQL databases, websites, and files, to graphics and buttons and mouse events, etc
02:19 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
02:19 MariachiElf Well I can "translate" those
02:20 Infinoid hehe
02:20 MariachiElf PythonCard having a very similar goal to this project should be something I end up collaborating with them on
02:20 Infinoid funny how everyone seems to have different, incompatible definitions of what a "real" programming language should look like
02:21 MariachiElf Ideally Parrot would enable this project to run PythonCard
02:22 MariachiElf 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 http://cpansearch.perl.org/src/JQU​ELIN/Language-Befunge-4.10/Changes nearly 30 times :)
02:23 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 MariachiElf ok gotta go spend some time with my wife! :)
02:24 MariachiElf 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 :)
02:24 Infinoid have fun!
02:24 MariachiElf Sounds like something I'd get a kick out of :)
02:24 MariachiElf l8r
02:34 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:41 janus joined #parrot
02:43 Infinoid If this is on feather, 1.2.0 is installed in /usr/local and it's PBC_COMPAT is 4.5
02:43 Infinoid s/it's/its/
02:44 allison Infinoid: nope, local, and installed in a custom directory
02:45 Coke allison: probably need a realclean.
02:45 allison Infinoid: the problem goes away if I build against my installed 1.0
02:45 allison Coke: yup, tried realclean
02:45 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
02:45 allison (4.6 is the version of the current trunk)
02:46 Coke yah. after I realclean'd that went away.
02:46 allison Coke: will try again, to be sure
02:46 Coke your fix seems to work.
02:46 allison Coke: at the moment I'm trying against 1.0, for comparison
02:47 Coke k.
02:47 allison Coke: excellent
02:47 Coke could probably bisect where that morph issue started happening.
02:47 allison Coke: I think someone mentioned it was when the Ref PMC was removed
02:47 Coke oh, was that it? ok.
02:48 Infinoid if it's the Undef assignment thing, r38029
02:49 Coke ayup.
02:49 Coke So that's the big blocker. Tcl, btw? Still (*&#$ slow. =-)
02:50 allison Infinoid: oh! yeah, that'd break things
02:50 allison Coke: Tcl might be able to use some of the tricks chromatic cooked up for Perl 6
02:51 allison Coke: and Whiteknight was starting to work on a solution for Undef
02:51 Coke allison: wouldn't I be using them already?
02:51 allison Coke: basically, clone the object (when it's an object) instead of trying to instantiate it directly
02:52 allison Coke: the fixes that were baked into Parrot, yes. But there were some things done to Perl 6 instead
02:52 allison Coke: the big thing though, would be profiling Tcl to find out what's slowing it down
02:53 allison 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. =-)
02:55 allison Coke: :)
02:55 * allison briefly afk
02:55 Coke to run the select* tests, will need to bake the path to perl in the shebang.
02:58 Infinoid So I'm guessing the pmc_pct branch makes the pmc2c-cache idea obsolete
03:07 dalek partcl: r357 | coke++ | trunk/ (6 files):
03:07 dalek partcl: Instead of having a hardcoded shebang for the parrot only tests,
03:07 dalek partcl: generate the files with the appropriate path-to-parrot already in them.
03:08 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=357
03:11 Coke allison: there. that should let select*.t run.
03:12 Coke allison; (I generate the .t at config time, putting the right shebang in.)
03:12 dalek partcl: r358 | coke++ | trunk/ (2 files):
03:12 dalek partcl: ignore generated test files; Fix shebang logic (avoid embedded newline)
03:12 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=358
03:12 dalek partcl: r359 | coke++ | trunk/ (2 files):
03:12 dalek partcl: we don't live in parrot-land anymore.
03:12 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=359
03:13 Coke allison: ... and now that I've reconfig'd and rebuilt again, I too am getting that error.
03:13 Coke realclean isn't clean enough.
03:17 dalek partcl: r360 | coke++ | trunk/dynext/README:
03:17 dalek partcl: subversion can contain empty directories. Remove the placeholder
03:17 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=360
03:20 Coke allison: lib/Parrot/Installed.pm has the wrong path.
03:20 donaldh joined #parrot
03:21 Coke even if I run with a --parrot-config, it gives me the one in my path.
03:22 dalek partcl: r361 | coke++ | trunk/config/makefiles/root.in:
03:22 dalek partcl: remove all generated files in dynext
03:22 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=361
03:25 petdance joined #parrot
03:27 Coke allison: ... crap . no, that does look right.
03:31 Coke allison: fixed.
03:32 Coke 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.
03:32 dalek partcl: r362 | coke++ | trunk/lib/Tcl/Test.pm:
03:32 dalek partcl: use path to parrot instead of grabbing first in PATH.
03:32 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=362
03:37 allison Coke: excellent
03:41 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:53 darbelo joined #parrot
03:54 s1n allison: apparently my company is in the process of developing a contributor policy, so i submitted the paperwork for parrot
03:56 allison s1n: excellent
03:58 s1n allison: we apparently have an oreilly author consulting us on the process
04:01 allison s1n: they're generally clueful
04:02 allison 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 #parrot
04:13 allison s1n: yes, that's the full current list
04:14 allison Coke: Your fix is a success! 111 failing tests in Partcl when I run it on 1.2 now. Mainly the 'Undef' bug.
04:26 petdance joined #parrot
04:54 wayland76 "Parrot different fundamentally is from virtual machines existing" -- Yoda's Parrot :)
04:57 allison wayland76: :)
04:59 wayland joined #parrot
05:18 masak joined #parrot
05:24 szabgab joined #parrot
05:52 lli joined #parrot
05:55 dduncan joined #parrot
05:58 cotto joined #parrot
06:04 dduncan left #parrot
06:05 Maghnus joined #parrot
06:07 lli_ joined #parrot
06:09 dalek parrot: r39030 | petdance++ | trunk/config/gen/makefiles/root.in:
06:09 dalek parrot: Adding in more memory checks to the splint flags
06:09 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39030/
06:16 dalek parrot: r39031 | petdance++ | trunk/lib/Parrot/Pmc2c/Attribute.pm:
06:16 dalek parrot: consting some args in the generated code
06:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39031/
06:19 dalek parrot: r39032 | petdance++ | trunk/src/key.c:
06:19 dalek parrot: explicilty cast an int->FLOATVAL
06:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39032/
06:33 dalek parrot: r39033 | petdance++ | trunk/include/parrot/pmc_freeze.h:
06:33 dalek parrot: instrumenting visit_f
06:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39033/
06:35 cotto going to yapc10
06:35 purl well, going to yapc10 is kid51 or pmichaud or davidfetter or cotto
06:36 cotto going to yapc10 is also whiteknight
06:36 purl okay, cotto.
06:40 wayland Where's yapc 10?
06:45 cotto CMU
06:50 bsdz joined #parrot
06:50 wayland As in Carnegie-Mellon University?
06:52 cotto yup, that one
06:53 wayland Ah, Google Maps tells me that's in Pittsburgh :)
06:55 Theory joined #parrot
06:55 * cotto just found all the cool Parrot-related stuff that whiteknight++ is putting in his blog
07:18 dalek TT #698 created by rusabd++: [PATCH] Mac OS X build fix
07:19 cotto Infinoid++ for adding TTs to dalek!
07:20 donaldh joined #parrot
07:36 Theory joined #parrot
08:00 cotto darbelo, ping
08:21 mikehh cotto: failed to send smolder again - we seriously need something done about smolder reports for parrot
08:23 mikehh I managed to send 1 report in the last week
08:24 cotto I completely agree, but I'm not in a position do do anything other than raise a stink.
08:24 cotto (which I'm happy to do)
08:30 * cotto finally found his TODO list
08:31 cotto I hate knowing that there's stuff I should do, but not knowing what it is.
08:31 cotto fortunately, knowing what it is and ignoring it isn't so bad
08:33 cotto mikehh, how many times did you attempt to submit a report?
08:38 mikehh i usually run make smoke and if it fails I try to connect to the site - that usually also times out
08:39 mikehh fails to send that is
08:41 mikehh I usually do one or two builds a day
08:43 cotto plusthree--
08:44 mikehh running a make fullyesy at the moment and have just hit some more codetest failures :)
08:44 mikehh s/fullyesy/fulltest/
08:46 cotto mikehh, do you care to write a tt?  Mine feel too flamey.
08:46 mikehh will report on those in a bit
08:46 cotto and it doesn't help that I'm trying to fix this on my system: https://bugs.launchpad.net/ubu​ntu/+source/linux/+bug/331589
08:48 mikehh i do make -k fulltest 2>&1 | tee fulltest.39033.amd64.log - so I will look at it detail when it finishes
08:58 mikehh a lot of failures from  src/gc/malloc.c
09:01 mikehh ok finished now - took just over an hour to run
09:05 cotto mikehh, do you want to write a tt about smolder availability or should I just wait until I'm not crabby?
09:06 mikehh codetest FAIL all others PASS
09:06 mikehh ok will do
09:07 cotto Thanks.  I think it's safe to ignore any failures in src/gc, since whiteknight is doing some heavy refactoring there atm.
09:09 wayland joined #parrot
09:22 bacek joined #parrot
10:08 dalek TT #699 created by mikehh++: plusthree site down again
10:14 riffraff joined #parrot
10:32 bacek joined #parrot
10:34 bacek OH HAI
10:50 bacek_ joined #parrot
10:56 dalek parrot: r39034 | bacek++ | branches/tt452_reduce_mmd/t/pmc/multidispatch.t:
10:56 dalek parrot: [t] Mark failing MMD tests with "todo => 'TT#452'" to revisit in future.
10:56 dalek parrot: Test are definitely wrong. So real TODO is check each of them and rewrite appropriately.
10:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39034/
11:00 bacek__ joined #parrot
11:03 dalek parrot: r39035 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
11:03 dalek parrot: [pmc] Rewrite Integer.modulus without MULTIs.
11:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39035/
11:06 dalek parrot: r39036 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
11:06 dalek parrot: [pmc] Don't use MMD in Integer.pow
11:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39036/
11:06 dalek parrot: r39037 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
11:06 dalek parrot: [pmc] Drop cheating register VTABLE as MULTI methods.
11:06 dalek parrot: It's inconsistent among other PMCs. We have to deal with it in Pmc2c by creating proper default methods and register them in MMD.
11:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39037/
11:06 dalek parrot: r39038 | bacek++ | branches/tt452_reduce_mmd/t/pmc/multidispatch.t:
11:06 dalek parrot: [t] Mark more failting MMD tests with todo tag.
11:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39038/
11:06 dalek parrot: r39039 | bacek++ | branches/tt452_reduce_mmd/src/pmc/float.pmc:
11:06 dalek parrot: [pmc] Don't use MULTIs in Float.
11:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39039/
11:06 dalek parrot: r39040 | bacek++ | branches/tt452_reduce_mmd/t/pmc/objects.t:
11:07 dalek parrot: [t] Add skip of failing tests due TT#452
11:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39040/
11:07 wayland The daleks are taking over!  ( commits++ )
11:11 bacek__ wayland: actually git++ :)
11:20 bacek cotto: ping
11:21 donaldh joined #parrot
11:25 burmas joined #parrot
11:27 bacek joined #parrot
11:44 darbelo cotto: pong
11:48 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:49 dalek rakudo: 5eac9bd | pmichaud++ | build/PARROT_REVISION:
11:49 dalek rakudo: Bump PARROT_REVISION so we get the smarter "variable not predeclared" messages.
11:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​eac9bda84c6e33b2b583519f161d54d900d57df
11:49 bacek wayland: currently they indicate brokenness of parrot in many ways :/
12:18 wayland Ah well :)
12:40 rg joined #parrot
12:41 dalek decnum-dynpmcs: r51 | darbelo++ | trunk/src/pmc/dec (2 files):
12:41 dalek decnum-dynpmcs: Clean up a few warnings.
12:41 dalek decnum-dynpmcs: I think we are warning-free now.
12:41 dalek decnum-dynpmcs: review: http://code.google.com/p/decn​um-dynpmcs/source/detail?r=51
13:01 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:06 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:08 Infinoid I like the disappearing ones
13:08 Infinoid I hate the reappearing ones
13:09 darbelo left #parrot
13:09 darbelo joined #parrot
13:12 darbelo The whole thing is probably due to OpenBSD gcc confusing Configure.pl. It's a "heavily patched" gcc 3.x
13:13 davidfetter joined #parrot
13:14 darbelo If you take "heavily patched" to mean "Patched up beyond all recognition", of course.
13:16 Infinoid sounds similar to the "hardened" gentoo toolchain
13:16 Infinoid it means there's a whole class of bugs which your OS and only your OS has, which makes them harder to google for
13:17 Infinoid such fun.
13:19 gryphon joined #parrot
13:27 Whiteknight joined #parrot
13:27 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:35 Theory joined #parrot
13:36 particle joined #parrot
13:39 mikehh Whiteknight: I am getting loads of codetest failures with src/gc/malloc.c
13:47 afk_coke I am tempted to give mikehh commit bits so we stop getting those reports. =-)
13:47 Infinoid mikehh: patches welcome :)
13:48 Coke I'm running codetest now.
13:48 * Infinoid finally got tired of waiting for perlcritic, and uninstalled it again
13:49 Whiteknight mikehh: Really? I made sure to run all the codingstd tests before I committed that
13:50 Whiteknight mikehh: Did you realclean and reconfigure?
13:51 Infinoid I'm seeing it here too, Whiteknight
13:51 Whiteknight damnit!
13:51 Infinoid still get them after realclean/configure
13:53 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?
13:53 Coke and you can take it from there?
13:53 Whiteknight Coke, that would be great
13:54 Whiteknight 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.
13:54 Whiteknight w00t. Coke++
13:54 Coke I think you didn't run the tests you thought you ran.
13:54 Coke was this a new file?
13:55 Whiteknight no, old file
13:55 Coke k.
13:55 Whiteknight was src/malloc.c, moved to src/gc/malloc.c with no changes
13:56 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
13:56 dalek parrot: r39041 | coke++ | trunk/src/gc/malloc.c:
13:56 dalek parrot: [cage] protect macro args
13:56 dalek parrot: also some whitespace
13:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39041/
13:57 Coke HA!
13:58 Coke so it IS a new file. =-)
13:58 Coke sure, the old one should have been failing...
13:58 Coke I'm assuming that you ran the tests before re-gening the makefile.
14:00 Whiteknight i honestly don't remember
14:01 Whiteknight no wait, I ran the tests the last thing before I committed. I got a fresh checkout, merged the branch, configure, make, test
14:02 Coke they all look easy enough to fix anyway.
14:18 Theory joined #parrot
14:20 davidfetter joined #parrot
14:21 whoppix joined #parrot
14:23 elmex joined #parrot
14:29 dalek parrot: r39042 | NotFound++ | trunk/config/gen/makefiles/dynpmc.in:
14:29 dalek parrot: [config] fix dynpmc makefile, TT #698, rusbad++
14:29 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39042/
14:30 Coke Anyone interested in hacking on annotations, partcl could use some help. =-)
14:31 Coke pmichaud: Any guidelines on writing our own regex syntax using PGE?
14:31 dalek partcl: r363 | coke++ | trunk/ (2 files):
14:31 dalek partcl: Issue #79 - Update the syntax for conditioned lines.
14:31 dalek partcl: Courtesy fperrad++ - add him to the credits file (borrowing from parrot)
14:31 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=363
14:33 cghene joined #parrot
14:40 dalek partcl: r364 | coke++ | wiki/PartclSource.wiki:
14:40 dalek partcl: Edited wiki page through web user interface.
14:40 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=364
15:00 dalek partcl: r365 | coke++ | wiki/SpecTestStatus.wiki:
15:00 dalek partcl: update status on 1.0
15:00 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=365
15:05 dalek partcl: r366 | coke++ | wiki/RunningTclCode.wiki:
15:05 dalek partcl: can't run tclsh at the moment.
15:05 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=366
15:05 Whiteknight joined #parrot
15:07 particle1 joined #parrot
15:18 NotFound Coke: what kind of annotations hacking?
15:20 donaldh joined #parrot
15:31 Coke adding annotations to code so errors report properly.
15:33 Coke NotFound: http://code.google.com/p/partcl/issues/detail?id=3
15:38 Coke so there's adding the annotations, and being able to report on them.
15:39 dalek partcl: r367 | coke++ | wiki/ParrotIssues.wiki:
15:39 dalek partcl: This bug exists in parrot still, but we don't care now.
15:39 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=367
15:42 gryphon joined #parrot
15:46 rdice joined #parrot
15:55 skids joined #parrot
16:08 Coke rant: trac language is not multi-select.
16:10 Util Coke: for ticket query? use SQL instead.
16:11 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?
16:11 Util Oh! nm.
16:12 Coke NotFound: That seems reasonable, yes.
16:12 Coke It's just been a placeholder there for some time.
16:12 Coke if you put any real code there, might want to upgrade it to a real .sub
16:13 darbelo joined #parrot
16:13 Coke Thanks!
16:13 Infinoid NotFound: I'm going to apply Andy's patches from #698 and revert the previous fix
16:13 dalek TT #700 created by doughera++: dynpmc/Makefile problem on Solaris 8/SPARC at r39040
16:14 NotFound Infinoid: ok
16:14 Infinoid those patches are in my queue, gonna fix codetest first tho
16:14 Infinoid s/queue/stack/
16:14 Coke doughera++
16:14 Coke doughera++
16:14 Coke doughera++
16:15 Infinoid doughera++ indeed
16:16 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 #parrot
16:16 Coke Infinoid: Whiteknight was, think he got distracted.
16:16 Coke I'm sure he won't complain if you fix them.
16:17 Infinoid happy to, I'll do that next
16:17 iblechbot joined #parrot
16:18 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 Coke I can write a regression test with a basic one and TODO it if that would help?
16:18 dalek parrot: r39043 | Infinoid++ | trunk/config/gen/makefiles/dynpmc.in:
16:19 dalek parrot: Revert r39042 in preparation for applying doughera's alternative patches from TT #698.
16:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39043/
16:19 dalek parrot: r39044 | Infinoid++ | trunk/config/gen/makefiles (2 files):
16:19 dalek parrot: Apply tt698-simplify-1.patch from doughera++ in TT #698.
16:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39044/
16:19 dalek parrot: r39045 | Infinoid++ | trunk (9 files):
16:19 dalek parrot: Apply tt698-simplify-2.patch from doughera++ in TT #698.
16:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39045/
16:19 NotFound Coke: first I'll try just to get some backtrace
16:19 Infinoid is trac's Cc: field based on email or trac username?
16:19 Coke hokay. I'll get a test added at some point.
16:19 Coke Infinoid: I think either.
16:20 zostay joined #parrot
16:26 NotFound Looks like the first and main problem is that the backtrace isn't stored in the exception object
16:28 jonathan NotFound: I think the backtrace attr in the exception PMC is unused.
16:28 jonathan IIRC Tene hadn't noticed it being used either.
16:29 Tene Yes.
16:29 Tene That's right.
16:29 jonathan NotFound: If you're after a backtrace containing the annotations, call the .backtrace() method on an exception PMC.
16:30 jonathan 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
16:31 Infinoid the previous code had a codingstd exemption, it's listed in the exempt list at lib/Parrot/Distribution.pm:434
16:31 Infinoid the previous filename, I mean
16:32 Infinoid 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:33 Whiteknight i think it's exempt on purpose
16:33 NotFound It says is public domain code
16:33 Whiteknight i also think it's going to get deleted eventually
16:33 Whiteknight at least, if I have anything to say about it
16:34 NotFound Keep excluding it
16:34 Infinoid nah, I'll just fix it up :)
16:34 Infinoid I was mainly worried about retaining easy upgradability (whitespace changes clutter up those diffs)
16:34 Infinoid but since we don't care, I'll fire my regexes at will.
16:35 Whiteknight how hard is it to just mark the files exempt again?
16:36 Infinoid not hard.  one-liner
16:36 Whiteknight I would recommend we do that then
16:36 Infinoid urk.  I can fix up the coding standards but assigning copyright might not be such a good idea
16:36 Whiteknight how the hell did these files live so long in the repo without this stuff?
16:37 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
16:38 Infinoid lib/Parrot/Distribution.pm:434
16:38 Infinoid (what other files are there?  I'm mainly focusing on src/gc/malloc.c.)
16:41 Whiteknight that and src/gc/malloc_trace.c, which was moved at the same time
16:42 Infinoid t/codingstd/copyright.t (Wstat: 0 Tests: 3 Failed: 0)
16:42 Infinoid TODO passed:   3
16:42 Infinoid That's a good thing, right?  Can I un-TODO it?
16:42 Infinoid ok, no errors from that one tho
16:44 Infinoid 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 Infinoid Well, I don't know if it's badly written, but it is definitely confused. :)
16:45 dalek parrot: r39046 | Infinoid++ | trunk/src/gc/mark_sweep.c:
16:45 dalek parrot: [cage] Re-run headerizer.
16:45 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39046/
16:45 dalek parrot: r39047 | Infinoid++ | trunk (3 files):
16:45 dalek parrot: [cage] Clean up some codetest failures.  Make src/gc/malloc.c exempt from
16:45 dalek parrot: the codetests; it is third party code and (apparently) not worth fixing up.
16:45 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39047/
16:46 Infinoid oops, my whitespace changes from filehandle.pmc snuck in there.
16:47 zostay joined #parrot
16:48 skids Linux bosstones 2.6.8-1-32 #1 Wed Aug 25 04:22:11 EDT 2004 parisc GNU/Linux
16:48 skids All tests successful, 19 tests and 629 subtests skipped.
16:48 skids BUT, had to revert changeset 22453 (old RT#43535) to get it to compile
16:50 Infinoid wow, that's from a while ago
16:50 skids I keep it purposefully crusty.
16:51 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.
16:51 skids Yeah, and it's pretty bizzarre.
16:51 Infinoid either your pointer isn't aligned and it should be, or your platform has PARROT_HAS_ALIGNED_FUNCPTR defined and it shouldn't
16:51 Infinoid ... I guess
16:52 skids Erm, xterm backlog exhausted, see #perl6 backlog
16:52 Infinoid thanks, looking now
16:53 donaldh left #parrot
16:54 Infinoid hmm, I don't see anything in http://irclog.perlgeek.de/perl6/today about parisc, ia64, alignment or 22453
16:56 skids Within the last hour, search  _temp_multi_func_list.func_ptr
16:56 skids (hour or two, I'm bad with time :-)
16:58 Infinoid ... okay.  the pointer alignment assertion has an effect on that?
16:58 Infinoid Sorry, I'm a little confused :)
16:58 zostay joined #parrot
16:58 skids Yeah it fails because it sees 0x40868042
16:59 Infinoid print &_temp_multi_func_list
16:59 Infinoid I think that struct itself must not be aligned
16:59 skids Even though Parrot_Undef_multi_is_equal_Undef is at 0x407aca30
16:59 skids I don't have the backlog, but the struct itself was aligned.
16:59 Infinoid Parrot_Undef_multi_is_equal_Undef is the function.  _temp_multi_func_list is a struct containing a pointer to it
17:00 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)
17:00 skids No, &_temp_multi_func_list.func_ptr was aligned, too.
17:04 Infinoid I'm looking at your discussion of the @ value
17:04 Infinoid I at first assumed it was the address of _temp_multi_func_list.func_ptr, but maybe it's a PLT lookup or something
17:04 skids Yeah, I haven't used gdb enough to know what that's all about.
17:05 * Infinoid busts out the gdb docs
17:05 skids if you (unsigned long)func_ptr that's the value you get.
17:06 cotto darbelo, reping
17:07 Infinoid erm, so the value of func_ptr is unaligned after all?
17:08 skids Yes, but it's not the value it was assigned in the definition, yet it all still works somehow.
17:08 skids As if it's a pre-reloc value or fixup table or something.
17:09 Infinoid yeah, that's why I was thinking PLT
17:09 Infinoid or some compiler-generated trampoline
17:10 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
17:10 skids breakpoint?  I just let it die on the assert :-)
17:10 Infinoid ah.
17:12 skids OK, have it dead in gdb again now.
17:12 skids (gdb) print func_ptr
17:12 skids $1 = @0x40865cb2: 0x407aa6a0 <Parrot_Undef_multi_is_equal_Undef>
17:12 AndyA joined #parrot
17:13 Infinoid can you nopaste your bt?
17:13 darbelo cotto: repong
17:13 cotto heh
17:13 cotto dukeleto wanted me to make sure that you blog at least weekly.
17:15 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
17:17 cotto Sure.  Publishing Options -> uncheck "Promoted to front page"
17:17 cotto although we can make the release announcement sticky too
17:18 skids http://sial.org/pbot/36768.
17:18 cotto There.  Now you can publish without displacing the release announcement.
17:19 darbelo I don't have that option visible. Do you?
17:19 Whiteknight I do
17:19 cotto It should be right above the buttons at the bottom of the page.
17:20 darbelo buttons at the bottom?
17:20 Whiteknight yeah, on the editing page
17:21 Infinoid skids: thanks.  So for comparison, on linux/amd64, I do not get that @ syntax
17:21 Infinoid mine looks like: $4 = (funcptr_t) 0x7ffff7b13da0 <Parrot_Undef_multi_is_equal_Undef>
17:21 nopaste "Infinoid" at 75.31.91.96 pasted "skids: here's a dump of the whole struct" (4 lines) at http://nopaste.snit.ch/16641
17:22 * 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
17:22 Whiteknight Which one was the other GSOC project?
17:23 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"?
17:23 darbelo s/any buttons/that button/
17:24 darbelo Nope. It's not on 'My account' or 'My blog'
17:24 Whiteknight what buttons do you see?
17:25 skids http://nopaste.snit.ch/16642.
17:25 cotto darbelo, this page https://www.parrot.org/node/107/edit
17:26 darbelo Access denied
17:26 purl hmmm... Access denied is not cool on my main page
17:26 Whiteknight darbelo: Create a new blog post
17:26 Whiteknight you have to set the option when you write a new post
17:26 cotto s/107/103/
17:27 cotto or what Whiteknight said if that doesn't work
17:27 AndyA joined #parrot
17:27 darbelo I only have 'Preview' 'Submit' and 'Delete'
17:28 darbelo And not even delete when creating a new post.
17:32 darbelo Smells like a permissions thing to me.
17:34 cotto You can ask allison about that.
17:34 cotto I'm not sure who else has permission-changing permissions.
17:38 Theory joined #parrot
17:38 darbelo afk # phone
17:40 allison darbelo: you should have access to edit your own posts
17:40 allison darbelo: maybe not to edit other people's posts
17:40 * allison has to run to the airport
17:40 cotto who else can edit users?
17:40 particle1 enjoy the flight
17:40 particle- Infinoid: ping
17:41 allison darbelo: drop me an email and I'll sort out permissions when I get access again, or catch Coke or particle
17:41 allison (they also have access)
17:49 darbelo I'm back. I can edit my posts, but I can't make them not go to the parrot.org home page.
17:52 darbelo joined #parrot
17:56 Whiteknight allison always has to run to the airport
17:57 skids she should buy a car :-)
18:02 Tene or move into the airport.
18:02 Infinoid particle-: pong
18:30 Ademan joined #parrot
18:31 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."
18:32 Infinoid oh, ok
18:32 Infinoid is it a 5.8.x vs 5.10.x issue?
18:33 Coke more like a 5.8.6 vs. 5.8.9 issue.
18:33 Coke there's a ticket for it.
18:33 Coke that I thought I resolved but apparently did not.
18:34 Infinoid ok.  it passes on 5.10.0 too
18:49 Coke oh. perhaps it's gone from "broken on a perl" to "always broken".
18:49 Coke I can show you a file that the test should fail on but doesn't.
18:49 Coke compilers/imcc/imcc.y
18:50 Coke ... oh, I bet I know why.
18:50 Coke ..or not.
18:52 Theory joined #parrot
18:52 Coke compilers/imcc/imcc.y is failing step 2, which is wrong, and passing step 3 which is wrong. whee.
18:55 Theory joined #parrot
18:56 Ruiloff joined #parrot
18:56 Coke fixed it.
19:00 Coke Infinoid++
19:01 dalek parrot: r39048 | coke++ | trunk/t/codingstd/copyright.t:
19:01 dalek parrot: [codingstd] say what I mean; match a newline.
19:01 dalek parrot: Makes odd errors go away.
19:01 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39048/
19:06 Coke that leaves one failure for test 2, after which we can probably unTODO it.
19:11 dalek parrot: r39049 | coke++ | trunk/config/init/hints/mswin32.pm:
19:11 dalek parrot: [codingstd] no tabs.
19:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39049/
19:14 dalek parrot: r39050 | coke++ | trunk (2 files):
19:14 dalek parrot: [codingstd] fix last mis-formed copyright statement; untodo test
19:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39050/
19:31 dalek parrot: r39051 | coke++ | trunk/src/pmc/filehandle.pmc:
19:31 dalek parrot: [codingstd] make 'make codetest' happy.
19:31 dalek parrot: I think this improves the readability of the invalid filehandle, but
19:31 dalek parrot: obscures the function that is now split in two. YMMV.
19:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39051/
19:36 flh joined #parrot
19:47 dalek partcl: r368 | coke++ | wiki/ParrotIssues.wiki:
19:47 dalek partcl: doughera++
19:47 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=368
19:47 dalek TT #627 closed by coke++: dynlexpad doesn't work with installed parrot.
19:48 Infinoid (what did I do?)
19:50 Coke Infinoid: you pointed out it was failing everywhere so I actually looked at it.
19:50 particle- pointer++
19:52 Infinoid Coke++ for fixing it; pointers are easy in comparison :)
19:55 ZuLuuuuuu joined #parrot
19:57 ZuLuuuuuu Hello, how updated are the docs on http://www.parrotcode.org/docs ? Would you suggest me to read docs on there or on SVN?
19:58 darbelo I might be wrong but I think the docs on the page are (or should be) the ones for the latest release.
19:59 particle- http://docs.parrot.org/parrot/latest/html/
19:59 darbelo If you are working with svn then the svn docs are the safe choice :)
19:59 particle- coke: can parrotcode.org/docs redirect to docs.parrot now?
20:00 ZuLuuuuuu thank you very much
20:00 particle- docs.parrot.org is updated nightly iirc
20:04 Coke particle-: it's not, sfaik.
20:05 Coke I like how our version number is black on black there. whoops.
20:05 Coke docs.parrot.org is currently showing the 1.1 docs.
20:08 Coke I can push out the 1.2 docs later.
20:09 darbelo particle-, Coke: Is there a way to make my blog posts not show up on the parrot.org front page?
20:11 particle- too much press?
20:11 particle- ah, hrmm, docs.parrot.org--
20:11 particle- darbelo: i can look into it this weekend, but not before
20:12 particle- gave notice at my job today, i'm busy preparing for a replacement
20:12 Coke darbelo: maybe. I'm not a drupal guru. =-)
20:12 Coke ... but i don't see why this is a problem.
20:13 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:14 Coke welcome aboard.
20:14 Coke the problem isn't that your blogging too much;
20:14 Coke "you're"
20:14 Coke docs.parrot.org now pointing to 1.2.0 docs.
20:14 darbelo I'm not blogging enough, actually.
20:14 Coke so don't worry about it.
20:15 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.
20:16 Coke isn't parrot.org aggregated into planet parrot?
20:19 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:34 bacek joined #parrot
20:41 jonathan Hi folks
20:41 jonathan Does anyone know of any changes relating to readline_interactive of late?
20:42 jonathan I just ran Rakudo and...
20:42 jonathan Method 'readline_interactive' not found for invocant of class 'FileHandle'
20:42 jonathan :-(
20:42 Coke jonathan: I just today reworked src/pmc/filehandle.pmc
20:42 Coke minor codingstd fix.
20:42 Coke quite possible I (*#$'d it.
20:43 Coke Feel free to revert it if that fixes your problem.
20:43 jonathan Coke: Ah, very possibly a mistake.
20:43 jonathan Coke: I'll go find the patch and look.
20:43 Coke sorry if it was me. :|
20:44 flh btw this make me think about TT#680: has someone (maby with commit bits...) got an opinion about it?
20:45 jonathan Coke: 39051 looks dubious.
20:45 jonathan Coke: Well, looks like the likely cause.
20:45 jonathan Does look kosher at first glance though...
20:49 Coke flh: karma'd it.
20:49 Coke if no one disagrees, I'll probably apply it later this weekend.
20:50 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:51 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.
20:52 Coke I was just try.... ok.
20:52 Coke rakudo: say hi
20:52 Coke rakudo: 'hi'.say
20:52 Coke polyglotbot?
20:52 purl polyglotbot is running an outdated version of rakudo.
20:53 jonathan perl6: say 42
20:53 jonathan meh
20:53 jonathan polyglotbot is has a sad.
20:54 polyglotbot OUTPUT[error:imcc:syntax error, unexpected $end ('þ')␤   in file '/home/tene/parrot-build2/runt​ime/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 polyglotbot ..'parrot;PCT;HLLCompiler;eval' pc 950 (src/PCT/HLLCom...
20:54 polyglotbot OUTPUT[error:imcc:syntax error, unexpected $end ('þ')␤   in file '/home/tene/parrot-build2/runt​ime/parrot/library/config.pbc' line 1␤hi␤]
20:54 polyglotbot OUTPUT[error:imcc:syntax error, unexpected $end ('þ')␤   in file '/home/tene/parrot-build2/runt​ime/parrot/library/config.pbc' line 1␤42␤]
20:54 Coke whoa.
20:55 jonathan Epic sad.
20:55 jonathan Coke: Yes, reverting that hunk fixes things up. Will apply.
20:57 NotFound about TT #680: I'd pefer to deprecate setstdout and setstderr, instead of creating setstdin
20:57 jonathan NotFound: As ops?
20:58 NotFound jonathan: yes
20:59 dalek parrot: r39052 | jonathan++ | trunk/src/pmc/filehandle.pmc:
20:59 dalek parrot: [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?
20:59 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39052/
20:59 NotFound jonathan: yes, and they are not so critical in speed nor so frequently used to justify other way than the methods.
21:00 flh indeed, actually: stdhandle(fileno, new_pmc)
21:01 jonathan NotFound: Agree with you.
21:02 flh we might also want to deprecate getstd* also
21:03 NotFound Yeah
21:04 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.
21:04 Coke though why we'd want to start being careful about adding opcodes is beyond me. =-)
21:04 NotFound Coke: I'll do that now
21:04 Coke (I think we missed that about about 8 years ago. =-)
21:04 Coke s/that about/that boat/
21:04 NotFound Coke: we need to maintain them, we to test them, we need to maintain the tests...
21:05 jonathan ...and we compile them in for every runcore...
21:06 NotFound jonathan: yes, but I put I pay more attention to our work than to CPU work ;-)
21:07 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 #parrot
21:09 nopaste "flh" at 88.160.47.207 pasted "Change "ParrotIO" to "FileHandle" in the docs" (54 lines) at http://nopaste.snit.ch/16643
21:10 flh here's a little patch which updates the doc for the soon to be deprecated opcodes
21:12 Tene Oops, I never finished fixing polyglotbot
21:12 AndyA_ joined #parrot
21:13 AndyA__ joined #parrot
21:15 NotFound flh: please attach it to the ticket
21:16 NotFound But note that the "soon to be deprecated" is just a proposal for a now.
21:21 flh NotFound, that's why I'm sending the patch for the docs :)
21:22 flh I cannot close the ticket myself, someone else will have to do it at some point
21:24 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:25 jonathan NotFound: +1
21:25 purl 1
21:26 Whiteknight joined #parrot
21:29 jonathan omfg. chromatic++
21:32 dalek parrot: r39053 | NotFound++ | trunk/docs/book/ch10_opcode_reference.pod:
21:32 dalek parrot: [docs] update references to the old ParrotIO objects, TT #680, flh++
21:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39053/
21:32 dalek parrot: r39054 | whiteknight++ | branches/tt_696:
21:32 dalek parrot: creating a branch to work on TT #696
21:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39054/
21:54 bacek joined #parrot
21:55 dalek parrot: r39055 | whiteknight++ | branches/tt_696 (3 files):
21:55 dalek parrot: [tt_696] create Parrot_oo_clone_object function.
21:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39055/
21:59 NotFound There is some reason to return a PMCNULL instead of a NULL STRING in readline_interactive?
22:02 dalek parrot: r39056 | whiteknight++ | branches/tt_696 (2 files):
22:02 dalek parrot: [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 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39056/
22:03 Whiteknight is there a reason not to?
22:04 jonathan Whiteknight: Unrequired auto-boxing perhaps.
22:04 jonathan Whiteknight: I suspect many people write $S0 = $P0.'readline_interactive'()
22:05 jonathan Also slightly different behavior.
22:06 jonathan $S0 would get a NULL string if we changed it, whereas now you'd get a null pmc access...
22:07 NotFound Whiteknight: consistency
22:07 purl consistency is a problem. or highly overrated or the hobgoblin of small minds or (see FOOLISH consistency)
22:08 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
22:11 NotFound I'll try and look if it break some test
22:13 Coke notfound - false argument. we'd need to test and maintain the code no matter how it was invokable.
22:15 NotFound Coke: if is invokable in several ways, we need to test and maintain all ways,
22:16 dalek parrot: r39057 | bacek++ | branches/tt452_reduce_mmd/src/pmc/complex.pmc:
22:16 dalek parrot: [pmc] Use less MULTIs in Complex.
22:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39057/
22:16 dalek parrot: r39058 | bacek++ | branches/tt452_reduce_mmd/src/pmc/bigint.pmc:
22:16 dalek parrot: [pmc] Don't try reuse PMC in arithmetic. It's dangerous.
22:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39058/
22:18 Theory joined #parrot
22:19 dalek parrot: r39059 | bacek++ | branches/tt452_reduce_mmd/t/pmc/multidispatch.t:
22:19 dalek parrot: [t] Mark more tests with todo => TT#452 tag
22:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39059/
22:20 NotFound Somemone has taken a look at TT #433
22:20 NotFound ?
22:24 dalek rakudo: 23718a8 | jnthn++ | src/classes/Object.pir:
22:24 dalek rakudo: 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 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​3718a8bec08f01b8081b359fde4bbaaca9ff2de
22:24 bacek NotFound: enough :)
22:30 Infinoid NotFound: (#433) That looks an awful lot like a half-done feature
22:31 NotFound Infinoid: I'm not sure if is a half-done feature or a half-done test
22:32 NotFound I'm only sure that is a half-done comment X-)
22:33 Infinoid :)
22:33 Infinoid I thought I'd take a shot at factoring Handle out of FileHandle today
22:35 wayland joined #parrot
22:38 NotFound I'm tempted to add src/pmc/crazyexception.pmc to the repo
22:39 NotFound "Not my fault, It was a TODO in a test" X-)
22:40 Infinoid Then we'd need a deprecation cycle to rip it out again. :P
22:40 bacek In Soviet Russia exceptions catch YOU
22:40 NotFound Oh, I can call it CrazyIvan, then
22:40 bacek :)
22:40 Infinoid is crazy ivan a subclass of crazy?
22:41 NotFound A subclass of Ivan, I think
22:41 Infinoid we might need MI
22:41 NotFound Crazy may be a Role
22:42 dalek website: darbelo++ | Putting contexts in the proper context.
22:42 dalek website: http://www.parrot.org/content/p​utting-contexts-proper-context.
22:42 dalek parrot: r39060 | bacek++ | branches/tt452_reduce_mmd/t/pmc/multidispatch.t:
22:42 dalek joined #parrot
22:43 darbelo Did I just kill dalek?
22:44 bacek darbelo: no. It was me.
22:44 bacek Infinoid: my commit messages usually kill dalek...
22:44 NotFound They killed dalek!
22:45 Infinoid why?
22:45 * bacek hides
22:45 * Infinoid checks the log
22:46 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>
22:47 Infinoid @400000004a172a7438bb9cec Wide character in syswrite at modules/core/modules.pm line 109.
22:49 dalek parrot: r39065 | NotFound++ | trunk/src/pmc/filehandle.pmc:
22:49 dalek parrot: [pio] always return a string from readline_interactive
22:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39065/
22:51 Infinoid ugh, I'm feeling yet *another* urge to rewrite botnix from scratch (this is about the 10th time)
23:00 darbelo Infinoid: the 10th urge or the 10th rewrite?
23:00 darbelo ;)
23:00 Infinoid 10th urge.  I've managed to resist it so far, barely
23:01 Whiteknight urg, TT #696 is a PITA
23:02 szbalint maybe we should cooperate, botnix is annoying me aswell
23:03 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?
23:04 Infinoid No matter how many irc bot packages are on the internet, there are never enough :)
23:06 * 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
23:09 Infinoid bacek: I'm going to try to un-collapse the utf8 "..." thing that trac does, with a simple s///
23:12 bacek Infinoid: good luck :)
23:14 kid51 joined #parrot
23:14 Infinoid works in make test, but it'd need a real commit to test it in botnix
23:15 tetragon joined #parrot
23:17 Infinoid hmm.  make that: works in my perl 5.10.0, doesn't work on feather's perl 5.10.0
23:20 bacek There Is Many Perls To Do It
23:20 dalek joined #parrot
23:20 Infinoid cool, just needed "use utf8" in the right places
23:20 Infinoid bacek: lemme know the next time you commit something whose commit log contains "..."
23:20 Infinoid (there are probably other characters that will still crash it.)
23:21 bacek In few minutes. I'm going to finish tt452 branch :)
23:21 Infinoid bacek++
23:22 * Infinoid does a rakudo benchmark so he'll have something to compare against
23:24 bacek Infinoid: drop --gc-debug from Makefile.
23:24 bacek in benchmark_test target
23:25 bacek And revert cotto++ commit about reducing number of iterations. Just in case :)
23:31 ruoso joined #parrot
23:31 bacek *incoming*
23:31 cotto hey, if it runs at a reasonable speed, I'm happy
23:31 cotto bacek++ for that
23:32 bacek It slow because of --gc-debug...
23:32 cotto that's an odd thing to run while benchmarking
23:32 bacek And I don't know why we use --gc-debug during benchmarking...
23:33 bacek If no one comply I'll remove it.
23:33 dalek parrot: r39066 | bacek++ | branches/tt452_reduce_mmd/t/dynpmc/foo.t:
23:33 dalek parrot: [t] Replace '-' with method form in t/dynpmc/foo.t
23:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39066/
23:33 dalek parrot: r39067 | bacek++ | branches/tt452_reduce_mmd/lib​/Parrot/Pmc2c/PMCEmitter.pm:
23:33 dalek parrot: [Pmc2c] Generate MULTI method for each VTABLE to participate in MMD.
23:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39067/
23:34 bacek No one?
23:34 cotto do it
23:34 cotto do it nao
23:34 Infinoid dooo eeeet
23:34 Topic for #parrotis now Parrot 1.2.0 released | http://parrot.org/ | 305 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets
23:35 bacek Committing... svn is bloody slow.
23:35 cotto no excuses
23:35 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
23:36 cotto I'm sure Whiteknight will want something like that once he starts hacking out a new gc.
23:37 bacek He can easily add this target into Makefile. He is big boy anyway :)
23:37 bacek Here we go.
23:38 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:39 Infinoid hmm.  and by "all the other languages" I apparently mean "decnum-dynpmcs"
23:39 dalek parrot: r39068 | bacek++ | branches/tt452_reduce_mmd/co​nfig/gen/makefiles/root.in:
23:40 dalek parrot: Drop --gc-debug in benchmark_test
23:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39068/
23:40 dalek parrot: r39069 | bacek++ | trunk/config/gen/makefiles/root.in:
23:40 dalek parrot: Drop --gc-debug from benchmark_test target.
23:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39069/
23:41 bacek Ok guys. It's ready. BigNum still has few MULTIs. But it's ready for benchmarking
23:46 darbelo Infinoid: I'm about to commit something, do you still need a commit message with '...' in it?
23:47 Infinoid darbelo: It only affected the trac parsers, sorry
23:47 Infinoid the googlecode parser works fine until proven otherwise
23:47 cotto bacek, is pmc_reuse dangerous when dealing with subclasses?
23:48 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 #parrot
23:48 nopaste "bacek" at 122.110.62.127 pasted "Benchmarking" (13 lines) at http://nopaste.snit.ch/16644
23:49 nopaste "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 http://nopaste.snit.ch/16645
23:53 bacek_ Infinoid: strange... But it doesn't look like my fault.
23:54 cotto That's what they all say.
23:54 dalek decnum-dynpmcs: r52 | darbelo++ | trunk/ (3 files):
23:54 dalek decnum-dynpmcs: Rename DecContext to DecNumContext ...
23:54 dalek decnum-dynpmcs: review: http://code.google.com/p/decn​um-dynpmcs/source/detail?r=52
23:54 Infinoid yeah.  I can't build rakudo using a tt452_reduce_mmd parrot, maybe pct or imcc changed since the branch started
23:55 bacek oh..
23:55 bacek I'll merge trunk into branch.
23:55 Infinoid oki, thanks
23:57 bacek Have to go soon.
23:58 darbelo cotto: ping
23:58 bacek Still waiting to parrot from trunk for benchmark results with bumped up numbers...
23:58 cotto darbelo, you pinged?
23:59 dalek decnum-dynpmcs: r53 | darbelo++ | trunk/src/pmc/decnumcontext.pmc:
23:59 dalek decnum-dynpmcs: Add getter-setter pairs for emin and emax fields of decContext.
23:59 dalek decnum-dynpmcs: review: http://code.google.com/p/decn​um-dynpmcs/source/detail?r=53
23:59 Infinoid bacek: heh, yeah, it's ridiculous
23:59 darbelo Yup, have a question: Is all the talk about 'less MULTI' something I should pay attention to?
23:59 dalek parrot: r39070 | bacek++ | branches/tt452_reduce_mmd/src/pmc/scalar.pmc:
23:59 dalek parrot: [pmc][cage] Remove commented out code from Scalar.
23:59 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39070/
23:59 dalek parrot: r39071 | bacek++ | branches/tt452_reduce_mmd (21 files):
23:59 dalek parrot: Bump benchmark numbers back. They are slightly faster now.
23:59 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39071/

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced