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