Camelia, the Perl 6 bug

IRC log for #parrot, 2009-10-09

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 darbelo Shouldn't that be Test\More?
00:07 Tene japhb: Um... I need more commits.  Go commit something.
00:07 japhb Tene, heh
00:09 theory joined #parrot
00:15 sjn joined #parrot
00:18 cotto_work Ugh.  I'm not sure if it's more painful to use backslash as a namespace separator or just to have everything in the same namespace.
00:20 Tene \ is a single, unshifted keypress on my keyboard, while :: is two shifted keypresses.
00:20 Tene :: hurts my fingers more than \ does
00:23 cotto_work \ hurts my eyes more than :: does when it's not used for escaping something
00:25 darbelo Whenever I see a \ I parse as escaping, and my brain doesn't like backtracking.
00:26 darbelo Look at one\namespace and tell me you didn't look twice at the newline.
00:28 Whiteknight \ is evil
00:33 darbelo \ is *escaped* evil. That you can never trap again.
00:37 * chromatic wonders about set_* functions in src/hash.c that reuse PMC containers if they're present.
00:38 darbelo Wasen't PMC reuse evil?
00:38 chromatic Consider a hash which stores PMCs.
00:38 chromatic Store some INTVALs in there with set_pmc_keyed_*
00:39 chromatic Every time you store a new INTVAL, the Hash PMC creates a new Integer PMC and stuffs it in the right bucket even if there was already a perfectly good Integer PMC in the bucket.
00:39 cotto_work Does that happen often?
00:41 chromatic I'm not sure.
00:41 chromatic I can annotate it and look for collisions.
00:41 cotto_work It sounds like a pretty simple optimization either way.
00:42 chromatic We ought to rethink our hashes though.
00:42 chromatic They're a mess.
00:43 cotto_work Did that ThisSubsystemIsAMessAndNeedsToBeRewritten wiki page ever get created?
00:45 chromatic You mean trac.parrot.org?
00:45 cotto_work That'd be the place for it, unless I'm missing some subtle humor.
00:46 chromatic Pick a subsystem that doesn't need work!
00:47 chromatic Runcores aren't too bad now though.
00:47 cotto_work good point.  most of them do
00:48 cotto_work GC probably less than most
00:48 darbelo pmc freezing should head the list. you can't even look at that code without parrot segfaulting.
00:49 chromatic Yes, that's about as bad as it gets.
00:49 cotto_work That wasn't actually the intended name for the page, for whoever created it.
00:49 darbelo Awww.
00:51 cotto_work Maybe SubsystemsThatNeedWork or ParrotSurgery or something
00:52 darbelo SubsystemsThatNeedFire
00:52 cotto_work Do feel free to start a page though, and I won't complain if it has a silly name.
00:53 chromatic AXenomorphItsABughunt
00:54 cotto_work That's funny.  I make another Aliens reference elsewhere earlier today.
00:55 cotto_work NukeTheWholeSubsystemFromOrbit
01:02 TonyC joined #parrot
01:03 jsut joined #parrot
01:03 nopaste joined #parrot
01:04 dalek tracwiki: v1 | chromatic++ | ItsABughunt
01:04 dalek tracwiki: https://trac.parrot.org/parrot/wiki/I​tsABughunt?version=1&action=diff
01:04 dalek tracwiki: v2 | chromatic++ | ItsABughunt
01:04 shorten dalek's url is at http://xrl.us/bfq76p
01:04 dalek tracwiki: https://trac.parrot.org/parrot/wiki/I​tsABughunt?version=2&action=diff
01:04 shorten dalek's url is at http://xrl.us/bfq76r
01:06 dukeleto chromatic: nice quote
01:07 chromatic You have to avoid the obvious.
01:07 dukeleto chromatic++
01:07 dukeleto chromatic: do strings deserve to be on that list?
01:08 chromatic If you can describe specific problems with them, yes.
01:09 dukeleto gitorious seems like it is github without forking. i don't know how I feel about that
01:14 darbelo dukeleto: "Clone this repository on Gitorious"
01:14 dukeleto darbelo: it doesn't keep track of who clones from who
01:14 cotto_work nice use of lingo there on the part of Gitorious
01:16 darbelo Why should it?
01:19 darbelo dukeleto: It was a real question, I'm not a heavy github user, so I don't know how different it's "forks" are.
01:20 Whiteknight Maybe we need a HashTasklist page to start planning out proper refactors
01:20 dalek TT #1099 created by kurahaupo++: Fix errata in synopses of PMC tests
01:23 nopaste joined #parrot
01:29 Whiteknight I think we definitely need to be a little bit organized with our future plans and refactoring goals
01:31 darbelo left #parrot
01:35 Whiteknight the Trac wiki is a lot less full-featured then I am used to with wikis. If this were mediawiki I would build a cathedral for plans and bugs and stuff like this
01:38 jrtayloriv +1
01:38 purl 1
01:41 Whiteknight (I'm not advocating for a switch to MediaWiki or anything, just wishing Trac were a little better)
01:43 rhr joined #parrot
01:43 jrtayloriv I know -- I was agreeing with "trac is way less full-featured than I'm used to, and I would be more motivated to work more on the wiki if it were mediawiki"
01:53 rhr joined #parrot
02:13 Whiteknight I wish we could use some HTML on this damn wiki
02:13 Whiteknight I could clean it up like a mammajamma with some HTML
02:18 nopaste joined #parrot
02:19 payload joined #parrot
02:26 dalek tracwiki: v107 | whiteknight++ | WikiStart
02:26 dalek tracwiki: rework this page to try and make it more compact. We need to triage some of these old links eventually
02:26 dalek tracwiki: https://trac.parrot.org/parrot/wiki/W​ikiStart?version=107&action=diff
02:26 shorten dalek's url is at http://xrl.us/bfq8jb
02:26 dalek tracwiki: v108 | whiteknight++ | WikiStart
02:26 dalek tracwiki: Move more stuff around.
02:26 dalek tracwiki: https://trac.parrot.org/parrot/wiki/W​ikiStart?version=108&action=diff
02:26 shorten dalek's url is at http://xrl.us/bfq8jd
02:27 Whiteknight Are the ProfilingRuncore and Installation issues still top priorities?
02:37 dukeleto msg darbelo i was just noting the fact that I like that github keeps track of who forks from whom. that is not part of "pure git", it is an added "social" feature
02:37 purl Message for darbelo stored.
02:41 janus joined #parrot
02:49 theory joined #parrot
02:49 chromatic The ProfilingRuncore is not a priority.
02:49 chromatic Bugs in the profiling runcore... well, let me introduce you to IMCC.
02:55 chromatic msg whiteknight http://www-ali.cs.umass.edu/D​aCapo/Memory_Management.html
02:55 purl Message for whiteknight stored.
02:56 dalek parrot: r41769 | jkeenan++ | trunk/t/pmc (14 files):
02:56 dalek parrot: Correct outdated filename in depiction of how to run 'prove' on file.  Applying patch submitted by kurahaupo in https://trac.parrot.org/parrot/ticket/1099.
02:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41769/
02:57 plobsing joined #parrot
02:57 TonyC joined #parrot
02:58 dalek TT #1099 closed by jkeenan++: Fix errata in synopses of PMC tests
02:58 theory joined #parrot
03:07 dalek parrot: r41770 | jkeenan++ | branches/detect_llvm/t/steps/auto/llvm-01.t:
03:07 dalek parrot: Add tests to improve coverage of internal sub _handle_result().
03:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41770/
03:21 Zak joined #parrot
03:25 dalek TT #1100 created by jkeenan++: t/src/extend.t:  failing in trunk
03:42 theory joined #parrot
03:53 theory joined #parrot
03:55 theory_ joined #parrot
03:58 nopaste joined #parrot
04:08 theory joined #parrot
04:08 Zak joined #parrot
04:15 TonyC joined #parrot
04:18 nopaste joined #parrot
04:40 dukeleto how do I get the length of a string from NQP?
04:42 dukeleto do I seriously have to go to PIR for that?
04:47 dukeleto meh, i just added it to plumage's Glue.pir
04:49 nopaste joined #parrot
04:51 TonyC joined #parrot
04:51 dukeleto also, the 'next' keyword does not seem to work
04:58 kyle_l5l joined #parrot
05:13 theory joined #parrot
05:14 hercynium joined #parrot
05:14 nopaste joined #parrot
05:19 Tene dukeleto: explain about your last msg?
05:22 Tene dukeleto: nqp doesn't have a 'next' keyword, afaict.  Try s/next/omglolwtf/ and see if it makes a difference.  I expect not.
05:23 dukeleto Tene: you are probably correct. i got past the issue that required 'next', so no worries
05:23 dukeleto i am hacking on plumage's test suite at the #pdx hackathon, schwern is giving me tips about parsing TAP
05:25 Tene dukeleto: NQP's loops *do* handle control exceptions, just like all PCT loops, so you can throw a next exception from PIR if you need to.
05:26 TonyC joined #parrot
05:28 nopaste joined #parrot
05:35 pdcawley_ joined #parrot
05:36 dalek nqp-rx: a17b445 | pmichaud++ | src/ (2 files):
05:36 dalek nqp-rx: Add parsing of some basic assertions.
05:36 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/a​17b445ee5603392549ec2a3f9306c74d0a4a4e2
05:36 shorten dalek's url is at http://xrl.us/bfq86m
05:37 theory joined #parrot
05:47 Zak joined #parrot
05:52 dukeleto nqp is making me crazy
05:52 dukeleto there is no pop/push/shift etc
05:58 pmichaud there is, but only as methods on objects
05:58 pmichaud i.e.   @foo.push(...)   instead of   push @foo, ...
05:59 pmichaud note that 'next' in p6 isn't a keyword.  :)
05:59 dukeleto pmichaud: thanks!
05:59 pmichaud it's a function.
05:59 dukeleto pmichaud: so next() would work?
06:00 pmichaud sure, if you have a next() function loaded that throws the appropriate exception :)
06:00 TimToady should be the same function either way
06:01 pmichaud nqp doesn't have built-in functions, though.
06:01 pmichaud it's library-less
06:01 TimToady STD doesn't even define it as a keyword, it's just a CORE function
06:01 TimToady ah, well NQP can be as NQ as it likes
06:02 pmichaud I do expect we'll have a "use builtins" or the like that loads in some of the popular p6 builtins
06:02 pmichaud but by default NQP wants to compile to bare parrot wherever it can
06:02 dukeleto TimToady: I think NQP is doing a damn fine job of being NQ
06:02 dukeleto i am having fun writing a test harness in NQP for plumage
06:03 particle1 joined #parrot
06:16 dukeleto should I add tests for the pop/push/shift ops on arrays in NQP? none of that is tested
06:16 pmichaud that's not a part of the NQP spec
06:16 pmichaud so "no"
06:16 pmichaud as far as NQP is concerned, they're just method calls like any other.  It's up to the underlying object to support the behavior.
06:18 uniejo joined #parrot
06:18 pmichaud phrased differently, NQP doesn't have any built-in data types beyond "int", "num", "str", and "object"
06:20 pmichaud although it will be interesting to figure out how to do multi type dispatch in NQP ;-)
06:20 pdcawley_ joined #parrot
06:21 dukeleto what about the difference between == and =:= ?
06:21 pmichaud == is numeric comparison
06:21 pmichaud =:= is object identity
06:22 pmichaud do you mean we need tests for those?  sure, that'd be okay.
06:22 fperrad joined #parrot
06:23 dukeleto pmichaud: and then 'eq' is for strings? i was getting confused by them
06:24 dukeleto pmichaud++ for clarifying
06:25 pmichaud yes, 'eq' is for strings.  same as perl 5 :)
06:25 pmichaud (and perl 6)
06:28 dukeleto pmichaud: i am running into an issue where @foo[0] eq 'bar' doesn't return true when I think it should. perhaps I should write a test
06:28 dukeleto in NQP
06:29 pmichaud sure, tests are welcome
06:32 dukeleto why is 'my $list := (1,2,3);' valid? shouldn't it have an @ ?
06:33 dalek nqp-rx: 7e3fa98 | pmichaud++ | src/Regex/P6Regex/Grammar.pm:
06:33 dalek nqp-rx: Add parsing of character class assertions.
06:33 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/7​e3fa98d28bbeeb74ecf6a627570748181c11730
06:33 shorten dalek's url is at http://xrl.us/bfq9bi
06:33 pmichaud in p6 you can bind a scalar to any object
06:33 treed auto conversion to reference?
06:33 pmichaud p6 doesn't really have visible references, but yes, it's okay to think of it that way
06:34 pmichaud the sigils in p6 identify a supported interface and how a variable is initialized by default
06:34 dukeleto pmichaud: interesting, i did not know that
06:34 pmichaud thus
06:34 pmichaud my $list := (1,2,3);   say $list[1];
06:34 pmichaud outputs "2"
06:35 pmichaud nqp isn't so picky, however.
06:35 pmichaud nqp also allows silly things like    my @foo = "3";
06:35 pmichaud er
06:35 pmichaud my @foo := 3;
06:35 pmichaud the sigils are more decorative than having any specific meaning
06:36 moritz well, they are also mini-namespaces
06:36 pmichaud yes, that's true also
06:36 pmichaud so that one can have separate $foo, @foo, and %foo
06:36 pmichaud moritz++
06:36 pmichaud I really should go to bed, but I'm having too much fun writing code
06:37 Tene What are you working on tonight?
06:37 dukeleto pmichaud: yes, and you are helping me :)
06:37 pmichaud new regex engine and bootstrap
06:37 dukeleto pmichaud: i am excitedly waiting for nqp-rx
06:37 pmichaud I'm getting fairly close to have the regex engine smart enough to parse itself :)
06:37 Tene :)
06:38 pmichaud when I get that done, I can toss PGE
06:38 Tene I've been feeling really burned out this week from work... I'm taking a bit of a look at pcc returns, though.
06:38 pmichaud yes, I noticed that.  I'm glad you're doing that.
06:38 pmichaud your earlier conversations with allison looked promising
06:38 Tene yes, it's just about there...
06:38 dalek TT #1101 created by kurahaupo++: Potential memory corruption caused by faulty cloning of ...
06:39 chromatic There's a phrase you like to see.
06:41 pmichaud I wonder if anyone is even using RFA :-)
06:41 pmichaud PGE (and nqp-rx) plan to use RIA, definitely.
06:41 pmichaud (PGE already uses it, nqp-rx will use it heavily)
06:45 allison Tene: I pasted a new pseudocode algorithm for return/result processing into the wiki
06:45 Tene different from what's currently there?
06:45 allison Tene: yes, completely new
06:46 Tene ... ah.
06:46 allison Tene: it's on the bottom of the CallingConventionsOverview page
06:46 allison Tene: simplifies from what was used for args/params (which is what the current returns/results is using)
06:47 allison Tene: completely new, but not completely different
06:47 allison Tene: it still uses the two loops (one for positional and one for named)
06:47 Tene Not really sure I feel up to rewriting fill_results tonight.
06:47 chromatic C'mon, everybody's doing it.
06:47 Tene Heh.
06:47 allison Tene: no worries, I'll work on it tonight
06:47 chromatic You want to fit in, don't you?
06:48 allison chromatic: "We're *all* individuals!"
06:48 allison "...just like everybody else."
06:48 chromatic Believe me, I'd prefer not to. I may be synthetic, but I'm not stupid.
06:49 Tene chromatic: I get claustrophobic if I fit too well anywhere.  I need the open space allowed by ill-defined boundaries.
06:51 allison Tene: I have to say, these sorts of problems (the long, drawn-out failing branches) really kill my motivation. The hackathon was a huge boost for me.
06:52 Zak joined #parrot
06:52 Tene allison: I'm very glad.
06:52 Tene That's exactly what I was hoping for when I proposed it.
06:52 * treed is kinda in that place on Cardinal.
06:53 chromatic We should play Musical Tasks.
06:53 chromatic When the weasel pops, everyone switch projects.
06:53 allison treed: maybe we should have a Cardinal hackathon one weekend
06:54 allison treed: we could probably find language devs from various languages who'd love to work on it for one weekened
06:58 * treed nods.
06:58 treed That'd be neat.
06:58 treed Only so many open and codable tasks though.
06:58 treed Although library implementation is always a good parallelizable task.
06:58 Tene allison: my friday night is taken, but if you can get most of that alg implemented by this weekend, I'll work on it a lot this weekend.
06:59 treed But help with the parser would especially appreciated.
06:59 treed I don't really understand a lot of the parser, nor why it's so slow.
06:59 Tene treed: I plan to work on Cardinal's parser, but I'm waiting for pmichaud's PGE rewrite to be ready first.
06:59 * treed nods.
06:59 treed Any word on fixing subclassing from PIR?
06:59 treed That'd make my current branch much, much simpler.
06:59 allison Tene: cool, hopefully we can get the final bits knocked out of the park this weekend
07:00 Tene It doesn't seem useful to work on optimizing cardinal's parser until then for a few reasons, one of which is the addition of LTM and protoregexes.
07:00 treed The extra layer of abstraction by having cardinal;Class have-a parrot;Class makes thing that much more difficult
07:00 treed LTM?
07:00 purl i guess LTM is longest token matching
07:00 treed And protoregexes, for that matter.
07:00 treed Ah.
07:01 pmichaud ltm gives the parser an ability to be far more predictive about the correct production given a string of input
07:01 pmichaud instead of testing lots of rules that will definitely fail
07:01 Tene which cardinal does a lot of.
07:01 treed Yeah.
07:01 treed I tried to reorganize a few, IIRC, but I doubt it helped much.
07:01 pmichaud also, the new regex engine should be a lot friendlier in terms of gc pressure
07:01 Tene well, which fail.  don't know about "will definitely fail" from an LTM perspective.
07:02 treed When do we expect that to land?
07:02 pmichaud next couple of weeks
07:02 treed Neat.
07:02 pmichaud progress is going very well
07:02 treed I'll be interested in seeing how much Cardinal's parser can improve.
07:02 Tene allison: you going to work on pcc today?  I may have time during work in 12h or so.
07:02 pmichaud same here
07:02 treed It's honestly pretty ridiculous right now that the test suite spends 8:30 parsing, so that the actual PIR can execute in 30 seconds
07:03 pmichaud that is a bit long, yes.
07:03 treed I enhanced it some by caching the PIR.
07:03 treed So that once you've parsed it, you don't need to again unless you change the parser.
07:03 pmichaud the other thing that the new parser does is handle utf8-encoded strings a lot more smartly
07:03 moritz tim to make the runtime slower? ;-)
07:03 moritz *time
07:03 treed Heh.
07:04 pmichaud previously it would hold its string offsets as relative to the beginning of the string
07:04 chromatic When PCC lands, I can make the runtime faster.
07:04 treed Well, that same test suite parses and executes in 2 seconds flat on MRI. :-P
07:04 treed Will the PCC work enable me to examine the context of the caller?
07:04 treed Because I haven't seen any method to do that yet.
07:04 pmichaud treed: you can do that now
07:04 treed (For implementing public/protected/private)
07:04 treed Oh, yeah?
07:04 pmichaud contexts are PMCs
07:04 treed But how do I get it?
07:04 pmichaud so they provide a fair bit of introspection
07:05 pmichaud should be available via the interpreter.  if not, we should see about adding it.
07:05 treed Aha.
07:05 treed Seems like that might be somewhat expensive to do on every method call, though?
07:06 pmichaud shouldn't be overly expensive
07:06 treed I guess we'll findo ut.
07:21 Tene Yeah, this isn't happening; too tired.  Goodnight, all.
07:22 dalek tracwiki: v3 | mj41++ | AllHackathons
07:22 dalek tracwiki: order
07:22 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Al​lHackathons?version=3&action=diff
07:22 shorten dalek's url is at http://xrl.us/bfq9eh
07:23 mj41 is 17 October hackathon Testing  https://trac.parrot.org/parrot/  or PIRC https://trac.parrot.org/parrot/wiki/AllHackathons ?
07:32 dalek nqp-rx: bcdd212 | pmichaud++ |  (5 files):
07:32 dalek nqp-rx: Add support for enumerated character list matching.
07:32 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/b​cdd2123e3e87ebfbe5cd2fae818518e333a1f97
07:32 shorten dalek's url is at http://xrl.us/bfq9fg
07:48 dalek tracwiki: v35 | kjs++ | PIRCDevelopment
07:48 dalek tracwiki: [wiki] add a note on macro handling in PIRC vs IMCC
07:48 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=35&action=diff
07:48 shorten dalek's url is at http://xrl.us/bfq9hr
07:53 TiMBuS joined #parrot
08:12 dalek nqp-rx: cef1481 | pmichaud++ | src/ (4 files):
08:12 dalek nqp-rx: Handle negated enumerated charlists.
08:12 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/c​ef1481ed6d1d27eed273c154e455f102dca4485
08:12 shorten dalek's url is at http://xrl.us/bfq9k2
08:12 dalek nqp-rx: 1f30c77 | pmichaud++ |  (4 files):
08:12 dalek nqp-rx: Add more backslash sequences: \b, \e, \f, \h, \r, \t, \v and negations.
08:12 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/1​f30c77d1730ffe9b2969edf56352e9105e4d307
08:12 shorten dalek's url is at http://xrl.us/bfq9k4
08:14 dalek tracwiki: v36 | kjs++ | PIRCDevelopment
08:14 dalek tracwiki: [wiki] add a description on PIRC's dataflow
08:14 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=36&action=diff
08:14 shorten dalek's url is at http://xrl.us/bfq9k8
08:42 dukeleto 'ello
08:46 dalek nqp-rx: 93f11bb | pmichaud++ | src/Regex/P6Regex/Grammar.pm:
08:46 dalek nqp-rx: Convert := operators to = in P6Regex/Grammar.pm .
08:46 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/9​3f11bb44e24f3a46057f121789f540028988293
08:46 shorten dalek's url is at http://xrl.us/bfq9oz
08:46 dalek nqp-rx: f4b488a | pmichaud++ |  (4 files):
08:46 dalek nqp-rx: Add min/max ** quantifiers.  Clean up some tests.
08:46 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/f​4b488a729a462a9092f9cb9cfa07088a85e38c9
08:46 shorten dalek's url is at http://xrl.us/bfq9o3
08:47 masak joined #parrot
09:12 einstein joined #parrot
09:31 jsut_ joined #parrot
09:36 allison joined #parrot
09:55 dalek parrot: r41771 | kjs++ | trunk/compilers/pirc/src (3 files):
09:55 dalek parrot: [pirc] replace '\n' token by usage of 'newline' nonterminal; that non-terminal takes care of counting lines, so that the line nr is correctly updated
09:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41771/
10:02 jsut joined #parrot
11:02 mokurai left #parrot
11:53 whiteknight joined #parrot
11:54 whiteknight good morning #parrot
11:55 masak \o/
11:57 whiteknight good morning masak
11:57 masak good post-lunch coma, whiteknight.
11:57 whiteknight indeed
11:57 bacek joined #parrot
12:06 dalek tracwiki: v6 | whiteknight++ | ArrayTasklist
12:06 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Ar​rayTasklist?version=6&action=diff
12:06 shorten dalek's url is at http://xrl.us/bfq95u
12:19 quek joined #parrot
12:24 bacek joined #parrot
12:26 payload joined #parrot
12:28 dalek tracwiki: v7 | Util++ | ArrayTasklist
12:28 dalek tracwiki: Changed list of types into type list
12:28 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Ar​rayTasklist?version=7&action=diff
12:28 shorten dalek's url is at http://xrl.us/bfq97j
12:45 whiteknight joined #parrot
12:50 JimmyZ joined #parrot
13:05 bacek seen darbelo
13:05 purl darbelo was last seen on #parrot 11 hours, 45 minutes and 35 seconds ago, saying: dukeleto: It was a real question, I'm not a heavy github user, so I don't know how different it's "forks" are.
13:27 szabgab joined #parrot
13:29 mj41 \msg whiteknight: is 17 October hackathon Testing https://trac.parrot.org/parrot/ or PIRC https://trac.parrot.org/parrot/wiki/AllHackathons ?
13:30 whiteknight 10th is PCC hackathon, I think 17th is testing hackathon
13:30 whiteknight sometime after the release (19th) is the PIRC hackathon
13:31 whiteknight https://trac.parrot.org/parrot/wiki/AllHackathons
13:31 whiteknight (actually, that page is wrong now that I look at it)(
13:31 iblechbot joined #parrot
13:32 whiteknight fixed
13:32 dalek tracwiki: v4 | whiteknight++ | AllHackathons
13:32 dalek tracwiki: +fix
13:32 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Al​lHackathons?version=4&action=diff
13:32 shorten dalek's url is at http://xrl.us/bfrafs
13:32 whiteknight thanks mj41++
14:11 mikehh smoke (#28754), fulltest FAIL, at r41771 - Ubuntu 9.04 amd64
14:11 mikehh smoke, fulltest (src_tests) - t/src/extend.t - Failed test:  15
14:11 mikehh fultest (testf, testg and testS) (same tests FAIL, same results)
14:11 mikehh t/compilers/imcc/syn/macro.t - Failed tests:  2-4
14:12 mikehh t/compilers/imcc/syn/regressions.t - Failed test:  7
14:14 Andy joined #parrot
14:16 Psyche^ joined #parrot
14:19 quek left #parrot
14:38 dalek nqp-rx: f12bd0c | pmichaud++ | src/ (2 files):
14:38 dalek nqp-rx: Refactor mark handling in Cursor.  Fixes a bunch of greedy quantifier tests.
14:38 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/f​12bd0c7108b41ae067b52ba3af97b5899e66c9b
14:38 shorten dalek's url is at http://xrl.us/bfraq4
14:42 einstein joined #parrot
14:49 ruoso joined #parrot
15:11 dalek TT #1102 created by mikehh++: test failures with t/compilers/imcc/syn/macro.t and regressions.t in fast, ...
15:24 allison joined #parrot
15:25 allison Tene: if you do end up on in a few hours, we could do some pcc work together
15:29 dalek rakudo: 1f2e5f4 | (Kyle Hasselbacher)++ | Configure.pl:
15:29 dalek rakudo: [Configure.pl] do or die idiom fix
15:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​f2e5f4ea67166d73ef7a46417a16f7de0934d8c
15:29 shorten dalek's url is at http://xrl.us/bfra2o
15:43 davidfetter joined #parrot
15:48 whiteknight good morning allison
15:58 allison whiteknight: good morning
16:06 jan joined #parrot
16:09 soxet joined #parrot
16:15 dalek nqp-rx: 0b0e14d | pmichaud++ |  (6 files):
16:15 dalek nqp-rx: Add greedy form of separator quantifier.  Clean up charlist a bit.
16:15 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/0​b0e14d57436c134091c83398bebe89883710025
16:15 shorten dalek's url is at http://xrl.us/bfrbbv
16:18 Tene allison: looks very likely.  I'm a bit more awake today.  I'm on break from class right now, but I should be almost done for the day in about two hours.
16:19 japhb Tene, what's today's class?  More intro to Linux?
16:20 Tene japhb: Yes.  All of my classes are one-week, so today is the last day.  They're working on the Xen lab right now, and then the last lecture is troubleshooting.
16:21 japhb Xen?  That's pretty advanced for an intro class.  But I guess if the students are decent, by week 5 you'd have to get beyond the basics.  :-)
16:21 japhb er, day 5
16:27 dalek nqp-rx: b7e9863 | pmichaud++ |  (2 files):
16:27 dalek nqp-rx: Add minimal form of quantifier by separator.  Update STATUS.
16:27 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/b​7e98630872c8020228c5e0e436c9fb37a1eb291
16:27 shorten dalek's url is at http://xrl.us/bfrbc2
16:28 theory joined #parrot
16:39 dukeleto 'ello
16:40 japhb o/
16:42 dukeleto japhb: i think i have a basic test harness working.
16:42 japhb dukeleto, RAWK.  Pushed?
16:43 dukeleto japhb: it is in the tests branch.
16:43 dukeleto japhb: you can do "make test" or parrot_nqp t/sanity.t
16:43 dukeleto japhb: it seems that 'run' is not returning 0 after running ./plumage.
16:44 japhb dang, now I have to remember the syntax for checking out a remote branch locally, sigh.
16:44 dukeleto japhb: git checkout -b tests origin/tests
16:44 Tene japhb: git checkout -t -b tests origin/tests
16:44 Tene ^5 leto
16:44 dukeleto Tene: -t hasn't been needed in a long time
16:44 Tene orly?
16:44 purl YA RLY.
16:44 dukeleto ^5 Tene
16:45 Tene I haven't been keeping up.  Thanks.
16:45 dukeleto Tene: yeah, tracking is default now
16:45 japhb ^5 ?
16:45 purl high five to you too!
16:45 japhb AH
16:45 japhb purl finally does something useful
16:45 purl japhb: what?
16:45 japhb ... but not that
16:45 Tene japhb: have you planned yet, btw, for how to detect if something is already installed?  upgrades and versions and foo?
16:45 dukeleto purl, shut up before we realize you are dumb again
16:45 purl OK, dukeleto.
16:45 Tene purl: dance!
16:45 * purl kicks Tene in the nuts
16:45 japhb ouch
16:45 Tene ... nm
16:46 * dukeleto backs away
16:46 japhb Tene, other than getting a headache about it, no.
16:46 Tene japhb: Okay.  Good enough for me for now.
16:47 dukeleto japhb: the way I am parsing TAP right now is somewhat naive, but it is a start. all questions/comments welcome
16:47 dukeleto and some really tests that I check the harness with would be good
16:47 japhb One evil thought I had was to basically chroot a parrot, try to install something into it, and from that detect the files that the thing would install.  But then I went, "Really?  You want to reinvent RPM?"
16:47 dukeleto (reinventing RPM)--
16:48 Tene japhb: I very much plan to support generating rpms from plumage.
16:48 dukeleto s/really/real/
16:48 Tene I plan to use rpm, though, not reinvent it.
16:48 darbelo joined #parrot
16:48 japhb yeah, that's what I thought.
16:48 japhb And I agree with you, Tene.
16:49 japhb dukeleto, you might want to rebase against master ... the cross diff is ... eye-crossing
16:51 japhb git diff ... , I think I love you.
16:52 japhb pmichaud, did building parrot_nqp make it into the previous parrot release?
16:52 pmichaud I don't know
16:52 iblechbot joined #parrot
16:53 pmichaud and there's some question as to whether it should be parrot_nqp or parrot-nqp
16:53 darbelo parrot-nqp
16:53 Tene I prefer the latter, fwiw.
16:53 pmichaud I do too, but all of the other parrot binaries use underscores
16:53 pmichaud parrot_config, parrot_dbg, etc.
16:53 Tene we could change them too. >.>
16:53 pmichaud I think it would require a deprecation cycle.
16:53 pmichaud or we'd have to have them available as both names.
16:54 * Tene is secretly anti-underscore.
16:54 * pmichaud is openly anti-underscore.
16:54 * japhb imagines the rap song "Anti-Underscore Machine"
16:55 japhb Clearly I need some Chuck D in my morning
16:55 dukeleto japhb: so you want me to rebase tests? or I can just squash it into a single commit and merge that.
16:55 dukeleto i like the idea of "historical narrative" rather than "this is the crazy set of commits that I did to get here"
16:56 pmichaud I'm brainstorming a syntax that nqp-rx can use to provide access to individual opcodes
16:56 dukeleto parrot_debugger
16:56 purl parrot_debugger is just a quick way to start the internal debugger. I don't care much about it until src/debug.c reaches a more stable and full featured state
16:56 pmichaud something meta-ish
16:56 Tene pmichaud: examples of what you've considered?
16:56 pmichaud for example, last night I needed to use 'ord' and 'chr'
16:56 dukeleto purl, forget parrot_debugger
16:56 purl dukeleto: I forgot parrot_debugger
16:57 pmichaud I just started thinking about it this morning
16:57 pmichaud but something along the lines of
16:57 pmichaud >>ord<<  $a, $b, $c
16:57 pmichaud pir:<ord>  $a, $b, $c
16:57 pmichaud PIR<ord>  $a, $b, $c
16:57 pmichaud etc.
16:57 japhb dukeleto, Oh, I was merely saying you might want to rebase for your own sanity.  There was definitely some cleanup done in master.  But I don't get all B&D about history, other than preferring smaller commits to big monster ones.
16:57 Tene well, it should be valid Perl 6 as well, right?
16:58 pmichaud yes, valid Perl 6 syntax at any rate
16:58 dukeleto japhb: yes, smaller commits are good
16:58 pmichaud something that would be reasonably done via module in Perl 6
16:58 pmichaud so I'm thinking something meta-operator ish
16:59 Tene I kinda like pir:<ord>, fwiw
16:59 pmichaud yes, but I'm thinking that Perl 6 would want it to be more like &pir:<ord>
16:59 pmichaud so... hmm
17:00 pmichaud if anyone comes up with ideas, send them along.  :)
17:01 moritz Q:PIROP { ord }
17:01 Tene .o0°{ord}°0o. $a, $b, $c
17:01 Tene ~~~~~~~~~~~~~~~~~ord
17:01 dukeleto japhb: is there anything that needs changing before I merge in the tests branch? (other than a little history cleaning)
17:01 japhb pmichaud, what are you expecting will be generated by that?  A bunch of find_lex, followed by the actual op?
17:02 japhb dukeleto, sorry, multi-tasking, haven't done the full review yet.  give me a couple minutes
17:02 pmichaud japhb: yes, but possibly not find_lex
17:02 pmichaud for example, if we have
17:02 pmichaud my int $a;
17:02 pmichaud ....
17:03 pmichaud >>ord<< $a, $b
17:03 pmichaud then $a is already in an int register, so no find_lex needed
17:03 Tene -=≡ord≡=-
17:03 pmichaud I don't know how much casting I'll expect it to be able to handle, though.
17:03 japhb dukeleto, I'm kinda wondering about relying on parrot_nqp ... we should either rely on it completely during make, or not at all
17:04 nopaste joined #parrot
17:04 pmichaud one of the downsides to parrot's opcode set is that it's highly irregular
17:04 dukeleto japhb: so we should detect if it exists in Configure.nqp?
17:04 pmichaud afk for a bit, lunch
17:04 Tene ⦃ ord ⦄
17:05 japhb dukeleto, let's resolve it this way (barring objections): Plumage won't merge with Parrot until 2.0 or later, so parrot_nqp (or a new name for it) will be around.  And I don't want to support old revs, because they don't have data_json, etc.  Let's just switch to using it wholesale.
17:06 japhb I don't want to complexify Configure.nqp and Makefile.in any more than I have to.
17:06 japhb say("I am the test harness, bow before me.");
17:06 japhb NICE
17:07 japhb Can you use the qx() from Glue.pir, instead of inlining it?
17:07 japhb (If not, what is qx() missing?)
17:08 Tene japhb: did I ever get you that try() function?
17:08 japhb Tene, yes, but I had to do brain surgery on it.
17:08 japhb Take a look
17:08 japhb (It's in Glue,pir, I mean)
17:08 japhb damn morning fingers
17:09 Tene ah, that's reasonable.
17:10 Tene with the lack of easy closures in NQP.
17:10 japhb yeah
17:10 japhb I really, REALLY want closures in nqp-rx
17:10 japhb *cough*
17:11 dalek rakudo: 174e0d6 | moritz++ | src/setting/Parameter.pm:
17:11 dalek rakudo: boolify attributes in Parameter
17:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​74e0d61c1630183e9f691d5eb0c2e9684c6ee57
17:11 shorten dalek's url is at http://xrl.us/bfrbno
17:11 japhb That and: flattening, array and hash literals, ...
17:14 japhb dukeleto, I'd say my three comments are: 1) let's move to parrot_nqp everywhere, 2) use qx() from Glue.pir -- and improve it if necessary, 3) Looks like using rx() and matching would be a lot easier than how you're parsing tap at the moment, but that's not pre-merge critical.
17:18 dukeleto japhb: i am using qx(). i agree about parrot_nqp, but what does that mean for the 'tests' branch? 3) I agree with using rx(), i will move towards that as I refactor the code to be more robust
17:18 japhb hum.  I wonder if I did that diff wrong
17:18 dukeleto japhb: one of my last commits last night was to get rid of my home-rolled version
17:18 japhb dukeleto, did you push it?
17:19 dukeleto japhb: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/4fab63526f2f1a8766cd4f4216488f7774c9deca
17:19 shorten dukeleto's url is at http://xrl.us/bfrbox
17:19 dukeleto japhb: git diff master ?
17:20 dukeleto japhb: when you are in the 'tests' branch, git diff master should be what you want to see
17:21 japhb dukeleto, no, because that includes showing me the things that have changed in master that you haven't rebased to.  Or at least, that's what I'm seeing
17:21 purl hmmm... seeing is believing
17:22 japhb AH
17:22 japhb NM
17:22 japhb PEBCAK
17:22 dukeleto purl, PEBCAK?
17:22 purl PEBCAK is Problem Exists Between Chair And Keyboard or http://freaks.davezilla.com/index.php?p=48 or see PEBKAC
17:24 japhb dukeleto, are you actually using length()?
17:24 dukeleto japhb: nope. i can delete that
17:25 dukeleto japhb: does NQP have $str.length ? i didn't try that, but I am not using it anymore anyway
17:25 japhb It's not a big deal, but if $str.length or an equivalent exists, we should use that instead.
17:28 dukeleto japhb: of course. I was just banging my head against not knowing what NQP has and what it doesn't last night. thankfully pmichaud helped a bunch.
17:29 japhb dukeleto, no problems by me!
17:33 dalek rakudo: 489f5d1 | jonathan++ |  (3 files):
17:33 dalek rakudo: Implement Signature.perl in the setting, using the introspection interface. Fix three RT tickets along the way.
17:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​89f5d1c58fd8dc7a0c0b0ab0bbd3accbb889526
17:33 shorten dalek's url is at http://xrl.us/bfrbr4
17:33 dalek rakudo: 03f82dd | jonathan++ | :
17:33 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
17:34 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​3f82dd819c008f79d2154af703f051e7d0c49ca
17:34 shorten dalek's url is at http://xrl.us/bfrbr6
17:41 dalek tracwiki: v8 | dukeleto++ | ArrayTasklist
17:41 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Ar​rayTasklist?version=8&amp;action=diff
17:41 shorten dalek's url is at http://xrl.us/bfrbtj
17:55 joeri joined #parrot
18:01 cotto_work joined #parrot
18:09 pmichaud NQP doesn't have closures?  It should.  If it doesn't, it will.
18:18 mokurai joined #parrot
18:29 dukeleto pmichaud++
18:35 chromatic joined #parrot
18:36 cotto_work How nice.  PHP's bug system is functional again.
18:37 szbalint the PHP interpreter manages to load itself into memory?
18:37 szbalint :)
18:41 dukeleto cotto_work: how is PHP's test suite going ?
18:46 cotto_work I'm just writing a couple tests, so it's ugly but otherwise uneventful.
19:18 dalek parrot: r41772 | allison++ | branches/pcc_reapply/src/call/args.c:
19:18 dalek parrot: [pcc] Change parameter name to match new logic.
19:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41772/
19:38 dalek tracwiki: v24 | allison++ | CallingConventionsOverview
19:38 dalek tracwiki: https://trac.parrot.org/parrot/wiki/CallingCo​nventionsOverview?version=24&amp;action=diff
19:38 shorten dalek's url is at http://xrl.us/bfrchj
19:56 Patterner joined #parrot
20:03 Patterner joined #parrot
20:05 Coke_ joined #parrot
20:05 Coke_ is sleepy and bored at Newark.
20:06 Coke_ joined #parrot
20:06 allison Coke_: one of the duller airports
20:06 chromatic You're thinking of DC.
20:06 Coke_ pita it's been. and flight delayed.
20:07 Coke_ chromatic: rhwap
20:08 dalek tracwiki: v25 | allison++ | CallingConventionsOverview
20:08 dalek tracwiki: https://trac.parrot.org/parrot/wiki/CallingCo​nventionsOverview?version=25&amp;action=diff
20:08 shorten dalek's url is at http://xrl.us/bfrcni
20:08 Coke_ joined #parrot
20:09 Coke_ wow this client sucks.
20:10 Coke_ FYI tcl still has segfaultz.
20:20 dalek rakudo: 837cd09 | jonathan++ | src/ (4 files):
20:20 dalek rakudo: Fix up the signature generator to be handling multiple names for a named arguments. Start storing type capture names in the signature object. Fix signature generation for named slurpy parameters.
20:20 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​37cd09d281ab6a348a011ebe9cf471af855054b
20:20 shorten dalek's url is at http://xrl.us/bfrcou
20:51 bacek joined #parrot
21:31 darbelo left #parrot
21:33 bacek Good morning
21:33 dukeleto bacek: o hai
21:33 bacek G'Day dukeleto
21:34 dalek rakudo: f6397bc | jonathan++ | src/ (2 files):
21:34 dalek rakudo: Implement introspection of type captures.
21:34 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​6397bc20f2736ee8cd1995a587254ed4347ad5c
21:34 shorten dalek's url is at http://xrl.us/bfrczz
21:34 dalek rakudo: f99cc4b | jonathan++ | src/setting/Signature.pm:
21:34 dalek rakudo: Make .perl of a Signature include the type captures.
21:34 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​99cc4b35605d5731ee444d1af32471916dd9b2d
21:34 shorten dalek's url is at http://xrl.us/bfrcz3
21:34 dukeleto bacek: what are you hacking on today?
21:35 bacek dukeleto: nothing particular. Yet.
21:42 dukeleto bacek: pcc_reapply could always use more tuits if you are bored...
21:43 bacek dukeleto: may I'll take a look. But I'm little bit frustrated with this branch.
21:43 dukeleto 8 days until 1.7! We are getting close to the "hmm, is it too close to merge?" time of the month
21:43 dukeleto bacek: frustrated how?
21:43 bacek dukeleto: It still overcomplicated from my point of view.
21:44 dukeleto bacek: you can say that again. I barely understand everything that is going on in that branch, but the wiki pages have been helping understand the gist of it
21:47 dukeleto msg allison test_more.pir is still unusable on pcc_reapply, as far as I can see
21:47 purl Message for allison stored.
21:48 allison dukeleto: shouldn't be
21:48 allison dukeleto: that is, I ran a full make test yesterday, and had 73 test failures
21:48 dukeleto allison: let me do a realclean to be sure
21:50 dukeleto allison: is tomorrow (the 1 week boundary) the last reasonable day to merge in pcc_reapply?
21:55 allison dukeleto: Tuesday is the one-week boundary
21:55 Tene allison: going home any minute now.
21:55 allison Tene: okay, I'm almost done with the new algorithm on fill_results
21:56 Tene :)
21:56 allison Tene: I should be able to check it in before the end of the night
21:56 Tene That would be great.
21:57 allison Tene: (I'll check it in even if it's not entirely done, as progress)
21:57 Tene Yes, I could finish it, I think.
21:57 dalek nqp-rx: 7106057 | pmichaud++ | src/PAST/Compiler-Regex.pir:
21:57 dalek nqp-rx: Use if/unless opcodes instead of testing against zero.
21:57 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/7​106057bf5922195e434035265fced6b62905d3d
21:57 shorten dalek's url is at http://xrl.us/bfrc33
21:57 dalek nqp-rx: 8f22ee4 | pmichaud++ | src/Regex/Cursor.pir:
21:57 dalek nqp-rx: Add match object handling to Cursor marks.
21:57 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/8​f22ee46f692a6400141195bb608186eac0364cc
21:57 shorten dalek's url is at http://xrl.us/bfrc35
21:58 allison dukeleto: I just re-ran 'make coretest' with 72 failing tests
21:59 dukeleto allison: maybe I am doing something wrong. i am running coretest now, i will see what I get
22:00 dukeleto allison: when I run ./parrot foo.pir where foo.pir just has an .include 'test_more.pir', i get the FixedIntegerArray: index out of bounds! error
22:01 dukeleto allison: which platform are you on?
22:03 Tene dukeleto: why do you do that instead of just running parrot on test_more.pir itself, btw?
22:04 Tene not that it actually matters.
22:04 dukeleto allison: PEBCAK
22:04 dukeleto Tene: no good reason
22:04 Tene Just checking.
22:05 dukeleto allison: i didn't have my git branch in sync with the latest changes. trying again with latest pcc_reapply
22:05 dukeleto Tene: the path to test_more.pir is longer than typing .include 'test_more.pir' :)
22:05 Tene hehe :)
22:06 dukeleto Tene: and i have vim give me the skeleton of a PIR program with I open a new .pir file, so I don't have to type much
22:07 redbrain joined #parrot
22:07 redbrain hey again :)
22:09 cotto_work hi redbrain
22:11 Tene hi redbrain
22:13 bacek allison: overflow in handling returns/results looks suspicious.
22:13 allison bacek: it is suspicious
22:14 allison bacek: for one thing, the code that's currently checked in is trying to pull results from the returns list
22:15 bacek allison: (I'm reading pseudocode on wiki)
22:16 allison bacek: ah okay, feel free to send queries
22:16 allison bacek: (understanding that some of the logic may just be abstracted away in the pseudocode to keep the flow clear)
22:16 allison bacek: what looks suspicious
22:16 allison ?
22:17 bacek allison: absence of checks for "if error checking"
22:18 bacek from pdd03 "Parrot by default will throw an exception for C<get_params>, but not for C<get_results>. "
22:18 allison bacek: yes, I explicitly removed those from the pseudocod, considering that to be a given
22:19 bacek allison: ah, ok.
22:19 allison (call it part of "error", that it only actually throws an exception under certain conditions)
22:19 allison bacek: it was really distracting in reading the pseudocode to list all those checks all over the place
22:21 Tene afk driving home
22:24 dalek parrot: r41773 | bacek++ | branches/pcc_reapply/src/call/args.c:
22:24 dalek parrot: [cage] Fix copy-pasted error: in fill_returns we should check RESULT_COUNT_FLAG, not PARAM_COUNT_FLAG.
22:24 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41773/
22:26 jrtaylor joined #parrot
22:37 dalek rakudo: 3a4d149 | jonathan++ |  (8 files):
22:37 dalek rakudo: Start to stub in the new binder a bit. We add a dynop and also a few other little bits, plus a place for the binding logic, since we'll want to use it from the ops and dynpmcs.
22:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​a4d149bf1c3aa5550b49c661c1e0b77add22120
22:37 shorten dalek's url is at http://xrl.us/bfrday
22:37 rdice joined #parrot
22:37 PacoLinux joined #parrot
22:40 dalek parrot: r41774 | bacek++ | branches/pcc_reapply/src/call/args.c:
22:40 dalek parrot: More checks for results_list to prevent Null dereferencing and overflow.
22:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41774/
22:44 darbelo joined #parrot
22:47 darbelo bacek: You were looking for me?
22:49 cotto_work any other questions?
22:49 cotto_work ;)
22:53 bacek joined #parrot
22:54 bacek darbelo: ping?
22:54 darbelo bacek: pong?
22:54 bacek darbelo: are you on openbsd?
22:55 darbelo Yep. i383 just updated to -current.
22:55 bacek darbelo: Good-good. Can you run prove t/src/embed.t on trunk?
22:56 darbelo All tests successful, 1 subtest skipped.
22:56 bacek hm...
22:56 * bacek wonder why it's failing http://smolder.plusthree.com/app/pu​blic_projects/report_details/28750
22:57 darbelo That one is extend.
22:57 bacek Ah, sorry. extend.t
22:58 nopaste "darbelo" at 200.49.154.173 pasted "prove -v t/src/extend.t" (50 lines) at http://nopaste.snit.ch/18282
22:58 bacek darbelo: what results for extend.t?
22:58 darbelo bacek: http://nopaste.snit.ch/18282
22:59 bacek darbelo: good. Care for interactive debug?
22:59 darbelo sure
23:00 bacek export POSTMORTEM=1; prove t/src/extend.t; gdb --args ./parrot t/src/extend_15
23:00 bacek r; bt;
23:00 dalek parrot: r41775 | allison++ | branches/pcc_reapply/src/call/args.c:
23:00 dalek parrot: [pcc] Basic rework of logic for fill_results function to use a temporary hash
23:00 dalek parrot: for named returns. Greatly simplifies the code, and keeps it more parallel with
23:00 dalek parrot: fill_params.
23:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41775/
23:01 mikehh pcc_reapply branch make smolder_coretest #28764 at r41774 - Ubuntu 9.04 amd64
23:01 mikehh 6,430 ok, 67 failed, 100 todo, 162 skipped and 1 unexpectedly succeeded
23:02 darbelo bacek: that's not working for me.
23:02 bacek darbelo: how zat?
23:03 darbelo IMCC barfs on t/src/extend_15
23:03 bacek oh, sorry. Drop './parrot'
23:03 * bacek need more coffee
23:04 nopaste "darbelo" at 200.49.154.173 pasted "bt for bacek++" (19 lines) at http://nopaste.snit.ch/18283
23:05 mikehh darbello: see TT #1100
23:06 dukeleto allison: test_more.pir is now working for me on the latest pcc_reapply. w00t
23:07 allison dukeleto: excellent
23:07 darbelo from what I can see there, an encodingless string is getting created *somewhere*.
23:07 bacek darbelo++ # Yay.
23:08 bacek darbelo: fixed.
23:08 bacek r41776
23:09 patspam joined #parrot
23:09 darbelo bacek++ #All tests successful.
23:10 dalek parrot: r41776 | bacek++ | trunk/t/src/extend.t:
23:10 dalek parrot: [cage] Remove wrongly created and unused PackFile in t/src/extend.t
23:10 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41776/
23:11 darbelo Oh. The test was wrong. I never looked there.
23:11 dalek TT #1100 closed by bacek++: t/src/extend.t:  failing in trunk
23:13 bacek darbelo: something like this.
23:14 TonyC joined #parrot
23:16 bacek mikehh: can you test r41776 on amd64?
23:16 dalek parrot: r41777 | allison++ | branches/pcc_reapply/src/call/args.c:
23:16 dalek parrot: [pcc] Add named result handling when the result list in the signature object is built.
23:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41777/
23:16 mikehh in progress
23:17 dukeleto allison: looks like some attributes on CallSignatures can only be read, but not set, such as 'named'. is this on purpose?
23:18 allison dukeleto: "named" is going away
23:18 allison dukeleto: we're going to store the named and positional returns in a single array
23:19 allison dukeleto: don't know about attrs, there may be some missing setters
23:19 allison dukeleto: (though worth checking if they're actually needed)
23:20 dukeleto allison: i am writing tests for the attrs now. anything else I should know? should I not write a test for 'named', since it is goin away?
23:21 allison dukeleto: yes, skip it, I'll rip it out right now
23:21 cotto_work clock?
23:21 purl cotto_work: LAX: Fri 4:21pm PDT / CHI: Fri 6:21pm CDT / NYC: Fri 7:21pm EDT / LON: Sat 12:21am BST / BER: Sat 1:21am CEST / IND: Sat 4:51am IST / TOK: Sat 8:21am JST / SYD: Sat 10:21am EST /
23:22 dukeleto allison: gotcha
23:22 allison dukeleto: scratch that
23:23 bacek seen fperrad
23:23 purl fperrad was last seen on #parrot 1 days, 5 hours, 22 minutes and 30 seconds ago, saying: Whiteknight, this version is without note, so links work, http://fperrad.googlepages.com/parrot.pdf  [Oct  8 17:52:15 2009]
23:23 jonathan allison: "we're going to store the named and positional returns in a single array" - what exactly does this bit mean?
23:23 allison dukeleto: "named" in get_attr_string is not named returns, it's a shortcut for accessing the internal hash of named arguments
23:23 jonathan (I don't see a problem as such, I'm just curious how it will look...)
23:24 dukeleto allison: ok, will include a test for it then
23:24 allison jonathan: it means for returns (and only for returns), a signature of SnP (string name plus PMC value) is stored as two PMCs in the returns array
23:25 jonathan allison: Ah, name then value?
23:25 jonathan allison: OK, cool.
23:25 allison jonathan: first a  String PMC to hold the name, then a CPointer to hold the value
23:26 jonathan allison: I think this is not symmetric with the other direction though, where a separate array and hash are built?
23:26 jonathan (as in, the arguments)
23:26 jonathan Or do you see that changing to the SnP model and a signle array in the future too?
23:26 allison jonathan: yes, the logic is reversed for args and returns
23:26 allison jonathan: no, this is just temporary
23:27 jonathan allison: Which bit is temporary?
23:27 allison jonathan: (keep in mind that results are parallel to params, which are also held sequentially, so doing it this way is actually more parallel)
23:27 allison jonathan: the single array approach is temporary
23:28 jonathan allison: Because in the future we can re-order the opcodes and have returns being requested after the call, not set up before it?
23:29 allison jonathan: yes
23:29 jonathan And then make the two completely symmetric?
23:29 jonathan OK.
23:29 allison jonathan: make the two completely the same
23:29 allison as in, a return is just a call
23:29 allison (which, it actually is, since it's an invocation of a return continuation)
23:29 jonathan OK. You wanted to retain PASM-level compatibility, within a deprecation cycle?
23:30 bacek allison: what about Perl5 want() function? How it can be implemented if we swap get_results/set_returns?
23:30 allison jonathan: yes, PASM is a public interface
23:30 jonathan allison: OK, that's fair enough.
23:31 allison bacek: by signatures
23:31 jonathan .oO( do not want ;-) )
23:32 jonathan allison: One more question. Does CallSignature currently have two PMCs inside it - an array and a hash? And is there a way to get hold of those?
23:32 bacek allison: Will new sequence be like this: callcc; set_returns; get_results;? How I can get signature for get_results inside called function?
23:32 jonathan A spec'd, decently fast way..
23:33 allison bacek: set_args; call; get_params; set_returns; return; get_results
23:33 bacek allison: and at "set_returns" point we don't have signature for "get_results".
23:34 allison bacek: you do if you passed it to the call
23:35 bacek allison: so, technically speaking, "passing CallSignature into call" is same as "storing 'raw signature' inside caller context" (as per current behaviour)
23:36 dalek parrot: r41778 | dukeleto++ | branches/pcc_reapply/t/pmc/callsignature.t:
23:36 dalek parrot: [t] Add some basic tests for CallSignature attributes
23:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41778/
23:36 allison bacek: it's the functional equivalent, yes
23:37 allison bacek: (and means we can rip out some of those elements of the Context struct
23:37 bacek so, even with current implementation we can use fill_params inside returncc.
23:37 allison bacek: not really
23:38 bacek allison: why?
23:38 allison it's backwards
23:39 bacek nope. We remember raw signature in .get_results; create CallSignature and call fill_params in .returncc
23:39 allison bacek: which doesn't work when the call was something other than an op
23:40 allison bacek: there is no raw_signature in that case
23:40 bacek _from_c can just create raw signature, save it in Context and invoke something
23:40 allison bacek: it brings back exactly the nightmare that we're escaping with the new code
23:41 allison bacek: every method of result handling has to know what to do with every method of return passing
23:42 allison bacek: we're throwing the code away in 3 months anyway
23:42 bacek and replace it with?
23:42 allison just fill_params
23:43 allison the same for args and returns
23:43 allison with no special casing
23:43 allison and no storing of the raw_signature
23:43 bacek my point is that we can do it right now.
23:43 allison clean and simple
23:43 jonathan bacek: The "more than one way to represent the call" situation today is painful.
23:43 allison we can do it now with a horrible hack
23:44 allison we can do it in 3 months with clean and simple code
23:44 jonathan bacek: The fake contexts are also rather suboptimal.
23:44 * darbelo wanted flying ponies, but is happy with clean and simple.
23:44 jonathan And a pain to handle too.
23:44 bacek jonathan: I'm not talking about "fake context"
23:45 allison bacek: I saw your code, and I understand that it's simple when you only handle that one limited case
23:45 bacek _from_c functions can just copy values to/from Context registers. Than we will have only one method to passing params/returns.
23:45 allison bacek: but handling all the cases is a nightmare, trust me
23:45 bacek allison: can you explain more?
23:46 allison bacek: I already have
23:46 allison several times
23:46 bacek "all cases"?
23:47 mikehh pre/post-config, smoke (#28765) PASS, fulltest FAIL at r48776 - Ubuntu 9.04 amd64
23:47 mikehh fulltest (testf, testg and testS) (same tests FAIL, same results)
23:47 mikehh t/compilers/imcc/syn/macro.t - Failed tests:  2-4
23:47 mikehh t/compilers/imcc/syn/regressions.t - Failed test:  7
23:47 jonathan bacek: But from_c functions doing that means they're another special case.
23:48 bacek jonathan: we have same special case in pcc_reapply anyway
23:48 jonathan bacek: afaict though, the overriding idea is "in any call, there is some common data structure holding the arguments"
23:48 allison calls to and from varargs, ops, NCI call frames, embedding C code, etc
23:49 bacek allison: all of them fill regs before call, copy back after call.
23:49 allison bacek: in pcc_reapply we have one set of reversed logic for returns, much simpler
23:49 bacek jonathan: it's called "raw signature" with my proposal.
23:49 rhr joined #parrot
23:49 nopaste "mikehh" at 86.178.198.194 pasted "pcc_reapply branch - build failures in src/call/arg.c with g++ at r41778" (13 lines) at http://nopaste.snit.ch/18284
23:50 allison bacek: not all, the C calls don't even need regs
23:50 allison bacek: in the old code we had to dummy up fake registers for C calls, just so they could transfer args and returns
23:50 allison bacek: it was quite insane
23:50 allison bacek: (and very costly)
23:51 mikehh it builds with gcc but get build failures with g++
23:51 chromatic mikehh, I'll try to fix that in a moment.
23:51 bacek allison: creating CallSignature, bunch of CPointers for every single call doesn't look cheap either.
23:51 allison bacek: cheaper
23:52 allison bacek: cleaner
23:52 allison bacek: and gets us 5 steps toward even more cleanups
23:54 bacek allison: may be.
23:56 mikehh pcc_reapply - make spectest_smolder #28766 at r41778 - Ubuntu 9.04 amd64

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

Parrot | source cross referenced