|
Parrot 1.7.0 "African Grey" is out! | Testing hackathon November 14 and 15 -- improve opcode coverage | find out what's up with the slice opcode | Latest modified TT's: icanhaz.com/parrotbugs Set by moderator on 10 November 2009. |
|||
| plobsing | thats how I retest. I find the makefile too "conservative" in what it considers dependancies | 00:00 | |
| slows the process somewhat | |||
| hmmm prove t/pmc/nci.t passes here (x86_64 arch linux). making fulltest | 00:01 | ||
| what libjit are you using? | |||
| cotto_work | 0.1.2 | 00:02 | |
|
00:04
hercynium joined
|
|||
| plobsing | 0.1.2-1? | 00:04 | |
| nevermind | 00:05 | ||
| the 1 is added by my package manager | |||
| --optimize? | |||
| cotto_work | nope | 00:06 | |
| plobsing | shouldn't matter | ||
| cotto_work | what are you on that has a libjit package? | 00:07 | |
|
00:07
eternaleye joined
|
|||
| plobsing | arch linux. | 00:07 | |
| purl | arch linux is not as cool as demi linux. | ||
| plobsing | its in AUR | ||
| darbelo | AUR? | ||
| plobsing | arch user repository or somesuch | ||
|
00:07
eternaleye joined
|
|||
| darbelo | Ah. | 00:08 | |
| plobsing | I should add a debugging interface to NCI pmcs | 00:09 | |
|
00:11
tetragon joined
|
|||
| nopaste | "plobsing" at 76.67.61.178 pasted "libjit_framebulder patch + primitive debugging" (27 lines) at nopaste.snit.ch/18645 | 00:15 | |
| "plobsing" at 76.67.61.178 pasted "failing PASM test (libjit_framebuilder)" (16 lines) at nopaste.snit.ch/18646 | |||
| plobsing | cotto_work: can you apply the patch, make corevm, and run against the nopasted PASM file? | 00:16 | |
| cotto_work: and then nopaste the printed assembly? | |||
| 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 | ||
| when you have time | |||
| cotto_work | error:imcc:syntax error, unexpected PARROT_OP ('loadlib') | 00:18 | |
|
00:18
abqar joined
|
|||
| 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 | ||
| I forgot that filename extensions mattered. | 00:20 | ||
| as pasm, it still segfaults before doing anything interesting | |||
| plobsing | yes, thats evil | ||
| cotto_work | nopaste.snit.ch/18647 | 00:21 | |
| 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:24 | |
| nopaste | "plobsing" at 76.67.61.178 pasted "libjit interpreter check" (22 lines) at nopaste.snit.ch/18648 | 00:25 | |
| cotto_work | 0 | 00:26 | |
| (assuming -ljit is what I want to use) | |||
| plobsing | yes | ||
| well, I'm stumped. I'll try installing ubuntu to try and reproduce it | 00:28 | ||
| cotto_work | ok. I'm going home soon anyway. | 00:29 | |
| I'll be mostly available tomorrow for round 2. | |||
| plobsing | thanks | 00:30 | |
| cotto_work | Thanks for your framebuilder work. | ||
| Whiteknight | how do I display a backtrace in PIR? | ||
| cotto_work | backtrace | 00:31 | |
| purl | it has been said that backtrace is not sufficient? | ||
| Whiteknight | backtrace the method on the Exception object? | ||
| cotto_work | there's an op | ||
| cotto_work goes home | 00:32 | ||
|
00:39
kiwichris joined
|
|||
| Whiteknight | no, how do I get the backtrace from an exception | 00:41 | |
| except.'backtrace'() I know | 00:42 | ||
| but I can't print that in any reasonable way | 00:43 | ||
|
00:44
Austin joined
|
|||
| nopaste | "NotFound" at 213.96.228.50 pasted "backtrace the Winxed way" (23 lines) at nopaste.snit.ch/18649 | 00:45 | |
| NotFound | Whiteknight: maybe that Winxed example is helpful | ||
| called from Sub 'test' pc 161 (examples/annotations.pir:28) | 00:46 | ||
| examples/annotations.winxed: 17 | |||
| Whiteknight | urg, that is disgusting | ||
| NotFound | called from Sub 'main' pc 173 (examples/annotations.pir:1) | ||
| examples/annotations.winxed: 22 | |||
| Whiteknight | why can't it just be easy? | ||
| NotFound | If looks uneasy in Winxed, try in pir ;) | ||
| 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 | ||
| 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 | ||
| Whiteknight | I'm just not going to use a backtrace then | ||
| if it's such a goddamn hassle | 00:50 | ||
| darbelo | NotFound: you should probably open a ticket for those very wrong pir line numbers. | ||
| NotFound | darbelo: I think there are already several tickets about that. | ||
| darbelo | Bonus point if you can turn them into a test. | ||
| NotFound | darbelo: Why, to have it immediatelt todoed or skipped and forgotten? | 00:51 | |
| Maybe is faster to write a pir compiler in Winxed ;) | 00:53 | ||
| 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:54 | |
| 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. | ||
| See y'all later. | |||
| japhb | darbelo, chromatic has taken a whack at the IMCC line numbers several times. | ||
| 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. | ||
| japhb | ENOTIMECUZWORKNSTUFF | ||
| darbelo | NotFound: If you leave a test behind, the new breakage gets noticed. | ||
| But, as I said, I need some sleep. | 00:57 | ||
| Laters. | |||
| NotFound | darbelo: there alrady tests and tickets for wrong pir line numbers. | ||
| japhb | Oh sure, get out of it that way. | ||
| dalek | rrot: r42432 | jkeenan++ | branches/platform_determine_earlier (2 files): Refactor _report_verbose() a bit. Add tests. |
||
| NotFound | And people just todo or skip to have a clean release. | 00:58 | |
| japhb | .oO( Ugh. If this Perl 5 code was Perl 6, it would be SO much easier to refactor ... ) |
00:59 | |
|
01:14
mokurai joined
|
|||
| dalek | p-rx: d185789 | pmichaud++ | t/nqp/11-sub.t: Revise test in 11-sub.t because subs default to lexical scoping. diakopter++ |
01:35 | |
|
01:39
dalek left,
dalek joined
02:13
kid51 joined
02:21
mokurai left
02:43
tetragon joined
|
|||
| Whiteknight | incoming | 02:52 | |
| purl | duck! | ||
| kid51 | dalek hasn't been reporting for > 30 minutes | 02:58 | |
| Not since 0213 at least. | |||
| purl, wazzup with dalek? | 03:00 | ||
| purl | no idea, kid51 | ||
| dukeleto | 'ello | 03:04 | |
| dukeleto is at the pdx.pm meeting | |||
| kid51 | Wazzup? | ||
|
03:06
plobsing joined
|
|||
| dukeleto | not much | 03:06 | |
| purl | same here, dude | ||
| dukeleto | t/src/warnings.t is still failing | ||
| kid51 | on which platforms? amd64? | ||
| dukeleto | darwin/x86 | ||
| kid51 | Well, I have it passing on darwin/ppc | 03:31 | |
| see: smolder.plusthree.com/app/public_pr...ails/29829 | |||
| dukeleto | kid51: darwin/ppc is a totally different platform :) | 03:33 | |
| 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
03:42
janus joined
03:51
theory joined
03:56
abqar_ joined
|
|||
| 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. | ||
| kid51 | Does anyone know which human tends to dalek? | 04:02 | |
| hachi? | 04:03 | ||
| purl | somebody said hachi was extremely slow at it or kuiki.net/ or 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 (news.livejournal.com/92408.html) | ||
| kid51 | diakopter? | ||
| purl | i think diakopter is the person currently maintaining dalek | ||
| 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 | ||
| purl | Message for diakopter stored. | ||
| kid51 | OH HAI! | ||
| diakopter | PAST on the brain | 04:05 | |
| hachi | kid51: hello? | 04:08 | |
| purl | Raise your hand in the back if you can't hear me. | ||
| hachi | ahh, not me anyways, good job | 04:09 | |
| kid51 | hachi: hello, I was looking for dalek's minder | ||
| diakopter is on the case | |||
|
04:11
dalek joined
|
|||
| diakopter | well | 04:14 | |
| kid51 must sleep | 04:16 | ||
| purl | $kid51->sleep(8 * 3600); | ||
| 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:52 | |
| 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. | 04:54 | ||
| dukeleto | japhb: this is the first i am hearing about it | 05:27 | |
| japhb | dukeleto, That's why I'm bringing it up here. He sent me a personal email, rather than to the list. | 05:29 | |
|
05:30
darbelo joined
|
|||
| darbelo hates insomnia. | 05:30 | ||
| 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 :-| | ||
| 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. | ||
| pmichaud, and I think I found a bug in [], but it may just be me; currently testing | |||
| pmichaud | on the other hand.... the regex engine is very good at creating hash structures :-) | ||
| japhb | That's an interesting thought .... | 05:33 | |
| 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 | |||
| darbelo | japhb: Hmmm. I've been meaning to give the distutils a spin, see if they can hadle decnum-dynpmcs's build. | 05:35 | |
| Freeing plumage from the shackles of make sounds tempting... | |||
| pmichaud | I could also see about getting nqp to build hashes | 05:36 | |
| depends on what kind of hash structure you need. :-| | |||
| japhb | pmichaud, quite cool that would be | ||
| pmichaud | maybe nopaste the setup.pir ? | ||
| japhb | pmichaud, I was just about to do that. :-) | ||
| nopaste | "japhb" at 76.191.190.8 pasted "fperrad++'s suggested setup.pir for plumage" (56 lines) at nopaste.snit.ch/18650 | 05:38 | |
| japhb | Fairly simple HoH structure, with strings for all keys and values | ||
| (leaf node values, I mean) | |||
| pmichaud | I'm trying to decide how difficult it'd be to build a hash from NQP | 05:41 | |
| diakopter | :) | ||
| pmichaud | (hash structure, actually ... hashes are pretty easy) | ||
|
05:42
mokurai joined
|
|||
| nopaste | "japhb" at 76.191.190.8 pasted "[BUG] nqp -target=pir of foo(["a", "b"])" (8 lines) at nopaste.snit.ch/18651 | 05:44 | |
| pmichaud | yeah, looks like a bug | 05:45 | |
| the keys in the setup.pir instance aren't identifiers, either | |||
| hmmmm | |||
| that would mean we'd have to parse the 'foo' => 'bar' form | |||
| japhb | Is that particularly difficult to add? It looks like "just" an infix operator, if you leave aside autoquoting the LHS | 05:46 | |
| which NQP can just say is Off The Table | |||
|
05:47
theory joined
|
|||
| pmichaud | the parsing part isn't too bad, it's the code generation | 05:47 | |
| 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) | ||
| diakopter | (never?) | ||
| dukeleto | diakopter: life got busy, backlogging has become unbounded => doesn't happen as often | 05:53 | |
| japhb | bak | ||
| 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:54 | ||
| 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) | ||
| er | 05:57 | ||
| 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 | ||
| nqp: sub a($b) { say($b.pop) }; a([[5 <= 6]]); # 1 | |||
| pmichaud | japhb: yes, named argument versus positional pair | 05:59 | |
| but only in an argument list | |||
| inside of a hash constructor, they're both pairs | |||
| japhb | oh ah. | 06:01 | |
| still, you could do the quoting-only (pair always) form for now, and leave the argument list named argument problem for another time. | 06:02 | ||
| pmichaud | it's still slightly tricky -- need to find the case where a closure is nothing but a list of pairs :-| | 06:03 | |
| or a single pair | |||
| japhb | If the first child is a pair, isn't that enough to make it a hash? | ||
| 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. | ||
| I thought it forced hash, and then anything non-pairish was an error. | |||
| pmichaud | that could be true also | 06:05 | |
| diakopter | pmichaud: rakudo is failing to rebuild on p6eval | ||
| rakudo.pastebin.com/d5326ef60 | |||
| pmichaud | diakopter: that looks like a blitzkost error | 06:06 | |
| since it's talking about p5invocation | 06:07 | ||
| diakopter | I wonder why it's trying to build that | ||
| japhb | I believe jonathon said that blizkost was a victim of the PCC merge, and hasn't been fixed | ||
| diakopter | ok | 06:09 | |
| plobsing | msg cotto_work installed ubuntu 9.10 amd64. could not reproduce bug. | 06:15 | |
| purl | Message for cotto_work stored. | ||
| pmichaud | anyway, I'll have to think about hash constructors a bit more | ||
| 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 | |
| Not super efficient, but at least it would probably work ... | |||
| pmichaud | "function call to something" implies runtime library. | ||
| japhb | pmichaud, oh gak, I keep forgetting that | 06:19 | |
| well, I suppose you could do it inline! | |||
| pmichaud | producing a function call to something is the way Rakudo does it, yes :) | ||
| 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
|
|||
| 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:23 | |
| It's a long block of pir, but should be fast as you can get for building at runtime | 06:24 | ||
| I'm feeling stupid because I'm clearly missing the hard part. | |||
| 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 | |
| in particular, detecting the pairs, and knowing what to do with them when we *aren't* in a hash constructor | |||
| 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 | |
| Punt, in other words. | |||
| 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. | ||
| japhb | (Backing into a corner being the most obvious objection I can think of.) | ||
| Oh, sorry, didn't mean to push, honestly. | |||
| pmichaud | no problem | ||
| japhb | Was just trying to understand. | ||
| pmichaud | yes, I'd like to get hash constructors in | ||
| it's likely to happen, I don't know if it'll happen in the next day or two | |||
| japhb | fair enough. | 06:29 | |
| pmichaud | right now I'm trying to fix the [...] bug | ||
| japhb | The foo(["a", "b"]) fix is definitely more important to me. | ||
| :-) | |||
| pmichaud | fixed in 5ea3604 | 06:40 | |
| NotFound | japhb: if nqp doesn't fit, you can use Winxed. It intializes hashes as easily as javascript. | 06:41 | |
| Or you can use the json reader. | 06:42 | ||
| pmichaud | yeah, but does winxed do regexes? ;-) | ||
| NotFound | pmichaud: parrot does. | ||
| darbelo | NotFound: So, winxed is a 'javascrity' syntax on top of pir functionality? | 06:45 | |
| s/javascrity/javascript-ish/ | 06:46 | ||
| NotFound | darbelo: I'm looking for a good one line description. Yours is not bad. | ||
| darbelo | Not exactly my favourite syntax, but still pretty cool. | 06:48 | |
| NotFound | darbelo: far better than hand written pir ;) | ||
| darbelo | I can only think of one thing worse than hand-written PIR, and it's hand-written PASM ;) | 06:49 | |
| NotFound | darbelo: please stop, Halloween has passed ;) | 06:50 | |
| darbelo | But I'm weird enough to *like* writing microcontroller asm code. So I'm hardly a good control subject. | 06:54 | |
| pmichaud | japhb: for argument flattening, did you just need it for positional args or were you looking for named argument flattening as well? | 07:01 | |
| NotFound | darbelo: I don't like writing assembly code, but I enjoy writing assemblers. | 07:05 | |
| So when I say that imcc sucks as macroassembler, I know what I'm talking about }:) | 07:06 | ||
| darbelo | The problem as I see it, is that parrot has high-level semantics, and PIR/PASM have a low-level syntax. | 07:07 | |
| 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, | ||
| 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:09 | ||
| 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
|
|||
| 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? | ||
| NotFound | RETurn from Interruption. | 07:13 | |
| darbelo | RETurn from Interrupt | ||
| pmichaud | right, I knew that part | ||
| but what does it mean internally? | |||
| NotFound | In Z80 for example it just reset a flag. | ||
| pmichaud | in parrot's case, we'd expect execution to resume after the throw, or ... ? | ||
| NotFound | That flag is used for the interrupt controlling hardware. | ||
| 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? | ||
| darbelo | Often you can just push a return adress onthe the uc stack and it'll return there. | ||
| pmichaud | I mean in parrot. | ||
| darbelo | After the throw point, unless the programmer wants to make it go someplece else. | 07:15 | |
| pmichaud | oh. we already have a way to return to the throw point | 07:16 | |
| NotFound | darbelo: I want. Always. | ||
| pmichaud | what we're missing is a way to say "return to this other point, rolling up the caller chain" | ||
| NotFound | try { something bad } catch () { something nasty} IWantGoHere | 07:17 | |
| darbelo | pmichaud: Exactly, but we also can't detect 'recursive exceptions' | ||
| 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 | ||
| we don't have that at the moment | |||
| returning to the point of the throw we have. | |||
| NotFound | pmichaud: There is some actual resume usage? | 07:19 | |
| pmichaud | NotFound: sure. We use it for gather/take in rakudo quite a bit. | ||
| NotFound | pmichaud: I mean other than control exceptions. | ||
| 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' | ||
| oh, I don't know if it gets used outside of control exceptions | 07:21 | ||
| anyway, getting late here so I'll turn in for a while | |||
| see you all later | |||
| 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 / | ||
| darbelo | Is there a way to add timezones to purl's clock? | 07:25 | |
| cotto | Nope. It's a way of indirectly saying how important various parts of the world are. | 07:26 | |
| alternately, you could join #purl and ask there | 07:27 | ||
| literal clock | |||
| purl | cotto: clock =is= <rss="rjbs.manxome.org/rss/clock.cgi"> | ||
| cotto | nm. That's where the data are coming from. | ||
| if you want to host your own rss feed, you could point purl at that | 07:28 | ||
| (if you do, also add a "days to release" feed) | |||
| darbelo | It was mostly curiosity, I can just reverse pm/am for TOK in my head to know the local time. | ||
| But, a 'days to release' RSS would be seriously cool. I'll have to look into that. | 07:29 | ||
| cotto | oh PHP. So crappy, yet so profitable. | 07:34 | |
| 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. | |||
| darbelo | Speaking of php. Is anyone maintainig pipp? | 07:35 | |
| cotto | not atm | 07:36 | |
| There'll be some serious bitrot when someone (i.e. barney, fperrad or me) gets back to it. | 07:37 | ||
| but I'm sure nqp-rx will make life nicer | |||
| 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 | ||
| bitrot is such an ugly word | |||
| yet fitting | |||
| darbelo | Yeah, bitrust doesn't have the same ring. | 07:39 | |
| But parrot moves so fast, even the deprecation policy can't keep stuff from breking all over. | 07:40 | ||
| diakopter | bitblur | 07:46 | |
| darbelo | bitdecay? | ||
| cotto | bitmold | 07:47 | |
| (because finding a new word for bitrot is easier than actually fixing it) | |||
| darbelo | bitlichen! | 07:48 | |
| cotto | night | 07:50 | |
| darbelo | That doesnt start with bit... | 07:51 | |
| cotto kicks ... purl | 07:55 | ||
| with a botsnack | |||
| purl | thanks cotto :) | ||
|
08:00
fperrad joined
08:01
uniejo joined
08:04
barney joined
08:24
TiMBuS joined
08:40
zak_ joined
|
|||
| 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:57 | |
| 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. | 08:58 | ||
| 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:00 | ||
|
09:02
bacek joined
|
|||
| japhb | pmichaud, so far, foo(["a", "b"]) bug indeed looks fixed. Thank you! | 09:08 | |
| bacek | o hai | 09:19 | |
| mikehh | bacek: chromatic said you had fixed include/parrot/context.h for --optimize - we need it in trunk | 09:32 | |
|
09:44
bacek joined
|
|||
| bacek | mikehh, it's merged. | 09:53 | |
| ttbot | Parrot trunk/ r42440 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/140129.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 09:55 | |
| bacek | mikehh, r42440 - it requires some svn stuff fixed | 09:56 | |
| Anyone on win32 here? lib/Parrot/Pmc2c/UtilFunctions.pm line 286 requires some love | 09:59 | ||
|
10:04
mokurai1 joined
|
|||
| bacek | dalek turned to zombie? | 10:20 | |
| szbalint | braaaanes | ||
| bacek | ENOBRAINZ | 10:22 | |
| ttbot | Parrot trunk/ r42441 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/140189.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 10:23 | |
| bacek | mj41++ # Yay! ttbot is colourful! | ||
| ttbot | Parrot trunk/ r42442 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/140204.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 10:24 | |
| Parrot trunk/ r42443 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/140249.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 10:32 | ||
|
10:41
mokurai1 left
10:53
payload joined,
dalek joined
10:55
davidfetter joined
|
|||
| Infinoid | how long has dalek been out to lunch? | 10:55 | |
|
10:57
dalek joined
10:58
dalek joined
|
|||
| Infinoid | dalek's startup log is looking happier now. it needed XML::Atom::Client and XML::RAI, which had gone missing from feather | 11:00 | |
| bacek | Infinoid++ # Master of pupp^W robots! | 11:01 | |
| dalek | rrot: r42444 | bacek++ | trunk (2 files): Always generate Context accessor functions with _func suffix. Map old optimized build. Suggested by chromatic++. |
11:05 | |
|
11:06
payload joined
|
|||
| ttbot | Parrot trunk/ r42444 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/140324.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 11:10 | |
| bacek | barney, we won back almost all speed penalty from PCC refactor. | 11:15 | |
|
11:16
payload joined
|
|||
| moritz | but wasn't it supposed to speed things up? | 11:17 | |
| bacek | moritz, may be... | 11:19 | |
| 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. | ||
| moritz | I'm talking about expectations, not observations | 11:21 | |
| bacek | (on fib.pir, which is very simple test) | ||
| I have no idea about "expectations". | 11:22 | ||
| allison | moritz: the expectation is that it will speed it up, after we remove the backward-compatibility features in 2.1 | 11:26 | |
| moritz | allison: ok, thanks for the info | 11:29 | |
| bacek | allison, how backward-compatible features slowing down current PCC? | 11:34 | |
| barney | bacek: tnx, I've updated NEWS | 11:50 | |
|
11:52
KatrinaTheLamia joined
12:10
bluescreen joined
|
|||
| dalek | rrot: r42445 | mikehh++ | trunk/MANIFEST: regenerate manifest |
12:20 | |
| rrot: r42446 | mikehh++ | trunk/include/pmc/dummy: set svn properties |
|||
| ttbot | Parrot trunk/ r42445 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/140382.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 12:21 | |
| Parrot trunk/ r42446 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/140413.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 12:25 | ||
| mikehh | bacek: perlcritic don't like the TODO at line 25 of tools/dev/checkdepend.pl | 12:30 | |
| bacek | mikehh, yay. This line can be removed. | 12:31 | |
| dalek | rrot: r42447 | mikehh++ | trunk/tools/dev/checkdepend.pl: fix codetest failure - remove TODO |
12:36 | |
| fperrad | bacek, on Windows, I run : perl tools\\build\\pmc2c.pl --c src\\pmc\\context.pmc | 12:37 | |
| it try to create : src\\pmc\\context.c & src\\pmc\\include/pmc/pmc_context.h | |||
| that fails because the directory src/pmc/include/pmc doesn't exist, | |||
| and it's not the good path | |||
|
12:38
payload joined
|
|||
| ttbot | Parrot trunk/ r42447 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/140464.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 12:39 | |
| mikehh | bacek: looks good | 12:40 | |
| All tests PASS (pre/post-config, smoke (#26838) fulltest) at r42447 - Ubuntu 9.10 amd64 (g++ --optimize) | 12:42 | ||
|
12:43
bacek joined
|
|||
| 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 | |
| fperrad, on linux it creates include/pmc/pmc_foo.h properly | |||
| 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 | |
|
12:45
joeri joined
|
|||
| bacek | mikehh, can you nopaste output? | 12:46 | |
|
12:46
bluescreen joined
|
|||
| mikehh | bacek: got to go out for a bit - will look at it again when I get back - bbiab | 12:47 | |
|
12:48
payload joined
|
|||
| fperrad | bacek, on Windows, the perlfunc open works well with /, so don't use File::Spec in this case | 12:48 | |
| File::Spec is useful only for command, because shell needs \\ | |||
| my $exe = catfile('some', 'where', 'perl.exe'); | |||
| system($exe); | |||
|
12:49
kid51 joined
|
|||
| bacek | fperrad, than why it put redundant "src/pmc" in front of generated filename? | 12:49 | |
| mikehh | bacek: see TT #1176 and my comment there - got to go now - bbl | 12:50 | |
| bacek | mikehh, ah, ok. At least this one isn't MY failure :) | 12:51 | |
|
12:53
xenoterracide joined
|
|||
| bacek | fperrad, looks like nmake (?) change cwd during build... | 12:53 | |
| fperrad | bacek, I use only gmake | 12:54 | |
| bacek | fperrad, strange... I'm out of ideas why results are different on linux vs windows. | ||
| fperrad, can you replace 's{' with 's{^' and test it? | 12:56 | ||
| fperrad | bacek, UtilFunctions.pm line 287 ? | 12:57 | |
| bacek | fperrad, yes | ||
|
12:59
xenoterracide joined
|
|||
| bacek | Friday, 13th here already... | 13:00 | |
|
13:01
plobsing joined
|
|||
| fperrad | bacek, new failure | 13:05 | |
| $ perl tools\\build\\pmc2c.pl --dump src\\pmc\\context.pmc | |||
| No pmclass found | |||
| bacek | yak... | ||
|
13:06
xenoterracide joined
13:08
whoppix joined
|
|||
| bacek | fperrad, erm... I didn't touch context.pmc (apart from changing #include line)... | 13:08 | |
|
13:09
whiteknight joined
|
|||
| fperrad | bacek, I run 'make realclean', all needs to be rebuidl | 13:10 | |
| 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:13 | |
| whiteknight | chromatic, allison: ping | 13:16 | |
|
13:39
xenoterracide joined
13:41
xenoterracide joined
|
|||
| whiteknight | is there anybody around who knows about CLAs? | 13:45 | |
|
13:50
payload joined
|
|||
| pmichaud | whiteknight: I might know | 13:50 | |
| whiteknight | pmichaud: I tried to fax my new CLA in this morning and the fax number provided didn't work | 13:51 | |
| pmichaud | checking | ||
| whiteknight | there's a non-zero chance that I just used the damn fax machine wrong, but my process seemed reasonable | ||
| pmichaud | the fax number in the CLA doesn't seem to match the fax service that the directors have been using | 13:53 | |
| oh, wait | 13:54 | ||
| I'm reading the message wrong | |||
| still searching. | |||
| purl | hmmm... searching is what I care about here. | ||
| 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"? | ||
| 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" | ||
| pmichaud | hmmm | 13:57 | |
| whiteknight | at least, I think that is what it said, I was listening to it through the fax machine speaker | ||
| pmichaud | can I verify the fax number you were sending to? | 13:58 | |
| whiteknight | The one I got off the CLA itself was: +1-206-299-3492 | 13:59 | |
| pmichaud | yeah | ||
| okay, let me see what I get from here | |||
| whiteknight | I may be able to track down a scanner and send it via email | ||
| pmichaud | when I call that number directly I definitely get a fax machine. | 14:00 | |
| maybe a pbx in the way, or an over-eager fax machine dialer? | |||
| 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
|
|||
| particle | yes, incoming faxes hit the directors list | 14:26 | |
| they may need to be moderated by coke or allison, though | |||
| dalek | rrot: r42448 | fperrad++ | trunk/lib/Parrot/Pmc2c/UtilFunctions.pm: fix merge pmc_headers_move (r42440) on Windows |
14:37 | |
| mj41 | bacek ... colourful and now not so slow too ... tt.ro.vutbr.cz/buildstatus/pr-Parrot/rp-trunk | 14:47 | |
| dalek | p-rx: 3795f33 | pmichaud++ | README: README update. |
14:58 | |
|
15:19
Psyche^ joined
|
|||
| NotFound | japhb: you don't need to depend on winxed being installed to use it in package, just ship the generated pir. | 15:29 | |
| japhb | NotFound, ah, so Winxed is like NQP and has zero runtime library footprint? | 15:47 | |
|
15:48
mikehh joined
|
|||
| NotFound | japhb: yeah | 15:48 | |
| 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:49 | |
| 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:50 | ||
| 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:51 | |
| japhb | NotFound, oh sure. setup.pir already works. I was just saying I don't mind supporting the winxed source directly. | 15:52 | |
| :-) | |||
| BTW, how is that pronounced? x => ks or x => k ? | |||
| NotFound | The project maintainer just needs to update a generated pir in the place of the repository where plunage looks for it. | ||
| japhb: ks, I think | 15:54 | ||
| japhb | okie-dokie | ||
| dalek | TT #1266 created by doughera++: void function cannot return a value | 15:55 | |
| kudo: d04cce9 | (Solomon Foster)++ | build/PARROT_REVISION: Bump PARROT_REVISION to 42431. |
15:59 | ||
|
16:00
whiteknight joined
16:05
jsut|work joined
16:06
iblechbot joined
|
|||
| whiteknight | internet connection is teh suxxor | 16:08 | |
| 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 | |
| the same is true for nqp, fwiw :) | |||
| NotFound | pmichaud: we became competitors ;) | ||
| But I think our target audiences have very differente tastes for syntax. | 16:15 | ||
|
16:15
theory joined
|
|||
| pmichaud | indeed, they do :) | 16:16 | |
| particle | := vs = | ||
| pmichaud | well, according to Damian Conway, the use of ":=" in a language generally dooms it | ||
| so NQP has a big hurdle there :) | |||
| NotFound | No problem, I introduced := :D | ||
| particle | it's Not Quite Doomed yet | ||
| NotFound | I mean, =: | 16:17 | |
| pmichaud | I've thought a few times about making '=' be an alias for ':=' in NQP | 16:19 | |
| but semantically I think that's very suspect | |||
| whiteknight | but then when parrot starts doing assignment correctly, we break a lot of old NQP code | ||
| pmichaud | right | ||
| so I think I'd rather live with the annoying syntax a bit more than the future incorrect semantics | 16:20 | ||
|
16:20
darbelo joined
|
|||
| pmichaud | (actually, present incorrect semantics, if people expect '=' to be assignment) | 16:20 | |
| NotFound | pmichaud: People don't expect, just copy&paste from other people's code. | 16:21 | |
| whiteknight | Yeah, I don't think anybody has ever written a piece of new NQP code | 16:23 | |
| 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. | ||
| darbelo | dukeleto too. | ||
| NotFound | Please don't let reality interfere with my jokes. | ||
| whiteknight | for realz | 16:25 | |
| 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:56 | |
| dalek | p-rx: 660234b | pmichaud++ | src/stage0/ (3 files): Update bootstrapping. |
16:57 | |
| mikehh | it passes up to ok 29 then fails | 16:58 | |
| NotFound | mikehh: In annotate? Amazing! | 17:04 | |
| 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:05 | |
| it passes however with gcc with --optimize and g++ with or withouit --optimize | 17:06 | ||
| that's on Ubuntu 9.10 amd64 at r42448 | 17:07 | ||
| dalek | nxed: r170 | julian.notfound++ | trunk/examples/parser.winxed: add a few temporary things in the parser example to be able to self compile and |
||
| 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. | ||
| mikehh: doesn't fail in debian 5.0 amd64 | 17:09 | ||
| mikehh | with or without --optimize, gcc or g++? | 17:10 | |
| NotFound | gcc without --optimize | 17:11 | |
| gcc 4.3.2 | |||
| I'll try now with Ubuntu 9.10 i386 | 17:13 | ||
| 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:14 | |
|
17:18
fperrad joined
|
|||
| darbelo | Agh, the parallel build is broken again. | 17:18 | |
| NotFound | mikehh: passes in Ubuntu 9.10 i386, gcc 4.4.1 without --optimize | 17:20 | |
| Looks highly specific. | |||
|
17:25
workbench joined
17:27
dngor_ joined
|
|||
| 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:32 | |
| NotFound | mikehh: backtrace? | 17:33 | |
| purl | i heard backtrace was not sufficient? | ||
| mikehh | but passes the other 3 options (gcc wityh --optimize, and g++ with or without --optimize) | 17:34 | |
| I'll see if I can get it | |||
| dalek | rrot: r42449 | barney++ | trunk/NEWS: Added today's NEWS and rephrased some stuff. |
||
|
17:41
cognominal joined
|
|||
| mikehh | ok - how do you get a backtrace? | 17:41 | |
| dalek | a: 79b1f0b | fperrad++ | (2 files): fix metamethod __call |
17:43 | |
|
17:43
Andy_ joined
17:55
payload joined
|
|||
| 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:08 | |
| NotFound | Maybe a Heisenbug, maybe a problem with that gcc version. | 18:09 | |
| pmichaud | ...is there a way to get copyright.t to skip certain files? | 18:15 | |
| or, even better, the ext/nqp-rx directory altogether? ;-) | |||
| dalek | rrot: r42450 | darbelo++ | trunk/config/gen/makefiles/root.in: Add header dependencies to two IMCC files. Fixes parallel builds with BSD make. |
18:17 | |
| pmichaud decides to take a slightly different approach for now. | |||
| 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? | ||
| pmichaud | yes. | ||
| particle | ah, no, codingstd | 18:19 | |
| how will those files appear in manifest? marked external somehow? | 18:20 | ||
| pmichaud | well, they're in the ext/ subdir | ||
| I don't know what else to do with them | |||
| particle | i believe the correct fix should be in Parrot::Distribution | ||
| pmichaud | looks like you're correct. | 18:21 | |
| 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 | ||
| i think we should ignore coding standards checks on all external files | 18:23 | ||
| not just pir files in ext/ | |||
| however, for now, working trumps good | |||
| darbelo | Ideally, we should put all external files in ext/ and just ignore that dir. | ||
| particle | and a tt can inspire a cage cleaner | 18:24 | |
| dalek | nxed: r171 | julian.notfound++ | trunk/winxed.cpp: fix '||' operator |
18:25 | |
| pmichaud | in the meantime, okay if I don't include the nqp sources in ext yet? just the generated PIR? | 18:28 | |
| maybe leave the nqp sources for a cage cleaner as well...? | |||
| dalek | nxed: r172 | julian.notfound++ | trunk/examples/parser.winxed: example parser: parse int literals, check print arguments, some cleaning |
18:30 | |
| mikehh | and if I run with the parrot_debugger it don't segfault either :-{ | 18:31 | |
| NotFound | mikehh: so it looks runcore specific, but fails with all cores minus trace and debug %-) | 18:34 | |
| dalek | rrot-plumage: 4d158e8 | darbelo++ | : The decnum-dynpmcs Configure stage calls out to a perl script, reflect t... |
||
| mikehh | ./parrot t/op/annotate.t - segmantation fault after ok 29, no segfault with ./parrot -t or ./parrot_debugger | ||
| and that is only with gcc ver 4.4.1 on amd64 without --optimize | 18:35 | ||
| NotFound | mikehh: for the backtrace: ulimit -c unlimited ; run-the-test ; gdb ./parrot core ba | 18:36 | |
| ba --> in gdb prompt | |||
| dukeleto | 'ello | 18:37 | |
|
18:41
payload joined
18:42
cognominal joined
|
|||
| nopaste | "mikehh" at 81.149.189.7 pasted "backtrace from t/op/annotate.t following instructions from NotFound++" (19 lines) at nopaste.snit.ch/18654 | 18:44 | |
| mikehh | I don't know if you can make any sense of that | 18:45 | |
| dukeleto | mikehh: it looks like a NCI call is causing a segfault | 18:47 | |
| NotFound | Not sure, but looks like is getting something wrong as exception object in handler, and die when calling his 'backtrace' method. | 18:54 | |
| particle | pmichaud: that's okay with me... you know what you're doing | 18:55 | |
| 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++ | ||
| dukeleto | is nqp-rx going into parrot core sometime soon? | 19:01 | |
| pmichaud | dukeleto: working on that right now. | ||
| dukeleto | while(1){ pmichaud++ } | ||
| particle | are you *trying* to crash purl? | ||
| pmichaud | (crash purl)++ | 19:02 | |
| NotFound | mikehh: I don't see anything that may depend on optimizations or compiler. | ||
| darbelo | purl: crash! | ||
| purl | CRASH AND BURN!!! | ||
| NotFound | purl: hcf | ||
| purl | i think hcf is halt and catch fire or (: foldoc hcf) or en.wikipedia.org/wiki/Halt_and_Catch_Fire or an experimental parrot opcode | ||
| particle | is bxand around anymore? | 19:03 | |
| that was a fun one to write | |||
| darbelo | purl: seen bxand? | 19:04 | |
| purl | I haven't seen 'bxand', darbelo | ||
| particle | A and B but not both. | ||
| cotto_work | foldoc hcf | ||
| darbelo | particle: That's 0. | 19:05 | |
| particle gives darbelo a cookie | |||
| i wrote it as an april fool's opcode some years ago | |||
|
19:06
payload1 joined
|
|||
| darbelo is enlightened. | 19:06 | ||
| particle | darbelo: have you ssh access to osuosl? | 19:13 | |
| darbelo | osuosl? | ||
| particle | have you done a parrot release? | 19:14 | |
| ssh -l <user_name> ftp-osl.osuosl.org | |||
| dalek | p-rx: 7b4f3e7 | pmichaud++ | src/stage0/ (4 files): More bootstrap file regeneration. |
||
| p-rx: 0b3c754 | pmichaud++ | (27 files): Remove trailing spaces from a lot of files, to make Parrot happier. |
|||
| darbelo | Nopes. | ||
| particle | if you have an ssh pubkey installed there, you should be able to login. | ||
| ok, thanks. | |||
| (trailing spaces)-- | 19:15 | ||
|
19:18
darbelo joined
|
|||
| dalek | rrot: r42451 | pmichaud++ | trunk (71 files): [nqp-rx]: First part of adding nqp-rx to Parrot repo. and fakecutable generation (coming next). |
19:23 | |
| rrot: r42452 | pmichaud++ | trunk/ext/nqp-rx (62 files): [nqp-rx]: svn property fixes for nqp-rx files. |
19:27 | ||
| nxed: r173 | julian.notfound++ | trunk/examples/parser.winxed: nice backtrace in example parser |
19:29 | ||
| NotFound | whiteknight: ping | ||
| darbelo | Infinoid: ping | 19:30 | |
| dalek | rrot: r42453 | fperrad++ | trunk (3 files): [pirc] fix build after merge pmc_headers_move |
19:33 | |
| whiteknight | NotFound: ping | 19:38 | |
| er, pong | |||
| 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 | ||
| Matrixy has a top-level exception handler that catches everything and outputs a standard error | 19:40 | ||
| and I want to include a backtrace for where that error came from | |||
| NotFound | This must be easy to translate to pir. | ||
| Or just copy and adapt from the generated code. | 19:41 | ||
| whiteknight | I am dismayed that there is not an easy way to do this from PIR | 19:42 | |
| like an opcode or a method or something to handle it | |||
|
19:42
mokurai joined
|
|||
| whiteknight | I think we should have a "backtrace_string"() method on Exception | 19:44 | |
|
19:44
mikehh joined
|
|||
| NotFound | whiteknight: that may need a way to tell how to format the namespace-class-sub thing. | 19:45 | |
| whiteknight | right | 19:47 | |
| I'm thinking we may want a "Backtrace" PMC type that contains the information we want and stringifies nicely | 19:48 | ||
| 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 | ||
| pmichaud: what should be? | |||
| pmichaud | i.e., any Context should be able to give you its backtrace | ||
| whiteknight | pmichaud: yes, that's a decent idea. I think Exception should have a method for it as well | 19:50 | |
| if nothing else than a wrapper over the Context version | |||
| NotFound | pmichaud: the backtrace method in exception just get it from the context | ||
| pmichaud | well, an Exception can just delegate to the context that generated it | ||
| whiteknight | exactly. But I should still be able to do e.'get_backtrace_string'() | ||
| pmichaud | NotFound: right, I think that's what I said :) | ||
| 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 | ||
| Matrixy really wants a stringified backtrace from an exception | |||
| pmichaud | HLL::Compiler will be providing a stringified backtrace for all of the compiler objects | ||
| 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 | ||
| pmichaud | not supplying it yet -- still on my every-growing-todo list | ||
| whiteknight | Just point me to the place where I can tap into it | ||
| pmichaud | *ever | ||
| whiteknight | ok | ||
| pmichaud | Rakudo has one, though | ||
| I suspect it's a bit messier than we'd like | |||
| whiteknight | there is a "backtrace" opcode. | 19:53 | |
| pmichaud | hmmm, I wonder if that's old or new backtraces | ||
| whiteknight | I think a backtrace_p opcode that takes a Context or Exception and prints the backtrace would be nice | ||
| no idea | |||
| src/ops/debug.ops:backtrace | |||
|
19:53
sothil joined
|
|||
| whiteknight | Anyway, I really just need a way to find out where an exception was thrown from | 19:53 | |
| dalek | rrot: r42454 | fperrad++ | trunk/tools/dev/fetch_languages.pl: [languages] add Kea (from ļæ½github.com/leto/kea) |
19:54 | |
| NotFound | I think there are two or even more backtrace printing functions... all wrong. | ||
| whiteknight | great | ||
| I love to hear that | |||
| something that should be so fundamental is so hard and confusing | |||
| pmichaud | we couldn't even do backtraces until jonathan++ added them earlier this year :-| | 19:55 | |
| well, not controlled ones, at any rate | |||
| it was part of the annotations code | |||
| 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. | ||
| pmichaud | NotFound: agreed fully. That's a recent change. | ||
| 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. | ||
| NotFound | Fortunately, annotations are right. | ||
| moritz | sothil: you can still blog about Perl 6, write mailing lists summaries and so on | ||
| sothil | i.e. something to do that does not involve writing code or other copyrightable stuff | ||
| whiteknight | sothil: blogging, writing summaries, test reports, these are all very valuable | 19:57 | |
| NotFound | sothil: sending us barrels of beer, for example? | ||
| 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 | ||
| I don't know about any of the perl6 lists | |||
| 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 | ||
| moritz | purl: no, perl6-language is <reply> | ||
| purl | okay, moritz. | ||
| dukeleto | sothil: blog posts are always helpful | ||
| sothil: you could summarize parrot commits | |||
| sothil: or HLL development | |||
| sothil: or parrot libraries being written | 20:01 | ||
| NotFound | Or bad jokes on #parrot | ||
| dukeleto | sothil: we could really use some of that | ||
| whiteknight | ah yes, bad jokes are important | ||
| moritz | see also the ParrotQuotes wiki page :-) | ||
| sothil is not a blogger, yet. but maybe that's a good reason to become one :) | |||
| 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, | ||
| dukeleto | sothil: you could just write email summaries if you want | ||
| dalek | p-rx: 1bc1af6 | pmichaud++ | src/stage0/ (4 files): Update bootstrap files with pod-valid forms. |
||
| p-rx: 1a8e0dc | pmichaud++ | src/ (4 files): Clean up pod comments in source files. |
|||
| NotFound | Is a blog for non bloggers :) | ||
| dukeleto | sothil: but putting things on planet.parrotcode.org/ gives us more public-facing interaction | 20:03 | |
|
20:04
payload joined
|
|||
| 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 | ||
| pmichaud | svn status shows me a bunch of files from 'include/pmc' ... shouldn't those be svn:ignore somehow? | 20:06 | |
| cotto_work | yes | 20:09 | |
| dalek | rrot: r42455 | pmichaud++ | trunk (6 files): [nqp-rx]: Add files into manifest, adjust codetests to exclude them. in two of the files but podchecker reports them as 'ok'. |
||
| darbelo | pmichaud: that's from bacek's branch. He uses git-svn so he ussually misses prop changes. | 20:10 | |
|
20:12
joeri left
|
|||
| pmichaud | I think I'm going to leave it for someone else to fix. | 20:14 | |
|
20:14
mikehh joined
|
|||
| pmichaud | oh, you meant the include/pmc files. | 20:14 | |
| I can fix that. | |||
|
20:15
bacek joined
|
|||
| dalek | rrot: r42456 | pmichaud++ | trunk/include/pmc: Set svn:ignore property on include/pmc subdirectory. |
20:19 | |
| rrot: r42457 | pmichaud++ | trunk/ext/nqp-rx: [nqp-rx]: Set svn:ignore property for nqp-rx files. |
|||
| 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:20 | |
| darbelo | cotto_work: The PMC does't have the custom destroy flag set. that VTABLE is never called. | 20:21 | |
| cotto_work | *headdesk* | 20:22 | |
| whiteknight | that stupid flag | 20:23 | |
| NotFound | If that destroy gets called, surely will do domething nasty. | ||
| darbelo | But it would probably do the wrong thing if it was. auto_attrs PMCs shouldn't play with their own attrs. | ||
| Killing now. | 20:24 | ||
| cotto_work | darbelo, do it WITH FIRE | ||
| NotFound | Or cannons. | ||
| darbelo | CANNONS THAT SHOOT FIRE! | ||
| whiteknight | Pmc2c should generate code to set that flag automatically if a custom destroy VTABLE is provided | ||
| the fact that it doesn't is obnoxious | |||
| cotto_work | whiteknight, that sounds familiar. ;) | ||
| whiteknight | that, and custom mark vtable | 20:25 | |
| dukeleto yells FIRE in a crowded irc theater | |||
| darbelo | whiteknight: That would break code all over. Add it to DEPRECATED.pod | ||
| cotto_work | +a lot | ||
| whiteknight | break code all over? I doubt it | ||
| PMCs with custom destroy vtables already manually set the flag | |||
| NotFound | whiteknight: you'll be surprised. | ||
| dalek | rrot: r42458 | pmichaud++ | trunk/MANIFEST.generated: [nqp-rx]: Make sure regex and compiler libraries get installed. |
20:26 | |
| whiteknight | NotFound: then anything else is a bug | ||
| darbelo | It would break decnum-pmcs and packfiledirectory, at least. | ||
| whiteknight | darbelo: why would it break those? | ||
| 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. | ||
| 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 | ||
| 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. | ||
| darbelo | If you set the flag automatically, you get a segfault during interpreter destruction. | ||
| whiteknight | darbelo: so if we fixed the order-of-destruction bug, you'd support the change to Pmc2c? | ||
| darbelo | And the uncalled VTBALE i'm removing from packfiledirectory would prbably break stuff too. | ||
| NotFound | Yes, interpreter destruction needs some love. | ||
| 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 ;) | ||
| NotFound | And BTW exit need fixing. Or make it follow the docs, or change the docs. | ||
| whiteknight | darbelo: what fix? the order-of-destruction one? | 20:30 | |
| I could probably put together a workaround tonight | |||
| NotFound | Fixing exit is required in order to know how to fix the related problems. | ||
| 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 | ||
| darbelo | You don't see the DarkPAN, but the DarkPAN sees you. | 20:33 | |
| 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 | ||
| cotto_work | bacek, good morning | 20:35 | |
| bacek | morning cotto_work | ||
| 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:36 | |
| 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:38 | |
| 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:39 | |
| 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:40 | ||
| 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 | ||
| instead of everything going onto the list, and us having to fight to have bad things taken off it | |||
| bacek | whiteknight, +1! | ||
| darbelo | +Inf | 20:42 | |
| cotto_work ponders 3*Inf | |||
| 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" | ||
| and then anything that isn't tested is expendable (because it probably doesn't work anyway) | |||
| darbelo | +Inf^Inf | 20:43 | |
|
20:44
payload joined
|
|||
| bacek | whiteknight, disagree. We have tests for some stupid things. Like OrderedHash bad semantics... | 20:44 | |
| 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 | ||
| 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 | ||
| but, if I discovered the secret to time travel, I might go back and make a few suggestions | |||
|
20:47
magnachef joined
|
|||
| bacek | Anyone with real svn checkout here? pmc_headers_move branch can be removed. | 20:48 | |
|
20:48
payload joined
|
|||
| whiteknight | bacek: I'm on it | 20:48 | |
| bacek | Yay! nqp-rx! | ||
|
20:48
bluescreen joined
|
|||
| dalek | rrot: r42459 | whiteknight++ | branches/pmc_headers_move: removing unneeded branch. bacek++ |
20:49 | |
| whiteknight | done | ||
| dukeleto | whiteknight: i like your idea of an opt-in deprecation policy | ||
| bacek | whiteknight, thanks! | ||
| 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. | ||
| 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 | ||
| i argue we should be marking our subsystems with stability levels | |||
| and the deprecation policy is designed around those levels | |||
| 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? ;) | ||
| whiteknight | because we still have a few systems that are complete and utter garbage | ||
| and a few that are reliable (if performance-stupid) | |||
| particle | *cough* imcc *cough* | 20:52 | |
| whiteknight | exactly | ||
| GC, NCI, dynext, most pmcs, freeze/thaw, etc | 20:53 | ||
| NotFound | stableandreliablethings = new 'ResizablePMCArray' | assign stableandreliablethings, 0 | ||
| 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 | ||
| NotFound | I like the idea, but doubt about the implementation. | ||
| cotto_work | That stability proposal would also be a great way to gauge the overall maturity of Parrot. | ||
| 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 | ||
| 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 | ||
| NotFound | whiteknight: I don't think so. We can annotate function start, we can put comments before params... | ||
| whiteknight | and admitting that is the first step on the road to asolution | ||
| NotFound | can't | ||
| 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 | ||
| particle: should that be added to that doc? | |||
| particle | that can be changed, or 'experimental' can be changed | ||
| the doc, as written, had been accepted by the project team | |||
| but, it's not been adopted as practice | |||
| so, i'm open for modifications | |||
| 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" | ||
| particle | perhaps propose something to the list? | ||
| dukeleto | particle: i think all we need to do is use 'unstable' instead of 'experimental' and the document is fine | ||
| particle | yes, that's basically it | ||
| cotto_work: check svn log for a timeframe | |||
| dukeleto | NotFound: a lot of stuff is marked experimental, like dynamic opcodes. we want them, but they are still experimental | ||
| darbelo adds the current deprecation policy to DEPRECATED.pod | |||
| whiteknight | oh right, the concurrency system is on the garbage pile too | 20:58 | |
| darbelo | Holy shit! We have concurrency? | ||
| dukeleto | NotFound: RTEMS support is experimental as well. doesn't mean we (parrot core devs) don't want it | ||
| cotto_work | heh. not much discussion here: rt.perl.org/rt3/Ticket/Display.html?id=41317 | ||
| NotFound | dukeleto: Is RTEMS suport in some doc? | ||
| dukeleto | NotFound: other than a recent email to parrot-dev? no. | 20:59 | |
| NotFound: where should it go? | |||
| NotFound | dukeleto: then is not 'experimental' in that sense. | ||
| dukeleto | NotFound: i asked a few days ago and no one answered | ||
| darbelo | dukeleto: Actually we don't "suppport" RTEMS. Like we don't support other OSes we run on. | ||
| dukeleto | NotFound: it is 'experimental' in the spirit of what we mean by 'experimental' | ||
| whiteknight | Win32, Linux, and OSX are all listed as "supported platforms" | ||
| dukeleto | darbelo: thanks. I know. RTEMS is 'experimental', i.e. not officially supported. | 21:00 | |
| whiteknight | we do target parrot for those places | ||
| dukeleto | I thought solaris was supported as well? | ||
| NotFound | dukeleto: I think we were talking about things that are in DEPRECATED.pod marked as such. | ||
| dukeleto | NotFound: well, just because I haven't added it there doesn't mean I won't ;) | ||
| 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. | ||
| whiteknight | do we have a definitive list of platforms we intend to support? | ||
| dalek | rrot: r42460 | bacek++ | trunk/src/call/context.c: Applying patch by doughera++ to avoid return void inapropriately. Closing TT#1266. |
21:02 | |
| TT #1266 closed by bacek++: void function cannot return a value | |||
| particle | NotFound: i'll be there in a few months | ||
| well, close anyway, i'm headed to tierra del fuego | |||
| NotFound | particle: mmmm... that may need a deprecation notice ;) | 21:03 | |
| darbelo | particle: Let me know if you fly over Buenos Aires, I'll wave from the ground. | 21:04 | |
| particle | darbelo: i'll be there for three days | 21:05 | |
| NotFound | Flying to Tierra del fuego? Earth, Wind and Fire complete. | 21:06 | |
|
21:06
mikehh joined
|
|||
| particle | jan 13-16 i'll be in BA | 21:07 | |
| darbelo | NotFound: Ushuaia is a port city, you can add Water to the list. | 21:11 | |
| particle | yes, we'll take a boat from ushuaia to an island full of penguins hatching chicks | 21:12 | |
|
21:12
payload joined
|
|||
| pmichaud | r42461 -- Parrot now has nqp-rx. | 21:13 | |
| darbelo | pmichaud++ | ||
|
21:13
fperrad joined
|
|||
| bacek | pmichaud++ | 21:13 | |
| japhb | pmichaud++ #W00t! | ||
| pmichaud, how closely are you going to keep the parrot copy up to date with the master repo? | |||
| pmichaud | japhb: fairly closely for a while | 21:14 | |
| japhb | excellent | ||
| pmichaud | if rakudo needs a nqp feature, then of course it'll go into parrot right away. | ||
|
21:15
payload joined
|
|||
| 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 | ||
| pmichaud | Only the src/stage0/*.pir files need updating for now. | ||
| 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. | |||
| dalek | rrot: r42461 | pmichaud++ | trunk (3 files): [nqp-rx]: Change "make" and "make install" to build parrot-nqp (new) |
||
| dukeleto | particle: are you going to Joshiua? isn't that the closest town to Tierra del Fuego? | ||
| japhb | Wait, we went back to calling it 'parrot-nqp' again? | 21:16 | |
| dukeleto | ushuaia, that is it | ||
| pmichaud | japhb: yes, I made a command decision (more) | ||
| I think that parrot commands should use hyphens instead of underscores, like most unix tools do. | |||
| I also think that we should leave open the possibility to distinguish "parrot-nqp" and "nqp" (more) | |||
| "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? | ||
| pmichaud | "nqp" might be the newer version you install yourself. | ||
| dukeleto | pmichaud: ah, good | ||
| japhb | oh, interesting | ||
|
21:17
payload joined
|
|||
| pmichaud | so NQP's build tools still create "nqp" as the executable. | 21:17 | |
| NotFound | You can call it "nqnqp" | ||
| pmichaud | NotFound: +1 # heh | 21:18 | |
| parrot's build environment creates parrot-nqp as the executable. | |||
| 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. | |||
| 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
|
|||
| Austin | mmm...segmentation faults.. | 21:21 | |
|
21:22
mikehh joined
|
|||
| ttbot | Parrot trunk/ r42461 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/141178.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 21:22 | |
| darbelo | Austin: help yourself, we have plenty for everyone. | ||
| Infinoid | darbelo: pong | ||
| Austin | Darbelo: Thanks, but I've got enough right here... | ||
| darbelo | Infinoid: I pinged you? | ||
| pmichaud | moritz: I was working on that now, but you're welcome to do it :) | ||
| Infinoid | I think so | ||
| pmichaud | I have to leave in 5 mins anyway to pick up other kid | 21:23 | |
| darbelo | Wait, oh yeah. I did. | ||
| Infinoid | darbelo: 2 hours ago :) | ||
| Infinoid <-- slow | |||
| moritz | pmichaud: simply changing one line Makefile.in and bumping PARROT_REVISION work for me - did I miss anything more intricate? | ||
| pmichaud | that's all it should take :) | ||
| 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 :) | ||
| just because I have a lot of things lying about at the moment. | |||
| moritz | pushed | ||
| darbelo | Infinoid: Did you see the merge request for dalek-plugins? | ||
| moritz | pmichaud: then I was in pole position ;-) | ||
| 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. | ||
| pmichaud | Infinoid: we'd like to have dalek report commits to the "ng" branch of Rakudo | 21:26 | |
| moritz tried hard to stay sane ;-) | |||
| pmichaud | (as well as master) | ||
| Austin | Hmm. Are attributes buggy in 1.7? | 21:29 | |
| pmichaud | nafaik | ||
| Austin | Bummer. | ||
| pmichaud | probably depends on the kind of buggy you're looking for :) | 21:30 | |
| Austin | segmentation fault, core dumped. | ||
| pmichaud | afk, more pickups | ||
| Austin | (In the gc, because it's always in the gc.) | ||
| Aha. My segfault was caused by not having a debugging "say" inserted just before the test. | 21:41 | ||
| Now that the "say" is inserted, the segfault is gone. Problem solved! | |||
| Austin++ | |||
|
21:42
bacek joined
|
|||
| darbelo | Austin: Can you create a, shot-ish, pure pir example of that segfault? | 21:42 | |
| Austin | Darbelo: No. | ||
| darbelo | Aww. | ||
| What are you using to cause it. | 21:43 | ||
| NQP, Close? | |||
| 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 | |
| It's in NQP. | |||
| 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:45 | ||
| darbelo | Can you give steps to reproduce? | 21:46 | |
| dalek | rrot-plumage: f50ea0e | japhb++ | : [PROBES] nqp -> parrot-nqp |
||
| rrot-plumage: 2588cfa | japhb++ | : [TESTS] nqp -> parrot-nqp |
|||
| rrot-plumage: cb4539d | japhb++ | : [BUILD] nqp -> parrot-nqp |
|||
| rrot-plumage: 1bf2f37 | japhb++ | : [plumage] nqp -> parrot-nqp |
|||
| rrot-plumage: 7660dde | japhb++ | : [META] README: nqp -> parrot-nqp; remove related discussion |
|||
| Austin | Let me see. | 21:47 | |
| dalek | kapo: a62a1aa | austin++ | : Moved most of the opcode-like functions out of Parrot.nqp into Parrot/Op... |
21:49 | |
| kapo: 829b9f9 | austin++ | : Removed ManagedQueue.nqp, replaced it with DependencyQueue.nqp. |
|||
| kapo: f3e8e17 | austin++ | : Got Undef working, w/ test-undef make target. |
21:50 | ||
| kapo: 6e0389e | austin++ | : Got pmc tests working again. |
|||
| kapo: 3506ba2 | austin++ | : Updated a bunch of Matchers to get tests working for various PMC types. |
|||
| kapo: 023db11 | austin++ | : Checking in a bunch of non-working stuff to see if someone else can repr... |
|||
| 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:51 | |
| dalek | rrot: r42462 | darbelo++ | trunk/compilers (3 files): Add ARGIN() macros to parameters, ASSERT_ARGS() and headerize in IMCC's constant pmc creation code. |
21:52 | |
| darbelo | Austin: ok, and you are using the 1.7 release. Right? | 21:56 | |
| Austin | Laugh! | 21:57 | |
| cotto_work | hah? | ||
| purl | hah is reply | ||
| darbelo | hah? | ||
| purl | somebody said hah was reply | ||
| Austin | I just did Tortoise SVN "check for updates" on the context (right-click) menu from $_parrot, and it told me about SVN updates. | ||
| japhb | that seems like something that does not belong on a right click menu .... | 21:58 | |
| Austin | I kind of agree. | ||
| darbelo | japhb: He's on windows. Nothig is where it belongs. | ||
| Austin | I'm at 41964 | 21:59 | |
| Which is I think is the revision either right before or right after the copy from trunk -> tag. | |||
| darbelo | Okay. | 22:00 | |
| ttbot | Parrot trunk/ r42462 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/141258.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 22:01 | |
| dalek | rrot: r42463 | darbelo++ | trunk/src/pmc/packfiledirectory.pmc: Remove an unneeded and unused destroy() VTABLE. |
22:02 | |
| darbelo | WTF? How did r42462 break the build? | 22:05 | |
| That commit goes nowhere near pbc_to_exe | 22:06 | ||
| cotto_work | the build from svn head looks fine to me, darbelo | 22:07 | |
| darbelo | cotto_work: Tell it to ttbot. He's the one squaking. | 22:08 | |
| Austin: I have a message from BSD make for you: | 22:09 | ||
| Using $< in a non-suffix rule context is a GNUmake idiom (line 218 of Makefile) | |||
| BSD make objects to GNU idioms, apparently. | |||
| Austin | Actually, that's not a gnu make idiom - I used to use it in Sun make all the time. | ||
| But I'll change it. | |||
| ttbot | Parrot trunk/ r42463 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/141296.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) | 22:10 | |
| Austin | And I've got a message for the BSD make developers, but I'll deliver it myself... | ||
| darbelo | Austin: They're not going to listen. Trust me. | ||
| Austin | :) | 22:11 | |
| Can you fix it, or do you need a patch? | |||
| darbelo | I can fix it. | ||
| nopaste | "Austin" at 98.235.55.43 pasted "makefile fix" (6 lines) at nopaste.snit.ch/18658 | ||
| darbelo | Oh, and BSD make also dislikes it when you put a tab before a #comment | ||
| Austin | <expletive deleted> | 22:12 | |
| japhb | darbelo, was that $< message you posted actually the verbatim error? 'Cause that's ... wow. | ||
| 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? | ||
| darbelo | Just the line about "Using $< in ..." | ||
| 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." | ||
| 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 | ||
| that is, the comment char must be at column 1 | |||
| Austin | Yeah, but this isn't a makefile comment. It's a recipe comment. | 22:16 | |
| darbelo | Austin: Nopes, I mean the makefile comment. | ||
| Austin | :) | ||
| darbelo | line 106 of the generated makefile. | 22:17 | |
| Austin | I think I know what you mean - some list items commented out. | ||
| darbelo | 108 and 109 too. | ||
| Austin: Yes, those. | |||
| 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.. | ||
| dalek | rrot: r42464 | jonathan++ | trunk/tools/dev/pbc_to_exe.pir: [pbc_to_exe] Fix generation of rc file when filename contains hyphens. |
||
| 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. | ||
| jonathan++ | |||
| particle | what's wrong with msvc? | ||
| oh, i thought you meant nmake. | 22:20 | ||
| NotFound | particle: the oprating system | ||
| 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"? | ||
| particle | find me another compiler that has strict C89 warnings and errors. | ||
| gcc sure doesn't | |||
| 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. | ||
| darbelo | particle: SUN cc | ||
| But what japhb said still applies. | |||
| particle | darbelo: right you are! that's a beast. | ||
|
22:21
KatrinaTheLamia joined
|
|||
| 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? | ||
| allison | cotto: we are gradually | 22:24 | |
| that is, the extend/embed API currently defines the functions subject to deprecation | |||
| and we will move to a PARROT_API marker | 22:25 | ||
| dalek | rrot: r42465 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] nqp-rx is now installed as parrot-nqp |
||
|
22:25
KatrinaTheLamia joined
|
|||
| 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:25 | |
| 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. | ||
| nopaste | "Austin" at 98.235.55.43 pasted "krt0.pir" (56 lines) at nopaste.snit.ch/18659 | 22:27 | |
| "darbelo" at 190.192.220.13 pasted "Austin make test-attributes on parrot HEAD" (18 lines) at nopaste.snit.ch/18660 | 22:29 | ||
| Austin | Okay, so I get the segfault and you don't. | ||
| Nyah nyah. I'm special-er. | 22:30 | ||
| darbelo | on HEAD, I'll try the rev you are on next. | ||
| Austin | :) | ||
| dalek | kapo: 161501f | austin++ | : Fixed up Makefile.in, moved krt0.pir to krt0_pir.tmpl. (Darbelo++) |
22:34 | |
|
22:35
Whiteknight joined
|
|||
| dalek | rrot-plumage: f854bec | japhb++ | : [CORE] as_array() -> []; other nqp-rx fixes |
22:36 | |
| Austin | Howdy, Whiteknight! | ||
| rrot-plumage: 07ea46f | japhb++ | : [CORE] Remove no longer useful as_array() function |
|||
| Whiteknight | hello Austin | 22:37 | |
| Austin | It's segfault day for me, apparently. | ||
| (Also sushi day, so I'm afk for a bit.) | 22:38 | ||
| dalek | rrot: r42466 | NotFound++ | trunk/config/gen/call_list/misc.in: [nci] add some signatures under petition from Vadim Konovalov for TclLibrary |
||
| p-rx: b7ce35e | duff++ | (4 files): [nqp] Added postfix conditional statement modifiers (if/unless) |
22:39 | ||
| nopaste | "darbelo" at 190.192.220.13 pasted "Austin: Missed a spot ;)" (18 lines) at nopaste.snit.ch/18661 | ||
|
22:39
payload joined
|
|||
| nopaste | "darbelo" at 190.192.220.13 pasted "Austin: You win!" (8 lines) at nopaste.snit.ch/18662 | 22:40 | |
| Austin | W00t! I win! | ||
| (What do I win?) | |||
| A new car? | 22:41 | ||
| darbelo | A segfault! | ||
| purl | it has been said that a segfault is xkcd.com/371/ | ||
| Austin | A million dollars? | ||
| purl | a million dollars is actually on the low side of funding | ||
| darbelo | A million segfaults! | ||
| Austin | A segfault? | ||
| purl | a segfault is xkcd.com/371/ | ||
| Austin | Hell, I already got one of those. | ||
| dalek | rrot: r42467 | fperrad++ | trunk/NEWS: [NEWS] Math/Random/mt19937ar.pir left the nest |
||
| cotto_work | This one's lemon-scented. | 22:42 | |
| darbelo | But it's fixed on HEAD, consider it a tax return on next release. ;) | ||
| Austin | So upgrading to HEAD will make it go away, eh? | ||
| Whiteknight | We tend to do sushi day on Mondays. The place down the streed has half priced sushi on mondays | ||
| Austin | WhiteKnight: yum! Half-priced sushi! | ||
| (There's a warning in there someplace, but we've got a place over here that does the same thing.) | |||
| Thanks, darbelo. | |||
| Darbelo++ | |||
| Whiteknight | and I'll be damned if I'm going to pay full price for something that's not even cooked | 22:43 | |
| Austin | :) | ||
| "That's not dinner. That's bait!" | |||
| (Terry Bradshaw) | |||
| treed | heh | ||
| Austin | Okay, I'm out. | ||
| treed | Whiteknight: You just highlighted me with your typo. :-P | ||
|
22:43
payload joined
22:46
kiwichris joined
|
|||
| 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
|
|||
| Whiteknight | treed: sorry! | 22:59 | |
| I'll be more careful with my typos :) | |||
| nopaste | "darbelo" at 190.192.220.13 pasted "Interesting 1.7 backtrace" (95 lines) at nopaste.snit.ch/18663 | 23:00 | |
| darbelo | Whiteknight: nopaste.snit.ch/18663 should prove interesting. Look at where it segfaults. | ||
| treed | Whiteknight: :-P | 23:01 | |
| Whiteknight | darbelo: that is a doozie | ||
| darbelo | It doesn't happen on HEAD, but I'm not convinced that means the bug is fixed. | ||
| I can't recall any changes to compact_pool or relatives since 1.7 | 23:02 | ||
| Whiteknight | darbelo: How to reproduce it? | 23:03 | |
| or, how did you make it? | 23:04 | ||
|
23:04
chromatic joined
|
|||
| darbelo | make install-dev a -r41964 parrot; then fetch Austin's kakapo and run "perl Configure.pl; make test-attributes" | 23:05 | |
| Whiteknight | is there any kind of standard explanation for what the various "provides ..." statements in PMC files are? | 23:08 | |
| GeJ | Good morning everyone. | ||
| cotto_work | hi GeJ | ||
| Whiteknight | does "provides array" require a specific interface? Can I provides new things that I just made up? | ||
| hello GeJ | |||
| cotto_work | knowing pmc2c, you can msu | 23:09 | |
| msu? | |||
| purl | msu is kicking tenn's butt! | ||
| darbelo | Whiteknight: That sounds not entirely unlike 'does' | ||
| cotto_work | no, msu is make something up | ||
| purl | okay, cotto_work. | ||
| Whiteknight | I think it is "does" | ||
| chromatic | They're aliases we never removed when we refactored the PMC generators for new-style PMCs. | 23:10 | |
| darbelo | Do they serve any particular purpose or are just sitting there, waiting for the axe that will remove them. | 23:11 | |
| nopaste | "cotto_work" at 131.107.0.74 pasted "nothing breaks with this patch" (13 lines) at nopaste.snit.ch/18664 | 23:12 | |
| chromatic | Let's axe one of them. | ||
| 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). | ||
| cotto_work | GeJ, pmichaud addressed that earlier. | 23:13 | |
| GeJ | heya cotto_work, Whiteknight, @all | ||
| Whiteknight | chromatic: so then how do I specify a role that my PMC type does? | 23:14 | |
| chromatic | 'does' | ||
| Whiteknight | so it would be "pmclass NumMatrix2D does matrix"? | 23:15 | |
| GeJ | cotto_work: Ah, ok. My mistake then. sorry for the noise. | ||
| Whiteknight | because I don't see a lot of instances of "does" in src/pmc/* | ||
| cotto_work | GeJ, irclog.perlgeek.de/parrot/2009-11-12#i_1722527 | 23:16 | |
| 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. | ||
| Whiteknight | so FixedPMCArray provides array, and then in PIR "does 'array'" is true | ||
| chromatic | Everything a PMC 'provides' or 'does' in the .pmc file gets in the provides_str member of its vtable. | 23:18 | |
| allison | whiteknight: provides is the old features strings 'array' 'hash' etc | 23:20 | |
| 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? | ||
| allison | yes, you can ignore provides | ||
| Whiteknight | okay | ||
| and we should update "provides" in the repo to be "does"? | 23:22 | ||
| darbelo | Can we deprecate provides then? | ||
| allison | whiteknight: provides used to be called 'does' | ||
| whiteknight: we changed the name so we could use 'does' for roles | |||
|
23:23
plobsing joined
|
|||
| 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 | |
|
23:25
Whiteknight joined
|
|||
| chromatic | We're only talking about collapsing two synonyms for (almost unused) syntax into one. | 23:25 | |
| 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 | ||
| nopaste | "darbelo" at 190.192.220.13 pasted "Passes all tests; pmc2c--" (13 lines) at nopaste.snit.ch/18665 | ||
| allison | (though very limited roles that don't provide any state or methods) | ||
| darbelo++ (eats kittens) | 23:27 | ||
| pmc2c-- (eats kittens) | |||
| cotto_work | Having worked with pmc2c, I'm too cynical to be surprised. | 23:29 | |
| dalek | kapo: fd221b4 | austin++ | : Fixed up Makefile.in for BSD silence. |
23:30 | |
|
23:39
kid51 joined
|
|||
| Whiteknight | Can I mark a string as being constant? | 23:42 | |
| (it's a case where I'm managing the buffer storage manually, so I don't want nobody to mess with it) | |||
| darbelo | Whiteknight: I know there's code in parrot that does something like that, but I don't think it works in general. | 23:43 | |
| Whiteknight | hmmm | 23:44 | |
| darbelo | You could try marking it COW. | ||
| Whiteknight | Yeah, that's what I'm thinking will need to happen: create a COW copy and return the copy only. Trash the original | ||
| 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:45 | |
| darbelo | I think I remember something like that going on in Parrot_io_read_buffer() or another function in that file. | 23:48 | |
| chromatic: PObj_external_FLAG ? | 23:56 | ||
| chromatic | That might be it. I thought it was string-specific. | ||