|
Parrot 0.8.1 "Tio Richie" Released | parrot.org | 24 TT | 648 RT Set by moderator on 10 December 2008. |
|||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=33940 | 00:00 | |
| GeJ | as of r33938: All tests successful in Parrot (14 tests and 620 subtests skipped) on FreeBSD 7 | 00:02 | |
| testing the languages now. | |||
|
00:03
tetragon joined
|
|||
| GeJ | what about lua? | 00:05 | |
| jonathan | Lua is, I believe, pretty complete. | 00:06 | |
| chromatic | yes, it is. | 00:07 | |
| GeJ | ok, so testing lua too. | ||
|
00:09
AndyA joined
|
|||
| wknight8111 | GeJ | 00:17 | |
| GeJ++ (that's what I meant) | 00:18 | ||
|
00:21
nopaste joined
|
|||
| chromatic | particle, why is the file still open in r33938? | 00:28 | |
| GeJ | wknight8111: I'm all confused with TZ and all, how long before the release? | 00:30 | |
| wknight8111 | about 24 hours | ||
| what timezone are you in? | |||
| GeJ | NCT (yup, I have my own timezone) | ||
| wknight8111 | oh nice, sounds expensive | 00:31 | |
| GeJ | New Caledonia. A small island in the vicinity of Australia. | ||
| timezone-wise, we're between eastern Australia and New Zealand. | |||
|
00:43
bacek_ joined
|
|||
| peters says g'night | 00:46 | ||
|
00:49
arthur joined
|
|||
| Alias | OK, this is annoying | 00:54 | |
| perl6 works for me | |||
| But it doesnt' work for anyone I give my installer to | |||
| GeJ | which test suite should I run for pipp? is 'test-all' ok? | ||
| pmichaud | alias: the *.pbc files are missing, afaict | ||
| GeJ | so far (100% +1 test for Rakudo and 100% for pheme) | 00:55 | |
| jonathan | Alias: You tried it on a machine that doesn't have a Parrot, or after make realclean (or even just make clean) in the directory you did the build? | ||
| arthur | work harder people, pleaaaaase, i want dot notation in perl ! | 00:59 | |
| jonathan | Dot notation? | ||
| purl | Dot notation is of the devil | ||
| arthur | oooh :( | ||
| jonathan uses the cross operator to defeat it | |||
| cotto | Cartesian or holy? | 01:00 | |
| jonathan | We have a holy cross operator in Perl 6? | 01:01 | |
| pmichaud | It's XoX I think. | ||
| (because it has a "hole" in it) | |||
| jonathan | *groan* | ||
| arthur | I wanted to help by wrinting tests, but I don't find them : | ||
| arthur@aquarelle:~/Sandbox/parrot$ ls languages/perl6/t/ | 01:02 | ||
| 00-parrot 01-sanity harness pmc spectest.data | |||
| jonathan | arthur: make spectest | ||
| purl | make spectest is failing more than usual too | ||
| pmichaud | arthur: tests are managed in the pugs repository | ||
| wknight8111 | XoX is a real operator? | ||
| arthur | oh | ||
| jonathan | wknight8111: Sure, if you define an infix:o | ||
| pmichaud | wknight8111: not yet, at least not until someone defines infix:<o> :-P | ||
| jonathan | arthur: If you do make spectest it will check 'em out. | ||
| arthur | hey that works ! | ||
| pmichaud | or even just "make t/spec" | ||
| arthur | thanks ! | 01:03 | |
| wknight8111 defines an XoX operator that gives hugs and kisses to all the elements of an array | |||
| arthur | you should add this to the "how to help" page | ||
| pmichaud | we need an article somewhere about "how to write tests" | ||
| arthur | did not see that nowhere | ||
| pmichaud | which "how to help" page? | ||
| (there are so many...) | |||
| arthur | pmichaud: I think it was the parrot one | ||
| pmichaud | okay. | ||
| we need to get some "standard" pages up on rakudo.org or something. | 01:04 | ||
| or on the perl6 wiki. | |||
| arthur | ( or everywhere ) | ||
| GeJ | pipp: errors in gmp (probably because I didn't build Parrot against it) otherwise big Woohoo! | 01:05 | |
| now, lua and lolcode | |||
| polyglotbot | OUTPUT[errors in gmp (probably because I didn't build Parrot against it) otherwise big Woohoo!] | ||
| arthur | hey, is it true that with parrot i'll be able to use python moduels in perl6 ? | ||
| jonathan | ...lol | ||
| polyglotbot++ | 01:06 | ||
| arthur: Not quite yet, but that's the goal, yes. | |||
| arthur | wow, and compile perl6 scripts to swf ? | ||
| jonathan | ...what?! | 01:07 | |
| arthur | :) | ||
| jonathan | That's maybe a *longer* term goal. ;-) | ||
| GeJ | I HAS A FAIL | 01:10 | |
| jonathan | OMG! | ||
| IN LOCODE? WTF? | 01:11 | ||
| pmichaud | yes, lolcode has a failure. | ||
| GeJ | t/01-vars.t | ||
| BTW MULTIPLE DECLARATIONS WITH ASSIGNMENTS SHOULD CLOBBER | |||
| pmichaud | it's re-declaring the same lexical twice. | ||
| jonathan | pmichaud: no, lolcode has a FAIL. | ||
| pmichaud | okay, jonathan. | ||
| purl | somebody said jonathan was mailto:jnthn@jnthn.net or trying to put together a grant application. | ||
| jonathan | ooh, pmichaud can be taught things like purl | 01:12 | |
| pmichaud: ltm is really easy, you just do it over dinner tonight | |||
| ;-) | |||
| pmichaud | right now I'm trying to decide what to do about Captures in Rakudo. ;-| | 01:13 | |
| jonathan | Specifically? | ||
| ...that spelling looks so wrong... | |||
| pmichaud | the "passing tests" we have involving captures pass by coincidence, not because Captures are in any sense "working". | 01:14 | |
| jonathan | ...oh damm, i'ts right... :-| | ||
| Coincidence? | |||
| purl | I think not | ||
| pmichaud | e.g., | ||
| jonathan | By being the only parameter? | ||
| pmichaud | my $capt = \\%hash; | ||
| isa_ok($capt, 'Hash', ...); # passes because Capture_PIR was a subclass of Hash | 01:15 | ||
| jonathan | Ah. | ||
| pmichaud | there are a few other instances. | ||
| jonathan | Hmm. Is it even spec that a capture isa Hash? | ||
| pmichaud | no. | ||
| it's not isa Hash | |||
| jonathan | does Associative for sure | ||
| Right. | |||
| pmichaud | I'm not even sure it does Associative | ||
| jonathan | Ah, becuase it's readonly? | 01:16 | |
| pmichaud | no, not for that reason. | ||
| consider: | |||
| Alias | OK, so | ||
| pmichaud | my $hashref = \\%hash | ||
| say $hashref<key> | |||
| Alias | I can get perl6 to run on the same host I built it on | ||
| pmichaud | is that key on the hash in the capture, or on the capture itself? | ||
| Alias | If the perl6/bin is in the PATH | ||
| But not on someone else's host, even if perl6/bin is in the path | 01:17 | ||
| pmichaud | Alias: the .pbc files are missing. | ||
| Alias | And Perl::Dist always builds in the same diorectory it will install | ||
| hrm | |||
| either missing or not locatable | |||
| pmichaud | at least, they were missing from the version I tried earlier. | ||
| Alias | Where do they end up | ||
| pmichaud: you tried the alpha-2? | |||
| pmichaud | in the build directory, in runtime/parrot/library | ||
| Alias: yes. | |||
| Alias | That's odd | ||
| jonathan | pmichaud: Is there a case where this manifests in a different answer to something? | 01:18 | |
| Oh, hang on, yes... | |||
| Because it's a reference to the hash, so if the hash changes, you'd expect a different answer out of looking into the capture. | |||
| pmichaud | my %hash = <a b>; my $capture = \\( %hash, :a(3) ); | ||
| $capture<a> = ... ? | |||
| jonathan | I think the spec says that it's not supposed to lose information, or something along those lines. | 01:19 | |
| pmichaud | keep in mind that "capture" is really "argument list" | ||
| jonathan tries to remember/find the exact quote that he's thinking of | |||
| arthur | pfff, can't write perl6 tests, all the easy ones are already done | 01:20 | |
| pmichaud | in this case \\( %hash, :a(3) ) means one positional and one named argument | ||
| but I don't think we can use .{ } on the capture itself to get to the named arguments. | |||
| because we need to be able to do .{ } on its first positional if it's to act like a reference. | |||
| jonathan | OH! | 01:21 | |
| Yes. Hmm. | |||
| So we'd expect in this context a hash would not flatten. | |||
| So %hash would be the first positional arg. | |||
| wknight8111 | the new Padre is very nice | ||
| jonathan | So $capture<a> would be 3 I'd guess. | 01:22 | |
| pmichaud | oh, that's odd too. | ||
| I must be misinterpreting Capture somehow. | |||
| because obviously captures _do_ flatten. | |||
| jonathan | Well, we know when you do a calls (%hash, :a(3)) then it's a positional arg and a named arg, surely? | 01:23 | |
| pmichaud | yes. | ||
| jonathan | So I'd expect the same of captures. | ||
| Alias | pmichaud I double checked, and the alpha-2 DOES have the pbc files | ||
| pmichaud | alias: what directory? | ||
| purl | directory is an organized listing of data | ||
| Alias | C:\\perl6\\perl6\\runtime\\parrot\\library | ||
| pmichaud | I saw the .pir files there, but not the .pbc files | 01:24 | |
| let me fire up my vmware box | |||
| jonathan | pmichaud: S02 says that captures do both Associative and Positional. | 01:25 | |
| Found that while looking for the thingy I was originally after. | |||
| GeJ | Ouch... lots of problems with lua. | ||
| pmichaud | jonathan: so.... hrm. | ||
| GeJ | I really must have done something wrong | ||
| pmichaud | given: my $capture = \\%hash; is that the same as my $capture = \\(%hash) ? | 01:26 | |
| or is it more like my $capture = \\( |%hash ) ? | |||
| (or whatever the syntax is to get things into the named slots) | |||
| Alias: you're correct, the .pbc files are there. | 01:27 | ||
| I must've been looking at something else earlier. | 01:28 | ||
| jonathan | pmichaud: Not sure if this helps, but... | ||
| Alias | So how does perl6.exe resolve the location of the library | ||
| jonathan | S09 has this snkppet: | ||
| my @array; | |||
| my $cap = \\@array[0][0]; # $cap is a Capture object - see S02 | |||
| my :($obj) := $cap; # @array[0][0] created here | |||
| Oh, hmm, that's not relevant as it first looks. | |||
| pmichaud | Alias: in this case it's not really perl6.exe that resolves the library -- it's parrot. | 01:29 | |
| (more) | |||
| and parrot looks in the build directory for them. | |||
| Alias | ok | ||
| And yet on two matching machines, with the same directory structure, one works and the other doesn't | 01:30 | ||
| The difference being one is the one that built it, and the other is not | |||
| jonathan | pmichaud: S03 isn't clear on this to me. But if we expect to do $cap = \\@a and then later $cap[0], it would follow it's like \\(|@a) | ||
| Alias | Could timestamps be screwing anything up? | 01:31 | |
| jonathan | If it were the second, getting at @a[0] through the capture would be $cap[0][0] | ||
| pmichaud | jonathan: except (I think) that the first positional is also the thing used when in item context | ||
| i.e., captures have a notion of an "invocant" | |||
| they aren't truly "array + hash" in the same way that Match objects are, I don't think. | 01:32 | ||
| jonathan | pmichaud: \\($inv: $pos1, $pos, :named(1), :named(2)) | 01:33 | |
| I think \\$foo would fill the $inv slot, and you'd write $$cap to get at that (not sure there's another way) | |||
| pmichaud | except that doesn't fit the notion of it being a "reference" | ||
| jonathan | How so? | 01:34 | |
| pmichaud | i.e., if I do my $a = \\%foo; then I would expect $a.keys() to dtrt | ||
| which I guess it does if it puts all of the elements into the named slot | |||
| but it doesn't do that correctly if I later have %foo<new> = 5; | |||
| because $a wouldn't see the new key | |||
| jonathan | By fill I'm meaning binding rather than assignment. | 01:35 | |
| pmichaud | so, you're saying that \\%foo puts %foo into the invocant slot? | ||
| jonathan | No, I'm saying the hash slot references %foo | 01:36 | |
| pmichaud | ah. | ||
| pmichaud things. | |||
| *thinks. | |||
| and \\@foo would reference @foo in the array slot. | |||
| jonathan | That's how I thought it worked, yes. | ||
| pmichaud | how is prefix:<\\> to know this? | 01:37 | |
| it's not syntactically determined, is it? | |||
| Alias | hrm, weird | ||
| my path must be screwed | |||
| jonathan | I don't thing so. | ||
| S03 implies that \\ is the operator | |||
| Alias runs perl6.exe under procmon | |||
| pmichaud | note that there is prefix:<\\> and circumfix:<\\( )> | 01:38 | |
| jonathan | Yes. | ||
| pmichaud | so, prefix:<\\> on a Hash creates a capture with that Hash in the hash slot | ||
| jonathan | S03 doesn't make that clear. | ||
| But STD.pm does. | |||
| I think that would give the expected semantics, yes. | |||
| pmichaud | prefix:<\\> on an Array creates a capture with the Array in the array slot. | 01:39 | |
| prefix:<\\> on anything else puts it in the item slot. | |||
| jonathan | That would seem to make sense. | ||
| $cap[0] and $cap<x> then work out | |||
| I guess if you do something like | |||
| \\(:named(1), |%hash) | |||
| Then you no longer are referencing %hash any more because you flattened it out. | 01:40 | ||
| pmichaud | right | ||
| jonathan | And if you do \\($pos1, %hash) etc then %hash is referenced, as the second positional. | ||
| pmichaud | although you may still be referencing the things that %hash contains, just not %hash itself. | ||
| jonathan | Yes. | ||
| Alias | pmichaud: Can you download and run perl6.exe under procmon? | 01:41 | |
| pmichaud | some of this doesn't seem to completely fit with other statements I've seen TimToady make... but I've been missing some pieces so perhaps it makes sense. | ||
| I'll rethink it a bit, though. | |||
| in the meantime I'm wondering if I can cheat and just have \\@array and \\%hash return ObjectRef :-) | |||
| Alias | procmon is a little tool made by a tiny tools company microsoft bought some time back in history, it's basically kernel/library tracing for Win32 | ||
| pmichaud | I guess we've convinced ourselves that it can :-) | ||
| Alias: you'd have to walk me through it a bit -- I don't do much in the windows world anymore. | 01:42 | ||
| Alias | technet.microsoft.com/en-us/sysinte...96645.aspx | ||
| Download that, chuck the exe on your desktop or something | |||
| Then start it up, and under the Filter -> Filter... dialog, add a "Process Name" filter for "perl6" | 01:43 | ||
| Then run the perl6.exe -v from the command line, and see what ends up in the procmon trace | |||
| jonathan | pmichaud: Why can't you just have the operator create a capture and stick the thingy in the right slot? | ||
| Alias | Should give us an idea of if it's actually looking and not finding something, or if it's finding it, but freaking out about timestamps or something | 01:44 | |
| jonathan | Because Capture PMC doesn't have slots for three PMCs? | ||
| But does something more optimal under the hood? | |||
| pmichaud | because Capture PMC doesn't expose the slots to the user | ||
| jonathan | Ah. | ||
| So it lacks an interface to screw with it the way we want to. :-) | |||
| pmichaud | it probably can be made to do so, but doesn't yet. | ||
| right. | 01:45 | ||
| jonathan | It's one of those interfaces, that is easy to implement, but that I can't quite think how should look. | ||
| pmichaud | jonathan: I'll just make it return an ObjectRef for now. | ||
| jonathan | OK | ||
| pmichaud | we can worry about Capture later. | ||
| jonathan | wfm | ||
| pmichaud | thanks for the tips. | 01:46 | |
| jonathan | There's meant to be a separate signatures and captures synopsis at some point, IIRC. | ||
| pmichaud | yes, S07 | ||
| oh, S08 | |||
| (S07 is laziness and iterators) | |||
| jonathan | *nod* | ||
| S14 - didn't hear back from TimToady on it yet. | 01:47 | ||
| But he's travelling a lot ATM, so not so surprising. | |||
| pmichaud | Alias: okay, what am I looking for? | 01:49 | |
| Alias | So you have a procmon trace? | ||
| pmichaud | yes, with lots of events in it | ||
| Alias | What should happen, is there's about 10 or so events from loading the exe itself, then you should it almost immediately spend about 50 events traversing down into the runtime library | 01:50 | |
| (Assuming you filtered down to perl6) | |||
| I make it about 500 events for a total perl6.exe -v | |||
| Let me try a screenshot | 01:51 | ||
| pmichaud | if you happen to have crossloop available, I have it on my instance and I could give you access to my desktop. | ||
| Alias | crossloop... erm, googling | ||
| pmichaud | it's a fancy interface for remote desktop sharing | ||
| built on tinyvnc | |||
| Alias | ah | 01:52 | |
| installing | |||
| purl | it has been said that installing is one thing, using it is another. or in the 'famous last words' category | ||
| Alias | Installed | 01:53 | |
| purl | i think Installed is easy as well. | ||
| pmichaud | sent you my access code via privmsg | ||
| Tene | Okay, I have break and continue working in blocks with when() statements. | 01:57 | |
| pmichaud | nice. | ||
| Tene | There's one awkward hack... | ||
| pmichaud | send as patch for now then so I can look at the hack | ||
| Tene | using when in a block installs a handler for CONTROL_BREAK exceptions, according to spec... | 01:58 | |
| so right now I'm installing that handler in the when_statmenet method in actions.pm, only if there are no existing handlers already. | |||
| That check isn't the right check. | |||
| It won't break anything, though, afaict. Checking spectest_regression right now. | 01:59 | ||
| nopaste | "tene" at 97.117.74.5 pasted "when/control/break patch for pmichaud++" (181 lines) at nopaste.snit.ch/14966 | ||
| Tene | brb | 02:00 | |
|
02:00
apeiron joined
|
|||
| pmichaud | all: I have to disappear suddenly for a while -- things just got crazy at home. bb soon (I hope) | 02:00 | |
| Tene nods | 02:01 | ||
| This also lets when blocks return the right thing. | 02:03 | ||
| Which is pretty cool. | |||
| pmichaud | back for a bit | 02:05 | |
| the handler doesn't go on the innermost block, though. | 02:06 | ||
| (still this is a good first approximation) | |||
| Tene | It does according to S04 | 02:08 | |
| pmichaud | it goes on the innermost block that sets $_ | ||
| Tene | Ah. | ||
| I see it now. | |||
| Yeah, reading comprehension fail. | |||
| dalek | r33941 | tene++ | trunk: | ||
| : [pct]: Add more control types. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33941 | |||
| r33942 | tene++ | trunk: | |||
| : [rakudo]: Basic support for continue and break in given/when. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33942 | |||
| pmichaud | I'd be concerned about CONTROL_BREAK and CONTROL_CONTINUE as names. | 02:09 | |
| because what they're doing isn't at all what most languages think of as "break" and "continue" | |||
| Coke catches up with review for a bit. | |||
|
02:09
jimmy joined
|
|||
| pmichaud | (okay, 'break' is somewhat close to the c-style 'break') | 02:11 | |
| jonathan | Tene++ # given/when now useful! | 02:13 | |
| pmichaud | the CONTINUE exception just forces a return? | 02:14 | |
| okay, wfm | |||
| Tene | pmichaud: returns from the WHEN block, yes. | ||
| pmichaud | right. | 02:15 | |
| jonathan | pmichaud: How fixed did you make the WHENCE stuff in the assoc branch? | ||
| pmichaud | jonathan: I left it as a hash | ||
| jonathan | OK. | ||
| Tene | jonathan: are you wanting to use it for anything? I could use an example for blog. | ||
| pmichaud | jonathan: but got it all working, so merged branch back to trunk. | ||
| Tene: I'd like to see the handler generation factored. | 02:16 | ||
| jonathan | Debating if to do Rakudo day tomorrow, or if to keep my mitts off it on release day and do it on Wednesday. | ||
| If I do Rakudo day on Wed, I'll spend some time on Hague Grant work tomorrow, but that's in the branch... | 02:17 | ||
| Tene | pmichaud: agreed. I'll try to do that tonight. | ||
| pmichaud | it's okay to do it as a sub for now. | ||
| that'll also make it easier for when we fix it to attach the handler to the correct block | |||
| we need some way to easily determine which block is setting $_ as a param. | 02:18 | ||
| maybe we can get that from the signature information, when that's done. | |||
| Tene | We could possibly have a $?TOPIC_BLOCK | 02:19 | |
| pmichaud | I guess @?TOPIC_BLOCK, since we'd need to restore scope as well. | ||
| Tene | restore scope? | ||
| pmichaud | yes, when we exit $?TOPIC_BLOCK we'd need to restore the old one. | ||
| because they can nest. | |||
| for @foo { given { ... } when * { ... } } | 02:20 | ||
| Tene | Right. If we just look it up by crawling @?BLOCK and examining signatures, though, we wouldn't need to restore anything. | ||
| pmichaud | (note that the when attaches to the 'for', not the 'given' | ||
| Tene | Oh | ||
| Reading comprehension fail again. | |||
| Yeah, I understand now. | |||
| and yes, you're right. | 02:21 | ||
| pmichaud | yes, crawling @?BLOCK means we don't need to restore anything. | ||
| we could set something in each block's symbol table, though. | 02:22 | ||
| that might work. | |||
| that would actually be fairly easy. | |||
| $?BLOCK.symbol('$_', :parameter(1) ) | |||
| Tene driving & | 02:23 | ||
| pmichaud | anyway, if you can get the refactor, we can certainly handle the parameter stuff. | ||
| This is fantastic work. | |||
| pmichaud twitters more news. | |||
| jonathan needs to sleep... | 02:26 | ||
| pmichaud | jonathan: just returning an ObjectRef seems to work for now. :-) | ||
| jonathan | pmichaud: Oh, great! | ||
| pmichaud | it at least gets me through my immediate hurdle (inadvertent punning on Hash) | 02:27 | |
| jonathan | Deferring fixes that need spec clarifications works for me. :-) | ||
| You hacking on parameter stuff? | |||
| Or preparatory clean-ups etc? | |||
| Tene commits refactor and then really goes home. | 02:28 | ||
| Alias | pmichaud: I have a meeting, I'll log in later | 02:29 | |
| dalek | r33943 | tene++ | trunk: | ||
| : [rakudo]: Refactor some copypasta out of my last commit. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33943 | |||
| Coke prepares to svn-bisect again. :| | |||
| Tene | pmichaud: they also return the last item in the when block, too | ||
| dalek | r33944 | cotto++ | trunk: | 02:30 | |
| : [packfile] make directory_unpack a little more paranoid | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33944 | |||
| jonathan | pmichaud: Sleeping, if you've any preferences for what I do tomorrow (hacking in the branch, or some pre-launch fixes) leave a note and I'll backlog in the morning. Night. | 02:34 | |
| pmichaud | Alias: no problem. | 02:38 | |
| jonathan: I don't have preferences. | |||
| Tene: the "last item in block" can't be part of when_handler_helper? | 02:41 | ||
| (just pass $block as a param) | 02:42 | ||
| tewk | pmichaud: does a PGE grammar exits for perl5 style regexes? | 02:45 | |
|
02:45
apeiron joined
|
|||
| tewk | That seems like a component a lot of languages could reuse. | 02:45 | |
| pmichaud: are all the subid deprecations in for tomorrow? | 02:46 | ||
| pmichaud | tewk: sure: PGE::P5Regex | ||
| tewk | Cool | ||
| I thought there was one. | |||
| pmichaud | tewk: afaik all of the subid deprecations are in. I'll double check. | ||
| tewk | have you had a chance to fix subid usage in PCT? | 02:47 | |
| pmichaud | tewk: yes. It works great. | 02:48 | |
| Coke wishes google reader would aggregate blog posts that were cross posted. | 03:00 | ||
| pmichaud | yes, me too. | ||
| Coke | rakudo/perl6 is the worst offender. | 03:01 | |
| (in my set of subscriptions) | |||
| pmichaud | yes, agreed there also. | ||
| I don't have a suggestion for how to fix that. | |||
| jimmy | coke: i got a doubt | ||
| Coke | Shoot. | 03:02 | |
| (go ahead and ask) | |||
| jimmy | there were double line in file PBC_COMPAT begin with 3.18 | 03:03 | |
| chromatic | That's a typo, and probably mine. | ||
| Coke | removing it will break PBC_COMPAT, won't it? =-) | 03:04 | |
| jimmy | i think i should ask bernhard, but he was not online for a long time. | ||
| Coke | nah, it can be removed. | ||
| though I think all of those entries will be wiped pre-1.0 | |||
| jimmy | maybe another is setfd | 03:07 | |
| just a thought. | |||
| purl | just a thought. is _smtp_code_220 really an object method ? | ||
| Coke | pmichaud: groups.google.com/group/google-read...06f1a73df4 | 03:08 | |
| shorten that | |||
| purl | That URL is at xrl.us/o3kew [groups.google.com] | ||
|
03:40
Alias left
03:59
Khisanth joined
04:02
elmex_ joined
|
|||
| dalek | r33945 | tene++ | trunk: | 04:09 | |
| : [rakudo]: Remove more copypasta. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33945 | |||
| Tene | pmichaud++ | ||
|
04:09
Khisanth joined
04:13
contingencyplan joined
04:17
TiMBuS joined
|
|||
| pmichaud | btw, it's okay to use the PAST::Block's .symbol hash as a place to store information | 04:17 | |
| just make sure the symbols don't conflict with actual vars :-) | 04:18 | ||
| Tene | I don't feel up to doing that refactor tonight. | ||
| pmichaud | no problem | 04:19 | |
|
04:21
ChrisDavaz joined
|
|||
| TiMBuS | www.parrotcode.org/docs/ has anyone else noticed all the docs no longer seem to exist? | 04:21 | |
| Coke | that page is outdated; wouldn't hurt to open a trac ticket to remind us to create a non-outdated version at parrot.org | 04:22 | |
|
04:23
vaidyagi joined
|
|||
| TiMBuS | ah | 04:24 | |
| Coke | There was a plan to move the docs over; I don't know how detailed it was. | 04:26 | |
| TiMBuS | good idea, the new site looks a lot cleaner. | 04:31 | |
| but at the moment i cant read any of the docs online so i have to read the pod/pmc files, which isn't so fun =/ | |||
| chromatic | perldoc src/pmc/sub.pmc or something | 04:32 | |
| cotto | make html | 04:33 | |
| TiMBuS | make html works great | 04:37 | |
|
04:37
Andy joined
|
|||
| TiMBuS | i probably should have looked in the makefile for something like that ;/ | 04:38 | |
| dalek | r33946 | pmichaud++ | trunk: | 04:41 | |
| : [rakudo]: Minor update to Capture -- it's still wrong, though. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33946 | 04:42 | ||
|
04:50
tetragon joined
|
|||
| Tene | perl6.paste: _dumper('a' ~~ /a/) | 04:52 | |
| nopaste | "polyglotbot" at 193.200.132.146 pasted "perl6 paste" (1 line) at nopaste.snit.ch/14969 | ||
| Andy | I'm compiling Parrot. | 05:06 | |
| It's like a pair of old shoes. | |||
| chromatic | Rocket shoes. | 05:07 | |
| Andy | It's comfortable. | ||
| chromatic | Yeah, I'm -><- close to giving up on Perl 5 for good and concentrating on Parrot. | 05:09 | |
| dalek | r33947 | pmichaud++ | trunk: | 05:10 | |
| : [rakudo]: Fix hash interpolation into lists. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33947 | |||
| Andy | I'm looking for compiler warnings. | 05:11 | |
| 'cause that's how I roll. | |||
| chromatic | There's an extra warnings flag in GCC 4.x that we don't enable by default. | 05:12 | |
| I forgot what it was, but it's something like -fconversion. | |||
| Coke | chromatic++ Andy++ | 05:19 | |
| karma whore? | 05:20 | ||
| purl | cash up front, please | ||
| Andy | I see only about 5 warnings. | ||
| Coke | Andy: it would be spiffy if you could fix rt.perl.org/rt3/Ticket/Display.html?id=50908 | 05:21 | |
| Andy | prob'ly not | ||
| I'm not done with the book | 05:22 | ||
| but if I don't do something useful, I'm goin' into the corn. | |||
| tewk | looking at PCT I wonder if we should have get_global_vivify_as opcodes. | ||
|
05:23
ffwonko joined
|
|||
| Coke | goin' into the corn? | 05:23 | |
| Andy | looking at ticket | ||
| sorry, "goin' into the corn" is.... | |||
| I can't even explain it. | |||
| So the key is that you want to make it fatal, not a warning? | 05:24 | ||
| Coke | yes. and we seem to be adding in the appropriate gcc voodoo. But it's still only a warning. | ||
| if we could fix that, we'd get particle to stop complaining whenever someone breaks MSVC. =-) | 05:25 | ||
| Andy | ok | ||
| ah, good | |||
|
05:28
ffwonko joined
|
|||
| Coke | msg particle here's some failing windows tests for you: smolder.plusthree.com/app/public_pr...eport/8555 | 05:30 | |
| purl | Message for particle stored. | ||
| Coke | msg particle (negative zero errors in complex.t) | ||
| purl | Message for particle stored. | ||
| dalek | r33948 | pmichaud++ | trunk: | 05:31 | |
| : [rakudo]: Fix list assignment when rhs is short of elements (RT #61336) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33948 | |||
| Andy | oooh, look, I forgot --cage | ||
| NOW there's lots of warnings | |||
| dalek | r33949 | coke++ | trunk: | 05:42 | |
| : Since we're so close to the release anyway, add a notice for 'make smoke'. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33949 | |||
| Coke | pmichaud: I will not complain if you reject RT #36452. | ||
| jimmy | coke: that is from me. but I don't know how to compile with gdbm. | 05:43 | |
| and other dev package. | |||
| Coke | jimmy: What? | ||
| jimmy | molder_test | ||
| Coke | ... what? | 05:44 | |
| purl | Yada yada yada hasn't been implemented yet! (unless you run bleadperl) | ||
| Coke | I get you mean "make smolder_test". | ||
| But what are you referring to? | |||
| jimmy | smolder.plusthree.com/app/public_pr...tails/8555 | ||
| Coke | ok. | ||
| jimmy | I think I should take more test tonight. | 05:45 | |
| pmichaud | 36452 rejected. | ||
| Tene | looking for something else to work on... | 05:47 | |
| Coke | tene; you could peek at my new segfault. =-) | ||
| Tene | new segfault? | 05:48 | |
| jimmy is looking for something else to work on too.... | |||
| Andy is trying to build GCC 4.4 | |||
| Coke | TT #48 | 05:49 | |
| our gcc detection is too generous; it thinks g++ is gcc. | 05:54 | ||
| (which then barfs on: | |||
| cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++ | |||
| ) | |||
| Andy | wait wait | 05:56 | |
| gcc and g++ | |||
| under Solaris | |||
| you have to specifically specify | |||
| Coke | this is on darwin/intel | 06:01 | |
| I configured with CC=g++ | |||
| --cc=g++, that is. | |||
| Coke is, unmercifully, still awake. | |||
| Andy | man, I am so not hep to all this configgy hoohah. | 06:03 | |
| Coke | no one is. | ||
| Andy | Why do we do anything with CPP? | ||
| Coke | Iunno. | ||
|
06:05
Debolaz_ joined
|
|||
| dalek | r33950 | coke++ | trunk: | 06:06 | |
| : update file against recent PIR syntax updates. (Get RT #48034 to fail the way it's reported in the ticket.) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33950 | |||
| Andy | is the problem that we're expecting errors to stop ? | 06:09 | |
|
06:11
Alias joined
|
|||
| Alias | OK, I know why my Perl 6 installer is failing | 06:11 | |
| It's because you guys have hard-coded the build directory into the library search | |||
| pmichaud | right. | ||
| Alias | It only finds the pbc files if it's running in the exact same path it was compiled in | ||
| pmichaud | that's what we've been saying-- it looks for the files in the build directory. | 06:12 | |
| Alias | So make install is pointless... | ||
| pmichaud | right. | ||
| Alias | And --prefix is pointless... | ||
| And so is reallyinstall | |||
| pmichaud | as far as pbc2exe is concerned, yes. | ||
| Alias | So can you pull those out | ||
| pmichaud | make install is fine, just not for pbc2exe. | ||
| Alias | hrm | ||
| dalek | r33951 | coke++ | trunk: | 06:13 | |
| Alias | This is somewhat crippling long-term | ||
| dalek | : Be more specific about how to run this file. | ||
| : Not that it helps. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33951 | |||
| Alias | I think MAYBE I can find a way to temporarily get around it | ||
| pmichaud | we expect to fix Parrot's make install by the Jan release | ||
| Alias | ok | ||
| pmichaud | this is one of the reasons I've been harping about getting 'make install' fixed soon. | ||
| because Parrot 1.0 is kinda pointless if 'make install' doesn't work. | 06:14 | ||
| we might be able to get pbc2exe to work based on --prefix instead of (in addition to?) the build dir | 06:16 | ||
| Alias | instead of | 06:17 | |
| And that would be great | |||
| I have enough headaches from build leftovers in Strawberry | |||
| pmichaud | I wasn't the one who implemented pbc2exe -- that'd be particle and/or chromatic | ||
| when it comes to parrot config... I get a little lost. | 06:18 | ||
| Alias | For reasons I don't understand, ppm files want to install in D:\\Documents and Settings\\adam.kennedy\\My Documents\\dev\\build\\perldist\\perl\\ppm | ||
| I've had several bug reports | |||
| So yes, instead of :) | |||
| pmichaud | oh, there's a --install option to pbc_to_exe | 06:19 | |
| Alias | Some of this looks partly implemented | ||
| pmichaud | yeah. | ||
| Alias | There are strings in some places refering to the --prefix | ||
| pmichaud | but I don't know if it ever worked. | ||
| the install footprint for parrot has never really worked in the 4 years I've been working on it. | 06:20 | ||
| Alias | That MUST work before you try to call yourself 1.0 | ||
| pmichaud | yes, we know. | ||
| purl | Well, okay, I just thought it would help. | ||
| Alias | ok | ||
| pmichaud | it's one of the items that is a definite blocker to 1.0 -- i.e., we don't release 1.0 unless/until that's fixed. | 06:21 | |
| Andy | Coke: It feels like a compiler bug. We're calling -Werror=... correctly. | ||
| Alias | Would be nice if you had enough to support both relocation and portability | ||
| My current Portable 5 stuff is a nasty hack | |||
| pmichaud | but in reality it's a blocker for several other things, which is why it's critical path means it needs to be fixed in jan if we're to get everything else done in feb/mar | ||
| Alias | In the mean time, I'll try to dodgyhack Perl::Dist to build parrot in the --prefix path | 06:22 | |
| pmichaud | sounds good. | ||
| Alias | I'll post an alpha 3 when it works | 06:23 | |
| pmichaud | out of curiosity, did you try the "make installable" target in Parrot? | ||
| I don't know what that does, but I'm guessing it builds a Parrot that's designed to be run from --prefix. | 06:24 | ||
| Andy | I forgot how slow pmc2c.pl and c2str.pl are | 06:32 | |
|
06:41
Theory joined
|
|||
| chromatic | Alias, you can set the PARROT_RUNTIME environment variable. | 07:06 | |
|
07:08
Hadi joined
07:09
Hadi left
07:14
iblechbot joined
07:23
yjh joined
07:24
davidfetter joined
08:02
alvar joined
08:05
Theory joined
|
|||
| Tene | blogs.gurulabs.com/stephen/2008/12/...rwhen.html | 08:15 | |
| moritz | Tene: is there a reason why you called it gather/when and then wrote about given/when? ;-) | 08:16 | |
| Tene | ... | ||
| Thanks. | |||
| moritz | Tene: anyway, good work! | 08:17 | |
| Tene | blogs.gurulabs.com/stephen/2008/12/...nwhen.html | ||
| Let's home the name change doesn't screw up the planet aggregator. | |||
| hope | 08:18 | ||
| moritz | Tene: so far it has been rather robust | 08:19 | |
| (if we talk about the same one ;-) | 08:20 | ||
|
08:22
ffwonko joined
|
|||
| dalek | Gaurav Vaidya | BuildBot: | 08:23 | |
| link: www.perlfoundation.org/parrot/index.cgi?buildbot | |||
| Gaurav Vaidya | BuildBot: | 08:25 | ||
| link: www.perlfoundation.org/parrot/index.cgi?buildbot | |||
| Gaurav Vaidya | Parrot: | 08:29 | ||
| link: www.perlfoundation.org/parrot/index.cgi?parrot | |||
|
08:31
contingencyplan joined
|
|||
| Alias | hrm | 08:43 | |
| Sure seems to be a lot of make targets :) | |||
| chromatic: So I'd need to add PARROT_RUNETIME to the installer? | 08:44 | ||
| er | |||
| I don't know what PARROT_RUNETIME would do... make it somewhat more magical I imagine though :) | |||
|
09:26
bacek joined
|
|||
| moritz | seen masak | 09:57 | |
| purl | masak was last seen on #parrot 1 days, 12 hours, 50 minutes and 35 seconds ago, saying: GeJ: top of the evening to you, sir. [Dec 14 21:07:02 2008] | ||
|
09:59
tomyan joined,
ffwonko joined
10:09
riffraff joined
|
|||
| riffraff | hi everyone | 10:10 | |
| purl | Howdy, riffraff, you fantastic person you. | ||
| moritz | good morning | ||
| riffraff | writing a PGE grammar, is there a way to set a global ignorecase flag? | ||
| I mean, I could probably change the input source when read but it seems hackish | 10:11 | ||
| moritz | in Perl 6 there is no such options, but I don't know about PGE | ||
| riffraff | (I wouldn0t know how to do it anyway aither :) | ||
| moritz | (though PGE is modeled strongly after Perl 6 regexes) | ||
| jimmy | riffraff: [:i 'TRUE' ] | 10:13 | |
| is it ? | |||
| purl | it's it! | ||
| moritz | jimmy: that's not global | ||
| jimmy | maybe should set it at TOP | 10:15 | |
| riffraff | thanks I'm trying | 10:16 | |
| moritz | jimmy: :i should be lexically scoped | ||
|
10:17
gmansi joined
|
|||
| riffraff | yeah that's how it is specced at least | 10:17 | |
| and as designed, it is lexical | 10:20 | ||
| jimmy | yes, i tested it just. | 10:22 | |
|
10:25
Theory joined
|
|||
| jimmy | i got the answer | 10:30 | |
| token TOP { [:ig ^ <sea_or_code>+ {*} ]} | |||
| using :ig | |||
| and that global | |||
| riffraff: ping | 10:32 | ||
| riffraff | pong | 10:35 | |
| but I don't understand it :) | |||
| ah the :g is for :global ? | 10:36 | ||
| jimmy | yes | ||
| riffraff | strange, but useful | ||
| jimmy | here is the answer. dev.perl.org/perl6/doc/design/syn/S05.html | 10:37 | |
| riffraff | works like a charm | ||
| moritz | it doesn't listed :ig last I looked, and :g meant something differnt | ||
| jimmy | :g :global | ||
| moritz | (match globally, ie as often as possible) | 10:38 | |
| just like s/...//g in perl 5 | |||
| jimmy | moritz, it listed | ||
| it :g | |||
| riffraff | the apocalypse names :g but just en passant | ||
| moritz | jimmy: yes. And :g means "match globally", not "change the scope of another modifier" | 10:39 | |
| jimmy | :g or :global | ||
| moritz | riffraff: the apocalpse is out of date. You should really rely on the synopsis | ||
| jimmy | but it changes | ||
| riffraff | right, thanks | ||
| jimmy | moritz: i tested it ,and it changes the scope of another modifier | 10:40 | |
| riffraff | anyway I've got my shakespeare parser working I'm so proud of myself :) | ||
| moritz | jimmy: yes, I've got that, but I don't thing it's specced | ||
|
10:40
Hadi joined,
Hadi left
|
|||
| jimmy | moritz: maybe, but it is not described any more about the meaning. maybe it is outedated. | 10:42 | |
| s/outedate/outdated/ | 10:43 | ||
| syn? | 10:44 | ||
| purl | Go, and SYN no more | ||
| jimmy | Synopsis ? | ||
| purl | Synopsis is git.jrock.us/?p=Bot-Synopsis.git;a=summary | ||
| riffraff | I have the feeling it works just one level down, possibly it is an unintended behaviour | 10:47 | |
| moritz | rakudo: grammar A { token a { :ig <b> }; token b { <c> }; token c { 'c'}; }; say "C" ~~ m/<A::a>/ ?? "yes" !! "no"; | 10:49 | |
| polyglotbot | OUTPUT[perl6regex parse error: Quantifier follows nothing in regex at offset 23, found 'i'ā¤current instr.: 'parrot;PGE;Perl6Regex;parse_error' pc 9840 (compilers/pge/PGE/Perl6Regex.pir:1161)ā¤called from Sub 'parrot;PGE;Perl6Regex;parse_quant_error' pc 8219 | 10:50 | |
| ..(compilers/pge/PGE/Perl6Regex.pir:612)ā¤called from Sub 'parrot;PGE;Exp;Quant;perl6exp' pc ... | |||
|
11:04
ruoso joined
11:10
Hadi joined,
Hadi left
|
|||
| cognominal | pmichaud, on my mac, I have a directory called ~/Library/Logs/CrashReporter. Before filing reports, I want to know, is there a case where parrot test intentionnaly crash a process. | 11:18 | |
|
11:36
Hadi1 joined,
Hadi1 left
12:00
Ademan joined
12:06
uniejo joined
12:17
iblechbot joined
12:38
ffwonko joined
12:47
Lorn joined
|
|||
| pmichaud | good morning | 12:56 | |
| cognominal: I'm not aware of any parrot tests that intentionally crash, but that doesn't mean there aren't any. | |||
|
12:59
yjhz joined
13:12
Wknight8111 joined
13:20
kj joined
13:37
contingencyplan joined
13:41
cognominal joined
13:42
tetragon joined
13:47
mberends joined
13:48
gryphon joined
14:07
AndyA joined
|
|||
| Infinoid | ok, so apparently parrot segfaults on ubuntu x86-64 | 14:09 | |
| unfortunately I can't mark rt.perl.org/rt3/Ticket/Display.html?id=61092 and trac.parrot.org/parrot/ticket/26 as duplicates | |||
| and even more unfortunately, I can't reproduce it on gentoo x86-64 | |||
| dalek | r33952 | pmichaud++ | trunk: | 14:11 | |
| : [rakudo]: spectest-progress.csv update: 249 files, 5139 passing, 0 failing | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33952 | |||
| r33953 | kjs++ | trunk: | 14:12 | ||
| : [pirc] fix some documentation. #define a magic number '4' (number of parrot types) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33953 | |||
|
14:15
Theory joined
14:17
Zaba joined
|
|||
| Infinoid tries setting up an ubuntu chroot with debootstrap for testing. | 14:21 | ||
| moritz | $perl6_tickets -= 4; | ||
| Alias | moritz++ | 14:22 | |
| pmichaud | moritz++ | ||
| Alias | (Alas, purl does not support +=) | ||
| jonathan | pmichaud: Woke up earlier today feeling quite bad with whatever unfun virus I seem to have, and couldn't see myself focusing for 8 hours on stuff today. :-( So certainly giving Rakudo day a miss. | 14:23 | |
| moritz | actually Tene++ fixed most of the problems reported in those tickets :-) | ||
| jonathan | Will do tomorrow, hopefully. | ||
| pmichaud | jonathan: no problem. Today is a good day for missing. :-) | ||
| I got tagged to do some stuff for rdice, so that'll occupy me much of the day. | |||
| after that I'm working on declarations, signatures, and parameters | 14:24 | ||
| there's a lot to refactor there, so it'll go in a branch. | |||
| jonathan | OK | 14:26 | |
| If I do anything today, it'll be in my branch. | |||
| pmichaud | fwiw, a nice win would be to write a 'sort' in PIR, since the built-in sort for FPA doesn't work with multisubs. | 14:27 | |
| we could fix about 4 tickets with that, I think. | |||
| even better if it's a stable sort | 14:28 | ||
| moritz | then it'd fix another ticket :-) | ||
| pmichaud | oh, wait, I just figured out an ugly hack. | 14:29 | |
| moritz | pass a sorting sub that does the MMD lookup? | ||
| pmichaud | yes. | ||
| pmichaud implements that. | |||
| -Ofun at work. | |||
|
14:33
ffwonko joined
14:38
jimmy joined
|
|||
| jimmy | now smolder_test failed 62 on MSWIN32 | 14:40 | |
|
14:53
DietCoke joined
|
|||
| Alias | It's such a joyous feeling when you finally get a whole new layer of repository automation working | 15:09 | |
| You can practically taste the force multiplier kicking in :) | |||
| (Also joyous because when you code for yourself, there's none of the pain of writing all that POD) | 15:10 | ||
|
15:12
Andy joined
|
|||
| Alias | sigh, and then you find it doesn't do QUITE what you need yet, because there's one more teensy feature missing | 15:20 | |
| But that can wait until tomorrow | |||
| Coke | secret? | 15:22 | |
| purl | i guess secret is in the url :) | ||
| Coke | Infinoid: I wonder if svn::bisect::automated is a better name for what I want to do. | ||
| (and also if I can just steal all your code. =-) | 15:23 | ||
| You know what would be nice? a tool that updated PLATFORMS. | |||
| lathos | Yeah, that's hideously outdated. | 15:25 | |
| jonathan realizes he finally is going to have to learn how to sync a branch with trunk... | 15:27 | ||
| PerlJam | jonathan: with svn 1.5 is super easy. | 15:28 | |
| Infinoid | Coke: you're welcome to steal my code if it helps (it's pretty simple stuff tho) | ||
| jonathan | PerlJam: And without that? | 15:29 | |
| Infinoid | odd, $TEST_JOBS doesn't seem to have an effect on this ubuntu thing | ||
| Coke | should it? | ||
| PerlJam | jonathan: it's not so easy and quite a bit annoying since you have to track the revision numbers you've merged yourself | ||
| Infinoid | I thought it should | 15:30 | |
| jonathan | PerlJam: OK, time to download 1.5... :_) | ||
|
15:30
NotFound joined
|
|||
| NotFound | Hi | 15:30 | |
| purl | hola, NotFound. | ||
| nopaste | "pmichaud" at 72.181.176.220 pasted "can anyone explain this trace...?" (3 lines) at nopaste.snit.ch/14973 | 15:31 | |
| jonathan | pmichaud: Erm. No. :-| | 15:32 | |
| That looks...odd. | 15:33 | ||
| pmichaud | it's very odd. | ||
| just a sec, more coming. | |||
| moritz | memory corruption? | ||
| purl | i think memory corruption is system dependant | ||
| PerlJam | the sub in P2 was inadvertently garabage collected? | ||
| jonathan | That'd not affect the NS having a pointer to it, though. | ||
| Wknight8111 | I'm getting a test failure, WinVista, IA-64, t/op/trans.t:tanh in the JIT core | 15:34 | |
| is there anybody else here who could even duplicate that? | |||
| Infinoid fails with ENOVISTA, ENOIA64, ENOJITSK1LLZ | 15:35 | ||
| nopaste | "pmichaud" at 72.181.176.220 pasted "a slightly more bizarre trace" (8 lines) at nopaste.snit.ch/14974 | 15:37 | |
| Coke adds trac.parrot.org/parrot/wiki/LeaveTheNest | 15:38 | ||
| pmichaud: the second line is ok, as P1 is null ahead of time. the 3rd line is freaky. | 15:39 | ||
| jonathan has svn 1.5 | |||
| Coke | jonathan: jot down some notes on the trac wiki about merging with 1.5 | ||
| pmichaud | Coke: it appears to be a bug of some sort with set_global | ||
| because it's not actually doing the set. | 15:40 | ||
| jonathan | pmichaud: Looks like that to me too. | ||
| pmichaud | let's see if I can do a small test case. | ||
| my small test case works fine. hrm. | 15:43 | ||
| nopaste | "pmichaud" at 72.181.176.220 pasted "the code generating the bizarre trace" (22 lines) at nopaste.snit.ch/14975 | 15:44 | |
| jonathan | pmichaud: Have you tried it in your test case where the sub is a multisub? | 15:45 | |
| Since 'infix:cmp' surely is... | |||
| pmichaud | in this particular case the sub is not a multi sub | ||
| the code that gets there is | |||
| say sort { $^a <=> $^b } 45, 2, 6, 1 | 15:46 | ||
| oops | |||
| say sort { $^a <=> $^b }, 45, 2, 6, 1 | |||
| jonathan | But you're doing | ||
| pmichaud | and 'by' comes in as the closure argument. | ||
| jonathan | by = find_name 'infix:cmp' | ||
| Oh, OK. | |||
| pmichaud | only if the arity is less than 2. | ||
| it's not in this case. | |||
| also, infix:cmp is not _yet_ a multisub -- we couldn't make it a multisub because fpa's sort doesn't work with multisubs. | 15:47 | ||
| jonathan | Oh. | ||
| pmichaud | I'm trying to make infix:cmp into a multisub, which is what leads me down this dark scary path in the first place :-| | ||
| jonathan | OK, then I can't point at the multi-sub logic and blame it. | ||
| (I ain't looked at the code yet, but it was going to be my prime suspect...) | |||
| pmichaud | right. | ||
| PacoLinux | Coke: Kea-Cl is also out of the parrot svn (can you put a reference in the wiki ? ) | 15:48 | |
| purl | okay, PacoLinux. | ||
| NotFound | purl: forget Coke: Kea-Cl | 15:49 | |
| purl | NotFound, I didn't have anything matching coke: kea-cl | ||
| NotFound | purl: Kea-Cl? | 15:50 | |
| purl | rumour has it Kea-Cl is outside of the repo, I think. or out of the parrot svn (can you put a reference in the wiki ? ) | ||
|
15:50
ruoso joined
|
|||
| pmichaud | that is just really weird and disturbing. | 15:51 | |
| pmichaud tries again with -G, just out of curiosity. | |||
| PerlJam | what does "box 3" do exactly? | ||
| pmichaud | creates an Integer PMC | 15:52 | |
| sets it to 3 | |||
| 'box' is an opcode to autobox the native types. | |||
| jonathan | pmichaud: set_pmc_keyed_str in NameSpace PMC has some...interesting...logic. :-) | ||
| (Relating to subs.) | |||
| pmichaud | jonathan: figures. | ||
| I'll go look at that. | 15:53 | ||
| Coke | PacoLinux: trac.parrot.org/parrot/wiki/Languages | ||
| mberends | purl: forget Kea-Cl | ||
| purl | mberends: I forgot kea-cl | ||
| Coke | If you can give me the info on kea-cl, I can add it there, or you can just edit the wiki directly. | 15:54 | |
| pmichaud | what's up with that TT #10 comment? | 15:56 | |
| jonathan | Yeah, that caught my eye too... | ||
| pmichaud: Ah, it's because it calls ns_insert_sub_keyed_str | |||
| Which does PMC_sub | |||
| Which will expode if it's not *really* a Sub PMC but has been subclassed. | 15:57 | ||
| However, we're not reblessing subs in Rakudo yet, so I'd expect us to end up calling ns_insert_sub_keyed_str | |||
| pmichaud | well, the trace indicates it's definitely a Sub and not a MultiSub, so... | 15:58 | |
| particle | Wknight8111: your question about win32 ia-64 jit... | ||
| Wknight8111 | yeah? | ||
| jonathan | pmichaud: Ah. Is the sub marked :anon? | ||
| pmichaud | probably. | ||
| purl | Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder. | ||
| jonathan | hehe | ||
| /* If it's anonymous, we're done. */ | |||
| if (PObj_get_FLAGS(value) & SUB_FLAG_PF_ANON) | |||
| return 1; | |||
| purl | i guess return 1; is it a value? a flag? truth? perhaps this is a shell programmer and he's really trying to say false! | ||
| PacoLinux | Coke: rgrjr.dyndns.org/svn/kea-cl/trunk/README.text | ||
| particle | 1) there's no parrot jit for itanium (is that what you mean by ia-64?) | ||
| pmichaud | so I *can't* store an anonymous sub in a namespace? | ||
| jonathan | Inside ns_insert_sub_keyed_str | ||
| That looks like the upshot of what we currently have, yes! | 15:59 | ||
| particle | 2) parrot fails to build on win32 amd64 msvc, due to pointer/data conversion size mismatches | ||
| pmichaud | okay, I think I can get my test case from that. | ||
| bingo. | |||
| that's it. | 16:00 | ||
| jonathan | pmichaud: I think it is because the same call is used when we are constructing the namespace in the first place and we may well use that logic to make sure we don't put anonymous thigns in the NS | ||
| In reality IMCC should check if the anonymous flag is set. | |||
| And then not even try. | |||
| That's my guess why we have this bit of logic in here. | |||
| pmichaud | that'd be my guess also. | ||
| so, I can't use the namespace to store this "static" information about the sub for now. | 16:01 | ||
| hrm. | |||
| I guess I'll have the namespace store a proxy of some sort, then. | |||
| jonathan | I don't feel right before a release is time for me to be modifying this bit of the codebase. :-) | ||
| pmichaud | I agree. | 16:02 | |
| I'll file the ticket and it can go from there. | |||
| jonathan | OK. | ||
| pmichaud | *thanks* | ||
| jonathan | If it is what we're guessing, it may not be hard to fix. | ||
| As in, if that's the only reason the code is there. | |||
| jonathan syncs his branch up with trunk and sees how spectests are looking | 16:03 | ||
| pmichaud | now TT #56 | 16:05 | |
| jonathan thinks svn 1.5's merge thing works like merge shoulda done from the start :-S | 16:06 | ||
| PerlJam | jonathan: yep | 16:07 | |
| pmichaud | yay, that seems to work now. | 16:09 | |
| jonathan++ | |||
| ...and we now have a stable sort. | 16:10 | ||
| Coke | PacoLinux: trac.parrot.org/parrot/wiki/Languages updated to at least point to your website. | ||
| jonathan: with the exception of tracking file renames properly. =-) | 16:11 | ||
| for that, we need 1.6 | |||
| PacoLinux | Coke: kea-cl is not mine, but I find it interesting :) | ||
| moritz | or git ;) | ||
| Coke | oh, I thought you were rgr under a different name. | 16:12 | |
| Coke finds the "git" references nearly as helpful as "switch to linux" when asking MS questions. | |||
| jonathan | And just as irritating. | ||
| Coke | worse when I'm asking an svn question about something I'm doing at work, where running git isn't really an option. | 16:13 | |
| here I can see it as a "why don't we switch our infrastructure to something better" comment, which is not terrible. | |||
| but still. | |||
| git? | 16:14 | ||
| purl | git is Alexy tourbin Perl Git repository: git://git.altlinux.org/people/at/packages/perl.git or the guitar institute of technology or the fast source code management system or great for that. or at git://utsl.gen.nz/perl-sotomorrow or www.perlfoundation.org/perl5/index....positories or GNU Interactive Tools or git.or.cz/ or rather like iptables. | ||
| PerlJam | Coke: git. :) | ||
| jonathan | I've only just learned how to merge in svn, I can't be bothered to learn a new vc system! | ||
| :-P | |||
| PerlJam | jonathan: git is more complicated to understand that svn, but much more powerful. to draw an analogy, git:svn :: perl:php :) | 16:15 | |
| dalek | r33954 | jonathan++ | rakudoreg: | 16:16 | |
| : [rakudo] Sync type reg branch with latest in trunk. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33954 | |||
| jonathan | Woo. I'm left with just 4 failing spectests now in my branch. | 16:17 | |
| pmichaud | excellent. | ||
|
16:17
hercynium joined
|
|||
| jonathan | OK, first is probably to try and use the new assertion stuff you did. | 16:17 | |
| particle | rakudoreg is what, type registry? | 16:18 | |
| jonathan | Yes. | ||
| I've got lowerclass cases working just fine in this branch. :-) | |||
| pmichaud | yes, the new assertion stuff works quite nicely. | ||
|
16:18
jhorwitz joined
|
|||
| pmichaud | I can't believe I didn't think of it sooner. | 16:19 | |
| particle | *lowercase classes | ||
| jonathan | ...wow. | ||
| And this is why I'm not commiting to trunk today. :-) | |||
| pmichaud | some of the cases are indeed lower class, I bet. | ||
| PerlJam | what "new assertion stuff"? | ||
| pmichaud | PerlJam: in regexes: <?{{ PIR returning boolean }}> | 16:20 | |
| PerlJam | oh. | ||
| pmichaud | as a stopgap until we get <?{ perl 6 code returning boolean }> | ||
| PerlJam | speaking of pir stopgaps ... is a perl6 prelude waiting on something in particular? | 16:21 | |
| pmichaud | yes, several things. | ||
| Coke | prelude? | ||
| perl6 prelude? | |||
| perl 6 prelude? | |||
| purludee? | |||
| pmichaud | prelude is the Perl 6 builtins written in Perl 6 | ||
|
16:21
Theory joined
|
|||
| pmichaud | a new one I found this week is that we have to have a universally unique :subid generator | 16:22 | |
| dalek | r33955 | jonathan++ | rakudoreg: | ||
| : [rakudo] Oops, meant to commit all updates from trunk, not just the Rakudo ones... | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33955 | |||
| particle | we have a uuid gen in pir | ||
|
16:23
apeiron joined
|
|||
| pmichaud | then we need a way to import symbols into the global namespace. I'm thinking I'll wait a day or two for the EXPORTALL thread on p6l | 16:24 | |
| then we also need to fix parameter passing, as it's not quite right yet | |||
| then we're about there. | |||
|
16:24
contingencyplan joined
|
|||
| Infinoid | particle: I've done just about all I can on trac.parrot.org/parrot/ticket/26 and rt.perl.org/rt3/Ticket/Display.html?id=61092 (can't reproduce it even after installing ubuntu intrepid) | 16:30 | |
|
16:31
riffraff joined
|
|||
| riffraff | hi | 16:31 | |
| purl | bonjour, riffraff. | ||
|
16:32
chromatic joined
|
|||
| Infinoid | good morning | 16:32 | |
|
16:32
Theory joined
|
|||
| particle | Infinoid++ that may prompt an informative response | 16:32 | |
| Infinoid | I hope so | 16:33 | |
| jonathan | pmichaud++ # assertions work | 16:36 | |
| Infinoid | ooo, 5.8.9 and 0.8.2 on the same day | ||
| dalek | r33956 | fperrad++ | trunk: | 16:37 | |
| : [PLATFORM] | |||
| : - update for MinGW gcc 3.4.5 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33956 | |||
| r33957 | jonathan++ | rakudoreg: | |||
| : [rakudo] Remove hack and use new assertion syntax. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33957 | |||
| moritz | Infinoid: actually 5.8.9 was yesterday, they just waited with the announcment for all the cpam mirrors to catch up | ||
| jhorwitz | pmichaud: rakudo panics with "rtype not set" when compiling ModPerl6::Registry. hrm. | 16:38 | |
| moritz | I've seen that error somewhere in RT before | ||
| jhorwitz goes ticket spelunking | |||
| particle | coke: re smolder.plusthree.com/app/public_pr...port/8555, the platform says 'MSWin32' in the report, but is it really cygwin? t/pmc/complex.t line 1037 suggests that parrot isn't reporting MSWin32 as its platform. | 16:39 | |
|
16:39
Theory joined
|
|||
| particle | coke: i need more details on the platform before i can reproduce/fix | 16:39 | |
| jhorwitz | moritz: i don't see it in RT, at least not in a search. | ||
| moritz | jhorwitz: maybe it wasn't RT after all :/ | 16:40 | |
| jhorwitz | oh well | ||
| Coke | particle: if the platform says MSWin32, I doubt it's cygwin. | 16:41 | |
| particle | does strawberry report mswin32/gcc? | 16:42 | |
| Coke | $ perl -e 'print $^O'; | ||
| cygwin | |||
| checking. | |||
| particle | Alias: i'd love a 64bit strawberry | ||
| jhorwitz | found some references in the IRC logs, but nothing detailed. | ||
| Coke | strawberry is MSWin32 | ||
| and probably gcc. | 16:43 | ||
| particle | coke: downloading and installing after my dental work | ||
| Coke | just have them all ripped out and replaced with a beak. | ||
| jhorwitz | you should bring a laptop and do it DURING your dental work. | ||
|
16:44
ihrd joined
|
|||
| ihrd | hi there | 16:44 | |
| purl | hola, ihrd. | ||
| Infinoid | hi ihrd | 16:45 | |
| ihrd | Mark Glines said I can help | ||
| with amd64 segaful | |||
| Infinoid | yep, that's me | ||
| particle | how the heck do i use strawberry? is there not a command shell? crap, i hope it didn't muck with my global env. i'll have to figure it out after dentist :( & | 16:46 | |
| ihrd | ok, I still have it on r33957 | ||
| Infinoid | particle: it adds itself to your PATH | ||
|
16:46
gaurav joined
|
|||
| Infinoid | so you just open a command prompt and do "perl Configure.pl" as normal | 16:46 | |
| particle | that ruins my whole env. :( | 16:47 | |
| uninstall time! | |||
| Infinoid | maybe a fixup batchfile would help | ||
|
16:47
gaurav left
|
|||
| Infinoid | ihrd: okay. is it failing during build or during test? | 16:47 | |
|
16:47
gaurav joined
|
|||
| ihrd | infinoid: now on make perl6 | 16:48 | |
| infinoid: I will make test now | |||
| Infinoid | ok. I'm trying the same thing in ubuntu intrepid right now, but I was not able to reproduce this earlier today | 16:49 | |
| Coke | particle: all you have to do is update your PATH. | ||
| dalek | r33958 | coke++ | trunk: | 16:50 | |
| : Delete all 2007 entries; they're all at least a year old, which is at least 2.7 human years. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33958 | |||
| Infinoid also tries etch | 16:51 | ||
| wait. ihrd, which version of ubuntu are you using? | |||
| Coke wonders why PLATFORMS has so much info that doesn't help anyone in it. | 16:52 | ||
| ihrd | infinoid: I do test now on server, I can look when it done | ||
| Coke | if I just run 'make test' on my platform, which core did I test? | 16:53 | |
| cgoto? | |||
| purl | cgoto is tested with make testg | ||
| Infinoid | ihrd: ok, thanks | ||
| Coke | ok, smarty pants, which core is tested with "make test". =-) | ||
|
16:54
masak joined
|
|||
| ihrd | masak: hi :) | 16:54 | |
| masak | I cannot make it to the #ps meeting today. my laptop was stolen. but consider my report to be the usual: fixes here and there, and many rakudo bug reports. | ||
| ihrd: hi there. | |||
| purl | hi there. is probably ->foo(1, 2, bar => 3) supposed to work when calling an MX::Method defined as combined({ required = 1 }, { required => 1 }, { required => 0 }, bar => { required => 1 }) supposed to work? | ||
| masak | purl: forget hi there | 16:55 | |
| purl | masak, I didn't have anything matching hi there | ||
| masak | purl: forget hi there. | ||
| purl | masak, I didn't have anything matching hi there | ||
| jonathan | masak: Ouch. That's not good. :-( | 16:56 | |
| masak | jonathan: I agree. :/ | ||
| it's not the data loss so much as being threatened with a knife that I don't like. | |||
| jonathan | Whoa. :-( | 16:57 | |
| That's nasty. | |||
| masak | I'm quite good with backups nowadays. | ||
| chromatic | It would have been just as bad with a knife that you DID like. | ||
| Coke smacks chromatic | |||
| masak | chromatic: yes. I'll try to find a way to formulate that sentence in a way that doesn't lead to many interpretations. thank you. | 16:58 | |
| Coke ponders shortening "bug mongering" to "buggering" | |||
| Coke suspects that would not end well. | |||
| Coke is getting a test failure on osx/intel | |||
| Infinoid | Coke: tickering? | 17:00 | |
| jonathan | I hate stack overflows. Especially as my debugger won't break on them so I've no clue wtf happened. | 17:01 | |
| nopaste | "ihrd" at 77.35.42.97 pasted "./parrot -t t/pmc/pmc_3.pasm on my amd64 server" (289 lines) at nopaste.snit.ch/14977 | ||
| Wknight8111 | a google image search for "buggering" returns some interesting results | ||
| Coke | ... bad idea, sir. | ||
| Wknight8111 | and interesting in the bad way | ||
| Coke | good idea? | ||
| purl | Coke: Good Idea: Drinking fresh milk from the carton. Bad Idea: Drinking fresh milk from the cow. | ||
| masak | moritz: re the bug for which you asked for confirmation: I cannot give you such confirmation right now. but I'm fairly sure it persists. | 17:02 | |
| ...on that platform. | |||
|
17:02
ruoso joined
|
|||
| dalek | r33959 | pmichaud++ | trunk: | 17:05 | |
| : [rakudo]: Update 'sort' to be a stable sort, and perform infix:cmp on Pairs. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33959 | |||
| r33960 | coke++ | trunk: | |||
| : update osx /intel report | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33960 | |||
| Coke vaguely wishes CPAn asked you about suggested dependencies. | 17:08 | ||
| "this module is optional but gives you the ability for my package to frobulate. You want?" | |||
| Infinoid: you have a lot of deps. =-) | 17:10 | ||
| Infinoid | I'm a lazy bastard. | ||
| Coke | Infinoid: it'd be nice if it showed the output of 'svn up' | 17:12 | |
| then I'd know if I couuld get by with a simple "make" instead of a full clean/reconfig/make | 17:13 | ||
|
17:13
kj joined
|
|||
| Coke | (perhaps if I could specify a verbose flag to 'svn-bisect start' if you didn't want it always on | 17:13 | |
| Infinoid | ah. I hid that stuff because it seemed more like git-bisect that way... but I am flexible on this either way | 17:14 | |
| with my usage pattern, I just stack a realclean up on the same command line, so it never mattered to me | 17:15 | ||
| dalek | r33961 | Whiteknight++ | trunk: | ||
| : [PLATFORMS] Adding Win64+Strawberry Perl (GCC3.4.5) to the list of platforms that I've tested today. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33961 | |||
| Infinoid | do we expect --optimize to work on linux/x86-64? I can reproduce ihrd's segfault when configuring with that option. | 17:16 | |
|
17:16
Theory joined
|
|||
| jonathan | woo, back to all sanity tests passing | 17:16 | |
| moritz | Infinoid: I reported a segfault duriing build on that configuration as well | ||
| s/configuration/platform/ | 17:17 | ||
| (64bit + --optimize) | |||
| Infinoid | which ticket? I've got one RT ticket and one Trac ticket for this, and I think neither are from you | ||
| so we can probably merge something. | |||
| moritz | looking... | ||
| Coke | Infinoid: gah. how do I get svn-bisect to show me the current session? | 17:18 | |
| as I've now skipped the (&#@$ message it showed me. | |||
| Infinoid | svn-bisect view | ||
| moritz | Infinoid: RT #61242 | 17:19 | |
| Infinoid | great, I'll merge with #61092 | 17:20 | |
| incidentally, do you know if --optimize used to work at some point in the past? | |||
| Coke | Infinoid: bug report: it doesn't show you the "the bug must have occurred in revision foo." | ||
| "There are currently 2 revisions under scrutiny. | |||
| Infinoid | oh. yeah, that code is stupid. it depends on whether you last said "good" or "bad", but it doesn't actually update the metadata accordingly | 17:21 | |
| Coke | ... even though it already pegged one revision as the culprit. | ||
| Infinoid | so if you re-run the most recent good/bad command, you will get the same result again | ||
| Coke | thankfully I had immediately done an 'svn diff' on the offending version so I had it in my history. | ||
| Infinoid | its something I should fix | ||
| Coke | as long as you're in there, the dashes after known- look odd with the whitespace padding. | 17:23 | |
| I'd just drop 'em. | |||
| Infinoid++ | |||
| dalek | r33962 | jonathan++ | rakudoreg: | 17:24 | |
| : [rakudo] Get lexical types identified when checking if we hvae a type name (this gets type capture working again far enough to pass the sanity test for it, but we still don't pass the spectest yet). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33962 | |||
| Infinoid | still kinda strange how --optimize breaks on ubuntu but not gentoo | 17:26 | |
|
17:27
buildbot joined
|
|||
| moritz | Infinoid: did you see Nicholas' reply to my report? | 17:27 | |
| Infinoid | yeah, looks scary | 17:28 | |
| Coke | RT#60926; at a guess, one of those foo->bar items needs a null guard. | ||
| dalek | r33963 | pmichaud++ | trunk: | 17:29 | |
| : [rakudo]: Add Pair.pairs (RT #59394, bacek++). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33963 | |||
| Infinoid | uck. ticket merging is a great feature, but I hate how unreadable the result sometimes is | 17:30 | |
| chromatic will try to make the meeting today. | |||
| pmichaud | #parrotsketch in 60. | ||
| chromatic | Somehow I have five meetings today, many of them overlapping. | ||
| Coke should grab lunch | 17:31 | ||
| dalek | r33964 | jonathan++ | rakudoreg: | 17:35 | |
| : [rakudo] Fix type capture more properly; the spec test passes again. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33964 | |||
|
17:38
ffwonko joined
|
|||
| Infinoid imagines a headerizer hack that implements Nicholas's non-null asserts | 17:38 | ||
| jonathan wonders how/why we're generating $P155 = "MyPack::val_v"() | 17:39 | ||
| pmichaud: We have a test | |||
| ok((MyPack::val_v), "default sub called in package namespace"); | |||
| Where val_v is defined in the namespace MyPack. | 17:40 | ||
| It should call it, right? | |||
| pmichaud | yes. | ||
| jonathan | OK | ||
| Before we were treating this as a type name and somehow it all worked out. :-) | |||
| dalek | r33965 | kjs++ | trunk: | ||
| : [pirc] more preparation for refactoring of target/symbol/pir_reg structs. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33965 | |||
| jonathan | Now we end up generating that I pasted earlier | ||
| pmichaud | yes, because it would still split the name on the '::' and do the lookup. | ||
| (because it started with [A-Z]) | |||
| jonathan | Yup. | ||
| Guess I've just discovered another issue | 17:41 | ||
| pmichaud | it's just that when it did the lookup it got a sub and not a type. | ||
| jonathan | Aye. | ||
| So the test passed by accident" | |||
| pmichaud | which happened to work out okay. It's the same reason why ~~ Grammar::foo finds a sub even when we don't want it to. | ||
| jonathan | Yup. | ||
| pmichaud | looks like I closed 17 rakudo tickets this week. :-) | 17:42 | |
| jonathan | Nice! | ||
| How many did masak open, though? ;-) | |||
| jonathan looks for where to fix the call thing | 17:43 | ||
| pmichaud | jonathan: it still has to detect MyPack as a type. | ||
| that becomes the :ns() entry | |||
| with "val_v" becomine the "name" entry | 17:44 | ||
| in a :scope('package') lookup. | |||
| jonathan | A package is a type? | 17:45 | |
| pmichaud | it's something that is recognized as a typename, yes. | ||
| at least, that's the way I've understood it. | |||
| jonathan | OK, we must be parsing wrong, because we don't end up in typename. | ||
| pmichaud | if you're only accepting protoobjects, that's why. | ||
| jonathan | MyPack::val_v parses as a term | ||
| pmichaud | you might need "protoobject or namespace" | ||
| jonathan | Oh, I've got a few things. In parsing MyPack::val_v we never hit typename. | 17:46 | |
| noun -> term -> name | |||
| Ah, I see | 17:47 | ||
| term:name checks for types too. | |||
| pmichaud | yes. | ||
| but in this case "MyPack::val_v" isn't a type, so.... hrm. | 17:48 | ||
| so it's an unrecognized name, and assumed to be a listop. | |||
| I guess. | |||
| jonathan | # unrecognized names are assumed to be post-declared listops. | 17:49 | |
| Yup | |||
| pmichaud | that feels a little funny, but I guess I can go with that. | ||
| it means that perhaps <longname> should return a PAST::Var( :scope('package') ) node | |||
| that looks very reasonable to me. | 17:50 | ||
| I'm not sure that we're doing "longname" yet, though. I'd have to check the grammar. | 17:51 | ||
| jonathan | We're not. | ||
| pmichaud | actually long name is PAST::Var, with :scope('package') only if there's a namespace component. | ||
| hmm, that's not quite right either. | |||
| ah well, it can be figured out. | 17:52 | ||
| I'd better get my stuff done for rdice | |||
| jonathan | aha | ||
| $past := PAST::Op.new( :name( ~$<name> ), :pasttype('call') ); | |||
| In the action we don't break the name into its name and namespace parts | |||
| pmichaud | need to do that only if there are namespace parts, though. | 17:53 | |
|
17:53
Maddingue joined
|
|||
| jonathan | That's OK, parse_name will do the right thing I guess. | 17:53 | |
| pmichaud | so, parse_name( ~$<name.... right. | ||
| that'll work well. | |||
| jonathan | Ah, but we don't want to set namespace to be an empty list if there's no namespace part because we want a lookup in the current, not root, namespace. | ||
| pmichaud | correct. | 17:54 | |
| you do something different depending on the number of elements coming back from parsename | |||
| if 1, then generate the Op like we do now. | |||
| if > 1, then generate a PAST::Var node that is the first argument to PAST::Op | |||
|
17:55
allison joined
|
|||
| dalek | r33966 | kjs++ | trunk: | 17:55 | |
| : [pirc] start duplicating info for symbols/pir_reg; old code will be removed shortly. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33966 | |||
|
17:55
ihrd left
|
|||
| pmichaud | it may need some refactoring for interpolated namespaces anyway. | 17:56 | |
| jonathan | pmichaud: It's a call node, can't I just set :namespace(...) on the conditon it's > 1? | 17:57 | |
| pmichaud | I don't know if call nodes understand :namespace | 17:59 | |
| (I don't recall that they do. I've been thinking that perhaps they should.) | |||
| jonathan | Gah, they don't! | ||
| pmichaud | or I've been thinking that :name can become a PAST tree that becomes the thing to be called | 18:00 | |
| jhorwitz files a new rakudo bug report right after pmichaud fixes his previous bug :( | 18:05 | ||
| pmichaud | jhorwitz: correct -- binding is broken for arrays/hash elements at the moment. | ||
| jhorwitz | ok, that's fine. i can work around it | 18:06 | |
| jonathan | pmichaud: Aha, seems to work. Need to spectest, but it does fix that borken test. | ||
| pmichaud | you'll want to do that -- I don't know that it'll be fixed real soon. | ||
| jhorwitz | (PIR in perl modules)++ | ||
| dalek | r33967 | kjs++ | trunk: | 18:09 | |
| : [pirc] remove field #1 ("interval") from symbol/pir_reg. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33967 | |||
| Coke | parrotsketch? | 18:11 | |
| purl | well, parrotsketch is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch | ||
| Coke | time? | ||
| purl | time is 18:11:07 2008 and (did you mean "clock"?) or flowing like a river | ||
| Coke | clock? | ||
| purl | Coke: LAX: Tue 10:11am PST / CHI: Tue 12:11pm CST / NYC: Tue 1:11pm EST / LON: Tue 6:11pm GMT / BER: Tue 7:11pm CET / IND: Tue 11:41pm IST / TOK: Wed 3:11am JST / SYD: Wed 5:11am EST / | ||
|
18:12
Whiteknight joined
18:14
rindolf joined
|
|||
| dalek | r33968 | kjs++ | trunk: | 18:18 | |
| : [pirc] remove field #2 ("type") from symbol/pir_reg. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33968 | |||
| r33969 | jonathan++ | rakudoreg: | |||
| : [rakudo] Fix term action to respect namespaces. This fixes up all remaining broken spec tests, most likely (need to pull latest changes in from trunk to be sure of that, since more was unfudeged since I last sync'd). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33969 | |||
| particle | jonathan: have you upgraded to svn 1.5? i strongly recommend it. | 18:20 | |
| jonathan | particle: Yes | ||
| particle | excellent. | ||
| i want to write up a guide to the pugs repo for rakudo hackers | 18:21 | ||
| jonathan | , | ||
| particle | svn 1.5 allows sparse checkouts | ||
| jonathan | d'oh | ||
| pmichaud: When you've time, may be good to talk about use. But don't want to drag you from what you're working for rdice, plus I plan to get food after #ps. Maybe in a couple of hours works? | 18:23 | ||
| dalek | r33970 | kjs++ | trunk: | ||
| : [pirc] remove field #3 ("color") from symbol/pir_reg. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33970 | |||
| pmichaud | jonathan: maybe. tomorrow might be better. | ||
| jonathan | pmichaud: OK. | ||
| pmichaud: I think my branch now passes all tests. | 18:24 | ||
| moritz tests jonathan's branch | |||
| jonathan | Just brought in your latest changes to sort/pairs to make sure. | ||
| pmichaud | excellent. If that's the case, I recommend merging right after release. | ||
| jonathan | pmichaud: I can't | ||
| Because I've broken use. | |||
| pmichaud | oh, I see. | ||
| jonathan | At lesat, use when you have classes in what you're using. | ||
| Since we need to have the symbols available at compile time, we need to use at compile time. | 18:25 | ||
| As in, call the compiler from the compiler. | |||
| pmichaud | right. | ||
| jonathan | Which works. But breaks pre-compiled modules. | ||
| moritz | like Test.pir | ||
| d'oh. | |||
| jonathan | moritz: No, because Test.pir doesn't have any classes or roles. :-) | 18:26 | |
| Just subs. | |||
| It'll break if I don't do it at compile time, because the symbols will be missing and typename won't find 'em. | |||
| pmichaud | why does it break pre-compiled modules, again? | ||
| particle | it breaks november, i'm afraid | ||
| jonathan | If I do it at compile time, then the pre-compiled module needs a kind of "trace" leaving in it (in loadinit). | 18:27 | |
| So that the module actually gets used in the pre-compiled case. | |||
| kj | #ps in 3 | ||
| pmichaud | right. | ||
| jonathan | I think just doing that should work. | ||
| But I got the impression you wanted to talk more about it. | |||
| particle checks cia.vc/stats/author/particle | |||
| pmichaud | you're correct. | ||
| I want to talk more about it so that we can get all of the :load stuff resolved correctly. | 18:28 | ||
| jonathan | particle: Right, and november is what I don't want to break here. | ||
| pmichaud: Right. | |||
| pmichaud | it can wait a day, then. we don't have to worry about the branch going out of date with respect to trunk. | ||
| we can also get MAIN fixed too. | |||
| I won't do any of my other changes I have planned until we merge this branch into trunk. | 18:29 | ||
| I do have a question, though. | |||
| jonathan | OK, that's what concerned me. You making a branch from trunk to do parameter stuff. | ||
| pmichaud | I won't make that branch until we do the merge. | 18:30 | |
| jonathan | OK | ||
| kj | #ps in 0 | ||
| pmichaud | in the PAST::Block.loadinit stuff, do you think it's okay if we say that the loadinit's happen *outside* of whatever namespace the PAST::Block happens to be in? | ||
| (currently they happen in the same namespace) | |||
| I tested having all of the .loadinit stuff combined into a single :load :init sub, and it worked great except for that potential issue. | 18:31 | ||
| jonathan | The *big* issue is that any blocks that are referred to by the loadinit must be compiled within the correct lexical scope. | 18:32 | |
| And namespace. | |||
| purl | namespace is, like, the internal namespace for things like $c->forward and template paths, anyway | ||
| jonathan | e.g. | ||
| sub foo($a where { $a > 0 }) { ... } | 18:33 | ||
| That block must be in the right lexical scope. | |||
| But the loadinit code will refer to it. | |||
| When it is building the signature object. | |||
| If we can get _that_ right, I don't see any problems. | |||
| pmichaud | the { ... } isn't part of the loadinit itself -- it's just referred by the loadinit. There's no problem there -- that's what :subid solves for us. | 18:34 | |
| so yes, the where closure is still in the correct lexical scope. the loadinit just attaches that closure to the signature object -- namespace isn't an issue. | 18:35 | ||
| dalek | r33971 | kjs++ | trunk: | ||
| : [pirc] more refactoring. Removed field #4 ('name', 'regno', and union-ified them) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33971 | |||
| pmichaud | I'm just wondering if someone might try to use .loadinit in PAST to set package-scoped variables and expect it to be in the same namespace as its "outer" block. | ||
| jonathan | I think that may be one of those "we need to document how it works" kinda things. | 18:37 | |
| pmichaud | so I'm thinking PCT can declare, at least for now, "loadinit items occur outside of the block in which they're declared" | ||
| jonathan | I think it's an OK limitation, provided we specify it. | ||
| pmichaud | and if someone wants to do something inside of the block/namespace, they create their own PAST::Block with :load :init flags | ||
| but .loadinit is for compilation-unit-scoped initialization tasks. | |||
| jonathan | Right. | 18:38 | |
| We're not removing a way to do something. | |||
| You can still make a :load :init block if needed. | |||
| pmichaud | okay. | ||
| jonathan | It's not hard to do that. | ||
| dalek | r33972 | infinoid++ | trunk: | ||
| : [cage] Fix trailing whitespace. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33972 | |||
| pmichaud | and I'm thinking that having one :load :init block for the compilation unit is a lot better than having one per Routine | ||
| jonathan | It is much more work to build up a bunch of stuff in a single routine. | 18:39 | |
| Yes. More efficient for one. | |||
| But less generated code and easier to pick stuff out of the generated code for another. | |||
| pmichaud | oh, I can add comment lines. It's actually not too difficult to pick them out. | ||
| jonathan | Oh, I was thinking the toher way around, but that's a good point too. | 18:40 | |
| I meant that at the moment you have a sub, a block of init code for it, a sub, a load of init code... | |||
|
18:40
alvar joined
|
|||
| jonathan | A lot of the time I don't care about the init code, I want to see what's going on in the sub itself. (As in, Perl 6 level sub.) | 18:40 | |
| pmichaud | right. | ||
| I'm the same way -- I want the init code out of the way. | 18:41 | ||
| so it'll go at the top, and all init takes place in a single :load :init sub | |||
| fewer invocations, fewer subs. | |||
| seems like a win. | |||
| jonathan | Yes. | 18:42 | |
| I'll be very happy to see that. | |||
| And subid makes it possible to get scoping stuff right. | 18:43 | ||
| pmichaud | that should already be the case in PCT. | ||
| jonathan | Will we have to make subids outselves? | ||
| pmichaud | no, PCT handles it all for us. | ||
| I may expose an option to allow HLL-generated subids, yes. | |||
| jonathan | OK, even in the sub foo($x where { $x > 0 }) { ... } and then referencing that block by subid in the initload for signatures? | ||
| pmichaud | yes, PCT handles that. | 18:44 | |
| jonathan | How will that look? | ||
| s/will/does/ then ;-) | |||
| pmichaud | sub foo :subid('19') | ||
| ... | |||
| .end | |||
|
18:44
arthur left
|
|||
| pmichaud | sub '' :anon :subid('20') :outer('19') | 18:44 | |
| ... stuff for $x > 0 | |||
| .end | |||
| .sub '' :load :init | |||
| .const 'Sub' $P11 = '19' | 18:45 | ||
| # initialization for foo | |||
| .const 'Sub' $P11 = '20' | |||
| # initialization for anon sub | |||
| .end | |||
| jonathan | OK, makes sense. | ||
| I was thinking at the PAST level more. | |||
| So I have the PAST::Block for the constraint | 18:46 | ||
| And I'm building my loadinit. | |||
| pmichaud | it's same as now. | ||
| jonathan | Ah, yes, bad example. | ||
| pmichaud | my $loadinit := $block.loadinit(); $loadinit.push(...) | ||
| jonathan | Yes, because loadinit takes care of doing the lookup. | ||
| I was thinking of the case where I have a PAST::Block and I know I will want to reference it (by a subid lookup) elsewhere in the tree. | 18:47 | ||
| pmichaud | right -- don't have that yet. | ||
| that's what I mean by "expose an option to allow HLL-generated subids" | |||
| jonathan | I can't just incldue the PAST::Block elsewhere in the tree, otherwise it spits it out twice (plus how I know which block was the one to code-gen...) | ||
| OK, so in that case we'd force HLLs to make subids themselves. | 18:48 | ||
| pmichaud | either that or just say "give me the subid for this block" and let PAST generate it. | ||
| jonathan | Right. The second one would be nice. | ||
| pmichaud | I'm looking at the issue of references in general. | ||
| jonathan | But it's not a high priority for me - I don't have a need/use case right off hand. | ||
| moritz | jonathan: added a very simple use+class test in (pugs) r24417 | 18:50 | |
| jonathan | moritz: Passing? | 18:51 | |
| moritz | jonathan: in trunk, yes | ||
| jonathan | moritz: Excellent, that's exactly what I needed. | ||
| moritz++ | |||
| moritz | I'll elaborate a bit more on them, but it's a start | ||
|
18:54
ff-wonko joined
|
|||
| dalek | r33973 | kjs++ | trunk: | 18:58 | |
| : [pirc] et voila! Nice code! woohoo. Refactoring follows shortly. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33973 | |||
|
19:00
leto joined
|
|||
| jonathan | Ah, I gotta pop out for a bit... | 19:02 | |
| bbsoonish | |||
| particle | that's a terrible commit message. | 19:10 | |
| dalek | r33974 | coke++ | trunk: | ||
| : pass 'make codetest'. | |||
| : Note that I think the passing c_indent update for filehandle.pmc makes the code uglier, but I bend my will to that of the codingstd test. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33974 | |||
| chromatic | That's a terribler commit message. | 19:12 | |
| kj | Whiteknight is doing a good job on his book | 19:13 | |
| eh,wrong windows | |||
|
19:21
Theory joined
|
|||
| chromatic | Hm, Eiffel is a powerful language. | 19:23 | |
| particle | yes, true, it's very slow. | ||
| chromatic | Have you used it? | 19:24 | |
| particle | in years past, i have | ||
| chromatic | In theory, it's easy to optimize. | ||
| particle | before bush 2 | ||
| i liked design by contract a lot | 19:26 | ||
| chromatic | Once routines are clever too. | ||
| Explicit and declared conversions. | 19:27 | ||
| particle | once routines are like state variables | 19:29 | |
|
19:29
Zaba joined
|
|||
| dalek | r33975 | kjs++ | trunk: | 19:29 | |
| : [pirc] the previous commit removed a lot of tests for whether a <target> node was a <symbol> or <register>; now that mess has been cleaned up, code duplications and struct definitions can be cleaned up. This patch does exactly that. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33975 | |||
|
19:37
leto joined
|
|||
| dalek | r33976 | allison++ | cc_restart: | 19:39 | |
| : Creating branch for a clean application of the calling conventions refactor. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33976 | |||
| r33977 | kjs++ | trunk: | |||
| : [DEPRECATED] | |||
| : + deprecate 'slice' op | |||
| : + deprecate string indexing sugar mapping to substr opcode. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33977 | |||
| moritz | jonathan: re use test, I was wrong, it doesn't work in trunk :( | 19:40 | |
| and I can't figure out why | |||
| jonathan: de-alarm, I simplified it so that it works in trunk | 19:44 | ||
| pmichaud | afk # working on presentation -- must finish soon. | ||
| Whiteknight | allison++ | 19:45 | |
| kj | allison: I suspect the whole stack calling conventions, specified/examplified in pdd19, are no longer relevant. Can you confirm? | 19:47 | |
| at least it's not parsed by imcc | |||
| allison | kj: looking now | 19:49 | |
| kj: yes, you can eliminate the stack calling conventions documentation | 19:50 | ||
|
19:50
Khisanth joined
|
|||
| kj | okidoki. thnx | 19:50 | |
| Whiteknight | cotto: I don't understand your knockknock joke | 19:51 | |
| cotto | some enchanted evening | 19:52 | |
| Whiteknight | buh-dum ch! | 19:53 | |
| Infinoid | Coke: fixing that codingstd test was on my list, but it was going to be a while, as there is some seriously baroque string parsing code in that test. | ||
| Whiteknight | allison, do you have the current diff against trunk for the calling_conventions branch? I'll lend a second pair of eyes if you need them | 19:54 | |
| allison | Whiteknight: applied to a fresh branch and testing now | ||
| Whiteknight | okay, I'll wait for you to commit the changes and then look over them | 19:55 | |
| moritz | jonathan: ok, the test (t/spec/S10-packages/use-with-class.t) is now a bit more extensive, passes in trunk, and fails in rakudoreg ;-) | ||
| Coke runs a very long 'make' cycle. | 19:57 | ||
| particle is building the fresh branch as a baseline | 19:58 | ||
| allison | Whiteknight: I've granted you posting access on parrot.org, you may want to try it out | 20:00 | |
| Whiteknight | thanks! I definitely will | 20:01 | |
| the calling_conventions branch doesn't even build for me right now, linker errors with undefined IO-related functions | 20:02 | ||
| dalek | r33978 | moritz++ | trunk: | 20:03 | |
| : [rakudo] add a file (classes that are defined in use'd modules) to t/spectest.data | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33978 | |||
|
20:04
b2gills joined
|
|||
| dalek | r33979 | kjs++ | trunk: | 20:09 | |
| : [pdd19] change some {{ }} notes in more formal notes, indicating the current behaviour, and what it will be like. More cleanups of pdd19 will come after more deprecated stuff is removed from the implementation (IMCC). + remove example with stack calling conventions. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33979 | 20:10 | ||
|
20:12
b2gills left
|
|||
| Coke | Whiteknight: if I run the tests as described in the release guide, I get the one failure I already reported in platforms. | 20:12 | |
| Whiteknight | which one failure? | 20:13 | |
| Whiteknight has too many windows open | 20:14 | ||
| Coke | `ack darwin PLATFORMS` | ||
| there's an open RT for it. | 20:15 | ||
| t/compilers/imcc/syn/macro.t segfaults on intel&ppc darwin | |||
| Coke supposes he should try to get a darwin ppc report in for you. | |||
| when are you cutting the release? | |||
| Whiteknight | probably about 7pm EST, so 4 hours from now | 20:16 | |
| Coke | ok. I'll see what I can do. | ||
| -> | |||
| Whiteknight | I could push off till 8ish if there is a last minute rush, but I would rather not | ||
| chromatic | I'd debug that problem, but I forgot my password to the only Darwin PPC box I have available. | 20:19 | |
| ... but I might be able to reproduce it on Linux PPC. | 20:20 | ||
| Whiteknight | goodluck, and godspeed | 20:22 | |
| bacek | good morning | 20:31 | |
| Whiteknight | good morning bacek | 20:39 | |
| bacek | Whiteknight: first your release today? :) | 20:41 | |
| Whiteknight | yep, first release in about 4 hours | ||
| bacek | good luck! | 20:43 | |
| purl | You'll need it. | ||
| GeJ | Good morning everyone | 20:45 | |
| Whiteknight | good morning GeJ | 20:46 | |
|
20:48
masak joined
|
|||
| GeJ | hej masak | 20:48 | |
| masak | hejsan GeJ | ||
| I heard there would be a release today. | 20:49 | ||
| GeJ | you heard it right | ||
| masak | how's it going? | ||
| GeJ | I dunno, I just woke up. Running a build and test session against the latest revision right now. | 20:50 | |
| jonathan is back | |||
| masak | GeJ: sounds like a good idea. I'll do that too. | ||
| moritz | waking up is always a good idea ;) | ||
| masak | moritz: :) | ||
| GeJ | servus moritz | 20:51 | |
| and no it's not. | |||
| Bed, good. Outside, bad! | |||
| moritz stands corrected | |||
| masak | 'svn: command not found' :/ | 20:52 | |
| masak installs | |||
| Whiteknight | heading home now, be back later | 20:59 | |
| masak | how come `perl Makefile.PL` fails with "Compilation failed with 'cc'", even after I've installed gcc-4.1 with apt-get? | 21:06 | |
| moritz | masak: probably 'cc' isn't a link to gcc | 21:08 | |
| masak: install the build-essentials package | |||
| masak | moritz: oka | ||
| moritz | (or perl Configure --cc=gcc) | ||
| masak | "Couldn't find package build-essentials" | 21:09 | |
| moritz: and I do have a /usr/bin/cc | |||
| moritz | masak: sorry, just build-essential (without the trailing s) | ||
| masak | (and doing `perl Makefile.PL --cc=gcc` didn't work) | 21:10 | |
| moritz: oki, trying that. | |||
| moritz | masak: Configure, not Makefile | ||
| masak | oh. | ||
| bacek | masak: apt-get build-depends parrot | ||
| masak | I thought you remembered wrongly. does Configure run Makefile.PL? | ||
| moritz | it's the other way round | 21:11 | |
| chromatic | No, the other way around. | ||
| masak | bacek: 'Invalid operation build-depends' | ||
| bacek | masak: Lenny? apt-get build-dep parrot | ||
| masak | bacek: ah, ok | ||
| moritz | build-dep, not build-depends | ||
| masak | Makefile.PL worked now. | ||
| masak is amazed at how bacek managed to guess his distro down to the version, and from a single error message | 21:13 | ||
| bacek uses Debian since Potato :) | 21:14 | ||
| moritz | despite a fair number of remaining RC bugs, Lenny is very much usable these days | 21:16 | |
| bacek | moritz: indeed | ||
| masak | I've been trying unsuccessfully to disable Gnome today, and replace it by ratpoison | 21:18 | |
| bacek | masak: why? why to replace and why unsuccessful? | 21:20 | |
| masak | I'd like to learn to use something like ratpoison. I tend to prefer keyboard-only to a great degree. | 21:21 | |
| moritz | ah, a future ion3 user ;-) | ||
| masak | and I guess the tips and tricks I found on the web were outdated or something, because they didn't work. I still haven't figured out what to change to make Gnome not start at startup. | ||
| bacek | xmonad! | ||
| masak: apt-get remove gdm :) | 21:22 | ||
| moritz | masak: at startup only gdm is started, not gnome | ||
| masak: you can replace that by xdm for example, which is a bit lighter | |||
| masak | bacek: been thinking of installing xmonad, too, yes. | ||
| so gdm != gnome? | |||
| moritz | correct | ||
| chromatic | Only 1100 more commits to check out. Sigh. | 21:26 | |
| masak | moritz: so when I replace gdm by xdm, what is it that I've replaced, exactly? | 21:29 | |
| moritz | masak: the thing on the GUI in which you type your username and password | 21:30 | |
| masak: and which usually lets you chose your window manager | |||
| masak | aah. | ||
| moritz | you don't have to remove GNOME to try another window manager | 21:31 | |
| (and neither do you have to replace gdm) | |||
| masak | oic | 21:32 | |
| moritz | (I always leave gnome installed in case $girlfriend wants to use my computer and gets fed up by fvwm ;) | ||
| masak | heh | 21:33 | |
| all tests successful. | 21:34 | ||
| purl | make install NAO! | ||
| masak | purl: no. | ||
| purl | masak: huh? | ||
| masak just realized that his Chinese dictionary is at home | |||
| so I have to go now. | |||
| good luck with the release, everybody. | 21:35 | ||
| dalek | r33980 | allison++ | trunk: | 21:36 | |
| : [doc] Add release instructions for uploading source tarball to parrot.org FTP. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33980 | |||
| Tene | pmichaud: I was having a weird problem with PCT that I didn't quite understand. I have a patch that makes things not die, but I'm not certain it's correct. It was mostly a guess. Do you have a minute to look at it? | 21:40 | |
| pmichaud | yes | 21:42 | |
| nopaste | "tene" at 97.117.74.5 pasted "Modification to sub 'bind' :multi(_,[PAST;Op])" (16 lines) at nopaste.snit.ch/14981 | ||
| Tene | When I used := in rakudo, it was failing with 'rtype not set' | 21:43 | |
| pmichaud | currently bind should only work for PMCs | ||
| yes, := is broken for hashes/arrays | |||
| Tene | Okay. | ||
| pmichaud | we'll have to build some form of proxy objects to support hash/array element binding | ||
| either that or we'll have to figure out how to do something clever with set_pmc_keyed_* | 21:44 | ||
| (so that they can support slicing directly) | 21:45 | ||
| and hopefully whatever we come up with doesn't imply creating a new proxy object on every array/hash fetch | 21:46 | ||
| jonathan: ping | 21:47 | ||
| purl message jonathan ...how hard do you think it would be to get ObjectRef to participate in multi dispatch? | 21:48 | ||
| purl | Message for jonathan stored. | ||
| pmichaud | e.g., so that .sub 'foo' :multi('ObjectRef') could work and bind tighter than whatever ObjectRef is referencing? | 21:49 | |
| afk, have to run some errands | |||
| jonathan | pmichaud: pong | 21:54 | |
| oh, too late | |||
| purl message pmichaud it wouldn't surprise me that when we switch to Perl6MultiSub, it'll Just Work maybe even without any changes (other than creating a protobject for ObjectRef, which may or may not be a challenge). | 21:55 | ||
| purl | Message for pmichaud stored. | ||
| dalek | r33981 | julianalbo++ | trunk: | ||
| : fix a perldoc coding error | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33981 | |||
| jonathan | purl message pmichaud For MMD today, we may be able to do it by intercepting get_mro and sticking ObjectRef into what comes back. | 21:56 | |
| purl | Message for pmichaud stored. | ||
| pmichaud | back for a minute | 21:57 | |
| creating a protoobject for ObjectRef shouldn't be a challenge | |||
| of course, we still want the ObjectRef to participate in mmd for whatever it's referencing | |||
| so, if I do: $P0 = new 'List'; $P1 = new 'ObjectRef', $P0 | 21:58 | ||
| jonathan | pmichaud: Perl6MultiSub calls isa, I believe. | ||
| pmichaud | okay. | ||
| it didn't work when I tried it a few days ago, I think. | |||
| jonathan | And we taught ObjectRef to know about isa. | ||
| With Perl6MultiSub? | |||
| pmichaud | oh, I guess not with Perl6MultiSub | ||
| jonathan | Or with the standard Parrot one | ||
| OK. | 21:59 | ||
| pmichaud | it would've been a standard Parrot one. | ||
| that makes sense. | |||
| jonathan | let me check something quickly... | ||
| pmichaud | (it was infix:= that I was playing with) | ||
| dalek | r33982 | allison++ | trunk: | ||
| : [cage] Deprecated opcode 'pioctl' has been removed. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33982 | |||
| jonathan | Oh, hmm. | 22:00 | |
| Yeah, we do get_type and ObjectRef forwards that. | |||
| dalek | r33983 | allison++ | trunk: | ||
| : [doc] Removing opcode that no longer exists from the documentation. | |||
| jonathan | Then looks up the mro of the underlying thingy. | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=33983 | ||
| r33984 | tene++ | trunk: | |||
| : [rakudo] | |||
| : * move Exception clas sinto a new file | |||
| : * add resume() and rethrow() to Exception | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33984 | |||
| jonathan | In the vtables of the interpreter | ||
| And the mro is in the vtable | |||
| So there's no get_mro call to intercept. | 22:01 | ||
| Meh. Was an interesting through for the 2 minutes I forgot how Parrot guts work... | |||
| pmichaud | heh | ||
| jonathan | I'm rather struggling on an easy way to bend Parrot's MMD to let us dispatch on ObjectRef. | ||
| pmichaud | it (or something like it) may become important at some point. Otherwise we'll constantly be checking "is this an ObjectRef" before we do anything. | 22:02 | |
| jonathan | Or a tricky way either for that matter. | ||
| pmichaud | it is not immediately critical -- just something I kept running up against while doing assignment/list slices/hash slices/other | ||
|
22:02
eric256 joined
|
|||
| jonathan | I'm a tad scared even if we do manage to get Perl6MultiSub to do it that it will interact nastily with caching. | 22:02 | |
| pmichaud | and I'm thinking it may end up being important for binding of aggregate elements as well :-( | ||
| jonathan | Hmm. Yes, it would. :-| | 22:03 | |
| Basically, ObjectRef lies about its existence. | |||
| eric256 | i implemented .succ and .pred in src/classes/Object.pir but i'm wondering if it belongs in Scalar instead, anyone got an idea? | ||
| pmichaud | ...don't we already have .succ and .pred ? | ||
| dalek | r33985 | allison++ | trunk: | 22:04 | |
| : [pdd] Remove section on Deprecated Opcodes from I/O PDD, now that all of them | |||
| : have been removed. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33985 | |||
| jonathan | And just behaves like the thing its referencing (including claiming to have the thing it's referencing's type ID). Which is why it appears transpent like we usually want it to. | ||
| pmichaud | oh, maybe VAR(...) has some answers. I'll have to think about that. | 22:05 | |
| eric256: I think .succ and .pred are already implemented. | 22:06 | ||
| dalek | r33986 | allison++ | trunk: | ||
| : [cage] Remove long-deprecated opcode 'pioctl' from the editor highlighting. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33986 | |||
| jonathan | And that's why we come unstuck with Parrot's MMD. It comes and says "oh hi, what type are you?" And we hand back the type ID of what we're referencing. | ||
| And it uses that for the MRO | |||
| Of course, if we don't do that, then we will break impressively. | |||
| eric256 | pmichaud: then i must have mis understood. cause "my $x = '000'; $x.succ; say $x;" doesn't work and from the S03 i thought it would | 22:07 | |
| pmichaud | .succ isn't an inplace modifier | ||
| it returns the successor value | |||
| rakudo: my $x = '000'; say $x.succ; | |||
| polyglotbot | OUTPUT[Method 'succ' not found for invocant of class 'Str'ā¤current instr.: '_block11' pc 46 (EVAL_12:22)ā¤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)ā¤called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1216 (src/PCT/HLLCompiler.pir:669)ā¤called from Sub | ||
| ..'parrot;PCT;HLLCompiler;command_line' pc 1396 (src/PCT... | |||
| Tene | rakudo: say 1.succ; | ||
| polyglotbot | OUTPUT[Method 'succ' not found for invocant of class 'Int'ā¤current instr.: '_block11' pc 23 (EVAL_12:15)ā¤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)ā¤called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1216 (src/PCT/HLLCompiler.pir:669)ā¤called from Sub | ||
| ..'parrot;PCT;HLLCompiler;command_line' pc 1396 (src/PCT... | |||
| eric256 | see? | ||
| pmichaud | oh, maybe .succ isn't implemented for Str | ||
| Tene | or Int | ||
| jonathan | rakudo: my $x = 1; say $x.succ | 22:08 | |
| polyglotbot | OUTPUT[Method 'succ' not found for invocant of class 'Int'ā¤current instr.: '_block11' pc 46 (EVAL_13:22)ā¤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)ā¤called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1216 (src/PCT/HLLCompiler.pir:669)ā¤called from Sub | ||
| ..'parrot;PCT;HLLCompiler;command_line' pc 1396 (src/PCT... | |||
| jonathan | *nod* | ||
| pmichaud | but simply doing $x.succ doesn't change the value of $x | ||
| eric256 | right i understand that | ||
| jonathan | Yeah, we succ at this at the moment. | ||
| eric256 | it still doesn't in my implementation | ||
| pmichaud | so, we need .succ for Int and Str (and probably Num) | ||
| eric256 | done i think | ||
| pmichaud | but it definitely doesn't belong in Object | ||
| Tene | .succ is only implemented for Bool in rakudo | ||
| eric256 | rafb.net/p/Vpkgx357.html | 22:09 | |
| pmichaud | eric256: yes, those are wrong. | ||
| eric256 | okay thats what i was wondering. object didn't seem to tbe the right place | ||
| pmichaud | because the inc opcode ends up calling .succ | ||
| so you end up with a recursive loop. | |||
| dalek | r33987 | allison++ | trunk: | 22:10 | |
| : [cage] Remove tiny example file illustrating deprecated and removed opcode 'pioctl'. | |||
| pmichaud | (on the other types) | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=33987 | ||
| eric256 | why does it work then? hmm | ||
| ohhh on the other types | |||
| pmichaud | it'll work okay for Int, Num, and Str, because they have their own 'increment' vtable function. | ||
| but other Object types don't, they get the one that is defined in Object | |||
| and that one calls ".succ" :-) | |||
| so we'd end up with a case of: class Foo { }; my $x = Foo.new; say $x.succ; # infinite loop | 22:11 | ||
| instead of "method .succ not found" | |||
| eric256 | and indeed it does. well i'll go add a test to make sure mine fails testing at least so this wont have been a total loss hehe | 22:12 | |
| pmichaud | if you want to submit a patch for Int/Num/Str, that'd be great. | 22:13 | |
| (and tests) | |||
| okay, folks, I need to get to bank before closing. bbiaw | 22:14 | ||
| eric256 | same code just one for each class? or is the code still wrong? | ||
| pmichaud | the code itself looks pretty good. | 22:15 | |
| this is one of those places where vtables make us turn everything inside-out | 22:16 | ||
|
22:17
TiMBuS joined
|
|||
| chromatic | If we replaced vtables with MMD.... | 22:18 | |
| jonathan | ...then we make the few remaining fast things slow? | ||
| chromatic | We could get rid of the multimarshalling code. | 22:19 | |
| jonathan | OK, if we replaced the ops that are currently MMD to just do the MMD and not go through the vtable, sure. | ||
| I'd rather not making eg. set_pmc_keyed go through MMD, though. | 22:20 | ||
| chromatic | Me neither, at least not right now. | ||
| jonathan | OK. | ||
| In that case we probably are agreeing. | |||
| I thought you meant whip out vtables alltogether. | |||
| chromatic | Not soon, no. | 22:21 | |
| jonathan | OK. | ||
| chromatic | Maybe by February. | ||
| (Yes, that's a joke.) | |||
| dalek | r33988 | tene++ | trunk: | 22:22 | |
| : MANIFEST and metadata updates for new file. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33988 | |||
| jonathan | :-) I'd rather see us try that until we've tried it with the already-mmd'd ones. | ||
| "...placing interest rates as low as zero - their lowest level in history..." | |||
| Well yes, I guess they've not been lower. :-) | 22:23 | ||
| jonathan is amused by some journalsim | |||
| *journalism | |||
| eric256 realy wants a -5.5% loan | |||
|
22:24
Whiteknight joined
|
|||
| chromatic | Remember that for a journalist "history" means "THE LAST FIVE MINUTES! OMG! PONIES!!" | 22:26 | |
| dalek | r33989 | tene++ | trunk: | 22:28 | |
| : [rakudo]: CONTROL blocks | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33989 | |||
| r33990 | allison++ | trunk: | 22:39 | ||
| : [cage] Deprecate 'add_io_event' opcode. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33990 | |||
| Whiteknight | allison still here? | 22:43 | |
| dalek | r33991 | allison++ | trunk: | 22:50 | |
| : [cage] Remove completely unused file io_mmap.c. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33991 | |||
|
22:57
Alias left
|
|||
| dalek | r33992 | Whiteknight++ | vtable_self: | 23:01 | |
| : deleting old and unused branch that has become woefully out of date. Will revisit these issues later | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33992 | |||
| r33993 | allison++ | trunk: | 23:11 | ||
| : [cage] Eliminate vague todo. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33993 | |||
| Whiteknight | karma allison | 23:13 | |
| purl | allison has karma of 1226 | ||
| Whiteknight | karma C | ||
| purl | c has karma of 7358 | ||
| Whiteknight | (C++)++ | ||
| karma C++ | 23:14 | ||
| purl | c++ has karma of -79 | ||
|
23:15
bacek_ joined,
ruoso joined
|
|||
| Whiteknight | (C++)-- | 23:16 | |
| karma C++ | |||
| purl | c++ has karma of -80 | ||
| Whiteknight | The whole sub calling system seems so fragile | 23:20 | |
| bacek_ | Whiteknight: what the problem with c++? | ||
| Whiteknight | oh, no problem with C++, it's a fine language. I just like playing with the bot | 23:21 | |
| jonathan | Whiteknight: In what sense? | ||
| (I'm not disagreeing with you, just curious what you feel is the most broken bit.) | |||
| Whiteknight | jonathan: the cc branch is broken beyond repair, the Sub PMC uses all sorts of creepy introspection that's causing segfaults, etc | ||
| tewk | Whiteknight: its a very complex system, | 23:22 | |
| Whiteknight | yes, and we're digging up some of it's complexity recently it seems | ||
| tewk | Has a new branch been created yet, allison said she had a clean diff. | 23:23 | |
| jonathan | Whiteknight: I haven't been paying the attention I maybe should have - what exactly has the branch been trying to achieve? | ||
| Just tidying up and fixes, or something more fundemental? | |||
| Whiteknight | That branch had a large wishlist. The first bite was trying to unify Parrot_PCCINVOKE and Parrot_pcc_invoke_sub_from_sig_object | 23:24 | |
| After that we're trying to refactor/simplify all the runops_* functions, and convert contexts to PMCs | |||
| particle | tewk: allison created the cc_restart branch, but didn't apply the diff :( | 23:25 | |
| jonathan | That's a lot to do in one go. | ||
| allison | particle: haven't committed it yet | ||
| Whiteknight | yeah, we're not doing it all in one go, breaking it down into subtasks | ||
| allison | have reverted some changes that were only merge problems | ||
| Whiteknight | and the first one is B0RKZORED | 23:26 | |
| I can't even build the calling_conventions branch anymore because of linker errors | |||
| allison | have also reverted the change of name for Parrot_PCCINVOKE, so it's obvious how small the changes really are | ||
| Whiteknight | yeah, that's a change I should't have made, but I had sed handy and a few extra minutes to myself | 23:27 | |
| jonathan | svn 1.5 feels buggy. | ||
| particle | buggy, how? | ||
| jonathan | Like, after an svn merge into my branch, I then have to svn up in my branch (even though there's nothing to update) before I can commit. :-S | 23:28 | |
| particle | my big complaint with svn is really with win32. lockfiles during cleanup phase of svn update take forever to delete. | ||
| solarion | don't use win32? :) | ||
| particle | jonathan: are you using the new merge syntax? | ||
| dalek | r33994 | jonathan++ | rakudoreg: | 23:29 | |
| : [rakudo] Sync branch up with trunk. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33994 | |||
| jonathan | particle: svn merge svn.perl.org:/parrot/trunk/ # should be all I need? | 23:31 | |
| allison | Whiteknight: well, it was a sensible change at the time, when all tests were passing. Trimming things down just makes it easier to pinpoint the failure. | ||
| jonathan | (I do that in my branch.) | ||
| particle | jonathan: right | ||
| jonathan | :-S | 23:32 | |
| Who knows. | |||
| Whiteknight | it's easy enough to reproduce anyway, so no harm in reverting it | ||
| particle | jonathan: you shouldn't need svn up after merge. see blog.red-bean.com/sussman/?p=92 for a succinct guide | 23:33 | |
| Tene | svn-- | 23:35 | |
| particle | svn++ | ||
| tewk | git++++ | 23:36 | |
| Whiteknight | karma git++ | 23:37 | |
| purl | git++ has neutral karma | ||
| Tene | Every project that I see that uses svn keeps having problems from merges breaking things. Its behavior wrt. merging seems broken every time I've tred it. Every time time I try to use svn, I either break something or almost break something. | 23:38 | |
| moritz | git++++ | ||
| Tene | Of course, that could easily say more about me than about svn. | ||
| chromatic | Ever time I try to use git, I end up reading about storage models and file systems instead of how to create a single patch against a project's HEAD. | ||
| moritz | oh, and every freakin' merge breaks MANIFEST | ||
| but that's a problem with MANIFEST | 23:39 | ||
| why do we need that anyway? can't we just generate it as part of 'make release'? | |||
| jonathan | Well this is amusing. Turns out that to make "use" work with pre-compiled modules and to happen at compile time means uncommenting 2 lines of code and leaving the current thing we do in place and tweaking the comments explaining it... | ||
| jonathan tries to work out what he's missing, or if he's just smarter today than a couple of months ago | 23:40 | ||
| Whiteknight | (smarter today)++ | ||
| jonathan | Of course, still need to work some stuff out with pmichaud, but given I'm only uncommenting two lines and not putting any more into init... ;-) | ||
| jonathan should get some November guys to test this | 23:41 | ||
| Whiteknight | you know what they call November++? | ||
| ..December | 23:42 | ||
| chromatic | Wiki Royale du Fromage? | ||
| particle | moritz: that's a dead horse | ||
| moritz | particle: what? manifest? | ||
| particle | getting rid of manifest. we'll do it, someday. not today. | 23:43 | |
| moritz | ok. | ||
| particle | just run tools/dev/mk_manifest_and_skip.pl regularly | ||
| dalek | r33995 | jonathan++ | rakudoreg: | 23:44 | |
| : [rakudo] Make use happen at compile time, but keep emitting the same thing we did before at runtime (basically, just uncomment the two lines that I'd annotated 'we really want to be doing this' and leave what we were already doing in place. Duh. :-) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33995 | |||
| particle | urk. | ||
| Whiteknight | allison+ is on a ticket managing rampage | 23:45 | |
| jonathan | That gets the test moritz++ added passing in my branch. | 23:46 | |
| However, somehow the merge f00ked up so I fail some pairs tests...wtf... | |||
| moritz | pmichaud added Pair.pair or Pair.pairs or something | 23:47 | |
| particle | jonathan: i wish i'd questioned that commented code some time ago! | 23:48 | |
| Whiteknight | There are so many things for me to do next cycle, it's rediculous | ||
| moritz | jonathan: November has a file (Session.pm) that loooks like this: Role Session; use Config; has $.attribute; this last line fails with the rakudoreg branch | 23:49 | |
| particle | that should get us closer to importing, too | ||
| moritz: does it fail before the last commit and after? | 23:50 | ||
| moritz | I only tried after the last commit | ||
| funny thing is, if I complue Config.pm first, it works. | |||
| Tene | complue? | ||
| oh, compile | |||
| moritz should really go to bed | 23:51 | ||
| maybe I get a chance to distill that into a test case tomorrow | 23:52 | ||
| jonathan | particle: to be honest I didn't spend a load of time on it before, I was trying to unblock November (which I did) and it's worked until now, when we really needed it done at compile time. | 23:54 | |
| dalek | r33996 | jonathan++ | rakudoreg: | ||
| : [rakudo] Some changes from trunk that somehow didn't make it to the last merge. This should mean the branch now passes all spectests, including the use ones, and that pre-compiled modules should work. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33996 | |||
| jonathan | moritz: That would be great. I don't want to break November. | 23:55 | |
| particle | ...especially with a release of parrot/rakudo happening *soon* | ||
| it would be nice if November could choose to target 0.8.2 if it wishes | |||
| jonathan | particle: There's no way this branch is going in before the release. | 23:56 | |
| particle | ah, okay then :) | ||
| jonathan | I didn't expect to fix what I just did. | 23:57 | |
| Well, not today. | |||
| particle | umm. does that mean it might be passing things by chance? | ||
| even though you just fixed a bunch of those? it's doing the same in a different way? | |||
| jonathan | particle: I didn't expect to as in, I thought it was going to take me quite a lot of work to achieve, rather than just some uncommenting. :-) | 23:58 | |
| Thus I didn't think I'd have time to do it before the branch. | |||
| Now that I've done the change, the results make senese. | |||
| Anyway, still need to review use etc with pm and it's probably best to get it sorted out in the branch. | 23:59 | ||
| And then merge. | |||
| particle | ok | ||
| jonathan | Need to work out the November failure too. | ||
| eric256 | its nice to look at the source of November and see that its still perl ;) if you know what i mean. | ||
| particle | i need to learn about use, too | ||