perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ Set by mncharity on 25 March 2009. |
|||
Tene | I'm less than half-motivated! | 00:00 | |
mncharity | Tene: eg 'perl6 has numerous implementations underway.' also the belief, I've seen elsewhere, that nothing but the current perl impl will ever run p5. | ||
TimToady | Tene: sure, but your half motivated is better than a lot of other people's fully motivated :) | 00:01 | |
Tene really gone now. | |||
mncharity | TimToady: pugs was dealing with hoards. how to characterize their motivated-ness is unclear to me. "the fully motivated are already participating" seems very odd. What interpretation other than 'by definition' would make this true? | 00:03 | |
You think there's no one, in the entire p5 community, who if they knew of STD.pm, might be interested and capable of helping out with it? | 00:04 | ||
TimToady | this is a volunteer effort. this includes the charismatic leaders and the purveyors of the wonderfulness of STD :) | 00:05 | |
mncharity | /me puzzled | 00:06 | |
TimToady | at the moment, I'm still recovering from my last charismatic roadtrip to purvey | ||
charismatic purveyors have to be especially on guard from burnout | 00:07 | ||
00:07
wayland76 joined
|
|||
mncharity | ah, ok. | 00:07 | |
/me looks forward to finding some recorded charismatic roadtripping | |||
00:12
kanru left
00:13
sri_kraih left
|
|||
mncharity | anyway, my fuzzy impression is starting to be that the p5 community has gotten a bit disconnected from the p6 effort. it may be unclear on what it may provide (eg, "no p5. no xs."), what it needs (more developers of many sorts I would think), how to help and why, etc. | 00:15 | |
jnthn | mncharity: The p5 user community or developer community? | 00:16 | |
mncharity | both | ||
00:17
payload left
00:18
DemoFreak left
|
|||
mncharity | the potential payoff of exploring this might be something like 'a B to p6 converter, with p5 running on rakudo, or say an elf compiling p5 opcodes' might alter how people think about p6. | 00:18 | |
even if it was just a 'week project and blog post' kind of toy. | 00:19 | ||
rephrase, the potential payoff of exploring this might be learning that something like writing a B to p6 converter, letting p5 run on rakudo, or alternately an elf compiling p5 opcodes, might have a useful impact on how p5 people think about p6. | 00:20 | ||
jnthn | FWIW, I think that the Perl 5 devs continuing to focus on Perl 5 is a Good Thing. | ||
mncharity | indeed | 00:21 | |
TimToady | those of us working full tilt on getting to Christmas tend to view these things as good but not on the critical path | ||
00:21
eternaleye joined
|
|||
jnthn | mncharity: I go to a fair few workshops. And my perception is that there is certainly a lot of interest in Perl 6. | 00:21 | |
TimToady | and when we do get to Christmas, there will be plenty of motivation to do the other things | ||
jnthn | However, interest in using it when it's at a point that it's suitable for people to do so - and that point will vary by individual - differs from interest in helping make it happen faster. | 00:22 | |
TimToady | but at the moment we're still in passion week, so things look pretty grim from time to time :) | ||
and we've done plenty of big splashes in the past, some of which result in negative backlash when instant gratification is not forthcoming. | 00:23 | ||
so our current strategy is to keep it on a low boil | 00:24 | ||
just keep mentioning p6 from time to time on perlmonks and such | |||
this process is a lot like trying to steer an asteroid | 00:25 | ||
doing it with nukes is apt to be counterproductive | |||
just slow steady pressure in the same direction is cumulative | 00:26 | ||
mncharity | hmm. lots of good points. I certainly am not at all suggesting the "look! p6 implementation X now does Y and Z!" splashing. but we also don't seem to be doing quiet, honest, concrete, "here's how many people are working on p6, and what they're working on. we could make more rapid progress if we had additional people of types foo and bar, to help with hee and qux." | 00:30 | |
TimToady | well, time for my Good Friday thing. | 00:32 | |
bbl & | |||
mncharity | g'night | ||
00:35
meppl left,
[particle]- left
|
|||
mncharity | OLPC's python efforts arguably failed for (somewhat) similar reasons. A small team, which for >year thought "We're too *busy* to get help, to spin up a dev community. We'll let the big boom at the end take care of that.". Then no boom, in part because of no community. And all the time the python community | 00:35 | |
00:36
meppl joined
|
|||
mncharity | thought they had this big staff, instead of it being basically 3 or 4ish people. Interpreted everything (not)happening through this perception, and wrote off helping. | 00:37 | |
jnthn: so interest, yes. but i wonder how many of those would could clearly make valuable contributions, are aware of just how valuable/valued their efforts would be. | 00:39 | ||
00:42
japhb left,
eternaleye left
|
|||
mncharity | so, perhaps, and opportunity to get more people to work with. | 00:45 | |
g'night all & | |||
jnthn | night | ||
00:45
mncharity left
|
|||
literal | hm, this is normal? sial.org/pbot/35927 | 00:49 | |
00:52
bitfish left,
kanru joined
00:57
ZuLuuuuuu left
|
|||
jnthn | literal: If Pod::Parser is not pre-compiled, it's very possible. | 00:58 | |
literal | ok | 01:03 | |
01:04
Maghnus_ joined
01:21
Maghnus left,
Maghnus_ is now known as Maghnus
01:22
Limbic_Region left
01:25
wknight8111 joined
01:28
Whiteknight left
|
|||
meppl | good night | 01:40 | |
01:42
meppl left
01:53
hercynium joined
02:01
japhb joined
02:03
braceta joined
02:04
kanru left
02:08
nbrown joined
|
|||
bacek__ | *incoming* | 02:23 | |
02:23
bacek__ is now known as bacek
|
|||
wayland76 ducks | 02:24 | ||
bacek | EWRONGWINDOW... | 02:25 | |
wayland76: how HTTP::Daemon going? | |||
wayland76 straightens up and sighs reliev-ed-ly | |||
bacek: I'm the wrong person to ask | |||
Basically, I still haven't got a working Rakudo RPM | |||
bacek | EWRONGPERSON | ||
too many EWRONG* stuff... | 02:26 | ||
02:26
kanru joined
|
|||
wayland76 | I'm waiting on parrot to apply some patches from me | 02:26 | |
But they don't seem to be interested in doing so | |||
bacek | wayland76: they are just quite busy... | ||
wayland76 | Yeah, I know that. But if they could at least either give me some feedback or apply the patch... :) | 02:27 | |
bacek | You have to ask allison. She works on packaging. | 02:28 | |
wayland76 | Yeah, I guess. Last time I looked, she wasn't around, but that was a week ago, so I'll try again :) | 02:29 | |
bacek | good luck :) | ||
afk # kids time | |||
02:32
braceta left,
braceta joined,
Kisu joined
02:34
Kisu left
02:36
jauaor joined
02:37
Kisu joined
02:38
PZt left
02:51
braceta left,
braceta joined
03:06
Util left
03:15
FurnaceBoy left
03:16
orafu left,
orafu joined
03:22
cdarroch left,
wknight8111 left
03:33
hercynium left
03:41
justatheory left
03:43
meppl joined
03:47
braceta left
04:11
[particle]1 joined
04:13
goksie joined
04:18
nbrown left
04:19
skids left
04:40
sitaram joined
04:41
msmatsko left
04:46
msmatsko joined
04:50
sitaram left
05:12
jauaor left,
araujo left
05:20
jaldhar_ joined,
jaldhar_ is now known as jaldhar
|
|||
jaldhar | what is the proper method signature for BUILD? | 05:21 | |
because if I just do BUILD {} I get... | 05:22 | ||
too many arguments passed (3) - 1 params expected | |||
with rakudo built a few days ago. | |||
05:26
Silencio82 joined,
explorer left
|
|||
wayland76 | rakudo: BUILD{} | 05:27 | |
p6eval | rakudo 79aba9: OUTPUTĀ«Could not find non-existent sub BUILDā¤current instr.: '_block14' pc 53 (EVAL_16:37)ā¤Ā» | ||
wayland76 | rakudo: method BUILD{} | ||
p6eval | rakudo 79aba9: ( no output ) | ||
jaldhar | hmm. Then how do I initialize a class? | 05:28 | |
05:30
sephee joined
|
|||
wayland76 | I don't know the answer to these questions, I'm afraid, and I don't have a working rakudo at the moment | 05:32 | |
rakudo: class fooclass { method BUILD{ say "built!\n"; }; } | 05:33 | ||
p6eval | rakudo 79aba9: ( no output ) | ||
wayland76 | rakudo: class fooclass { method BUILD{ say "built!\n"; }; say "other\n"; } | ||
p6eval | rakudo 79aba9: OUTPUTĀ«otherā¤ā¤Ā» | ||
wayland76 | rakudo: class fooclass { method BUILD{ say "built!\n"; }; say "other\n"; }; fooclass.new(); | ||
p6eval | rakudo 79aba9: OUTPUTĀ«otherā¤ā¤too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;fooclass;BUILD' pc 122 (EVAL_19:60)ā¤Ā» | ||
jaldhar | see thats what I get | 05:34 | |
wayland76 | rakudo: class fooclass { method BUILD{ say "built!\n"; }; say "other\n"; }; fooclass.new('hi'); | ||
p6eval | rakudo 79aba9: OUTPUTĀ«otherā¤ā¤too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;fooclass;BUILD' pc 129 (EVAL_19:62)ā¤Ā» | ||
wayland76 | rakudo: class fooclass { say "other\n"; }; fooclass.new('hi'); | ||
p6eval | rakudo 79aba9: OUTPUTĀ«otherā¤ā¤Ā» | ||
wayland76 | hmm. Unfortunately, this tends to be the wrong time of day to ask. It's 3:30pm here in Australia. I usually find that questions like that get answered better after say 6pm or 7pm (3 or so hours from now) until sometime in the morning after I wake up | 05:36 | |
If you wait around, though, maybe someone will show up who knows the answer ( bacek, are you there?) | |||
rakudo: class fooclass { submethod BUILD{ say "built!\n"; }; say "other\n"; }; fooclass.new('hi'); | 05:37 | ||
p6eval | rakudo 79aba9: OUTPUTĀ«otherā¤ā¤too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;fooclass;BUILD' pc 129 (EVAL_19:62)ā¤Ā» | ||
jaldhar | its kind of late at night for me to (Eastern US) so I will come back tomorrow then. | 05:38 | |
too* | |||
wayland76 | wait, one more try | ||
rakudo: class fooclass { submethod BUILD($example) { say "built!\n"; }; say "other\n"; }; fooclass.new('hi'); | 05:39 | ||
p6eval | rakudo 79aba9: OUTPUTĀ«otherā¤ā¤built!ā¤ā¤Ā» | ||
jaldhar | aha! | ||
wayland76 | there you go :) | ||
rakudo: class fooclass { submethod BUILD() { say "built!\n"; }; say "other\n"; }; fooclass.new('hi'); | |||
p6eval | rakudo 79aba9: OUTPUTĀ«otherā¤ā¤too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;fooclass;BUILD' pc 129 (EVAL_21:62)ā¤Ā» | ||
jaldhar | thanks let me try this... | ||
wayland76 | Spec and ack ++ | 05:41 | |
(I presume you know about ack? ) | |||
05:43
amoc joined
|
|||
pugs_svn | r26184 | lwall++ | [t/spec] differentiate reverse from flip and invert | 05:44 | |
TimToady | there's nothing fancy about BUILD signatures, as long as you realize all the arguments are coming in as named args | 05:47 | |
(and that BUILD needs to be a submethod) | |||
jaldhar | wayland76: no I'm sorry what does ack mean? And btw it still doesn't work if the class actually has attributes | ||
TimToady | ack is a recursive grep | ||
wayland76 | ack is like grep, but uses perl regular expressions | ||
jaldhar | oh that ack. I've heard of it. | ||
TimToady | you need to set the private attributes $!foo | ||
wayland76 | (and, as TimToady pointed out, it does grep -R . if you don't specify files) | 05:48 | |
05:48
sri_kraih joined
|
|||
wayland76 | Btw, TimToady, I've worked out what we can do for Perl 7 | 05:49 | |
Imagine an interlinear text editor that lets you write mathematical equations | |||
Now imagine writing your code in that :) | |||
(equations with actual proper layout, etc) | 05:50 | ||
TimToady | Ask not what Perl 7 can do for you; ask what you can do for Perl 7... :) | ||
wayland76 | That's why I started wrestling with writing an interlinear text editor this afternoon :) | ||
But it currently segfaults :( | 05:51 | ||
TimToady | and since Koine Greek was invented by God to be a language in which theological truths could be expressed with mathematical accuracy, you can also use it to produce a 100% accurate translation into English. :) | 05:53 | |
sorry, my tongue seems to have become permanently stuck in my cheek somehow... | 05:54 | ||
05:54
justatheory joined
|
|||
wayland76 | No, that's fine :) | 05:55 | |
I'm not as au fait with Koine as you are, but I got through around 15 lessons before I dropped out due to other commitments :) | 05:56 | ||
TimToady | I remember one of my greek teachers one day saying, "some of you are going to be preachers, and I'll be sitting in your audience" | 05:57 | |
wayland76 | But English isn't 100% accurate. It's like looking at a low-res image of Greek :) | 05:58 | |
TimToady | and you'll get up there and say "dynamai means 'dynamite'!" | ||
if you do, I will stand up in the middle of your sermon and say "It does not!" | |||
and sit down | |||
dynamai simply means "I can". It's a vanilla word | |||
wayland76 | ok :) | 05:59 | |
TimToady | most greek words are vanilla words | ||
that lesson has stuck with me | |||
most words are not explosives, but small tools to approach the truth | 06:00 | ||
and it takes a great number of them to head off false interpretations even approximately | |||
and there are precious few 100% accurate statements in any natural language, including Koine | 06:01 | ||
wayland76 | That makes English sound like Entish :) | ||
TimToady | but this is as it should be, because it prevents us with coming up with a formula, when the truth is something that can only be discovered by living it | 06:02 | |
06:02
frew|work joined
|
|||
TimToady | this does not stop people from coming up with formulas for success continually, of course :) | 06:02 | |
wayland76 | Hmm. Interesting :). | ||
jaldhar | *sigh* it seems I am still not getting it. Consider: | 06:03 | |
class cow { has $!sound is rw; submethod BUILD($a) { $!sound = 'moo'; }; }; my $go = cow.new; say $go.sound; | |||
TimToady | but we should not be fooled by them in either a theological realm or a programming realm | ||
jaldhar | I get: Could not find non-existent sub moo | ||
which is, uh, not what I expected. | |||
wayland76 | "success"? I was thinking of holiness (which is success, I guess), and the later Puritan solidification into a formula | 06:04 | |
TimToady | the error is certainly peculiar, but it should be complaining that it cannot find method .sound | ||
so maybe it just printed the wrong string | |||
jaldhar | this is rakudo from early last week incidently | ||
wayland76 | rakudo: class cow { has $!sound is rw; submethod BUILD($a) { $!sound = 'moo'; }; }; my $go = cow.new; say $go.sound; | 06:05 | |
p6eval | rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» | ||
TimToady | rakudo: class Cow { has $.sound is rw; submethod BUILD () { $!sound = 'moo'; }; }; say Cow.new.sound; | ||
p6eval | rakudo 79aba9: OUTPUTĀ«too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;Cow;BUILD' pc 186 (EVAL_22:67)ā¤Ā» | ||
wayland76 | rakudo: class cow { has $!sound is rw; submethod BUILD($a) { $!sound = 'moo'; }; }; my $go = cow.new.sound | ||
p6eval | rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» | ||
TimToady | you certainly can't call .sound with a private attribute | 06:06 | |
rakudo: class Cow { has $.sound is rw; submethod BUILD ($a) { $!sound = 'moo'; }; }; say Cow.new.sound; | |||
p6eval | rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» | ||
wayland76 | rakudo: class cow { has $!sound is rw; submethod BUILD($a) { $!sound = 'moo'; }; }; my $go = cow.new; | ||
p6eval | rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» | ||
jaldhar | if you don't give an arg to BUILD you get the three parameter error. If you make sound $. you get the NULL PMC error | ||
TimToady | rakudo: class Cow { has $.sound; submethod BUILD ($a) { $!sound = 'moo'; }; }; say Cow.new(:a<arf>).sound; | 06:07 | |
06:07
frew|work left
|
|||
p6eval | rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» | 06:07 | |
wayland76 | rakudo: class cow { has $.sound is rw; submethod BUILD($a) { $!sound = 'moo'; }; }; my $go = cow.new; | ||
06:07
frew|work joined
|
|||
p6eval | rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» | 06:07 | |
TimToady | rakudo: class Cow { has $.sound; submethod BUILD (:$a) { $!sound = 'moo'; }; }; say Cow.new(:a<arf>).sound; | ||
wayland76 | rakudo: class cow { has $.sound is rw; submethod BUILD($a) { $sound = 'moo'; }; }; my $go = cow.new; | ||
p6eval | rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» | ||
rakudo 79aba9: OUTPUTĀ«Scope not found for PAST::Var '$sound' in BUILDā¤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)ā¤Ā» | |||
TimToady | rakudo: class Cow { has $.sound; submethod BUILD (:$!a) { }; }; say Cow.new(:a<arf>).sound; | 06:08 | |
p6eval | rakudo 79aba9: OUTPUTĀ«Use of uninitialized valueā¤ā¤Ā» | ||
TimToady | rakudo: class Cow { has $.sound; submethod BUILD (:$!sound) { }; }; say Cow.new(:sound<arf>).sound; | ||
p6eval | rakudo 79aba9: OUTPUTĀ«Use of uninitialized valueā¤ā¤Ā» | ||
jaldhar | btw I am on the right track initializing my attributes in BUILD aren't I? | ||
TimToady | rakudo: class Cow { has $.sound; submethod BUILD (:$sound) { $!sound = $sound; }; }; say Cow.new(:sound<arf>).sound; | ||
p6eval | rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» | 06:09 | |
TimToady | rakudo: class Cow { has $.sound = 'woof'; submethod BUILD (:$sound) { $!sound = $sound; }; }; say Cow.new(:sound<arf>).sound; | ||
p6eval | rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» | ||
TimToady | well, perhaps BUILD isn't entirely up to snuff yet in rakudo | ||
wayland76 | I'll send them a rakudobug | 06:10 | |
TimToady | I suspect they know it already :) | ||
jaldhar | its the way initialization is supposed to work though right? | ||
TimToady | several of the things I tried should have worked | ||
wayland76 | Ok, I won't then | ||
TimToady | there was some discussion of it several days ago, i think | 06:11 | |
wayland76 | jaldhar: Yes, I think so | ||
TimToady | though it doesn't make sense to declare a $!sound is rw, since the rw is what is applied to the (non-existent) accessor | 06:12 | |
jaldhar | I had it $. at first. $! was just while I was messing around trying to get it to work | 06:13 | |
TimToady | rakudo: class Cow { has $.sound = 'woof'; }; say Cow.new(:sound<arf>).sound; | ||
p6eval | rakudo 79aba9: OUTPUTĀ«arfā¤Ā» | ||
TimToady | rakudo: class Cow { has $.sound = 'woof'; }; say Cow.new.sound; | ||
p6eval | rakudo 79aba9: OUTPUTĀ«woofā¤Ā» | ||
TimToady | well, that much works at least | ||
but I think rakudo's .new is faking it at the moment | 06:14 | ||
jaldhar | that's good enough for me for the time being. I compile rakudo every week or so so I'll keep checking back. Goodnight all. | ||
TimToady | night, thanks | 06:15 | |
brunov | gnight | ||
wayland76 | goodnight | 06:16 | |
06:21
Minthe joined
|
|||
brunov | TimToady, as a biologist, I expect Perl6 to have a .translate_dna method built into the Str type. | 06:21 | |
;) | |||
TimToady | likely... :) | 06:22 | |
Minthe | Oh, I'd like the feature too. | 06:23 | |
In ruby I can add method directly to String, so calling like "AAA".translate_dna() is accepted. But I thought I cannot add methods in Perl | 06:24 | ||
TimToady | adding methods to existing classes is kinda evil. we call it "monkey patching" | 06:25 | |
wayland76 | But you can do it | 06:26 | |
You just have to say "use MONKEY_PATCHING" first :) | |||
Minthe | Oh, nice. Thanks. | ||
wayland76 | (see S12 for details) | 06:27 | |
TimToady | and then you use "augment Str {...}" | ||
though nobody implements that yet | |||
wayland76 | Oh, cool :) | ||
06:38
orafu left
06:51
Silencio82 left
06:54
davidad joined
07:07
Tene left
07:08
Silencio82 joined,
goksie left
07:09
Tene joined
07:13
Silencio82 left
07:16
frew|work left
07:29
Khisanth left
07:33
Khisanth joined
07:44
nekobaka left
07:56
iblechbot joined
08:30
DemoFreak joined
08:48
M_o_C joined
08:50
ejs joined
08:51
ejs left
08:52
icwiener joined
08:55
amoc left
09:01
sitaram joined
09:33
M_o_C left
09:37
M_o_C joined
09:49
ZuLuuuuuu joined
10:01
Minthe left
10:09
payload joined
10:27
ejs joined
|
|||
diakopter | std: #{ "&{ say "}" }" } 3 | 10:36 | |
p6eval | std 26184: OUTPUTĀ«##### PARSE FAILED #####ā¤Can't understand next input--giving up at /tmp/DYOzwUBObi line 1:ā¤------> #{ "&{ say "}" }" } 3ā¤ expecting escapeā¤FAILED 00:04 37mā¤Ā» | 10:37 | |
10:40
sitaram left
10:42
iblechbot left
|
|||
diakopter | std: #{ "&{ say "." }" } 3 | 10:50 | |
p6eval | std 26184: OUTPUTĀ«ok 00:02 35mā¤Ā» | ||
diakopter | std: #{ "&{ #{ say "." } }" } 3 | 10:51 | |
p6eval | std 26184: OUTPUTĀ«ok 00:02 35mā¤Ā» | ||
diakopter | std: #{ "&{ #{ say "}" }" } 3 | 10:52 | |
p6eval | std 26184: OUTPUTĀ«ok 00:02 35mā¤Ā» | ||
diakopter | std: #{ { "&{ say "}" }" } 3 | 10:53 | |
p6eval | std 26184: OUTPUTĀ«ok 00:02 35mā¤Ā» | ||
10:55
brunov left
|
|||
diakopter | TimToady: I still maintain that inline/block quotes/comments is unworkable... b/c you end up having to quasi-parse the inside as full-fledged outer-language.. otherwise any contained unmatched brackets of the surrounding type will mess it up... | 10:57 | |
10:57
M_o_C left
|
|||
diakopter | (inline *nested* block quotes/comments) | 10:58 | |
10:58
M_o_C joined
|
|||
diakopter | and it's too difficult to detect reliably the quoting status of those nested left/right pairs... imho. feel free to take that as a challenge for STD. :) or not. | 10:59 | |
11:02
payload left
11:26
jbt joined
11:45
orafu joined
12:20
iblechbot joined
12:41
LylePerl joined
12:46
ejs left
12:47
gilimanjaro joined
12:48
gilimanjaro left
12:51
Whiteknight joined
12:53
Tene left
12:55
Tene joined
13:07
gilimanjaro joined
13:20
LylePerl left
13:26
pmurias joined
13:39
LylePerl joined
13:46
kimtaro left
14:04
skids joined
14:17
iblechbot left
14:19
fridim_ joined
14:21
jbt left
14:27
sephee left
14:42
payload joined
14:47
gilimanjaro left
14:49
sri_kraih_ joined
14:58
frew|work joined
15:00
frew|work left
15:05
sri_kraih left
15:06
amoc joined
|
|||
TimToady | diakopter: nevertheless, the current approach is the least worst way to do it, and consistent with other quote constructs, and very easy to work around if you're unsure by doubling or tripling, or by using a different character. | 15:07 | |
15:08
goksie joined
|
|||
TimToady | and the mechanism is primarily intended for in-line comments in any case, not multi-line, and it's pretty easy to see if there's potential interference | 15:08 | |
in case of error, the error message will be fairly indicative of the nature of the problem | 15:09 | ||
if we required people to use curlies, that'd be one thing, but people can use any brackets they like | 15:10 | ||
and the bottom line is that ignoring nesting also producing the wrong result | 15:11 | ||
15:12
payload left
15:13
sri_kraih joined
15:14
FurnaceBoy joined
|
|||
TimToady | *produces | 15:15 | |
so the issue devolves into "Doctor it hurts when I do this..." | |||
15:24
jogla left
15:32
sri_kraih_ left
15:40
iblechbot joined
15:44
LylePerl left
15:46
hercynium joined
15:49
goksie left
15:52
Psyche^ joined
15:53
araujo joined
15:54
Patterner left,
Psyche^ is now known as Patterner
|
|||
diakopter | any design flaw or implementation bug can be construed as "Doctor it hurts when I do this" :P I agree that it's easy to work around by using a different character pair. Instead of emphasizing the non-rigorous ability to detect nested pairs, I recommend emphasizing (for clarity) in the S that it's a best practice to use a different open/close pair for nested brackets, though of course in the simple case (such as in other languages where /* /* */ */ or < | 16:16 | |
.... (repasted for you) practice to use a different open/close pair for nested brackets, though of course in the simple case (such as in other languages where /* /* */ */ or <!-- <!-- --> --> doesn't DWIM) it'll be handy. | |||
pmurias | diakopter: the specs are not really a best practice guide | 16:17 | |
diakopter | in other words, the fact that there are 71 available Unicode pairs is what provides the flexibility | 16:18 | |
I seem to recall several other places in the S where best practices are mentioned | 16:19 | ||
also, STD accepts (and shouldn't?) '#{' on the first line, I think | 16:21 | ||
std: #{ | |||
p6eval | std 26184: OUTPUTĀ«Undefinedā¤ok 00:02 34mā¤Ā» | ||
diakopter | interesting | ||
s/hoards/hordes/g ? | 16:22 | ||
skids | ENONSEQUITER | 16:25 | |
16:25
mmpf joined
|
|||
diakopter | pmurias: how's it going | 16:26 | |
pmurias | i'm working on a smop refactoring atm besides half-heartedly doing stuff for uni | 16:35 | |
diakopter | how goes the smop refactor? | 16:36 | |
pmurias | it's a bit segfaulty atm ;) | ||
the refactored smop doesn't run any Perl 6 code yet | 16:38 | ||
the refactored smop lives in re-smop | 16:40 | ||
diakopter | oh | 16:43 | |
skids: enonsequitor? | |||
16:44
nihiliad joined
16:51
nihiliad left
|
|||
pmurias | diakopter: how ironperl doing? | 16:53 | |
16:53
Patterner left
|
|||
diakopter | coming along. giving a short talk at Lang.NET 2009 this week on it. | 16:53 | |
16:53
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
diakopter | I'm happy with the OMeta-based parser | 16:53 | |
pmurias | diakopter: where does it live in now? | 16:54 | |
diakopter | I basically ported over my old "yap6" one that you saw last year :) | ||
my local disk. I really should commit it somewhere..... | |||
I rm'd the edition in pugscode b/c of the direction shift | |||
16:55
nihiliad joined
|
|||
pugs_svn | r26185 | pmurias++ | [re-smop] $OUT.print("hi","\n") works with gc turned off and an --empty-setting option to mildew | 17:00 | |
pmurias | diakopter: you should definitly commit it somewhere (the pugs repo? ;) if you are mentioning it to people | 17:01 | |
dalek | kudo: e931dc0 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 359 files, 10300 passing, 0 failing |
17:03 | |
jnthn | pmurias: Ain't GC fun? :-| | ||
Wow. 10,300! | |||
.oO( oh noes, here comes pmichaud with a factorial joke again ) |
17:04 | ||
pmichaud | can't find function 'postfix:<!>' at line 1. | ||
pmurias | jnthn: it's not really real gc but still the lousy reference counting | ||
jnthn | pmurias: Doubt that makes it any more fun... | 17:05 | |
Writing slides is quite a good way to find Rakudo bugs... | 17:06 | ||
pugs_svn | r26186 | jnthn++ | Tests for calling mixed in methods with .?, .+ and .*. | 17:09 | |
jnthn | oh geck...that wanted a [t/spec] at the start of the commit message | ||
dalek | kudo: bb664df | jnthn++ | src/classes/Object.pir: Make .?, .+ and .* more likely to work with foreign objects, and also make them able to call methods that were mixed in. |
17:10 | |
kudo: 5b679a9 | jnthn++ | : Merge branch 'master' of [email@hidden.address] |
|||
17:10
payload joined
|
|||
pugs_svn | r26187 | pmurias++ | [re-smop] fixed a bug which cause $OUT.print("hi","\n") to fail with gc enabled | 17:31 | |
17:33
Kisu left
17:36
Casan joined
|
|||
pmurias | diakopter: you aren't using STD for ironperl? | 17:48 | |
ZuLuuuuuu | <xxx> I can understand, esp. if Tcl == Terrorist Control Language | 17:50 | |
<yyy> xxx: gee, thanks, you've just put a lot of people on The List. | |||
<zzz> xxx: sssh. you'll alert the CIA. They have ways of dealing with people like the Tcl'ers, and they usually involve torture. | |||
<xxx> Make us write in perl? | |||
# from Tcl channel :) | |||
couldn't help it :) | |||
diakopter | pmurias: not yet, b/c I wanted to implement the mutable syntax system early on, and I couldn't figure out an easy [for me] way to make the parser the chief of the runtime without doing it in Perl 5 | 17:52 | |
so, I'm presuming that eventually it'll be adopted. | |||
assuming my joke-implementation persists :D | |||
it'll = STD'll | 17:54 | ||
pmurias | diakopter: when are you going to commit ironperl? | ||
diakopter | well, it's a tree of modified svn checkouts of other projects, so I'm not sure how to commit that to svn. | 17:56 | |
pmurias | maybe forking them using git | 17:57 | |
diakopter: are you molding other things into a Perl 6 implementation or do you need customised versions of things? | 17:59 | ||
diakopter | eh, customized versions of things, some. | ||
Tycho and OMeta# | 18:00 | ||
OMeta# being the PEG | |||
(generator) | |||
18:01
oylenshpeegul joined
18:04
payload1 joined,
payload left
|
|||
oylenshpeegul | If I build rakudo with 'perl Configure.pl --gen-parrot', it gets a copy of Parrot. How do I tell it to use the Parrot I already have? | 18:06 | |
18:10
Whiteknight left
|
|||
PacoLinux | oylenshpeegul: rakudo works with recent parrot, not instaled parrot | 18:12 | |
oylenshpeegul | So even though I already have parrot 1.0 installed, I still need to build another one just for rakudo? | 18:23 | |
jnthn | oylenshpeegul: That'll probably work out best, yes. | 18:24 | |
oylenshpeegul | okay, thanks | ||
18:30
oylenshpeegul left
18:32
amoc left
18:33
payload1 left
|
|||
Tene | rakudo: my $x = 'lol'; $x does role { method wtf { say 'omg hai guyz' } }; $x.wtf(); | 18:36 | |
p6eval | rakudo 5b679a: OUTPUTĀ«'does' expects a role or a list of rolesā¤current instr.: 'die' pc 17360 (src/builtins/control.pir:222)ā¤Ā» | 18:37 | |
Tene | jnthn: thoughts on that before I dig into it? | ||
jnthn | Tene: I don't think I've ever thought about anonymous roles much... | 18:42 | |
rakudo: say (role { method wtf { say 'omg hai guyz' } }).WHAT | |||
p6eval | rakudo 5b679a: OUTPUTĀ«Codeā¤Ā» | ||
jnthn | Ah | 18:43 | |
Hmm. Awkward. | |||
Anon roles are going to need some special hanling in actions.pm I think. | 18:44 | ||
Because roles are really like multi-subs. | |||
(And you can't have anonymous multis...) | |||
Tene: BTW, did you get anywhere with the backtrace bits? | |||
Tene | Oh, right! I can do that now. | ||
$x does $role | 18:45 | ||
does work either | |||
18:47
rindolf joined
|
|||
rindolf | Hi all. | 18:47 | |
Tene | argh spelling | ||
hi rindolf | |||
rindolf | Hi Tene | ||
jnthn | rakudo: my $x = role { method wtf { say 'omg hai guyz' } }; 42 but $role # like this? | ||
p6eval | rakudo 5b679a: OUTPUTĀ«Scope not found for PAST::Var '$role' in ā¤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)ā¤Ā» | ||
jnthn | rakudo: my $x = role { method wtf { say 'omg hai guyz' } }; 42 but $x # like this? | ||
p6eval | rakudo 5b679a: ( no output ) | 18:48 | |
Tene | rakudo: my $role = role { has $.x }; my $x = "hi"; $x does $role; | ||
p6eval | rakudo 5b679a: OUTPUTĀ«'does' expects a role or a list of rolesā¤current instr.: 'die' pc 17360 (src/builtins/control.pir:222)ā¤Ā» | ||
jnthn | rakudo: my $role = role { has $.x }; my $x = "hi"; $x does $role(); $x.wtf | ||
p6eval | rakudo 5b679a: OUTPUTĀ«'does' expects a role or a list of rolesā¤current instr.: 'die' pc 17360 (src/builtins/control.pir:222)ā¤Ā» | ||
jnthn | heh | ||
rakudo: my $role = role { has $.x }; my $x = "hi"; say $role(); | 18:49 | ||
p6eval | rakudo 5b679a: OUTPUTĀ«ā¤Ā» | ||
jnthn | rakudo: my $role = role { has $.x }; my $x = "hi"; say $role().WHaT; | ||
p6eval | rakudo 5b679a: OUTPUTĀ«Method 'WHaT' not found for invocant of class 'Role'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 644 (src/classes/ClassHOW.pir:163)ā¤Ā» | ||
jnthn | rakudo: my $role = role { has $.x }; my $x = "hi"; say $role().WHAT; | ||
p6eval | rakudo 5b679a: OUTPUTĀ«ā¤Ā» | ||
jnthn | rakudo: my $role = role { has $.x }; my $x = "hi"; $role = $role(); $x does $role; $x.wtf | ||
p6eval | rakudo 5b679a: OUTPUTĀ«Method 'wtf' not found for invocant of class ''ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 644 (src/classes/ClassHOW.pir:163)ā¤Ā» | ||
jnthn | rakudo: my $role = role { method wtf { say "srsly wtf" } }; my $x = "hi"; $role = $role(); $x does $role; $x.wtf | 18:50 | |
p6eval | rakudo 5b679a: OUTPUTĀ«srsly wtfā¤Ā» | ||
jnthn | Tene: And thus the fix. :-) | 18:51 | |
Tene: When the role is anonymous, chance the role body blocktype from declaration to immediate in the generated PAST. | |||
Tene | you going to do it or want me to? | ||
jnthn | feel free - my dinner is ready now so I'm going to eat. :-) | 18:52 | |
back in a bit | |||
Tene | YAY DINNER | 18:53 | |
diakopter | rakudo: my $a= #{{ hi } }} 3 | 19:01 | |
p6eval | rakudo 5b679a: ( no output ) | ||
diakopter | rakudo: my $a= #{{ hi } }} 3; say $a | 19:02 | |
p6eval | rakudo 5b679a: OUTPUTĀ«3ā¤Ā» | ||
jnthn | OMG DINNER WAS TEH AWESOME | 19:19 | |
19:23
icwiener_ joined
|
|||
Casan | rakudo: 1..10.WHAT.perl.say; | 19:23 | |
p6eval | rakudo 5b679a: OUTPUTĀ«Intā¤Ā» | ||
Casan | rakudo: (1..10).WHAT.perl.say; | ||
p6eval | rakudo 5b679a: OUTPUTĀ«Rangeā¤Ā» | ||
19:24
rindolf left
|
|||
jnthn | Precedence. Sometimes it loves you. Sometimes it loves you not. | 19:25 | |
Casan | jnthn: yeah, I just browsed through your ukraine slides and wondered. | 19:26 | |
jnthn | Casan: Ooh. | 19:28 | |
Casan: Which ones? | |||
This year's? | |||
Casan | just reading.. have a C# book I have to read, but it bores me, so I'm trying to do all the same tasks in p6 | ||
yep | 19:29 | ||
on multi dispatch | |||
jnthn | Casan: Oh, the double(1..10); example? | ||
Casan | yup | ||
jnthn | Ah, OK. | 19:30 | |
I thought you meant I'd got that precedence error somewhere in my slides! | |||
Casan: You coming to Nordic Perl Workshop? | |||
Casan | jnthn: nope I'm just cross referencing all the docs, articles etc I find and test with that | ||
jnthn: fraid not, overlaps with a term paper | 19:31 | ||
jnthn | Aww, too bad. | 19:32 | |
Hope the term paper goes well. | |||
Casan | cheers | ||
19:38
icwiener left
|
|||
pmurias | LS | 19:46 | |
(caps-lock)-- | |||
jnthn | (irc-not-being-your-terminal)-- | 19:48 | |
19:53
payload joined
20:08
legis joined
|
|||
Tene | jnthn: ping | 20:18 | |
jnthn | Tene: pong | ||
Tene | jnthn: have any preference on message for exceptions? | 20:19 | |
If not, I'm going with "exception thrown from source line %S\n" | |||
jnthn | "died at line %S\n" is maybe more Perl-ish? | ||
Tene | and for warnings? | 20:20 | |
20:21
hercynium left
|
|||
Tene | Perl 5 says: | 20:23 | |
%s at line %d\n | |||
<message> at <file> line <line>\n that is. | 20:24 | ||
same for warn. | |||
jnthn | Tene: I think if it was called warn("message") show <message> at ... | 20:26 | |
If there's no message, warning at... perhaps. | |||
And same for die. | |||
Tene | I'm always inclined to try to add quotes somehow. | ||
jnthn | That may not be a bad idea... | 20:34 | |
Tene | Looks like this will add some warnings I'm not sure about... | 20:44 | |
20:46
riffraff joined
20:47
ejs joined
20:50
ejs left
20:59
brunov joined
21:06
skids left
21:18
hercynium joined
21:22
pmurias left
21:23
ZuLuuuuuu left
21:29
masak joined
|
|||
masak | salutations, Lobstercamels. | 21:30 | |
jnthn | heeeeeeeee's back! | 21:31 | |
masak looks behind and around himself in mock confusion | |||
jnthn | ;-) | ||
masak | can self mean anything directly in class blocks? | 21:32 | |
I increasingly find myself wanting it to. | |||
(sometimes several different things one after the other) | |||
jnthn | The latter might be the reason why it can't. ;-) | 21:34 | |
masak | I'm not yet at the stage where I've given up on it. | ||
jnthn | I'd tended to consider it an error outside of methods. | ||
masak | that's a fair alternative, I think. | ||
jnthn | But if there can be a sane non-confusing use of it... | ||
masak | yes. | ||
jnthn | The only other pace is attribute initializers | ||
But since I think you can already write like | 21:35 | ||
masak | I was thinking of those. | ||
jnthn | has $.x will init { ... }; | ||
And that block gets self as a paraemter | |||
masak | hm :) | ||
nice. | |||
jnthn | (OK, I dont think you can write that in Rakudo yet.) | ||
masak | no. :) | ||
what happened today was that I wrote this: | 21:36 | ||
has @!body; | |||
has &!writer = { @!body.push($^x) }; | |||
...and that simply cannot work, I the realized. | |||
s/the/then/ | |||
the problem is that the 'self' I'd like to use there would be the one defined in the method where I called that closure. | 21:38 | ||
I suspect that's a bit too much to ask. it feels too magical, even for Perl 6. | |||
jnthn | rakudo: class Foo { has @.body; has &.writer = method ($x) { @!body.push($x) }; }; my $x = Foo.new; $x.writer("oh"); $x.writer("hai"); .say for $x.body; | 21:40 | |
p6eval | rakudo 5b679a: OUTPUTĀ«Could not locate a method 'writer' to invoke on class 'Foo'.ā¤current instr.: 'die' pc 17360 (src/builtins/control.pir:222)ā¤Ā» | ||
21:41
icwiener_ left
|
|||
masak | <nelson>HA HA!</nelson> | 21:41 | |
jnthn | ...that wasn't the error I was expecting. | ||
masak | I suffered the same bug today. | ||
jnthn | rakudo: wtf? | ||
masak | (it's in RT already, among the other 304) | ||
p6eval | rakudo 5b679a: OUTPUTĀ«Statement not terminated properly at line 1, near "?"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā» | ||
jnthn | Damm, Perl 6 so needs a postfix:<?> :-) | 21:42 | |
masak | oh wait, it's actually another error. | ||
masak submits rakudobug | |||
jnthn | 305 | ||
masak | well, 306. :) | ||
jnthn wonders how similar in shape the Rakudobugs graph and the spectests graph look. | 21:43 | ||
masak | sounds like a job for science! | ||
21:44
davidad left
|
|||
masak | jnthn: thanks for the tip about anon methods. I'll keep that in mind. | 21:44 | |
jnthn | masak: It may work for your privates. | 21:45 | |
masak | one can only hope. | ||
jnthn | But seems there is some issue with the accessor generation. | ||
masak | aye. | ||
jnthn spent some of today writing his NPW slides | 21:46 | ||
masak too | |||
rakudo: class Foo { has @.body; has &!writer = method { @!body.push($^x) }; method p($str) { &!writer($str) } }; my $f = Foo.new; $f.p("OH "); $f.p("HAI"); .say for $f.body | 21:47 | ||
p6eval | rakudo 5b679a: OUTPUTĀ«No such attribute '!writer'ā¤current instr.: 'parrot;Foo;p' pc 570 (EVAL_21:191)ā¤Ā» | 21:48 | |
masak | ah. | ||
that's the error that was reported already. | |||
jnthn | No, before it was no such method. | ||
Hmm | 21:49 | ||
I wonder if it is mis-handling &!foo attributes | |||
masak | jnthn: yes, those are two different bugs. I'm reporting yours as we speak. | ||
but mine was already discovered and filed away. | |||
rakudo: class A { has &!m = method {}; method f { &!m() } }; A.new.f | 21:51 | ||
p6eval | rakudo 5b679a: OUTPUTĀ«No such attribute '!m'ā¤current instr.: 'parrot;A;f' pc 356 (EVAL_20:125)ā¤Ā» | ||
masak | rakudo: class A { has $!m = method {}; method f { $!m() } }; A.new.f | ||
p6eval | rakudo 5b679a: OUTPUTĀ«too few arguments passed (0) - 1 params expectedā¤current instr.: 'parrot;A;_block23' pc 157 (EVAL_20:64)ā¤Ā» | ||
masak | rakudo: class A { has $!m = method {}; method f { self.$!m() } }; A.new.f | ||
p6eval | rakudo 5b679a: ( no output ) | 21:52 | |
masak | rakudo: class A { has $!m = method { say "OH HAI {self}" }; method f { self.$!m() } }; A.new.f | ||
p6eval | rakudo 5b679a: OUTPUTĀ«OH HAI A<0xb6a19880>ā¤Ā» | ||
masak | that works. :) | ||
those & sigils on attributes don't work so well. | |||
jnthn | & sigil handling is a tad special for non-attributes. | 21:53 | |
masak | ok. | 21:54 | |
masak rode a bus from one end to the other today | |||
9 hours. | |||
I used up the battery getting Web::Lobster to show up in the browser. | 21:55 | ||
going to blog about it tomorrow. | |||
rakudo: class A { has $.cl = { self.say } }; A.new.cl()() | 21:57 | ||
p6eval | rakudo 5b679a: OUTPUTĀ«Null PMC access in get_pmc_keyed()ā¤current instr.: 'parrot;A;_block27' pc 196 (EVAL_20:78)ā¤Ā» | ||
masak submits rakudobug 307 | |||
literal | masak: one end of what? | ||
masak | literal: the country. | ||
literal | which country? :) | ||
masak | literal: my country. :) | ||
not lengthwise, mind you. | 21:58 | ||
that takes ages. | |||
literal | Sweden? | ||
masak | aye. | ||
jnthn | Hah, for a moment I thought masak had taken my advice and visited Abisko, then thought...hey, that'd have been a hell of a fast bus. | ||
masak: It really takes 9 hours?! | 21:59 | ||
masak | it's actually been quite a productive Perl 6 day. after the computer ran out of juice, I got time to think. | ||
jnthn: those are buses, not fast trains. and they stop a lot to let people off and change drivers. | |||
jnthn | Ah. | ||
Was gonna say, the trains is likely much faster. | |||
masak | they are. | 22:00 | |
especially the fast ones. | |||
I prefer to do that distance by night if I go by bus. | |||
jnthn | Though probably costs ten times as much or something. | ||
literal | In the U.S. they're dog slow, unfortunately | ||
masak | twice as much or higher. | ||
22:03
brunov left
|
|||
jnthn | In the U.S. from what I've gathered from being there a bit, trains can be useful for getting into/out of the big cities, but for long distance you would do them more out of fun than practicality. | 22:04 | |
masak | I got the same impression from a "Social Collapse Best Practices" talk I listened to the other day. | 22:05 | |
the US is in for a bumby ride, it seems. | |||
literal | yeah, I took a 14 hour one from NYC to WV once (13 hours), the next time around I drove (7 hours) | ||
jnthn | WV? | 22:06 | |
literal | er, that "14 hour" wasn't supposed to be there | ||
West Virginia | |||
jnthn | ah, OK | ||
When you can drive in half the time of the train, it's a tad depressing. | |||
literal | actually, the only reason I drove the second time was because my train got derailed just before it got to my stop :) | ||
jnthn | epic fail! | 22:07 | |
Not only can they not go fast, but they can't stay on the track. :-) | |||
literal | amtrak-- | ||
jnthn | Indeed. | 22:08 | |
Even makes the UK look like a good example. | |||
22:14
M_o_C left
|
|||
jnthn | OH NOES I arrive in Sweden just in time for rain. | 22:16 | |
masak | you can't have everything, I guess. | ||
literal | doesn't it always rain in Sweden anyway? | 22:17 | |
or was that just Stockholm... | |||
jnthn | masak: Well, it's spring. Rain is kinda normal in this season. :-) | ||
masak | my Chinese friend says it's far too dry here in Sweden. | 22:18 | |
jnthn | Really? | ||
I like dry. | |||
masak | she's biased, though. she's only seen winter so far. | ||
jnthn | It wasn't very dry the days I was in Sweden this winter. :-P | 22:19 | |
masak looks bedwards reluctantly | |||
jnthn: no. I remember. :) | |||
jnthn needs to finish cooking before he can sleep | |||
masak | see y'all tomorrow. | ||
jnthn | night | ||
22:19
masak left
22:24
orafu left,
orafu joined
22:26
FurnaceBoy left
22:30
riffraff left,
iblechbot left
22:32
payload left
22:46
ZuLuuuuuu joined
23:01
Tene_ joined
|
|||
Tene_ | jnthn: ping | 23:02 | |
23:03
Ehtyar joined
23:06
Ehtyar left
23:07
Ehtyar joined
23:14
Tene left
23:17
gilimanjaro joined
23:46
wknight8111 joined
23:55
ZuLuuuuuu left
|