Camelia, the Perl 6 bug

IRC log for #parrot, 2009-11-12

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 plobsing thats how I retest. I find the makefile too "conservative" in what it considers dependancies
00:00 plobsing slows the process somewhat
00:01 plobsing hmmm prove t/pmc/nci.t passes here (x86_64 arch linux). making fulltest
00:01 plobsing what libjit are you using?
00:02 cotto_work 0.1.2
00:04 hercynium joined #parrot
00:04 plobsing 0.1.2-1?
00:05 plobsing nevermind
00:05 plobsing the 1 is added by my package manager
00:05 plobsing --optimize?
00:06 cotto_work nope
00:06 plobsing shouldn't matter
00:07 cotto_work what are you on that has a libjit package?
00:07 eternaleye joined #parrot
00:07 plobsing arch linux.
00:07 purl arch linux is not as cool as demi linux.
00:07 plobsing its in AUR
00:07 darbelo AUR?
00:07 plobsing arch user repository or somesuch
00:07 eternaleye joined #parrot
00:08 darbelo Ah.
00:09 plobsing I should add a debugging interface to NCI pmcs
00:11 tetragon joined #parrot
00:15 nopaste "plobsing" at 76.67.61.178 pasted "libjit_framebulder patch + primitive debugging" (27 lines) at http://nopaste.snit.ch/18645
00:15 nopaste "plobsing" at 76.67.61.178 pasted "failing PASM test (libjit_framebuilder)" (16 lines) at http://nopaste.snit.ch/18646
00:16 plobsing cotto_work: can you apply the patch, make corevm, and run against the nopasted PASM file?
00:16 plobsing cotto_work: and then nopaste the printed assembly?
00:17 darbelo plobsing: cotto_work can't commit from work, let me know when you want something to go into the repo.
00:17 plobsing not against svn. local, for testing
00:17 plobsing when you have time
00:18 cotto_work error:imcc:syntax error, unexpected PARROT_OP ('loadlib')
00:18 abqar joined #parrot
00:19 plobsing you are running it as pasm correct?
00:19 cotto_work If I add enough code to make it PIR, it segfaults before printing out anything interesting
00:20 cotto_work I forgot that filename extensions mattered.
00:20 cotto_work as pasm, it still segfaults before doing anything interesting
00:20 plobsing yes, thats evil
00:21 cotto_work http://nopaste.snit.ch/18647
00:24 plobsing hmmm... maybe your libjit is using the interpreter for some reason (I have no idea why libjit thinks its a good idea to more-or-less silently fall back to an interpreter)
00:25 nopaste "plobsing" at 76.67.61.178 pasted "libjit interpreter check" (22 lines) at http://nopaste.snit.ch/18648
00:26 cotto_work 0
00:26 cotto_work (assuming -ljit is what I want to use)
00:26 plobsing yes
00:28 plobsing well, I'm stumped. I'll try installing ubuntu to try and reproduce it
00:29 cotto_work ok.  I'm going home soon anyway.
00:29 cotto_work I'll be mostly available tomorrow for round 2.
00:30 plobsing thanks
00:30 cotto_work Thanks for your framebuilder work.
00:30 Whiteknight how do I display a backtrace in PIR?
00:31 cotto_work backtrace
00:31 purl it has been said that backtrace is not sufficient?
00:31 Whiteknight backtrace the method on the Exception object?
00:31 cotto_work there's an op
00:32 * cotto_work goes home
00:39 kiwichris joined #parrot
00:41 Whiteknight no, how do I get the backtrace from an exception
00:42 Whiteknight except.'backtrace'() I know
00:43 Whiteknight but I can't print that in any reasonable way
00:44 Austin joined #parrot
00:45 nopaste "NotFound" at 213.96.228.50 pasted "backtrace the Winxed way" (23 lines) at http://nopaste.snit.ch/18649
00:45 NotFound Whiteknight: maybe that Winxed example is helpful
00:46 NotFound called from Sub 'test' pc 161 (examples/annotations.pir:28)
00:46 NotFound examples/annotations.winxed: 17
00:46 Whiteknight urg, that is disgusting
00:46 NotFound called from Sub 'main' pc 173 (examples/annotations.pir:1)
00:46 NotFound examples/annotations.winxed: 22
00:46 Whiteknight why can't it just be easy?
00:46 NotFound If looks uneasy in Winxed, try in pir ;)
00:47 Whiteknight exactly! I don't want to do it in PIR
00:47 NotFound I also don't want, I wrote Winxed because of that :D
00:49 NotFound BTW note the very wrong pir line numbers.
00:49 dalek TT #1265 created by bubaflub++: [PATCH] src/pmc/object.pmc fails t/codingstd/linelength.t
00:49 Whiteknight I'm just not going to use a backtrace then
00:50 Whiteknight if it's such a goddamn hassle
00:50 darbelo NotFound: you should probably open a ticket for those very wrong pir line numbers.
00:50 NotFound darbelo: I think there are already several tickets about that.
00:50 darbelo Bonus point if you can turn them into a test.
00:51 NotFound darbelo: Why, to have it immediatelt todoed or skipped and forgotten?
00:53 NotFound Maybe is faster to write a pir compiler in Winxed ;)
00:54 darbelo chromatic had a standing offer of fixing bugs in exchange for tests. And the test hackathon on saturday is a good moment to give IMCC line numbers a whack.
00:55 NotFound I'm better thinking about skipping the pir number segment generation and relying only in code annotations.
00:55 darbelo Anyways, I need to get some sleeps.
00:55 darbelo See y'all later.
00:55 japhb darbelo, chromatic has taken a whack at the IMCC line numbers several times.
00:56 japhb Actually, he asked me for a test case for one of my bugs in his most recent attempt, come to think of it.
00:56 NotFound japhb: is imcc. Someone fix today, tomorrow gets broken other way.
00:56 japhb ENOTIMECUZWORKNSTUFF
00:56 darbelo NotFound: If you leave a test behind, the new breakage gets noticed.
00:57 darbelo But, as I said, I need some sleep.
00:57 darbelo Laters.
00:57 NotFound darbelo: there alrady tests and tickets for wrong pir line numbers.
00:57 japhb Oh sure, get out of it that way.
00:57 dalek parrot: r42432 | jkeenan++ | branches/platform_determine_earlier (2 files):
00:57 dalek parrot: Refactor _report_verbose() a bit.  Add tests.
00:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42432/
00:58 NotFound And people just todo or skip to have a clean release.
00:59 japhb .oO( Ugh.  If this Perl 5 code was Perl 6, it would be SO much easier to refactor ... )
01:14 mokurai joined #parrot
01:35 dalek nqp-rx: d185789 | pmichaud++ | t/nqp/11-sub.t:
01:35 dalek nqp-rx: Revise test in 11-sub.t because subs default to lexical scoping.  diakopter++
01:35 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/d​1857890f4efbeb2dad1fd31bb46bc47a447ba7e
01:39 dalek left #parrot
01:39 dalek joined #parrot
02:13 kid51 joined #parrot
02:21 mokurai left #parrot
02:43 tetragon joined #parrot
02:52 Whiteknight incoming
02:52 purl duck!
02:58 kid51 dalek hasn't been reporting for > 30 minutes
02:58 kid51 Not since 0213 at least.
03:00 kid51 purl, wazzup with dalek?
03:00 purl no idea, kid51
03:04 dukeleto 'ello
03:04 * dukeleto is at the pdx.pm meeting
03:04 kid51 Wazzup?
03:06 plobsing joined #parrot
03:06 dukeleto not much
03:06 purl same here, dude
03:06 dukeleto t/src/warnings.t is still failing
03:06 kid51 on which platforms?  amd64?
03:06 dukeleto darwin/x86
03:31 kid51 Well, I have it passing on darwin/ppc
03:31 kid51 see:  http://smolder.plusthree.com/app/pu​blic_projects/report_details/29829
03:33 dukeleto kid51: darwin/ppc is a totally different platform :)
03:41 dukeleto msg Util are you working on TT 1217/1218? you assigned them to yourself, but made no comments on the ticket
03:41 purl Message for util stored.
03:41 plobsing joined #parrot
03:42 janus joined #parrot
03:51 theory joined #parrot
03:56 abqar_ joined #parrot
04:01 Util msg dukeleto I am working on TT#1217 & TT#1218. Summary: When testing DynPMCs via `loadlib`, each test must run as a separate instance of Parrot. The first patch, while otherwise perfect, causes false negatives; every test after the first successful test will pass, even if the PMC cannot be loaded, because it was *already* loaded by the prior test. Details->tickets when I return in 12 hours; going offline.
04:01 purl Message for dukeleto stored.
04:02 kid51 Does anyone know which human tends to dalek?
04:03 kid51 hachi?
04:03 purl somebody said hachi was extremely slow at it or http://kuiki.net/ or http://kuiki.net/hachi or dateless or duct-taped to the channel or (see kyuu) or the sound you make when you sneeze or not really named Sharls Davis Kendy or a geeky fanboy, people should keep a tazer nearby to fend me off or okra or not okra or Japanese for 8 or full or (920) 420-0656 or dreamy or works for LiveJournal (http://news.livejournal.com/92408.html)
04:03 kid51 diakopter?
04:03 purl i think diakopter is the person currently maintaining dalek
04:04 diakopter hm
04:04 kid51 msg diakopter dalek has not been reporting commits to Parrot (and, presumably, other) repositories since coming back on channel at 0139 Nov 12
04:04 purl Message for diakopter stored.
04:04 kid51 OH HAI!
04:05 diakopter PAST on the brain
04:08 hachi kid51: hello?
04:08 purl Raise your hand in the back if you can't hear me.
04:09 hachi ahh, not me anyways, good job
04:09 kid51 hachi:  hello, I was looking for dalek's minder
04:09 kid51 diakopter is on the case
04:11 dalek joined #parrot
04:14 diakopter well
04:16 * kid51 must sleep
04:16 purl $kid51->sleep(8 * 3600);
04:52 japhb dukeleto, darbelo, Tene, pmichaud: Any thoughts on fperrad++'s suggestion to move the build system for Plumage itself from Configure.nqp & make to his new setup.pir &distutils.pbc system?
04:54 japhb I would personally prefer a setup.nqp instead of setup.pir, but looking at the setup.pir he sent me for Plumage, most of the code is setting up multi-level configuration hashes, and then calling into his framework.  Unfortunately right now NQP doesn't do very well at declaring hash structures, so it's not a huge win to convert at the moment.
05:27 dukeleto japhb: this is the first i am hearing about it
05:29 japhb dukeleto, That's why I'm bringing it up here.  He sent me a personal email, rather than to the list.
05:30 darbelo joined #parrot
05:30 * darbelo hates insomnia.
05:31 japhb darbelo: did you see my question from about 40 minutes ago?
05:31 pmichaud parrot doesn't do very well at declaring hash structures either :-|
05:32 darbelo I'll check the irclogs
05:32 japhb pmichaud, no, it's certainly not pretty.  But current NQP isn't a heck of a lot better, unfortunately.
05:32 japhb pmichaud, and I think I found a bug in [], but it may just be me; currently testing
05:32 pmichaud on the other hand.... the regex engine is very good at creating hash structures :-)
05:33 japhb That's an interesting thought ....
05:34 pmichaud so, if you have a configuration string that can be parsed into the hash structure you want/need....
05:34 * japhb chuckles at the thought of setup.nqp starting off with a grammar extension to parse the rest of itself
05:35 darbelo japhb: Hmmm. I've been meaning to give the distutils a spin, see if they can hadle decnum-dynpmcs's build.
05:35 darbelo Freeing plumage from the shackles of make sounds tempting...
05:36 pmichaud I could also see about getting nqp to build hashes
05:36 pmichaud depends on what kind of hash structure you need.  :-|
05:36 japhb pmichaud, quite cool that would be
05:36 pmichaud maybe nopaste the setup.pir ?
05:36 japhb pmichaud, I was just about to do that.  :-)
05:38 nopaste "japhb" at 76.191.190.8 pasted "fperrad++'s suggested setup.pir for plumage" (56 lines) at http://nopaste.snit.ch/18650
05:38 japhb Fairly simple HoH structure, with strings for all keys and values
05:38 japhb (leaf node values, I mean)
05:41 pmichaud I'm trying to decide how difficult it'd be to build a hash from NQP
05:41 diakopter :)
05:41 pmichaud (hash structure, actually ... hashes are pretty easy)
05:42 mokurai joined #parrot
05:44 nopaste "japhb" at 76.191.190.8 pasted "[BUG] nqp -target=pir of foo(["a", "b"])" (8 lines) at http://nopaste.snit.ch/18651
05:45 pmichaud yeah, looks like a bug
05:45 pmichaud the keys in the setup.pir instance aren't identifiers, either
05:45 pmichaud hmmmm
05:45 pmichaud that would mean we'd have to parse the   'foo' => 'bar' form
05:46 japhb Is that particularly difficult to add?  It looks like "just" an infix operator, if you leave aside autoquoting the LHS
05:46 japhb which NQP can just say is Off The Table
05:47 theory joined #parrot
05:47 pmichaud the parsing part isn't too bad, it's the code generation
05:48 pmichaud it does make a difference though, because   'a' => 3   and  a => 3   mean something different inside of function calls
05:48 dukeleto japhb: can you maybe forward the email about setup.pir ? i won't be able to backlog for a while (or never)
05:48 diakopter (never?)
05:53 dukeleto diakopter: life got busy, backlogging has become unbounded => doesn't happen as often
05:53 japhb bak
05:54 japhb dukeleto, in typical fperrad fashion, the content of the email is just one line: 'since Parrot r42421, you could build/test/clean Plumage with this setup.pir' -- followed by the attachment.  :-)
05:56 japhb pmichaud, a => 3 versus 'a' => 3 is named argument versus positional pair, right?
05:56 diakopter nqp: sub a($b) { say($b.pop) }; a([[5 <= 6]]); # get_pmc_keyed() not implemented in class 'Integer'␤current instr.: 'a' pc 56 (EVAL_1:0)
05:57 diakopter er
05:58 diakopter nqp: sub a($b) { say($b.pop)[0] }; a([[5 <= 6]]); # get_pmc_keyed() not implemented in class 'Integer'␤current instr.: 'a' pc 56 (EVAL_1:0)
05:58 diakopter nqp: sub a($b) { say($b.pop) }; a([[5 <= 6]]); #    1
05:59 pmichaud japhb: yes, named argument versus positional pair
05:59 pmichaud but only in an argument list
05:59 pmichaud inside of a hash constructor, they're both pairs
06:01 japhb oh ah.
06:02 japhb still, you could do the quoting-only (pair always) form for now, and leave the argument list named argument problem for another time.
06:03 pmichaud it's still slightly tricky -- need to find the case where a closure is nothing but a list of pairs :-|
06:03 pmichaud or a single pair
06:03 japhb If the first child is a pair, isn't that enough to make it a hash?
06:04 pmichaud in p6 it's enough to say "this is a hash closure" if nothing else invalidates it
06:04 japhb Oh, so it just changes the default, ew.
06:04 japhb I thought it forced hash, and then anything non-pairish was an error.
06:05 pmichaud that could be true also
06:05 diakopter pmichaud: rakudo is failing to rebuild on p6eval
06:05 diakopter http://rakudo.pastebin.com/d5326ef60
06:06 pmichaud diakopter: that looks like a blitzkost error
06:07 pmichaud since it's talking about p5invocation
06:07 diakopter I wonder why it's trying to build that
06:07 japhb I believe jonathon said that blizkost was a victim of the PCC merge, and hasn't been fixed
06:09 diakopter ok
06:15 plobsing msg cotto_work installed ubuntu 9.10 amd64. could not reproduce bug.
06:15 purl Message for cotto_work stored.
06:15 pmichaud anyway, I'll have to think about hash constructors a bit more
06:18 japhb pmichaud, is it something where the action for {} could produce an op that's actually a function call to something that converts a list of keys and values into a hash?
06:18 japhb Not super efficient, but at least it would probably work ...
06:18 pmichaud "function call to something" implies runtime library.
06:19 japhb pmichaud, oh gak, I keep forgetting that
06:19 japhb well, I suppose you could do it inline!
06:19 pmichaud producing a function call to something is the way Rakudo does it, yes :)
06:19 pmichaud yeah, inline is how it would ahve to be done.  I'm trying to convince myself I can do that reasonably well :-)
06:20 kiwichris joined #parrot
06:23 japhb Come to think of it, you don't even have to build up the list at run time and then convert it; you can loop at AST time building a bunch of $P0[$P1] = $P2 nodes, and just iterate over the AST children setting $P1 and $P2 (or $S0 and $P1 if the keys are forced to be strings)
06:24 japhb It's a long block of pir, but should be fast as you can get for building at runtime
06:24 japhb I'm feeling stupid because I'm clearly missing the hard part.
06:26 pmichaud it's not so much that this part is hard, it's a question of how it might need to fit in with the other pieces
06:26 pmichaud in particular, detecting the pairs, and knowing what to do with them when we *aren't* in a hash constructor
06:27 japhb But that's my point: basically say: "You can only use pairs in a hash constructor, and only in quoted form.  Everything else is not supported yet."
06:27 japhb Punt, in other words.
06:28 japhb I don't think it backs you into a corner to do that.
06:28 pmichaud please, don't push right now.  I'm a bit distracted in other areas at the moment.
06:28 japhb (Backing into a corner being the most obvious objection I can think of.)
06:28 japhb Oh, sorry, didn't mean to push, honestly.
06:28 pmichaud no problem
06:28 japhb Was just trying to understand.
06:28 pmichaud yes, I'd like to get hash constructors in
06:28 pmichaud it's likely to happen, I don't know if it'll happen in the next day or two
06:29 japhb fair enough.
06:29 pmichaud right now I'm trying to fix the [...] bug
06:29 japhb The foo(["a", "b"]) fix is definitely more important to me.
06:29 japhb :-)
06:40 pmichaud fixed in 5ea3604
06:41 NotFound japhb: if nqp doesn't fit, you can use Winxed. It intializes hashes as easily as javascript.
06:42 NotFound Or you can use the json reader.
06:42 pmichaud yeah, but does winxed do regexes?  ;-)
06:42 NotFound pmichaud: parrot does.
06:45 darbelo NotFound: So, winxed is a 'javascrity' syntax on top of pir functionality?
06:46 darbelo s/javascrity/javascript-ish/
06:46 NotFound darbelo: I'm looking for a good one line description. Yours is not bad.
06:48 darbelo Not exactly my favourite syntax, but still pretty cool.
06:48 NotFound darbelo: far better than hand written pir ;)
06:49 darbelo I can only think of one thing worse than hand-written PIR, and it's hand-written PASM ;)
06:50 NotFound darbelo: please stop, Halloween has passed ;)
06:54 darbelo But I'm weird enough to *like* writing microcontroller asm code. So I'm hardly a good control subject.
07:01 pmichaud japhb: for argument flattening, did you just need it for positional args or were you looking for named argument flattening as well?
07:05 NotFound darbelo: I don't like writing assembly code, but I enjoy writing assemblers.
07:06 NotFound So when I say that imcc sucks as macroassembler, I know what I'm talking about }:)
07:07 darbelo The problem as I see it, is that parrot has high-level semantics, and PIR/PASM have a low-level syntax.
07:08 darbelo I mean, exception hanlders as labels, what?
07:08 NotFound Low level syntax is not bad, as long as you don't need to hand write it too frequently,
07:09 NotFound darbelo: I don't think that label eh are so bad. Having also a sub'ed way will be good, but in addition, not instead, IMO.
07:10 pmichaud labels are just targets for continuations.
07:10 NotFound Winxed is already using a try .. catch syntax in top of label handlers without any problem.
07:11 uniejo joined #parrot
07:12 darbelo You can think of parrot exceptions as microcontroller interrupts. And we are missing a 'RETI' instruction.
07:12 pmichaud what would RETI mean, exactly?
07:13 NotFound RETurn from Interruption.
07:13 darbelo RETurn from Interrupt
07:13 pmichaud right, I knew that part
07:13 pmichaud but what does it mean internally?
07:13 NotFound In Z80 for example it just reset a flag.
07:13 pmichaud in parrot's case, we'd expect execution to resume after the throw, or ... ?
07:13 NotFound That flag is used for the interrupt controlling hardware.
07:14 darbelo Mostly, it's just like a RET, but it clear the 'I'm in an interrupt' flag.
07:14 pmichaud yes, but returns to where?
07:14 darbelo Often you can just push a return adress onthe the uc stack and it'll return there.
07:14 pmichaud I mean in parrot.
07:15 darbelo After the throw point, unless the programmer wants to make it go someplece else.
07:16 pmichaud oh.  we already have a way to return to the throw point
07:16 NotFound darbelo: I want. Always.
07:16 pmichaud what we're missing is a way to say "return to this other point, rolling up the caller chain"
07:17 NotFound try { something bad } catch () { something nasty} IWantGoHere
07:17 darbelo pmichaud: Exactly, but we also can't detect 'recursive exceptions'
07:18 NotFound We can't detect recursive exceptions because design doesn't want.
07:18 pmichaud anyway, I agree we need some sort of operation that allows us to roll up the caller chain
07:18 pmichaud we don't have that at the moment
07:18 pmichaud returning to the point of the throw we have.
07:19 NotFound pmichaud: There is some actual resume usage?
07:19 pmichaud NotFound: sure.  We use it for gather/take in rakudo quite a bit.
07:19 NotFound pmichaud: I mean other than control exceptions.
07:20 darbelo NotFound: Then the design needs a revision. If microcontrollers were getting it right before the '80s why are getting it wrong now?
07:20 pmichaud take will throw an exception with a return value, gather collects the return value and then resumes the exception in order to continue after the 'take'
07:21 pmichaud oh, I don't know if it gets used outside of control exceptions
07:21 pmichaud anyway, getting late here so I'll turn in for a while
07:21 pmichaud see you all later
07:23 cotto clock?
07:23 purl cotto: LAX: Wed 11:23pm PST / CHI: Thu 1:23am CST / NYC: Thu 2:23am EST / LON: Thu 7:23am GMT / BER: Thu 8:23am CET / IND: Thu 12:53pm IST / TOK: Thu 4:23pm JST / SYD: Thu 6:23pm EST /
07:25 darbelo Is there a way to add timezones to purl's clock?
07:26 cotto Nope.  It's a way of indirectly saying how important various parts of the world are.
07:27 cotto alternately, you could join #purl and ask there
07:27 cotto literal clock
07:27 purl cotto: clock =is= <rss="http://rjbs.manxome.org/rss/clock.cgi">
07:27 cotto nm.  That's where the data are coming from.
07:28 cotto if you want to host your own rss feed, you could point purl at that
07:28 cotto (if you do, also add a "days to release" feed)
07:28 darbelo It was mostly curiosity, I can just reverse pm/am for TOK in my head to know the local time.
07:29 darbelo But, a 'days to release' RSS would be seriously cool. I'll have to look into that.
07:34 cotto oh PHP.  So crappy, yet so profitable.
07:34 cotto actually, I've got an account on feather.  If I could remember the password, that'd be a good place to put something like that.
07:35 darbelo Speaking of php. Is anyone maintainig pipp?
07:36 cotto not atm
07:37 cotto There'll be some serious bitrot when someone (i.e. barney, fperrad or me) gets back to it.
07:37 cotto but I'm sure nqp-rx will make life nicer
07:38 darbelo I had forgotten it even existed, but just saw it on the smolder project list. The last smolder looks like it's rotting badly.
07:38 cotto and lorito-based PMCs, should we ever get around to making those possible
07:38 cotto bitrot is such an ugly word
07:38 cotto yet fitting
07:39 darbelo Yeah, bitrust doesn't have the same ring.
07:40 darbelo But parrot moves so fast, even the deprecation policy can't keep stuff from breking all over.
07:46 diakopter bitblur
07:46 darbelo bitdecay?
07:47 cotto bitmold
07:47 cotto (because finding a new word for bitrot is easier than actually fixing it)
07:48 darbelo bitlichen!
07:50 cotto night
07:51 darbelo That doesnt start with bit...
07:55 * cotto kicks ... purl
07:55 cotto with a botsnack
07:55 purl thanks cotto :)
08:00 fperrad joined #parrot
08:01 uniejo joined #parrot
08:04 barney joined #parrot
08:24 TiMBuS joined #parrot
08:40 zak_ joined #parrot
08:57 japhb NotFound, can't use Winxed, because it doesn't ship with Parrot.  Plumage can only use tools that ship with Parrot ... anything else that is *currently* being used only lasts during bootstrapping.
08:58 japhb NotFound, also, Plumage currently is using the JSON parser to initialize some big hashes, but I end up having to do a second pass over the data to programmatically fix up JSON's lack of data types.  Sucky.
09:00 japhb pmichaud, ISTR that I need both positional flattening and named flattening, but positional is definitely by far the more immediate issue.  I've got PIR code that exists for no reason but to manually flatten arg arrays in certain ways.  Ew.
09:02 bacek joined #parrot
09:08 japhb pmichaud, so far, foo(["a", "b"]) bug indeed looks fixed.  Thank you!
09:19 bacek o hai
09:32 mikehh bacek: chromatic said you had fixed include/parrot/context.h for --optimize - we need it in trunk
09:44 bacek joined #parrot
09:53 bacek mikehh, it's merged.
09:55 ttbot Parrot trunk/ r42440 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/140129.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
09:56 bacek mikehh, r42440 - it requires some svn stuff fixed
09:59 bacek Anyone on win32 here? lib/Parrot/Pmc2c/UtilFunctions.pm line 286 requires some love
10:04 mokurai1 joined #parrot
10:20 bacek dalek turned to zombie?
10:20 szbalint braaaanes
10:22 bacek ENOBRAINZ
10:23 ttbot Parrot trunk/ r42441 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/140189.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
10:23 bacek mj41++ # Yay! ttbot is colourful!
10:24 ttbot Parrot trunk/ r42442 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/140204.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
10:32 ttbot Parrot trunk/ r42443 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/140249.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
10:41 mokurai1 left #parrot
10:53 payload joined #parrot
10:53 dalek joined #parrot
10:55 davidfetter joined #parrot
10:55 Infinoid how long has dalek been out to lunch?
10:57 dalek joined #parrot
10:58 dalek joined #parrot
11:00 Infinoid dalek's startup log is looking happier now.  it needed XML::Atom::Client and XML::RAI, which had gone missing from feather
11:01 bacek Infinoid++ # Master of pupp^W robots!
11:05 dalek parrot: r42444 | bacek++ | trunk (2 files):
11:05 dalek parrot: Always generate Context accessor functions with _func suffix. Map old
11:05 dalek parrot: function names to real functions or Context-poking macros depending of
11:05 dalek parrot: optimized build. Suggested by chromatic++.
11:05 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42444/
11:06 payload joined #parrot
11:10 ttbot Parrot trunk/ r42444 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/140324.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
11:15 bacek barney, we won back almost all speed penalty from PCC refactor.
11:16 payload joined #parrot
11:17 moritz but wasn't it supposed to speed things up?
11:19 bacek moritz, may be...
11:20 moritz at least that was my impression from reading both #parrot and #parrotsketch
11:20 bacek Nope. Right after merge it was ~2.5 times slower.
11:21 moritz I'm talking about expectations, not observations
11:21 bacek (on fib.pir, which is very simple test)
11:22 bacek I have no idea about "expectations".
11:26 allison moritz: the expectation is that it will speed it up, after we remove the backward-compatibility features in 2.1
11:29 moritz allison: ok, thanks for the info
11:34 bacek allison, how backward-compatible features slowing down current PCC?
11:50 barney bacek: tnx, I've updated NEWS
11:52 KatrinaTheLamia joined #parrot
12:10 bluescreen joined #parrot
12:20 dalek parrot: r42445 | mikehh++ | trunk/MANIFEST:
12:20 dalek parrot: regenerate manifest
12:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42445/
12:20 dalek parrot: r42446 | mikehh++ | trunk/include/pmc/dummy:
12:20 dalek parrot: set svn properties
12:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42446/
12:21 ttbot Parrot trunk/ r42445 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/140382.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
12:25 ttbot Parrot trunk/ r42446 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/140413.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
12:30 mikehh bacek: perlcritic don't like the TODO at line 25 of tools/dev/checkdepend.pl
12:31 bacek mikehh, yay. This line can be removed.
12:36 dalek parrot: r42447 | mikehh++ | trunk/tools/dev/checkdepend.pl:
12:36 dalek parrot: fix codetest failure - remove TODO
12:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42447/
12:37 fperrad bacek, on Windows, I run : perl tools\build\pmc2c.pl --c  src\pmc\context.pmc
12:37 fperrad it try to create : src\pmc\context.c & src\pmc\include/pmc/pmc_context.h
12:37 fperrad that fails because the directory src/pmc/include/pmc doesn't exist,
12:37 fperrad and it's not the good path
12:38 payload joined #parrot
12:39 ttbot Parrot trunk/ r42447 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/140464.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
12:40 mikehh bacek: looks good
12:42 mikehh All tests PASS (pre/post-config, smoke (#26838) fulltest) at r42447 - Ubuntu 9.10 amd64 (g++ --optimize)
12:43 bacek joined #parrot
12:44 bacek fperrad, I fixed slashes. But I don't understand why on windows it trying to create src\pmc\include\pmc\pmc_foo.h
12:44 bacek fperrad, on linux it creates include/pmc/pmc_foo.h properly
12:45 mikehh I still have a testr problem with gcc and also on i386 (g++ --optimize) with t/op/comp.t - Failed test: 9
12:45 joeri joined #parrot
12:46 bacek mikehh, can you nopaste output?
12:46 bluescreen joined #parrot
12:47 mikehh bacek: got to go out for a bit - will look at it again when I get back - bbiab
12:48 payload joined #parrot
12:48 fperrad bacek, on Windows, the perlfunc open works well with /, so don't use File::Spec in this case
12:48 fperrad File::Spec is useful only for command, because shell needs \
12:48 fperrad my $exe = catfile('some', 'where', 'perl.exe');
12:48 fperrad system($exe);
12:49 kid51 joined #parrot
12:49 bacek fperrad, than why it put redundant "src/pmc" in front of generated filename?
12:50 mikehh bacek: see TT #1176 and my comment there - got to go now - bbl
12:51 bacek mikehh, ah, ok. At least this one isn't MY failure :)
12:53 xenoterracide joined #parrot
12:53 bacek fperrad, looks like nmake (?) change cwd during build...
12:54 fperrad bacek, I use only gmake
12:54 bacek fperrad, strange... I'm out of ideas why results are different on linux vs windows.
12:56 bacek fperrad, can you replace 's{' with 's{^' and test it?
12:57 fperrad bacek, UtilFunctions.pm line 287 ?
12:57 bacek fperrad, yes
12:59 xenoterracide joined #parrot
13:00 bacek Friday, 13th here already...
13:01 plobsing joined #parrot
13:05 fperrad bacek, new failure
13:05 fperrad $ perl tools\build\pmc2c.pl --dump  src\pmc\context.pmc
13:05 fperrad No pmclass found
13:05 bacek yak...
13:06 xenoterracide joined #parrot
13:08 whoppix joined #parrot
13:08 bacek fperrad, erm... I didn't touch context.pmc (apart from changing #include line)...
13:09 whiteknight joined #parrot
13:10 fperrad bacek, I run 'make realclean', all needs to be rebuidl
13:13 bacek fperrad, ouch... Make realclean will not be sufficient (or it can be). Easiest way - clean checkout. (Because headers are moved and "new" realclean will not remove "old" headers)
13:16 whiteknight chromatic, allison: ping
13:39 xenoterracide joined #parrot
13:41 xenoterracide joined #parrot
13:45 whiteknight is there anybody around who knows about CLAs?
13:50 payload joined #parrot
13:50 pmichaud whiteknight: I might know
13:51 whiteknight pmichaud: I tried to fax my new CLA in this morning and the fax number provided didn't work
13:51 pmichaud checking
13:51 whiteknight there's a non-zero chance that I just used the damn fax machine wrong, but my process seemed reasonable
13:53 pmichaud the fax number in the CLA doesn't seem to match the fax service that the directors have been using
13:54 pmichaud oh, wait
13:54 pmichaud I'm reading the message wrong
13:54 pmichaud still searching.
13:54 purl hmmm... searching is what I care about here.
13:56 whiteknight okay, thanks
13:56 pmichaud fax number provided "didn't work" in the sense of "wouldn't accept a fax" or "wasn't a fax machine"?
13:56 whiteknight it buzzed and bleeped for a while, then said "this number is no longer in service, if you would like to make a call please hang up and try again"
13:57 pmichaud hmmm
13:57 whiteknight at least, I think that is what it said, I was listening to it through the fax machine speaker
13:58 pmichaud can I verify the fax number you were sending to?
13:59 whiteknight The one I got off the CLA itself was: +1-206-299-3492
13:59 pmichaud yeah
13:59 pmichaud okay, let me see what I get from here
13:59 whiteknight I may be able to track down a scanner and send it via email
14:00 pmichaud when I call that number directly I definitely get a fax machine.
14:00 pmichaud maybe a pbx in the way, or an over-eager fax machine dialer?
14:01 whiteknight I'll give it another try later then. Thanks!
14:01 pmichaud I *think* I can see incoming faxes to the directors list, so if you send it I can let you know it was received.
14:02 patspam joined #parrot
14:26 particle yes, incoming faxes hit the directors list
14:26 particle they may need to be moderated by coke or allison, though
14:37 dalek parrot: r42448 | fperrad++ | trunk/lib/Parrot/Pmc2c/UtilFunctions.pm:
14:37 dalek parrot: fix merge pmc_headers_move (r42440) on Windows
14:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42448/
14:47 mj41 bacek ... colourful and now not so slow too ... http://tt.ro.vutbr.cz/buil​dstatus/pr-Parrot/rp-trunk
14:58 dalek nqp-rx: 3795f33 | pmichaud++ | README:
14:58 dalek nqp-rx: README update.
14:58 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/3​795f33a53bddf9bda8c980712a057deb23f45eb
15:19 Psyche^ joined #parrot
15:29 NotFound japhb: you don't need to depend on winxed being installed to use it in package, just ship the generated pir.
15:47 japhb NotFound, ah, so Winxed is like NQP and has zero runtime library footprint?
15:48 mikehh joined #parrot
15:48 NotFound japhb: yeah
15:49 japhb NotFound, OK, I will think about it then.  Staying with one implementation language for Plumage does have its appeal, but we'll see what pmichaud comes up with.
15:50 japhb NotFound, however, I'm easily happy for Plumage to support other projects having setup.winxed or what have you.  That seems like a no-brainer.
15:51 NotFound japhb: I suppose that if there is a way to look for setup.pir, doesn't matter how that .pir is written or generated,
15:52 japhb NotFound, oh sure.  setup.pir already works.  I was just saying I don't mind supporting the winxed source directly.
15:52 japhb :-)
15:52 japhb BTW, how is that pronounced?  x => ks  or x => k ?
15:52 NotFound The project maintainer just needs to update a generated pir in the place of the repository where plunage looks for it.
15:54 NotFound japhb: ks, I think
15:54 japhb okie-dokie
15:55 dalek TT #1266 created by doughera++: void function cannot return a value
15:59 dalek rakudo: d04cce9 | (Solomon Foster)++ | build/PARROT_REVISION:
15:59 dalek rakudo: Bump PARROT_REVISION to 42431.
15:59 dalek rakudo: This has a spectest failure, t/spec/S12-attributes/instance.t, but that already existed at the previous PARROT_REVISION as well.  This Parrot is reputed to have solved a major memory leak.
15:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​04cce92f9215e8783c96a1b0884f119bc4f43be
16:00 whiteknight joined #parrot
16:05 jsut|work joined #parrot
16:06 iblechbot joined #parrot
16:08 whiteknight internet connection is teh suxxor
16:14 pmichaud 15:29 <NotFound> japhb: you don't need to depend on winxed being installed to use it in package, just ship the generated pir.
16:14 pmichaud the same is true for nqp, fwiw :)
16:14 NotFound pmichaud: we became competitors ;)
16:15 NotFound But I think our target audiences have very differente tastes for syntax.
16:15 theory joined #parrot
16:16 pmichaud indeed, they do :)
16:16 particle := vs =
16:16 pmichaud well, according to Damian Conway, the use of ":=" in a language generally dooms it
16:16 pmichaud so NQP has a big hurdle there :)
16:16 NotFound No problem, I introduced := :D
16:16 particle it's Not Quite Doomed yet
16:17 NotFound I mean, =:
16:19 pmichaud I've thought a few times about making '=' be an alias for ':=' in NQP
16:19 pmichaud but semantically I think that's very suspect
16:19 whiteknight but then when parrot starts doing assignment correctly, we break a lot of old NQP code
16:19 pmichaud right
16:20 pmichaud so I think I'd rather live with the annoying syntax a bit more than the future incorrect semantics
16:20 darbelo joined #parrot
16:20 pmichaud (actually, present incorrect semantics, if people expect '=' to be assignment)
16:21 NotFound pmichaud: People don't expect, just copy&paste from other people's code.
16:23 whiteknight Yeah, I don't think anybody has ever written a piece of new NQP code
16:24 whiteknight I'm still copy+pasting from stone tablets in my basement
16:24 pmichaud I think japhb has written a fair bit of new NQP code.
16:24 darbelo dukeleto too.
16:24 NotFound Please don't let reality interfere with my jokes.
16:25 whiteknight for realz
16:56 mikehh I am getting a segfault in t/op/annotate.t with gcc (no --optimize) which passes with --optimize and with g++ - Ubuntu 9.10 amd64
16:57 dalek nqp-rx: 660234b | pmichaud++ | src/stage0/ (3 files):
16:57 dalek nqp-rx: Update bootstrapping.
16:57 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/6​60234b7166063e29045a26b5d48f2470face2dc
16:58 mikehh it passes up to ok 29 then fails
17:04 NotFound mikehh: In annotate? Amazing!
17:05 mikehh it fails in all the cores as well - t/op/annotate.t - Non-zero wait status: 11 - Parse errors: Bad plan.  You planned 33 tests but ran 29.
17:06 mikehh it passes however with gcc with --optimize and g++ with or withouit --optimize
17:07 mikehh that's on Ubuntu 9.10 amd64 at r42448
17:07 dalek winxed: r170 | julian.notfound++ | trunk/examples/parser.winxed:
17:07 dalek winxed: add a few temporary things in the parser example to be able to self compile and
17:07 dalek winxed: run a HelloWorld program
17:07 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=170
17:08 mikehh I haven't run the tests on i386 today but will do later
17:08 NotFound Oh, I must write better commit messages now.
17:09 NotFound mikehh: doesn't fail in debian 5.0 amd64
17:10 mikehh with or without --optimize, gcc or g++?
17:11 NotFound gcc without --optimize
17:11 NotFound gcc 4.3.2
17:13 NotFound I'll try now with Ubuntu 9.10 i386
17:14 mikehh hmmn - I'm with gcc 4.4.1 - but it passes with --optimize and with g++ - I'll probably test on 9.04 later
17:18 fperrad joined #parrot
17:18 darbelo Agh, the parallel build is broken again.
17:20 NotFound mikehh: passes in Ubuntu 9.10 i386, gcc 4.4.1 without --optimize
17:20 NotFound Looks highly specific.
17:25 workbench joined #parrot
17:27 dngor_ joined #parrot
17:32 mikehh I did a clean co and still get the same results - t/op/annotate.t - Non-zero wait status: 11 - Parse errors: Bad plan.  You planned 33 tests but ran 29. - and fails all cores in fulltest
17:33 NotFound mikehh: backtrace?
17:33 purl i heard backtrace was not sufficient?
17:34 mikehh but passes the other 3 options (gcc wityh --optimize, and g++ with or without --optimize)
17:34 mikehh I'll see if I can get it
17:34 dalek parrot: r42449 | barney++ | trunk/NEWS:
17:34 dalek parrot: Added today's NEWS and rephrased some stuff.
17:34 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42449/
17:41 cognominal joined #parrot
17:41 mikehh ok - how do you get a backtrace?
17:43 dalek lua: 79b1f0b | fperrad++ |  (2 files):
17:43 dalek lua: fix metamethod __call
17:43 dalek lua: inspiration from https://trac.parrot.org/parrot/changeset/42424 (NotFound++)
17:43 dalek lua: review: http://github.com/fperrad/lua/commit/79​b1f0b8a2dcc29b654aa3023239a84b71ef8ec7
17:43 Andy_ joined #parrot
17:55 payload joined #parrot
18:08 mikehh bah - if I extract the first 29 tests in t/op/annotate it passes and if I extract the last 4 tests it passes - but seqfaults together after ok 29
18:09 NotFound Maybe a Heisenbug, maybe a problem with that gcc version.
18:15 pmichaud ...is there a way to get copyright.t to skip certain files?
18:15 pmichaud or, even better, the ext/nqp-rx directory altogether?  ;-)
18:17 dalek parrot: r42450 | darbelo++ | trunk/config/gen/makefiles/root.in:
18:17 dalek parrot: Add header dependencies to two IMCC files. Fixes parallel builds with BSD make.
18:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42450/
18:17 * pmichaud decides to take a slightly different approach for now.
18:18 mikehh oh great I ran the test as ./parrot -t t/op/annotate.t and it didn't segfault
18:18 particle where is copyright.t? t/distro?
18:18 pmichaud yes.
18:19 particle ah, no, codingstd
18:20 particle how will those files appear in manifest? marked external somehow?
18:20 pmichaud well, they're in the ext/ subdir
18:20 pmichaud I don't know what else to do with them
18:20 particle i believe the correct fix should be in Parrot::Distribution
18:21 pmichaud looks like you're correct.
18:22 pmichaud well, it's able to list perl exemptions and c exemptions, but not PIR.
18:22 particle perhaps adding ext_file_directories(), ext_files() etc, and filtering out
18:23 particle i think we should ignore coding standards checks on all external files
18:23 particle not just pir files in ext/
18:23 particle however, for now, working trumps good
18:23 darbelo Ideally, we should put all external files in ext/ and just ignore that dir.
18:24 particle and a tt can inspire a cage cleaner
18:25 dalek winxed: r171 | julian.notfound++ | trunk/winxed.cpp:
18:25 dalek winxed: fix '||' operator
18:25 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=171
18:28 pmichaud in the meantime, okay if I don't include the nqp sources in ext yet?  just the generated PIR?
18:28 pmichaud maybe leave the nqp sources for a cage cleaner as well...?
18:30 dalek winxed: r172 | julian.notfound++ | trunk/examples/parser.winxed:
18:30 dalek winxed: example parser: parse int literals, check print arguments, some cleaning
18:30 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=172
18:31 mikehh and if I run with the parrot_debugger it don't segfault either :-{
18:34 NotFound mikehh: so it looks runcore specific, but fails with all cores minus trace and debug %-)
18:34 dalek parrot-plumage: 4d158e8 | darbelo++ | :
18:34 dalek parrot-plumage: The decnum-dynpmcs Configure stage calls out to a perl script, reflect t...
18:34 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/4d158e8a563dbc10f84b568338b63fa4602b45bf
18:34 mikehh ./parrot t/op/annotate.t - segmantation fault after ok 29, no segfault with ./parrot -t or ./parrot_debugger
18:35 mikehh and that is only with gcc ver 4.4.1 on amd64 without --optimize
18:36 NotFound mikehh: for the backtrace: ulimit -c unlimited ; run-the-test ; gdb ./parrot core  ba
18:36 NotFound ba --> in gdb prompt
18:37 dukeleto 'ello
18:41 payload joined #parrot
18:42 cognominal joined #parrot
18:44 nopaste "mikehh" at 81.149.189.7 pasted "backtrace from t/op/annotate.t following instructions from NotFound++" (19 lines) at http://nopaste.snit.ch/18654
18:45 mikehh I don't know if you can make any sense of that
18:47 dukeleto mikehh: it looks like a NCI call is causing a segfault
18:54 NotFound Not sure, but looks like is getting something wrong as exception object in handler, and die when calling his 'backtrace' method.
18:55 particle pmichaud: that's okay with me... you know what you're doing
18:59 pmichaud particle: I'll go ahead and set up the nqp stuff to be compiled and installed.  Adding the original source can be almost purely a cage task, since it doesn't affect any of the other components at all.
18:59 particle pmichaud++
19:01 dukeleto is nqp-rx going into parrot core sometime soon?
19:01 pmichaud dukeleto: working on that right now.
19:01 dukeleto while(1){ pmichaud++ }
19:01 particle are you *trying* to crash purl?
19:02 pmichaud (crash purl)++
19:02 NotFound mikehh: I don't see anything that may depend on optimizations or compiler.
19:02 darbelo purl: crash!
19:02 purl CRASH AND BURN!!!
19:02 NotFound purl: hcf
19:02 purl i think hcf is halt and catch fire or (: foldoc hcf) or http://en.wikipedia.org/wiki/Halt_and_Catch_Fire or an experimental parrot opcode
19:03 particle is bxand around anymore?
19:03 particle that was a fun one to write
19:04 darbelo purl: seen bxand?
19:04 purl I haven't seen 'bxand', darbelo
19:04 particle A and B but not both.
19:04 cotto_work foldoc hcf
19:05 darbelo particle: That's 0.
19:05 * particle gives darbelo a cookie
19:05 particle i wrote it as an april fool's opcode some years ago
19:06 payload1 joined #parrot
19:06 * darbelo is enlightened.
19:13 particle darbelo: have you ssh access to osuosl?
19:13 darbelo osuosl?
19:14 particle have you done a parrot release?
19:14 particle ssh -l <user_name> ftp-osl.osuosl.org
19:14 dalek nqp-rx: 7b4f3e7 | pmichaud++ | src/stage0/ (4 files):
19:14 dalek nqp-rx: More bootstrap file regeneration.
19:14 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/7​b4f3e7e2d9efc081de956b2b0d28a15b856d124
19:14 dalek nqp-rx: 0b3c754 | pmichaud++ |  (27 files):
19:14 dalek nqp-rx: Remove trailing spaces from a lot of files, to make Parrot happier.
19:14 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/0​b3c754824bfc2ec0ddd604ec7c3c0dd44c25dd5
19:14 darbelo Nopes.
19:14 particle if you have an ssh pubkey installed there, you should be able to login.
19:14 particle ok, thanks.
19:15 particle (trailing spaces)--
19:18 darbelo joined #parrot
19:23 dalek parrot: r42451 | pmichaud++ | trunk (71 files):
19:23 dalek parrot: [nqp-rx]:  First part of adding nqp-rx to Parrot repo.
19:23 dalek parrot: Still needs MANIFEST update, propery fixes, 'install target',
19:23 dalek parrot: and fakecutable generation (coming next).
19:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42451/
19:27 dalek parrot: r42452 | pmichaud++ | trunk/ext/nqp-rx (62 files):
19:27 dalek parrot: [nqp-rx]: svn property fixes for nqp-rx files.
19:27 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42452/
19:29 dalek winxed: r173 | julian.notfound++ | trunk/examples/parser.winxed:
19:29 dalek winxed: nice backtrace in example parser
19:29 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=173
19:29 NotFound whiteknight: ping
19:30 darbelo Infinoid: ping
19:33 dalek parrot: r42453 | fperrad++ | trunk (3 files):
19:33 dalek parrot: [pirc] fix build after merge pmc_headers_move
19:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42453/
19:38 whiteknight NotFound: ping
19:38 whiteknight er, pong
19:39 NotFound whiteknight: Was an exception backtrace what you were asking yesterday? This last winxed commit has one.
19:39 whiteknight yeah, that's what I wanted
19:40 whiteknight Matrixy has a top-level exception handler that catches everything and outputs a standard error
19:40 whiteknight and I want to include a backtrace for where that error came from
19:40 NotFound This must be easy to translate to pir.
19:41 NotFound Or just copy and adapt from the generated code.
19:42 whiteknight I am dismayed that there is not an easy way to do this from PIR
19:42 whiteknight like an opcode or a method or something to handle it
19:42 mokurai joined #parrot
19:44 whiteknight I think we should have a "backtrace_string"() method on Exception
19:44 mikehh joined #parrot
19:45 NotFound whiteknight: that may need a way to tell how to format the namespace-class-sub thing.
19:47 whiteknight right
19:48 whiteknight I'm thinking we may want a "Backtrace" PMC type that contains the information we want and stringifies nicely
19:49 pmichaud I think it should be a method on a Context PMC
19:49 whiteknight because the return value from Exception.'backtrace'() is a pretty weird collection of Arrays and Hashes
19:49 whiteknight pmichaud: what should be?
19:49 pmichaud i.e., any Context should be able to give you its backtrace
19:50 whiteknight pmichaud: yes, that's a decent idea. I think Exception should have a method for it as well
19:50 whiteknight if nothing else than a wrapper over the Context version
19:50 NotFound pmichaud: the backtrace method in exception just get it from the context
19:50 pmichaud well, an Exception can just delegate to the context that generated it
19:50 whiteknight exactly. But I should still be able to do e.'get_backtrace_string'()
19:50 pmichaud NotFound: right, I think that's what I said :)
19:51 NotFound pmichaud: on my client, I said first ;)
19:51 whiteknight really, my concern isn't so much about getting a backtrace as a nicely stringified version
19:51 whiteknight Matrixy really wants a stringified backtrace from an exception
19:51 pmichaud HLL::Compiler will be providing a stringified backtrace for all of the compiler objects
19:52 pmichaud especially since we typically don't want every (anonymous) Parrot sub listed in the backtrace
19:52 whiteknight pmichaud: currently supplies? Like I said, Matrixy wants it
19:52 pmichaud not supplying it yet -- still on my every-growing-todo list
19:52 whiteknight Just point me to the place where I can tap into it
19:52 pmichaud *ever
19:52 whiteknight ok
19:52 pmichaud Rakudo has one, though
19:52 pmichaud I suspect it's a bit messier than we'd like
19:53 whiteknight there is a "backtrace" opcode.
19:53 pmichaud hmmm, I wonder if that's old or new backtraces
19:53 whiteknight I think a backtrace_p opcode that takes a Context or Exception and prints the backtrace would be nice
19:53 whiteknight no idea
19:53 whiteknight src/ops/debug.ops:backtrace
19:53 sothil joined #parrot
19:53 whiteknight Anyway, I really just need a way to find out where an exception was thrown from
19:54 dalek parrot: r42454 | fperrad++ | trunk/tools/dev/fetch_languages.pl:
19:54 dalek parrot: [languages] add Kea (from �http://github.com/leto/kea)
19:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42454/
19:54 NotFound I think there are two or even more backtrace printing functions... all wrong.
19:54 whiteknight great
19:54 whiteknight I love to hear that
19:54 whiteknight something that should be so fundamental is so hard and confusing
19:55 pmichaud we couldn't even do backtraces until jonathan++ added them earlier this year :-|
19:55 pmichaud well, not controlled ones, at any rate
19:55 pmichaud it was part of the annotations code
19:55 NotFound The current problem is that is very hard to try to fix when you can't have .pbc files with correct pir line numbers to test.
19:55 pmichaud NotFound: agreed fully.  That's a recent change.
19:56 * sothil wonders if there is a way someone with a "we-own-you" employment contract can help with parrot and perl6 development
19:56 pmichaud I just noticed it a month or so ago that pir line numbers had suddenly become much less useful.
19:56 NotFound Fortunately, annotations are right.
19:56 moritz sothil: you can still blog about Perl 6, write mailing lists summaries and so on
19:56 sothil i.e. something to do that does not involve writing code or other copyrightable stuff
19:57 whiteknight sothil: blogging, writing summaries, test reports, these are all very valuable
19:57 NotFound sothil: sending us barrels of beer, for example?
19:59 sothil which mailing lists could need summarizing?
19:59 whiteknight on second though, parrot-dev really isn't high traffic and doesn't need summaries
19:59 whiteknight I don't know about any of the perl6 lists
20:00 moritz sothil: perl6-language
20:00 purl somebody said perl6-language was a perpetual motion machine, spinning, spinning, spinning, awaiting the heat death of the universe or the /dev/bollocks of the lists.perl.org world
20:00 moritz purl: no, perl6-language is <reply>
20:00 purl okay, moritz.
20:00 dukeleto sothil: blog posts are always helpful
20:00 dukeleto sothil: you could summarize parrot commits
20:00 dukeleto sothil: or HLL development
20:01 dukeleto sothil: or parrot libraries being written
20:01 NotFound Or bad jokes on #parrot
20:01 dukeleto sothil: we could really use some of that
20:01 whiteknight ah yes, bad jokes are important
20:01 moritz see also the ParrotQuotes wiki page :-)
20:01 * sothil is not a blogger, yet. but maybe that's a good reason to become one :)
20:02 dukeleto sothil: summarizing #parrot would probably be worthwhile. a lot of things are discussed in here that are not on parrot-dev
20:02 NotFound sothil: I recommend you to give posterous a try,
20:02 dukeleto sothil: you could just write email summaries if you want
20:02 dalek nqp-rx: 1bc1af6 | pmichaud++ | src/stage0/ (4 files):
20:02 dalek nqp-rx: Update bootstrap files with pod-valid forms.
20:02 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/1​bc1af693d7cf5dc70f5c18b1939be5c0fdb591e
20:02 dalek nqp-rx: 1a8e0dc | pmichaud++ | src/ (4 files):
20:02 dalek nqp-rx: Clean up pod comments in source files.
20:02 NotFound Is a blog for non bloggers :)
20:02 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/1​a8e0dc276410559c92bd92c23b457ca6a713614
20:03 dukeleto sothil: but putting things on http://planet.parrotcode.org/ gives us more public-facing interaction
20:04 payload joined #parrot
20:05 sothil ok. thanks for the suggestions so far. I'll look around and see what I feel up to
20:05 dukeleto sothil: always feel free to ask for help in here or on parrot-dev . your help is greatly appreciated
20:06 pmichaud svn status shows me a bunch of files from 'include/pmc' ... shouldn't those be svn:ignore somehow?
20:09 cotto_work yes
20:09 dalek parrot: r42455 | pmichaud++ | trunk (6 files):
20:09 dalek parrot: [nqp-rx]:  Add files into manifest, adjust codetests to exclude them.
20:09 dalek parrot: There's still a problem that the pod_syntax.t reports errors
20:09 dalek parrot: in two of the files but podchecker reports them as 'ok'.
20:09 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42455/
20:10 darbelo pmichaud: that's from bacek's branch. He uses git-svn so he ussually misses prop changes.
20:12 joeri left #parrot
20:14 pmichaud I think I'm going to leave it for someone else to fix.
20:14 mikehh joined #parrot
20:14 pmichaud oh, you meant the include/pmc files.
20:14 pmichaud I can fix that.
20:15 bacek joined #parrot
20:19 dalek parrot: r42456 | pmichaud++ | trunk/include/pmc:
20:19 dalek parrot: Set svn:ignore property on include/pmc subdirectory.
20:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42456/
20:19 dalek parrot: r42457 | pmichaud++ | trunk/ext/nqp-rx:
20:19 dalek parrot: [nqp-rx]:  Set svn:ignore property for nqp-rx files.
20:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42457/
20:20 cotto_work btw, deleting destroy from packfiledirectory causes no new test failures, though there are other better failures that I didn't look for.
20:21 darbelo cotto_work: The PMC does't have the custom destroy flag set. that VTABLE is never called.
20:22 cotto_work *headdesk*
20:23 whiteknight that stupid flag
20:23 NotFound If that destroy gets called, surely will do domething nasty.
20:23 darbelo But it would probably do the wrong thing if it was. auto_attrs PMCs shouldn't play with their own attrs.
20:24 darbelo Killing now.
20:24 cotto_work darbelo, do it WITH FIRE
20:24 NotFound Or cannons.
20:24 darbelo CANNONS THAT SHOOT FIRE!
20:24 whiteknight Pmc2c should generate code to set that flag automatically if a custom destroy VTABLE is provided
20:24 whiteknight the fact that it doesn't is obnoxious
20:24 cotto_work whiteknight, that sounds familiar. ;)
20:25 whiteknight that, and custom mark vtable
20:25 * dukeleto yells FIRE in a crowded irc theater
20:25 darbelo whiteknight: That would break code all over. Add it to DEPRECATED.pod
20:25 cotto_work +a lot
20:25 whiteknight break code all over? I doubt it
20:25 whiteknight PMCs with custom destroy vtables already manually set the flag
20:25 NotFound whiteknight: you'll be surprised.
20:26 dalek parrot: r42458 | pmichaud++ | trunk/MANIFEST.generated:
20:26 dalek parrot: [nqp-rx]:  Make sure regex and compiler libraries get installed.
20:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42458/
20:26 whiteknight NotFound: then anything else is a bug
20:26 darbelo It would break decnum-pmcs and packfiledirectory, at least.
20:26 whiteknight darbelo: why would it break those?
20:26 NotFound whiteknight: maybe things have improved recently, but when working with auto_attrs I discovered PMCs doing a lot of weird things with flags and custom vtables.
20:27 darbelo decnumdynpmcs has its flag disabled until the order of destruction bug on dynpmc singletons is fixed. But i didn't remove the code.
20:27 whiteknight "a lot of weird things" is not the same as saying doing it right will break things
20:28 whiteknight ah, now that is a bug too. the singleton order of destruction needs to be addressed
20:28 NotFound whiteknight: it doesn't say the contrary, though. And I see that.
20:28 darbelo If you set the flag automatically, you get a segfault during interpreter destruction.
20:28 whiteknight darbelo: so if we fixed the order-of-destruction bug, you'd support the change to Pmc2c?
20:28 darbelo And the uncalled VTBALE i'm removing from packfiledirectory would prbably break stuff too.
20:28 NotFound Yes, interpreter destruction needs some love.
20:29 whiteknight okay, I'll look at interp destruction tonight
20:29 darbelo whiteknight: Put in a deprecation notice. February'll come sooner than that fix ;)
20:29 NotFound And BTW exit need fixing. Or make it follow the docs, or change the docs.
20:30 whiteknight darbelo: what fix? the order-of-destruction one?
20:30 whiteknight I could probably put together a workaround tonight
20:30 NotFound Fixing exit is required in order to know how to fix the related problems.
20:32 darbelo whiteknight: There's a *lot* of small fixes needed to not break the world. And I think it goes against the deprecation policy. You can't just 'turn the flag on' people *could* rely on it being manual.
20:32 bacek Good morning
20:33 darbelo You don't see the DarkPAN, but the DarkPAN sees you.
20:34 NotFound Master, is the Dark PAN stronger?
20:34 whiteknight darbelo: whatever, I'm not going to argue about it. I understand the "users don't want their software to get better" argument
20:35 cotto_work bacek, good morning
20:35 bacek morning cotto_work
20:36 darbelo We have a policy about that. I don't like it a whole lot. I mean, if it makes parrot better, *please* break my code, all over, twice a day. But that isn't what the policy says about changing the tool's behabiour.
20:38 cotto_work It'd be kinda nice if we could break everything all the time like ninjas, but having a deprecation policy makes life better for people who we expect will eventually want to use Parrot, even if only by getting us in the mindset of not deprecating stuff at random.
20:39 whiteknight Deprecation policy is nice in general. But it has flaws. The majority of Parrot is too immature and unstable to be making long term guarantees about it
20:40 whiteknight Deprecation policy would have been far better if features were opt-in, instead of opt-out. Too many misfeatures got grandfathered in and now we're stuck with them
20:41 whiteknight We would have been better off if we had an empty list and said "everything on this list is stable and reliable". Then, we can do triage and testing and start adding good things to the list
20:41 whiteknight instead of everything going onto the list, and us having to fight to have bad things taken off it
20:41 bacek whiteknight, +1!
20:42 darbelo +Inf
20:42 darbelo +Inf
20:42 darbelo +Inf
20:42 * cotto_work ponders 3*Inf
20:42 whiteknight We could even treat the test suite as an implicit list. "If a test for it exists and passes on all systems, it's a stable feature"
20:42 whiteknight and then anything that isn't tested is expendable (because it probably doesn't work anyway)
20:43 darbelo +Inf^Inf
20:44 payload joined #parrot
20:44 bacek whiteknight, disagree. We have tests for some stupid things. Like OrderedHash bad semantics...
20:45 cotto_work allison, feel free to jump in here
20:45 whiteknight bacek: yes, and after a deprecation cycle those tests can be "fixed" and the underlying mechanisms upgraded, like we do now
20:46 whiteknight we can't change the deprecation policy now, users have already been given a certain guarantee of stability and we can't just go back on that
20:46 whiteknight but, if I discovered the secret to time travel, I might go back and make a few suggestions
20:47 magnachef joined #parrot
20:48 bacek Anyone with real svn checkout here? pmc_headers_move branch can be removed.
20:48 payload joined #parrot
20:48 whiteknight bacek: I'm on it
20:48 bacek Yay! nqp-rx!
20:48 bluescreen joined #parrot
20:49 dalek parrot: r42459 | whiteknight++ | branches/pmc_headers_move:
20:49 dalek parrot: removing unneeded branch. bacek++
20:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42459/
20:49 whiteknight done
20:49 dukeleto whiteknight: i like your idea of an opt-in deprecation policy
20:49 bacek whiteknight, thanks!
20:49 cotto_work whiteknight, you're right that we can't just say jklol about our previous deprecation policy, but having an explicit whitelist and blacklist would be quite nice.
20:50 whiteknight I was hoping that PARROT_API would turn into that kind of whitelist, but it never materialized
20:50 particle check out the stability.pod doc i wrote long ago
20:50 particle i argue we should be marking our subsystems with stability levels
20:50 particle and the deprecation policy is designed around those levels
20:51 whiteknight particle: that's basically the next level of my idea. But yes, something in that direction would be very nice
20:51 NotFound To be more satisfied when breaking highly stable ones? ;)
20:51 whiteknight because we still have a few systems that are complete and utter garbage
20:51 whiteknight and a few that are reliable (if performance-stupid)
20:52 particle *cough* imcc *cough*
20:52 whiteknight exactly
20:53 whiteknight GC, NCI, dynext, most pmcs, freeze/thaw, etc
20:53 NotFound stableandreliablethings = new 'ResizablePMCArray' | assign stableandreliablethings, 0
20:54 dukeleto particle: i like the idea of a stability level
20:54 whiteknight that's not true, there are some things that are very nice. IO is stable, but needs new features added for instance
20:54 NotFound I like the idea, but doubt about the implementation.
20:54 cotto_work That stability proposal would also be a great way to gauge the overall maturity of Parrot.
20:55 whiteknight PIR syntax is very stable, though the implementation of it's compiler is not
20:55 particle yes, gauging overall maturity is why i wrote it
20:55 whiteknight Even though we are coming up on "production ready" 2.0, I think we all should be honest with ourselves that much of Parrot is still very immature
20:55 NotFound whiteknight: I don't think so. We can annotate function start, we can put comments before params...
20:55 whiteknight and admitting that is the first step on the road to asolution
20:55 NotFound can't
20:56 particle two years ago, we didn't have any profiling tools, and code coverage was largely unmeasured
20:56 dukeleto particle: your stability.pod doc does not use the word "experimental" anywhere, which seems to be the current buzzword for things that we don't want to be under the dep policy
20:56 dukeleto particle: should that be added to that doc?
20:56 particle that can be changed, or 'experimental' can be changed
20:56 particle the doc, as written, had been accepted by the project team
20:56 particle but, it's not been adopted as practice
20:56 particle so, i'm open for modifications
20:57 cotto_work particle, when was it hashed out?
20:57 NotFound dukeleto: I'm tempted to think that experimental means "Things that we don''t want, but let people play"
20:57 particle perhaps propose something to the list?
20:57 dukeleto particle: i think all we need to do is use 'unstable' instead of 'experimental' and the document is fine
20:57 particle yes, that's basically it
20:57 particle cotto_work: check svn log for a timeframe
20:57 dukeleto NotFound: a lot of stuff is marked experimental, like dynamic opcodes. we want them, but they are still experimental
20:57 * darbelo adds the current deprecation policy to DEPRECATED.pod
20:58 whiteknight oh right, the concurrency system is on the garbage pile too
20:58 darbelo Holy shit! We have concurrency?
20:58 dukeleto NotFound: RTEMS support is experimental as well. doesn't mean we (parrot core devs) don't want it
20:58 cotto_work heh.  not much discussion here: http://rt.perl.org/rt3/Tic​ket/Display.html?id=41317
20:58 NotFound dukeleto: Is RTEMS suport in some doc?
20:59 dukeleto NotFound: other than a recent email to parrot-dev? no.
20:59 dukeleto NotFound: where should it go?
20:59 NotFound dukeleto: then is not 'experimental' in that sense.
20:59 dukeleto NotFound: i asked a few days ago and no one answered
20:59 darbelo dukeleto: Actually we don't "suppport" RTEMS. Like we don't support other OSes we run on.
20:59 dukeleto NotFound: it is 'experimental' in the spirit of what we mean by 'experimental'
20:59 whiteknight Win32, Linux, and OSX are all listed as "supported platforms"
21:00 dukeleto darbelo: thanks. I know. RTEMS is 'experimental', i.e. not officially supported.
21:00 whiteknight we do target parrot for those places
21:00 dukeleto I thought solaris was supported as well?
21:00 NotFound dukeleto: I think we were talking about things that are in DEPRECATED.pod marked as such.
21:00 dukeleto NotFound: well, just because I haven't added it there doesn't mean I won't ;)
21:01 whiteknight ah yes, solaris appears to be supported as well
21:01 NotFound dukeleto: fun, and then I add using parrot in a boat at the antarctic sea.
21:01 whiteknight do we have a definitive list of platforms we intend to support?
21:02 dalek parrot: r42460 | bacek++ | trunk/src/call/context.c:
21:02 dalek parrot: Applying patch by doughera++ to avoid return void inapropriately. Closing TT#1266.
21:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42460/
21:02 dalek TT #1266 closed by bacek++: void function cannot return a value
21:02 particle NotFound: i'll be there in a few months
21:02 particle well, close anyway, i'm headed to tierra del fuego
21:03 NotFound particle: mmmm... that may need a deprecation notice ;)
21:04 darbelo particle: Let me know if you fly over Buenos Aires, I'll wave from the ground.
21:05 particle darbelo: i'll be there for three days
21:06 NotFound Flying to Tierra del fuego? Earth, Wind and Fire complete.
21:06 mikehh joined #parrot
21:07 particle jan 13-16 i'll be in BA
21:11 darbelo NotFound: Ushuaia is a port city, you can add Water to the list.
21:12 particle yes, we'll take a boat from ushuaia to an island full of penguins hatching chicks
21:12 payload joined #parrot
21:13 pmichaud r42461 -- Parrot now has nqp-rx.
21:13 darbelo pmichaud++
21:13 fperrad joined #parrot
21:13 bacek pmichaud++
21:13 japhb pmichaud++ #W00t!
21:13 japhb pmichaud, how closely are you going to keep the parrot copy up to date with the master repo?
21:14 pmichaud japhb: fairly closely for a while
21:14 japhb excellent
21:14 pmichaud if rakudo needs a nqp feature, then of course it'll go into parrot right away.
21:15 payload joined #parrot
21:15 pmichaud but in general any new nqp feature I add I'll copy over to parrot.  Or someone else can feel free to do it.
21:15 japhb k
21:15 pmichaud Only the src/stage0/*.pir files need updating for now.
21:15 pmichaud I don't have full source in the parrot repo yet -- that looks like it needs a branch to work out all of the code style/copyright issues.
21:15 dalek parrot: r42461 | pmichaud++ | trunk (3 files):
21:15 dalek parrot: [nqp-rx]:  Change "make" and "make install" to build parrot-nqp (new)
21:15 dalek parrot: instead of parrot_nqp (old).
21:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42461/
21:15 dukeleto particle: are you going to Joshiua? isn't that the closest town to Tierra del Fuego?
21:16 japhb Wait, we went back to calling it 'parrot-nqp' again?
21:16 dukeleto ushuaia, that is it
21:16 pmichaud japhb: yes, I made a command decision (more)
21:16 pmichaud I think that parrot commands should use hyphens instead of underscores, like most unix tools do.
21:16 pmichaud I also think that we should leave open the possibility to distinguish "parrot-nqp" and "nqp" (more)
21:17 pmichaud "parrot-nqp" is the one that comes with parrot.
21:17 dukeleto pmichaud: oh noes, we are calling it parrot-nqp instead of nqp now?
21:17 pmichaud "nqp" might be the newer version you install yourself.
21:17 dukeleto pmichaud: ah, good
21:17 japhb oh, interesting
21:17 payload joined #parrot
21:17 pmichaud so NQP's build tools still create "nqp" as the executable.
21:17 NotFound You can call it "nqnqp"
21:18 pmichaud NotFound: +1  # heh
21:18 pmichaud parrot's build environment creates parrot-nqp as the executable.
21:18 pmichaud if it ends up being too confusing for folks, we can still change it between now and January.  But I feel like this has the greatest likelihood of working out in the long run.
21:20 japhb OK, I think I'll be doing a Plumage README update then.  ;-)
21:20 moritz pmichaud: mind if I change the ng branch to use the nqp from parrot?
21:21 Austin joined #parrot
21:21 Austin mmm...segmentation faults..
21:22 mikehh joined #parrot
21:22 ttbot Parrot trunk/ r42461 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/141178.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
21:22 darbelo Austin: help yourself, we have plenty for everyone.
21:22 Infinoid darbelo: pong
21:22 Austin Darbelo: Thanks, but I've got enough right here...
21:22 darbelo Infinoid: I pinged you?
21:22 pmichaud moritz: I was working on that now, but you're welcome to do it :)
21:22 Infinoid I think so
21:23 pmichaud I have to leave in 5 mins anyway to pick up other kid
21:23 darbelo Wait, oh yeah. I did.
21:23 Infinoid darbelo: 2 hours ago :)
21:23 * Infinoid <-- slow
21:23 moritz pmichaud: simply changing one line Makefile.in and bumping PARROT_REVISION work for me - did I miss anything more intricate?
21:23 pmichaud that's all it should take :)
21:24 Austin Wow. Is 'a' a reserved word?
21:24 pmichaud moritz: I started by completely clearing out my parrot and nqp directories, doing a fresh checkout and rebuild :)
21:24 pmichaud just because I have a lot of things lying about at the moment.
21:24 moritz pushed
21:24 darbelo Infinoid: Did you see the merge request for dalek-plugins?
21:24 moritz pmichaud: then I was in pole position ;-)
21:25 pmichaud moritz++ # it's always nice when people are ahead of me
21:25 darbelo It's for tracking a rakudo branch, It looks sane to me, but I can't test here.
21:26 pmichaud Infinoid: we'd like to have dalek report commits to the "ng" branch of Rakudo
21:26 * moritz tried hard to stay sane ;-)
21:26 pmichaud (as well as master)
21:29 Austin Hmm. Are attributes buggy in 1.7?
21:29 pmichaud nafaik
21:29 Austin Bummer.
21:30 pmichaud probably depends on the kind of buggy you're looking for :)
21:30 Austin segmentation fault, core dumped.
21:30 pmichaud afk, more pickups
21:30 Austin (In the gc, because it's always in the gc.)
21:41 Austin Aha. My segfault was caused by not having a debugging "say" inserted just before the test.
21:41 Austin Now that the "say" is inserted, the segfault is gone. Problem solved!
21:41 Austin Austin++
21:42 bacek joined #parrot
21:42 darbelo Austin: Can you create a, shot-ish, pure pir example of that segfault?
21:42 Austin Darbelo: No.
21:42 darbelo Aww.
21:43 darbelo What are you using to cause it.
21:43 darbelo NQP, Close?
21:44 Austin I've got dynamic loading, mechanical code generation, method replacement, type-based dispatch, and it's a heisenbug. So I doubt this one will have a simple explanation. :(
21:44 Austin It's in NQP.
21:45 Austin But, on the plus side, all I need to do is maintain the right balance between diagnostic output and functionality, and the problem stays hidden. :)
21:46 darbelo Can you give steps to reproduce?
21:46 dalek parrot-plumage: f50ea0e | japhb++ | :
21:46 dalek parrot-plumage: [PROBES] nqp -> parrot-nqp
21:46 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/f50ea0ef1e111fb3d236117ae6e201ccf3472035
21:46 dalek parrot-plumage: 2588cfa | japhb++ | :
21:46 dalek parrot-plumage: [TESTS] nqp -> parrot-nqp
21:46 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/2588cfa9fa4772ac9163d50988fe01d923dd68ca
21:46 dalek parrot-plumage: cb4539d | japhb++ | :
21:46 dalek parrot-plumage: [BUILD] nqp -> parrot-nqp
21:46 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/cb4539d9abb78464e5cfc5a359536381e0497820
21:46 dalek parrot-plumage: 1bf2f37 | japhb++ | :
21:46 dalek parrot-plumage: [plumage] nqp -> parrot-nqp
21:46 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/1bf2f37a8515b657e163b3dbba1b1de8776d188e
21:46 dalek parrot-plumage: 7660dde | japhb++ | :
21:46 dalek parrot-plumage: [META] README: nqp -> parrot-nqp; remove related discussion
21:46 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/7660dde63b72f05cf303f2be2e32cc6aadcff356
21:47 Austin Let me see.
21:49 dalek kakapo: a62a1aa | austin++ | :
21:49 dalek kakapo: Moved most of the opcode-like functions out of Parrot.nqp into Parrot/Op...
21:49 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/a62a1aadfac79b4fbba57d8f2142d2717c10898b
21:49 dalek kakapo: 829b9f9 | austin++ | :
21:49 dalek kakapo: Removed ManagedQueue.nqp, replaced it with DependencyQueue.nqp.
21:49 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/829b9f9d13420170cd3918d8375deaa0553c7ac6
21:50 dalek kakapo: f3e8e17 | austin++ | :
21:50 dalek kakapo: Got Undef working, w/ test-undef make target.
21:50 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/f3e8e17bfdd7eef82f7f16ca0d23e8cbbbecb41a
21:50 dalek kakapo: 6e0389e | austin++ | :
21:50 dalek kakapo: Got pmc tests working again.
21:50 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/6e0389ec791c903ba04fc85d49b5f2a5456b023c
21:50 dalek kakapo: 3506ba2 | austin++ | :
21:50 dalek kakapo: Updated a bunch of Matchers to get tests working for various PMC types.
21:50 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/3506ba21cb9baf50e47b88df6c009de7e2011f5e
21:50 dalek kakapo: 023db11 | austin++ | :
21:50 dalek kakapo: Checking in a bunch of non-working stuff to see if someone else can repr...
21:50 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/023db1173bbf06aa336342853c66242eb9208f6e
21:51 Austin Darbelo: I just committed the bunch to kakapo/master (git://gitorious.org/kakapo/kakapo.git). If you can "make test-attributes" to run, that's where the problem happens.
21:52 dalek parrot: r42462 | darbelo++ | trunk/compilers (3 files):
21:52 dalek parrot: Add ARGIN() macros to parameters, ASSERT_ARGS() and headerize in IMCC's constant pmc creation code.
21:52 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42462/
21:56 darbelo Austin: ok, and you are using the 1.7 release. Right?
21:57 Austin Laugh!
21:57 cotto_work hah?
21:57 purl hah is reply
21:57 darbelo hah?
21:57 purl somebody said hah was reply
21:57 Austin I just did Tortoise SVN "check for updates" on the context (right-click) menu from $_parrot, and it told me about SVN updates.
21:58 japhb that seems like something that does not belong on a right click menu ....
21:58 Austin I kind of agree.
21:58 darbelo japhb: He's on windows. Nothig is where it belongs.
21:59 Austin I'm at 41964
21:59 Austin Which is I think is the revision either right before or right after the copy from trunk -> tag.
22:00 darbelo Okay.
22:01 ttbot Parrot trunk/ r42462 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/141258.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
22:02 dalek parrot: r42463 | darbelo++ | trunk/src/pmc/packfiledirectory.pmc:
22:02 dalek parrot: Remove an unneeded and unused destroy() VTABLE.
22:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42463/
22:05 darbelo WTF? How did r42462 break the build?
22:06 darbelo That commit goes nowhere near pbc_to_exe
22:07 cotto_work the build from svn head looks fine to me, darbelo
22:08 darbelo cotto_work: Tell it to ttbot. He's the one squaking.
22:09 darbelo Austin: I have a message from BSD make for you:
22:09 darbelo Using $< in a non-suffix rule context is a GNUmake idiom (line 218 of Makefile)
22:09 darbelo BSD make objects to GNU idioms, apparently.
22:09 Austin Actually, that's not a gnu make idiom - I used to use it in Sun make all the time.
22:09 Austin But I'll change it.
22:10 ttbot Parrot trunk/ r42463 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/141296.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
22:10 Austin And I've got a message for the BSD make developers, but I'll deliver it myself...
22:10 darbelo Austin: They're not going to listen. Trust me.
22:11 Austin :)
22:11 Austin Can you fix it, or do you need a patch?
22:11 darbelo I can fix it.
22:11 nopaste "Austin" at 98.235.55.43 pasted "makefile fix" (6 lines) at http://nopaste.snit.ch/18658
22:11 darbelo Oh, and BSD make also dislikes it when you put a tab before a #comment
22:12 Austin <expletive deleted>
22:12 japhb darbelo, was that $< message you posted actually the verbatim error?  'Cause that's ... wow.
22:13 darbelo japhb: Yep, pasted right from the xterm.
22:13 Austin If I can't put a comment after a tab, how do I comment my make scripts?
22:13 darbelo Just the line about "Using $< in ..."
22:13 japhb "You did something completely reasonable.  But we're all pissy about a decade(s)-old grudge, so nya-nya we won't let you do it."
22:15 darbelo "This make never supported what you are trying to do. What you are doing is worse than wrong, it's GNU."
22:15 particle in order for makefile comments to be 'portable', they must start at column 1
22:15 particle that is, the comment char must be at column 1
22:16 Austin Yeah, but this isn't a makefile comment. It's a recipe comment.
22:16 darbelo Austin: Nopes, I mean the makefile comment.
22:16 Austin :)
22:17 darbelo line 106 of the generated makefile.
22:17 Austin I think I know what you mean - some list items commented out.
22:17 darbelo 108 and 109 too.
22:17 darbelo Austin: Yes, those.
22:18 NotFound Exercise proposal: write a grammar for portable makefiles.
22:18 Austin That's what I get for encountering the segfault before I finished changing the code..
22:18 dalek parrot: r42464 | jonathan++ | trunk/tools/dev/pbc_to_exe.pir:
22:18 dalek parrot: [pbc_to_exe] Fix generation of rc file when filename contains hyphens.
22:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42464/
22:19 allison (catching backscroll) cotto is absolutely right, the point of a deprecation policy is to make developers think about what they're taking away from users, and do it more carefully.
22:19 darbelo MSVC deserves to die.
22:19 darbelo jonathan++
22:19 particle what's wrong with msvc?
22:20 particle oh, i thought you meant nmake.
22:20 NotFound particle: the oprating system
22:20 japhb NotFound: as in "Only passes parse if the makefile uses only the intersection of supported features from all makes" or as in "Only passes parse if no make will actively error or do the wrong thing given this makefile"?
22:20 particle find me another compiler that has strict C89 warnings and errors.
22:20 particle gcc sure doesn't
22:21 NotFound japhb: more points for more restrictive definition.
22:21 japhb The world wouldn't need strict C89 warnings and errors if not for MSVC.
22:21 darbelo particle: SUN cc
22:21 darbelo But what japhb said still applies.
22:21 particle darbelo: right you are! that's a beast.
22:21 KatrinaTheLamia joined #parrot
22:23 * japhb is tempted to see if his copy of Lions' Commentary says anything about make ...
22:23 cotto_work allison, do you see any potential in gradually moving to a whitelist approach for deprecation?
22:24 allison cotto: we are gradually
22:24 allison that is, the extend/embed API currently defines the functions subject to deprecation
22:25 allison and we will move to a PARROT_API marker
22:25 dalek parrot: r42465 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
22:25 dalek parrot: [distutils] nqp-rx is now installed as parrot-nqp
22:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42465/
22:25 KatrinaTheLamia joined #parrot
22:25 allison but (addressing whiteknight's commend), we really had to grandfather in the whole system, because we had no way of knowing what people might be relying on
22:26 darbelo Austin: make: don't know how to make src/krt0.pir. Stop in /home/darbelo/parrot/kakapo.
22:26 Austin It's the little things that get me.
22:27 nopaste "Austin" at 98.235.55.43 pasted "krt0.pir" (56 lines) at http://nopaste.snit.ch/18659
22:29 nopaste "darbelo" at 190.192.220.13 pasted "Austin make test-attributes on parrot HEAD" (18 lines) at http://nopaste.snit.ch/18660
22:29 Austin Okay, so I get the segfault and you don't.
22:30 Austin Nyah nyah. I'm special-er.
22:30 darbelo on HEAD, I'll try the rev you are on next.
22:30 Austin :)
22:34 dalek kakapo: 161501f | austin++ | :
22:34 dalek kakapo: Fixed up Makefile.in, moved krt0.pir to krt0_pir.tmpl. (Darbelo++)
22:34 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/161501f39614f75541dfe7c0b2d5c137a8cd297c
22:35 Whiteknight joined #parrot
22:36 dalek parrot-plumage: f854bec | japhb++ | :
22:36 Austin Howdy, Whiteknight!
22:36 dalek parrot-plumage: [CORE] as_array() -> []; other nqp-rx fixes
22:36 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/f854bec76f28cce57e49aa47936d9b2787fba0f9
22:36 dalek parrot-plumage: 07ea46f | japhb++ | :
22:36 dalek parrot-plumage: [CORE] Remove no longer useful as_array() function
22:36 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/07ea46fff7218aa044f61a36234c158b0750e311
22:37 Whiteknight hello Austin
22:37 Austin It's segfault day for me, apparently.
22:38 Austin (Also sushi day, so I'm afk for a bit.)
22:38 dalek parrot: r42466 | NotFound++ | trunk/config/gen/call_list/misc.in:
22:38 dalek parrot: [nci] add some signatures under petition from Vadim Konovalov for TclLibrary
22:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42466/
22:39 dalek nqp-rx: b7ce35e | duff++ |  (4 files):
22:39 dalek nqp-rx: [nqp] Added postfix conditional statement modifiers (if/unless)
22:39 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/b​7ce35ed1a60d547c267d2b334536407e37a2986
22:39 nopaste "darbelo" at 190.192.220.13 pasted "Austin: Missed a spot ;)" (18 lines) at http://nopaste.snit.ch/18661
22:39 payload joined #parrot
22:40 nopaste "darbelo" at 190.192.220.13 pasted "Austin: You win!" (8 lines) at http://nopaste.snit.ch/18662
22:40 Austin W00t! I win!
22:40 Austin (What do I win?)
22:41 Austin A new car?
22:41 darbelo A segfault!
22:41 purl it has been said that a segfault is http://xkcd.com/371/
22:41 Austin A million dollars?
22:41 purl a million dollars is actually on the low side of funding
22:41 darbelo A million segfaults!
22:41 Austin A segfault?
22:41 purl a segfault is http://xkcd.com/371/
22:41 Austin Hell, I already got one of those.
22:41 dalek parrot: r42467 | fperrad++ | trunk/NEWS:
22:41 dalek parrot: [NEWS] Math/Random/mt19937ar.pir left the nest
22:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42467/
22:42 cotto_work This one's lemon-scented.
22:42 darbelo But it's fixed on HEAD, consider it a tax return on next release. ;)
22:42 Austin So upgrading to HEAD will make it go away, eh?
22:42 Whiteknight We tend to do sushi day on Mondays. The place down the streed has half priced sushi on mondays
22:42 Austin WhiteKnight: yum! Half-priced sushi!
22:42 Austin (There's a warning in there someplace, but we've got a place over here that does the same thing.)
22:42 Austin Thanks, darbelo.
22:42 Austin Darbelo++
22:43 Whiteknight and I'll be damned if I'm going to pay full price for something that's not even cooked
22:43 Austin :)
22:43 Austin "That's not dinner. That's bait!"
22:43 Austin (Terry Bradshaw)
22:43 treed heh
22:43 Austin Okay, I'm out.
22:43 treed Whiteknight: You just highlighted me with your typo. :-P
22:43 payload joined #parrot
22:46 kiwichris joined #parrot
22:46 darbelo purl: msg Austin There's a release coming relatively soon. I suggest you hide the bug 'till the next tax payment.
22:46 purl Message for austin stored.
22:47 joeri joined #parrot
22:59 Whiteknight treed: sorry!
22:59 Whiteknight I'll be more careful with my typos :)
23:00 nopaste "darbelo" at 190.192.220.13 pasted "Interesting 1.7 backtrace" (95 lines) at http://nopaste.snit.ch/18663
23:00 darbelo Whiteknight: http://nopaste.snit.ch/18663 should prove interesting. Look at where it segfaults.
23:01 treed Whiteknight: :-P
23:01 Whiteknight darbelo: that is a doozie
23:01 darbelo It doesn't happen on HEAD, but I'm not convinced that means the bug is fixed.
23:02 darbelo I can't recall any changes to compact_pool or relatives since 1.7
23:03 Whiteknight darbelo: How to reproduce it?
23:04 Whiteknight or, how did you make it?
23:04 chromatic joined #parrot
23:05 darbelo make install-dev a -r41964 parrot; then fetch Austin's kakapo and run "perl Configure.pl; make test-attributes"
23:08 Whiteknight is there any kind of standard explanation for what the various "provides ..." statements in PMC files are?
23:08 GeJ Good morning everyone.
23:08 cotto_work hi GeJ
23:08 Whiteknight does "provides array" require a specific interface? Can I provides new things that I just made up?
23:08 Whiteknight hello GeJ
23:09 cotto_work knowing pmc2c, you can msu
23:09 cotto_work msu?
23:09 purl msu is kicking tenn's butt!
23:09 darbelo Whiteknight: That sounds not entirely unlike 'does'
23:09 cotto_work no, msu is make something up
23:09 purl okay, cotto_work.
23:09 Whiteknight I think it is "does"
23:10 chromatic They're aliases we never removed when we refactored the PMC generators for new-style PMCs.
23:11 darbelo Do they serve any particular purpose or are just sitting there, waiting for the axe that will remove them.
23:12 nopaste "cotto_work" at 131.107.0.74 pasted "nothing breaks with this patch" (13 lines) at http://nopaste.snit.ch/18664
23:12 chromatic Let's axe one of them.
23:12 GeJ minor question about the nqp-rx merge : shouldn't it be named parrot_nqp (instead of parrot-nqp) to match parrot_config and parrot_debugger. Also `make realclean` doesn't remove parrot-nqp* properly (I have a patch for this).
23:13 cotto_work GeJ, pmichaud addressed that earlier.
23:13 GeJ heya cotto_work, Whiteknight, @all
23:14 Whiteknight chromatic: so then how do I specify a role that my PMC type does?
23:14 chromatic 'does'
23:15 Whiteknight so it would be "pmclass NumMatrix2D does matrix"?
23:15 GeJ cotto_work: Ah, ok. My mistake then. sorry for the noise.
23:15 Whiteknight because I don't see a lot of instances of "does" in src/pmc/*
23:16 cotto_work GeJ, http://irclog.perlgeek.de/p​arrot/2009-11-12#i_1722527
23:17 Whiteknight it looks to me from the code I'm reading that "provides" in the .pmc files is just a way to specify a role.
23:17 chromatic Yes.
23:17 Whiteknight so FixedPMCArray provides array, and then in PIR "does 'array'" is true
23:18 chromatic Everything a PMC 'provides' or 'does' in the .pmc file gets in the provides_str member of its vtable.
23:20 allison whiteknight: provides is the old features strings 'array' 'hash' etc
23:21 allison whiteknight: does is specifically for roles
23:21 Whiteknight allison: okay, so I should use "does" in my PMCs, and it will do the right thing?
23:21 allison yes, you can ignore provides
23:21 Whiteknight okay
23:22 Whiteknight and we should update "provides" in the repo to be "does"?
23:22 darbelo Can we deprecate provides then?
23:22 allison whiteknight: provides used to be called 'does'
23:22 allison whiteknight: we changed the name so we could use 'does' for roles
23:23 plobsing joined #parrot
23:25 allison darbelo: deprecating provides is a possibility, though roles aren't really a replacement (since roles only apply at the PIR-level, not at the C-level)
23:25 Whiteknight joined #parrot
23:25 chromatic We're only talking about collapsing two synonyms for (almost unused) syntax into one.
23:26 darbelo cotto_work: You are going to love this...
23:26 allison if we did deprecate provides, it would be in favor of treating the C-level "behavior tags" as roles
23:26 nopaste "darbelo" at 190.192.220.13 pasted "Passes all tests; pmc2c--" (13 lines) at http://nopaste.snit.ch/18665
23:26 allison (though very limited roles that don't provide any state or methods)
23:27 allison darbelo++ (eats kittens)
23:27 allison pmc2c-- (eats kittens)
23:29 cotto_work Having worked with pmc2c, I'm too cynical to be surprised.
23:30 dalek kakapo: fd221b4 | austin++ | :
23:30 dalek kakapo: Fixed up Makefile.in for BSD silence.
23:30 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/fd221b424932246e30c582c5a095d5f97940044a
23:39 kid51 joined #parrot
23:42 Whiteknight Can I mark a string as being constant?
23:42 Whiteknight (it's a case where I'm managing the buffer storage manually, so I don't want nobody to mess with it)
23:43 darbelo Whiteknight: I know there's code in parrot that does something like that, but I don't think it works in general.
23:44 Whiteknight hmmm
23:44 darbelo You could try marking it COW.
23:44 Whiteknight Yeah, that's what I'm thinking will need to happen: create a COW copy and return the copy only. Trash the original
23:45 chromatic There's a flag you pass in when you create a string when you pass in a buffer.  It's something something external something.
23:48 darbelo I think I remember something like that going on in Parrot_io_read_buffer() or another function in that file.
23:56 darbelo chromatic: PObj_external_FLAG ?
23:56 chromatic That might be it.  I thought it was string-specific.

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

Parrot | source cross referenced