www.parrotcode.org/ | Last release: 0.7.1 "Manu Aloha"
Set by moderator on 17 September 2008.
00:09 AndyA joined 00:25 s1n left 00:39 TiMBuS joined 00:59 tetragon joined 01:19 Ademan joined 02:13 s1n joined 02:20 Ontolog joined
Tene searches for foo2.pir, which isn't in the repo 02:50
pmichaud Tene: I just sent a new ticket that has the .pir file. 02:53
rt #59538. 02:55
03:03 tewk joined
Tene pmichaud: up for making a patch to attach to that ticket? 03:19
No internet at hotel.
add dump_dominators(unit);\\ndump_instructions(interp,unit); to compute_dominance_frontiers in cfg.c 03:21
very informative here.
dump_cfg might be nice too 03:27
I think I have a fix. I'm unsure of the logic here. I don't trust my sleephacking much here. 04:06
04:07 Bzek joined
Tene climbs out of bed to find ethernet jack 04:18
pmichaud: patch added to the ticket. 04:24
04:32 tetragon joined 04:35 Andy joined 04:54 iblechbot joined 04:56 particle1 joined 05:11 petdance joined 05:43 particle joined 06:02 uniejo joined 07:25 isop joined
dalek r31562 | moritz++ | trunk: 07:47
: [rakudo] implement regex and closure handling in Str.trans.
: Patch courtesy by Chris Fields, cjfields++. Closes RT #59446
diff: www.parrotvm.org/svn/parrot/revision?rev=31562
r31563 | moritz++ | trunk: 07:55
: [rakudo] more transliteration tests for spectest_regression
diff: www.parrotvm.org/svn/parrot/revision?rev=31563
08:11 tomyan joined 08:21 Ademan joined 08:46 viklund joined
dalek r31564 | kjs++ | trunk: 08:59
: [pirc/new] trying to move all instruction-selection/generation to the pir.y instead of the back-end (for good reasons).
: This operation is a bit bigger than expected; this patch is about halfway there. Lots of cleanup will follow.
: + fixed a bug.
diff: www.parrotvm.org/svn/parrot/revision?rev=31564
09:02 barney joined 09:08 kj joined 10:01 Zaba joined 10:59 bacek joined 11:01 iblechbot joined
bacek evening... good evening... 11:11
11:17 ruoso joined
Zaba Is perl 6 completely exception-based? I.e. does it raise an exception for any kind of error occuring? 11:59
12:02 tetragon joined
moritz can't think of an error that's not an exception 12:22
Zaba nice 12:24
moritz, is an exception thrown when one tries to access undefined hash/array elements? 12:25
moritz dunno about arrays, but hashes surely not 12:28
hashes autovivify by default
12:47 masak joined 13:17 Zaba_ joined 13:24 pyrimidine joined 13:37 cognominal joined 13:43 jhorwitz joined 14:09 Debolaz joined 14:34 pyrimidine joined 14:54 donaldh joined 15:00 clunker9__ joined 15:03 Andy joined 15:06 donaldh_ joined 15:25 donaldh joined 15:30 donaldh joined
dalek r31565 | julianalbo++ | trunk: 15:31
: change signature of string_to_cstring and throw an exception when received a NULL string
diff: www.parrotvm.org/svn/parrot/revision?rev=31565
15:37 hercynium joined
pmichaud accessing a hash element doesn't throw an exception, but it does return an Object that will likely throw an exception if one attempts to take its value 15:50
my %hash; say %hash<foo>; # probably throws a "use of undefined value" exception 15:51
15:51 Theory joined
moritz a non-fatal exception aka "warning" ;) 16:04
NotFound If the object is global, is a global warning? 16:05
moritz global warming? 16:06
purl rumour has it global warming is fun!! or thoroughly debunked at xrl.us/e5zi or www.realclimate.org/ or just a lot of hot air or responsible for hippy jet lag
pyrimidine perl6: my %hash; say %hash<foo>.WHAT; 16:09
polyglotbot OUTPUT[Failure␤]
NotFound Someone has tested the patch for #59538 ? 16:31
16:35 Theory joined
Hinrik rakudo: undef.WHAT 16:41
polyglotbot RESULT[undef]
16:48 Limbic_Region joined
Limbic_Region salutations - anyone in the general boston area looking for part time freelance work? 16:49
16:53 apeiron joined
dalek r31566 | julianalbo++ | trunk: 16:56
: throws on null string hash key, RT#59542
diff: www.parrotvm.org/svn/parrot/revision?rev=31566
16:58 ab5tract joined
particle Limbic_Region: i'm looking for part-time telecommute 17:00
moritz seen coke 17:08
purl coke was last seen on #parrot 2 days, 23 hours, 17 minutes and 23 seconds ago, saying: points to partcl.blogspot.com/ [Sep 29 17:51:02 2008]
17:12 apeiron joined
moritz msg coke some of your tclsh processes on feather ate up quite a bit of mem (2g) before I killed them - please consider starting them with ulimit in the future 17:13
purl Message for coke stored.
17:27 johbar joined 17:56 radhios joined 18:12 Ivatar joined
Tene prods pmichaud 18:13
particle really hopes his ram arrives tomorrow 18:14
Tene Hmm. It's particle. 18:15
I was going to harass you about something, but I don't remember what it was.
particle *phew* 18:16
particle shuts down one vm so he can open another
Tene I guess I could just make stuff up.
18:16 Limbic_Region joined
Limbic_Region purl msg particle the guy would prefer someone local to Boston but may be interested - email me at my gmail account for further details 18:17
purl Message for particle stored.
particle thanks, Limbic_Region
Tene Hey particle! Send me that patch!
Limbic_Region this client is flaky so I wasn't sure how long I would stay connected
Limbic_Region wanders off 18:18
nopaste "particle" at 98.232.28.49 pasted "'that patch' for tene" (314 lines) at nopaste.snit.ch/14218 18:19
particle :P
wow, one of my distant cousins, born at 1lb 10 oz, is now 17lbs at 9 1/2 months 18:21
Tene particle: you want to evaluate my imcc alligator patch for sanity? 18:22
particle tene: could you apply that in patch in languages/perl6 and let me know if make spectest_regression passes?
Tene Sure.
Tene svn up 18:23
particle tene: i took a look at it, and it seems sane enough. however, i'm no alligator expert
Tene t/compilers/imcc/reg/alloc.t passes. 18:24
I'll commit it, I guess.
particle yeah, commit it. if we get smoke failures, we'll know
hrmm, actually, we have some smoke failures atm already 18:26
before your patch
all the failures here: smolder.plusthree.com/app/public_pr...st_failure 18:28
are related to: src/string.c:2241: failed assertion '(s)->encoding'
Tene That looks familiar
spectest_regressing now
nopaste "tene" at 148.87.66.55 pasted "spectest_regression failures for particle" (13 lines) at nopaste.snit.ch/14219 18:34
particle tene: thanks, any idea if those failures appeared before the patch? 18:35
Tene Um, maybe. >.> 18:36
Lemme check
particle rebuilds parrot on ubuntu
18:38 Zaba joined
ab5tract does anyone here know much about cardinal? 18:42
tewk ab5tract: Tene is the cardinal man now. 18:45
ab5tract cool. i've been looking at the code.
Tene Yeah, I've done most of the work on cardinal. 18:46
ab5tract don't know pir so much, but ive been making a kind of sense out of it
is there any plan to do some of the coding using the PCT?
Tene It does use PCT.
src/parser/actions.pm
src/parser/grammar.pg 18:47
ab5tract okay, cool. thanks for the examples
Tene I'd love to get more help on cardinal. I'm glad to answer any questions you have.
Oh! I remember now. 18:48
ab5tract i was glad to see update news in the last few parrot announcements
Tene particle: you're a metacommitter, right?
particle ayep 18:51
Tene dmknopp's CLA came in. I think he got his bitcard account set up. Can you check on tha and give him commit rights? 18:52
particle i asked dmknopp to perform his tasks after #parrotsketch, and got no response from him
Tene Ah.
particle i'll look into it
Tene Thanks.
particle you are mentoring him?
Tene Oh, he ran into some problems with svn.perl.org/account throwing errors. 18:53
I am.
particle ok
he may need svn-admin@perl.org help
Tene particle: looks like the same failures without your patch. 18:54
ab5tract Tene: what's a good place to start in terms of helping with cardinal?
particle yay for me!
Tene ab5tract: more tests would be very nice. you can look in t/array/ for examples of what we need for t/hash and t/string and t/block etc. 18:55
once we have failing tests, we need to fill those methods in in the classes in src/classes/*.pir
ab5tract cool.
Tene And possibly some grammar work for some features. 18:56
ab5tract okay, so there's still a fair bit of pir going on.
18:56 isop joined
particle yes, but the tests are in ruby 18:56
Tene Most of those should be pretty easy, you can copy and modify from languages/perl6/
ab5tract i was reading through cmp.pir and was smelling what the code was stepping in
Tene But yes, tests are all ruby, and will help a lot
ab5tract guts.pir was a little over my head, but i think the basics of pir are pretty easy to grasp 18:57
Tene When I started cardinal, I didn't know any ruby at all, so... help on the tests is how I've gotten this far.
18:57 sjansen joined
ab5tract is there any relationship between cardinal tests and the rubinius tests? 18:59
Tene ab5tract: not yet. I took a look at some of them, I think, and they require more features than we have yet to even run the tests. They're not designed to be friendly to a beginning implementation, if those are the tests I'm thinking of.
particle tene: i think they are 19:00
and you're right
i wonder what ephoenix has to say about that
Tene Who's that?
19:00 Theory joined
particle the lead vm guy for rubinius 19:00
particle summons ephoenix 19:01
pmichaud it's a common problem -- most people writing tests for a language tend to assume the language is fully implemented :-)
I saw the same problem with the python test suite -- the test harness kinda assumes that there's a full-fledged python compiler running it. 19:02
Tene pmichaud: do you want me to add support for next/redo/last to all the loops, or will that just cause trouble when you try to refactor into using a common 'loop' sub?
pmichaud I think it'll cause trouble.
or, more likely, it'll just get ripped out then.
I could go ahead and do the loop refactor today/tomorrow, though. at least the basics. 19:03
I'm still trying to decide how I'll want to represent Perl 6's FIRST/NEXT/LAST blocks, though.
isop pmichaud: I think pynie's tests will be nicer once we can use Parrot's test classes 19:04
pyrimidine pmichaud: Was anything decided on regex modifiers (whether they are bound to the regex or not)? Or is @Larry still mulling it over? 19:05
pmichaud Both Larry and I tend to think of :g as being something outside of the regex rather than internal to it
yes, this does pose some interesting questions for .subst( rx:g/.../, ...) 19:06
I somewhat wonder if that should instead be .subst( rx, :g )
er, .subst(rx/.../, ..., :g)
pyrimidine It would be easier to pass it as a named arg, yes
pmichaud or even .subst(rx/.../, ...):g
pyrimidine I was thinking .subst(:g, rx/.../, ...) (which is the same as .subst(rx/.../, ..., :g) I guess) 19:07
pmichaud for example, what if I have a regex in $x that I want to match globally, but didn't have the :g flag at the time I created the regex? I suppose I could use .subst(rx:g/$x/, ...) but that seems a little odd.
jhorwitz :g alters the semantics of the substitution, not the regex.
pyrimidine But you can use it for .match as well 19:08
jhorwitz how so?
pmichaud jhorwitz: as currently defined in S05, :g is a modifier to the regex, though.
jhorwitz hm, maybe i need to reread that one
pyrimidine $str.match(rx:g:i/foo/), I think
particle maybe it needs to be rewritten
jhorwitz ok, so you can use it in match, but does it actually do anything? 19:09
pmichaud sure, it returns a lazy list of matches instead of a single match.
jhorwitz ah, ok
so ignore my previous comment. :) 19:10
pyrimidine We could implement .match returning a list of Matches using :g. That would be easy.
Tene Hmm. Maybe I should try to pick up jonathan's lazy lists branch. 19:11
dalek r31567 | tene++ | trunk: 19:12
: [imcc]
: * Probably fix an infinite loop in compute_dominance_frontiers.
diff: www.parrotvm.org/svn/parrot/revision?rev=31567
Tene pmichaud: think you could throw together a sketch of what 'for' would be like with the pct loop refactor? 19:13
I'm looking for something to implement on the plane tonight.
pmichaud Tene: it probably wouldn't be of much help.... 19:14
.sub 'for' :method; .param pmc node; .return self.'loop'(node); .end 19:15
where 'loop' uses the pasttype of the node to figure out what to do with the initialization/test/iteration steps. 19:16
....I *might* do it as
.sub 'for' :method; .param pmc node; .return self.'loop'(node, init, cond, iter, body); .end 19:17
where 'for' constructs appropriate things for init/cond/iter/body
and while/until/etc would do similar things
we'd also need a flag to indicate whether the body is to be executed pre-condition or post-condition (e.g., repeat, do) 19:18
particle or you could have pre- and post- conditions
pmichaud that too
Tene I was thinking separate pre and post conditions. 19:19
and construct those appropriately in actions.pm?
pmichaud no
Tene Ah.
Okay.
pmichaud actions.pm would still just generate :pasttype('for'), :pasttype('until'), etc.
particle ah, good.
pmichaud but each of those would re-dispatch to a common loop generator code.
(with appropriate params) 19:20
particle which lives in pct
past::compiler?
purl past::compiler is just an instance of HLLCompiler
pmichaud yes.
again, it's similar to the way that :pasttype('unless') is actually generated by the 'if' sub
er, 'if' method.
and 'until' is actually generated by the 'while' method
Tene pmichaud: you don't mind me harassing you about PCT changes?
pmichaud no, not at all. 19:21
Tene Okay, good.
I'll see what I can get done tonight.
particle well, it's hardly harassment then.
try harder!
Tene particle: just means... yeah, that.
pmichaud I'm just having trouble keeping abreast of multiple "push the frontier" efforts
Tene pmichaud: If there's ever anything you want to delegate to me, please do. 19:22
pmichaud will do. I like the code you're putting together.
Tene My biggest blocker is usually finding things to work on. 19:23
isop pmichaud: you said Parrot's namespace/module objects should probably wrap method calls to function calls... is there a good way to do that? 19:28
Tene isop: you were saying that python needs to get support for using external modules and such? 19:29
pmichaud isop: I have no idea.
isop Tene: yes :)
it might be nice to generate a method on the fly that calls the function
pmichaud Tene: instead of working on exceptions/loops (which I have very specific ideas for what should happen), perhaps we could get things moving on .HLL ?
Tene isop: take a look at r30676 for the revision where I copied rakudo's to cardinal. 19:30
pmichaud: Sure.
I've got the next four days off work, too.
isop Tene: if I'm not mistaken, ruby's namespaces are a lot more like perl's than like python's, i.e. require just exec's the file, which has to use the proper namespace itself 19:32
Tene: I did get that part working, though, basing stuff on cardinal :)
Tene pmichaud: any more-specific prerequisites to .HLL you can point me at? 19:34
pmichaud Tene: we need a couple of revisions to p6object, so that it creates classes with the correct namespace 19:36
Tene The :: issue? 19:37
pmichaud yes
Tene Okay.
pmichaud then we'll want to update the components relying on that to not expect the ::'s
then fix new_class and register so they're hll aware
I propose we do all of this in a branch. :-)
I have to go pick up kids (will take ~45 mins), but will start on a couple of things when I get back 19:38
Tene Would be nice if you create the branch within the next hour.
pmichaud you can go ahead and create the branch, perhaps?
just create it from current trunk
Tene 'kay
pmichaud I'll get started on things or at least outline the changes in the next hour. 19:39
Tene You'll notice there's a theme to branch names I choose. 19:41
particle hey, i've escaped the rabbit hole!
time to get 'is export' working now
dalek r31568 | tene++ | hllmagic:
: Create a branch from trunk to work on .HLL issues.
diff: www.parrotvm.org/svn/parrot/revision?rev=31568
r31569 | particle++ | trunk:
: [rakudo] accept apostrophe (' and -) in identifiers 19:42
diff: www.parrotvm.org/svn/parrot/revision?rev=31569
pmichaud Tene: okay, here are some things for hll stuff 20:11
first, I'd like it so that when p6object is told to create or register a class with :: in it, it splits the name on double-colons
new_class and register should also be smart enough to handle being passed a namespace
if a protoobject gets created, it should be based on the class' namespace (current I think it does it based on the class' name) 20:12
I could probably write and commit a few tests for this
particle++ # apostrophe and hyphen in names 20:16
can we start getting rid of the underscores in the test filenames now? ;-)
20:16 cjfields joined
particle yes, please! 20:16
moritz we could before
somebody just needs to do it
particle not for modules 20:17
now we can
pmichaud the argument before was simply that we wanted to keep filenames matching valid identifier names :-) 20:18
Tene tests are good. 20:23
pmichaud I'm trying to decide how p6object should handle creating classes in other namespaces -- i.e., what the interface should look like 20:24
clearly if passed a namespace, then that determines the hll namespace, so no problem there.
but if called as p6meta.'new_class'('Foo::Bar') then I'm wondering how p6object should decide what hll to use. My best guess is that it should auto-detect the hll of the caller and use that. 20:25
or, we could require that callers pass in the hll to use, as in p6meta.'new_class'('Foo::Bar', 'hll'=>'perl6') 20:26
20:26 gryphon joined
jhorwitz or both? 20:27
purl both is country *and* western or salt and MSG
particle make hll an optional named arg that defaults to current hll? 20:28
jhorwitz yes
pmichaud "caller hll", please
p6object is in the 'parrot' hll namespace.
particle ah, yes caller hll. ship it.
pmichaud anyway, I'll commit an initial hll namespace item. 20:30
(test, that is)
20:32 Zaba joined
dalek r31570 | julianalbo++ | trunk: 20:37
: some fixes in the open opcode
diff: www.parrotvm.org/svn/parrot/revision?rev=31570
20:47 not_benh joined
not_benh in preping for the PDX.pm talk on wed I noticed an issue with the getting started docs www.parrotcode.org/docs/gettingstarted.html 20:47
dalek r31571 | pmichaud++ | hllmagic:
: [p6object]: some beginnings for p6object hll tests
diff: www.parrotvm.org/svn/parrot/revision?rev=31571 20:48
not_benh in the if you use git stuff you can just use HEAD as the revision
git svn clone -s -r HEAD svn.perl.org/parrot
particle not_benh: so, basically, replace <revision> with HEAD 20:55
:w
oops
moritz detects a vim user ;) 20:56
not_benh particle: yup, that and the part about finding the most recent rev
particle: horray for vimming =)
particle: though it kinda makes me wonder why some one has not built a git repo somewhere with all the history 20:57
particle i think that's been done, but i don't pay much attention since i don't use git
dalek r31572 | particle++ | trunk:
: [docs] better instructions for git users (not_benh++)
diff: www.parrotvm.org/svn/parrot/revision?rev=31572
moritz I think somebody did already
not_benh it would be a long inital build but I think that you could just automate the fetching and keep things in sync
particle that change should post to the website tonight
20:58 iblechbot joined
particle it'd be nice if there was a way to throttle it to keep perl.org servers happy 20:58
Tene iptables!
purl iptables is the userspace command line program used to configure the Linux 2.4.x and 2.6.x IPv4 packet filtering ruleset
Tene I've got a complete git-svn copy. 20:59
not_benh moritz: the only one I could find was repo.or.cz/w/parrot.git and that seems like it's a out of date by a month and a half
Tene 276M
If anyone wants to pull from me instead, ask sometime I'm at home.
moritz not_benh: better starting from that than from scratch
Tene then just keep it up to date with git-svn fetch.
not_benh moritz: sure is 21:00
PerlJam Tene: I have one of those too. One of us should put it up on feather or something for others to use :)
Tene Yeah, one of us.
PerlJam I nominate you then :) 21:01
Tene I... I'm just headed out the door right now to go to the airport.
not_benh I don't know if there would be any issues with posting to github or not but that would offset the bandwith issues
Tene: travel safe 21:02
Tene Thanks. :)
PerlJam not_benh: indeed.
21:07 ruoso joined
isop pmichaud: bugs.launchpad.net/pynie/+bug/277282 21:10
particle pmichaud: i need to look up a PAST::Var 21:13
how do i do that?
:name('block'), :scope('register')
dalek r31573 | moritz++ | trunk: 21:14
: [rakudo] implement Str.chomp, and add test to spectest_regression.
: Patch courtesy by Ahmad Zawawi <ahmad dot zawawi at gmail.com>, azawawi++
: Closes RT #59556
diff: www.parrotvm.org/svn/parrot/revision?rev=31573
21:18 Whiteknight joined 21:21 Zaba joined 21:51 Limbic_Region joined
Limbic_Region particle ping 21:51
isop pmichaud: oops, it seems I didn't update the test count in that patch (1..13)
particle Limbic_Region: pong 21:52
dalek r31574 | moritz++ | trunk: 21:55
: [rakudo] in tools/update_passing_test_data.pl, try to print out the number of
: planned tests instead of the number of ran tests. That's only possible for
: very new TAP::Harness versions, so be nice if it's not new enough.
diff: www.parrotvm.org/svn/parrot/revision?rev=31574
r31575 | Whiteknight++ | trunk: 22:20
: [Config] Add file-level and function-level documentation for config/gen/platform/win32/time.c
diff: www.parrotvm.org/svn/parrot/revision?rev=31575
particle Whiteknight: www.cs.washington.edu/homes/djg/pap...psla07.pdf 22:22
thought you might like to read that 22:23
Whiteknight Thanks, I've actually read part of that paper before
Maybe now I'll have to read the whole damn thing
particle :)
Whiteknight slowly but surely i'm going to document this whole codebase. 22:29
but now it's time for dinner. 22:30
22:30 TiMBuS joined 22:43 Theory joined 23:10 Theory joined 23:27 tetragon joined 23:36 bennett joined 23:51 Khisanth joined