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