»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
00:01 k23z__ left 00:02 TiMBuS joined 00:04 cls_bsd joined, mssm left 00:10 nihiliad left 00:20 sbilik joined 00:30 rgrau` left 00:31 ihrd joined 00:37 ihrd left
jnthn pmichaud: That's...very odd. 00:38
pmichaud: I suspect that's a regression of sorts. 00:39
Dunno how we got it though, no immediate guesses, sorry.
In theory, it just returns a list of the declared variables.
00:40 lestrrat is now known as lest_away
pmichaud Tene: if a class declares a method called 'list', then it's impossible for 'list'(xyz) to continue to find the 'list' function 00:42
unless we change every call of the form 'list'(xyz) into a sequence of find_lex and get_global instructions 00:43
in short, methods were polluting the subroutine namespace
jnthn: do you know if list declarations ever worked in ng at all? 00:44
jnthn That's fixed now that sub names get an & prefixed, no?
pmichaud: I spent some time making them work.
pmichaud jnthn: it's worked around, yes. but methods still shouldn't appear in the namespace.
and nqp-rx doesn't use the & on subs, so it still suffers.
jnthn pmichaud: Oh, indeed. Unless declared our method foo...
But methods are has-scoped by default. 00:45
00:45 lumi left, lumi joined
jnthn Which means only a call to add_method and no installation anywhere else. 00:45
pmichaud: I don't recall seeing that error before.
pmichaud: So I suspect something may have broken between when I worked on list decls and now. 00:46
pmichaud jnthn: okay, was just curious
I may look at it a bit later. Other than that, list assignment appears to be working again.
jnthn pmichaud: I certainly remember wroking on them, anyway. They're working because I put a little effort into it rather than by accident.
pmichaud: Yay, great. :-)
pmichaud and I suspect fixing list declaration assignment won't be difficult.
as you say, it just needs to return a list of the variables
jnthn I thought that's what I had it doing. 00:47
Something must be a bit off-ish somewhere though.
colomon \o/
pmichaud today's set of changes also fixed lots of other bugs, like array initialization and list flattening
ng: my $b = 5; my $a = [$b, $b]; $b = 7; say $a.perl;
p6eval ng 89fb62: sh: ./perl6: No such file or directory␤ 00:48
pmichaud d'oh!
ng: my $b = 5; my $a = [$b, $b]; $b = 7; say $a.perl;
p6eval ng 89fb62: sh: ./perl6: No such file or directory␤
jnthn Time of month^Whour. :-)
pmichaud and several of the .perl's that were broken should be working again.
say (3, (4, 5), 6).perl # just curious 00:49
ng: say (3, (4, 5), 6).perl # just curious
p6eval ng 89fb62: sh: ./perl6: No such file or directory␤
jnthn Nice
pmichaud > say (3, (4,5), 6).perl
(3, 4, 5, 6)
00:49 cdarroch left
jnthn :-) 00:50
pmichaud ...not sure about that one yet.
jnthn pmichaud: How's the laziness?
pmichaud it still needs a bit of work
jnthn OK.
pmichaud I'm still waiting for some spec clarifications there, also.
jnthn I guess working out the Iterator interface is part of that.
I see we've a Proxy class now too. :-) 00:51
pmichaud that's temporary, it will go away.
when we have WHENCE working again 00:52
jnthn It probably should stay anyway.
So folks can write lvalue subs.
pmichaud that's what WHENCE is for
(at least, that's what TimToady has been saying, iiuc)
jnthn Proxy is spec though, no?
pmichaud very old spec 00:53
jnthn Or you think it may be relic?
OK.
pmichaud yeah, it may be fossil
00:53 sri- joined
jnthn OK, let's check before tossing it. :-) 00:53
pmichaud ooc, does Iterator also imply Positional? 00:54
00:54 sri- left
jnthn I don't see why it has to. 00:55
pmichaud I'm thinking of $range.list.[5]
e.g. (1..$end).list.[5] 00:56
jnthn Being able to ask for the next value and if there are any values, and being able to index into something at a certain point, are different operations.
pmichaud well, then what does (1..$end).list return?
is it eager? (I think no)
00:56 sri- joined
pmichaud oh, I suppose it could return a List containing a RangeIterator 00:56
jnthn I agree no, in general.
Right. 00:57
Lists can contains parts that aren't yet evaluated.
Or have an evaluated and still-to-evaluate part.
pmichaud okay, wfm
jnthn That's how I've been thinking of lists for a bit, anyway.
pmichaud Lists (in ng) do already have evaluated/still-to-evaluate part
so do Arrays
jnthn OK, cool.
I think that'll work.
I guess in a sense, Iterator is more fundemental than Positional.
Since you can get the nth element by having an iterator that you can work through until you get to element n. 00:58
pmichaud basically, List has RPA $!values and has Int $!gen
jnthn Where $!gen is where we've generated up to?
pmichaud where $!gen indicates the number of elements of $!values that have been evaluated
jnthn OK, wfm.
That scheme does mean you end up with lots of copying of the tail, but that's only expensive if the tail has lots of evaluated stuff in it, which I guess is rather unusual. 00:59
pmichaud ...copying of the tail?
we do?
the current impl doesn't copy the tail
jnthn Suppose you have 1..100
So you start with (I'll use | to indicate $!gen's position) 01:00
| 1..100
then after evaluating an element you want
1 | 2..100
But to get that 1 in place, you had to shuffle the 2..100 down a position into the RPA?
Or have you done something different?
pmichaud yes, it's a splice
and in reality, since Range is immutable 01:01
what happens is that we start with
| 1..100
then when we ask the Range for its first element, it gives us back (1, RangeIterator)
which gets spliced in instead of the Range
jnthn Right
pmichaud and the RangeIterator holds a reference to the original immutable Range
jnthn Oh, sure
pmichaud after that we ask the RangeIterator for elements 01:02
and each time they get spliced in
but that's not a copy
jnthn But you still need to shuffle that RangeIterator along one?
It's not a copy in *that* sense, no. :-)
It's a copy of the pointer to the range iterator to make space to put the poitner to the evaluated value at the low level, I guess.
pmichaud right, it's a pointer copy 01:03
jnthn OK, what I'm saying is, that's cheap if there's just a single range on the end.
pmichaud which should be relatively quick in RPAs
jnthn But more costly if you've loads of unevaluated stuff on the end.
01:03 lumi left
pmichaud checks to see how RPA does splice 01:03
01:03 lumi joined, sri- left
jnthn But I don't think that's a common case, so the scheme is fine...just a possible slow case to keep in mind. :-) 01:03
01:05 sri_kraih joined
pmichaud yes, it's a bunch of pointer copies 01:05
jnthn OK
pmichaud basically set_pmc_keyed_int and get_pmc_keyed_int
jnthn OK.
We'll go with that for now, it'll be Good Enough. 01:06
pmichaud that could undoubtedly be optimized if we desired
jnthn Sure
Well, I don't think any scheme is optimal for every situation.
pmichaud and yes, we could go with generated versus non-generated arrays, which avoids splicing, but also might make RPA management a bit trickier 01:07
right now it's nice because I can take any RPA and set it as $!values and we're good to go :-)
including, e.g. :slurpy
jnthn Aye, I agree with the scheme. 01:08
Just wanted to make sure I understood it's strengths/weaknesses the same way as you.
pmichaud well, it'd be pretty quick to switch it out for another if we want 01:12
actually, after thinking about it a bit I'm kind of liking the generated/lazy two list approach 01:13
although, even with the two list approach we end up doing splices 01:14
anyway, work for another day 01:15
dinnertime here -- I'll work on something else a bit later (like release announcement or non-release announcement or whatever)
01:16 sri_kraih is now known as kraih, kraih is now known as kraih_sri 01:17 mikehh_ joined 01:19 mikehh_ is now known as mikehh__, mikehh__ is now known as mikehh 01:20 cognominal left
jnthn pmichaud: OK, sleep time here...I'll catch you tomorrow. o/ 01:20
01:21 kraih_sri left 01:25 kraih_sri joined 01:26 ash_ left 01:27 kraih_sri left, ingy joined 01:28 sbilik left, kraih_sri joined 01:31 lumi left, lumi joined 01:39 nihiliad joined 01:45 lumi left 01:46 lumi joined 01:51 araujo left 01:54 drbean joined 01:56 lumi left 01:59 lumi joined 02:02 kraih_sri left 02:03 kraih_sri joined 02:10 meppl left 02:18 orafu left, orafu joined 02:19 lest_away is now known as lestrrat 02:21 lumi left 02:24 lumi joined 02:29 kst` joined 02:30 kst left 02:34 diakopter joined 02:35 ChanServ sets mode: +o moritz_, ChanServ sets mode: +o Juerd, ChanServ sets mode: +o spinclad, ChanServ sets mode: +o Tene, ChanServ sets mode: +o diakopter 02:37 diakopter sets mode: +vvvv pugs_svn dalek buubot _ilbot2, eternaleye joined 02:38 diakopte1 joined 02:41 diakopte1 left 02:43 lumi left, lumi joined 03:08 stephenlb left 03:21 lumi left, lumi joined, kst` left 03:25 lestrrat is now known as lest_away 03:28 araujo joined, _jaldhar joined 03:33 zz_Chazz is now known as Chazz 03:34 cotto_w0rk joined
pugs_svn r29576 | lwall++ | [S32/Containers] KeyWeight deletion critierion kept consistent for dbrunton++ 03:39
03:47 drbean left 03:48 drbean joined 03:50 cognominal joined, cotto_work left
colomon pmichaud: ping? 04:04
04:05 hicx174 left
colomon ng: say (^10).perl 04:05
p6eval ng 89fb62: 0..^10␤
colomon For whomever backlogs this: Range.list should be implemented using some sort of iterator, right? Is there a guide or example somewhere in the code of how to go about doing this? 04:09
afk # bedtime
04:10 lumi left, lumi joined 04:15 kraih_sri is now known as sri_perl
sjohnson OT question: any fans of Clipper / Harbour hanging out in this channel? 04:15
04:15 sri_perl is now known as sri_freenode 04:17 sri_freenode left, kraih_sri joined 04:19 kraih_sri is now known as sri_freenode, sri_freenode left 04:20 kraih_sri joined 04:25 partisan joined, hercynium left 04:29 kraih_sri left 04:31 nihiliad left 04:36 lest_away is now known as lestrrat
s1n how do i get my paws on ng? 04:37
04:37 sri_perl joined 04:42 sri_perl is now known as kraih_sri 04:44 lumi left 04:45 gfx joined 04:47 kraih_sri left, lumi joined, kraih_sri joined 05:11 cspencer joined 05:19 cspencer left 05:34 colomon left 05:35 colomon joined 05:40 lumi left 05:41 lumi joined 06:30 agentzh joined 06:35 [particle]1 joined 06:43 drbean left 06:53 [particle] left 07:08 kaare joined, kaare is now known as Guest30425 07:13 lumi left, lumi joined 07:18 patspam left, patspam1 joined 07:19 werns joined 07:22 Su-Shee joined
Su-Shee good morning 07:22
07:27 vamped joined, gfx left
vamped hi Su-Shee 07:28
07:32 werns left 07:36 Baggiokwok joined
vamped anyone - how to I execute ng commands in a private window? 07:44
07:48 tarbo2_ left 07:50 justatheory left 07:54 mssm joined
eternaleye vamped: /msg p6eval <engine>: <code> 07:56
It's in the /title
08:04 cognominal left 08:05 cognominal joined 08:08 tarbo2 joined 08:10 werns joined 08:13 Su-Shee_ joined 08:15 werns left 08:18 flw joined 08:21 flw left 08:25 Su-Shee left, mikehh left 08:26 mikehh joined 08:28 barney joined 08:33 k23z__ joined 08:35 Su-Shee_ is now known as Su-Shee 08:49 BinGOs left, eiro left 08:50 eiro joined, BinGOs joined 08:56 mssm left 08:57 mssm joined 08:58 mtve joined, JimmyZ joined, Chazz left 09:00 JimmyZ left, Chazz joined, Chazz is now known as Guest36383, JimmyZ joined 09:02 JimmyZ left
vamped eternaleye: thanks! I swear I've read that title several times, and it's never popped out. 09:04
eternaleye vamped: No problem :)
09:06 dakkar joined 09:12 JimmyZ joined 09:14 JimmyZ left 09:16 JimmyZ joined 09:17 JimmyZ left 09:18 Jimmy_Zhuo joined 09:19 Jimmy_Zhuo left 09:24 cognominal left 09:30 agentzh left 09:33 k23z__ left 09:36 vamped left 09:37 cognominal joined 09:41 Baggiokwok left 09:57 mj41 left 10:00 mj41 joined 10:04 jonasbn joined 10:18 payload left 10:27 BinGOs left, eiro left 10:29 eiro joined, BinGOs joined 10:31 BinGOs left, eiro left, eiro joined, BinGOs joined 10:33 BinGOs left, eiro left 10:36 payload joined 10:37 lumi left, lumi joined 10:38 agentzh joined 10:47 eiro joined, BinGOs joined 10:48 BinGOs left, eiro left 11:00 agentzh left 11:07 BinGOs joined 11:12 eiro joined 11:16 rodi joined 11:18 jonasbn left 11:20 meneldor joined
meneldor hello 11:20
11:21 mj41 left 11:24 mj41 joined 11:27 jonasbn joined
colomon quiet channel last night 11:29
jnthn Maybe everyone went to the krcma. :-)
I was surprised by the lack of backlog this morning, though. 11:30
11:30 clintongormley joined
mathw I was at aikido 11:32
colomon ng: my ($a, $b) = (1, "kj"); say $a; say $b;
p6eval ng 89fb62: Redeclaration of symbol $a at line 1, near " = (1, \"kj"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
pugs_svn r29577 | rodi++ | Thanks, TimToady++ for the clarification. 11:33
11:34 cotto_w0rk left 11:41 LaVolta joined 11:45 LaVolta left
colomon ng: my $a; my $b; ($a, $b) = (1, "kj"); say $a; say $b; 11:46
p6eval ng 89fb62: 1␤kj␤
11:46 lumi left, LaVolta joined, lumi joined, payload left
mathw Executing loop { self.throw(target => $floor); self.get-up; }; 11:55
</delayed>
Eventually self.get-up threw a JellyLegsException 11:58
colomon was that during aikido or after? 12:00
jnthn Ah, I was doing loop { my $drink = request_from_waitress('pivo'); self.drink($drink); }; but after a few it threw a OMGYouHaveToWorkTomorrowException. :-) 12:01
12:07 bluescreen joined
colomon Hmmm... for me it was something like self.song(*) { rock boy & sing $_ }; watch "Chuck"; 12:07
mathw colomon: during 12:08
jnthn: so you probably ache less than I do this morning
colomon is insanely pleased with himself at figuring out which line is generating the my ($a, $b) error.
mathw I should have said $jnthn.ache < $mathw.ache
Although it's not too bad really, it's when they say 'roll all the way down the dojo' 12:09
when I get up at the far end I'm swaying and the room seems to be spinning
It's a glimpse at what clothes go through in the washing machine 12:10
colomon :)
mathw fun though
especially my partner's attempts to look threatening during goshin waza 12:11
it's not so mcuh that he doesn't try, but that he starts laughing immediately
colomon jnthn: is there a way to do "say" from Actions.pm ? 12:12
jnthn Try DEBUG('omg worreva')
mathw CATCH { when LunchTimeException { self.go(@lunch-shops.pick) } }
colomon jnthn: can you send it a variable?
oooo, apparently yes! 12:13
sweet, I'm watching all the variables be declared in core. 12:14
12:14 TiMBuS left
colomon okay, so declare_variable is not getting called twice for $a. 12:14
12:17 meppl joined 12:21 LaVolta left 12:22 LaVolta joined
LaVolta hi all, I've got an error here while building Parrot. 12:24
-licuuc -licudata -lpthread -lm \c
i686-apple-darwin10-g++-4.2.1: c: No such file or directory
make: *** [blib/lib/libparrot.2.0.0.dylib] Error 1
12:25 drbean joined, ashizawa left
LaVolta i've checked its make file...seems to be caused by the weird '\c' 12:25
the latest version of Parrot, just svn co'ed 12:26
gcc 4.2.1 on Mac OS X 10.6.2 12:27
any ideas?
ah...it's here ICU_SHARED := -lpthread -lm -L/opt/local/lib -licuuc -licudata -lpthread -lm \c 12:28
12:29 payload joined 12:30 drbean left 12:39 SmokeMachine joined
jnthn LaVolta: Not sure...looks like some config or makefile generation bug. 12:42
LaVolta: You'd probably have more luck on #parrot, fwiw.
colomon: You can concat any string(s) together you like and pass them in. :-) 12:43
12:43 drbean joined, ruoso joined
colomon jnthn: using ~ ? 12:44
LaVolta jnthn, thanks! I just find someone sharing the same problem after I input some lines on #parrot
jnthn, it's trac.parrot.org/parrot/ticket/890 12:45
jnthn colomon: Indeedy.
colomon \o/
colomon is alternating between sticking DEBUGs in Actions.pm and reading picture books to his boy. 12:46
LaVolta jnthn, last time i got it around by passing icu related stuff in... 12:47
jnthn colomon: Beats reading Actions.pm to your boy. :-) 12:48
12:48 lumi left 12:49 lumi joined 12:53 LaVolta left 12:58 SmokeMachine left
colomon jnthn: I dunno, at one point there I was "reading" him Treoir magazine -- flipping through looking for pictures and trying to tell him things about them. "And there was a fiddle player, and a flute player, and a concertina player, and they played music together. And a bunch of old guys listened to them." 12:58
meneldor guys is Rakudo changed since Parrot is v2 ? 12:59
jnthn "And there was a parse node, and someone made an AST node out of it!"
colomon Actually, he's flipping through the magazine on his own now. I think he's disappointed, because the back cover has a large picture of a really cute 5-yo girl with a fiddle, and he'd love to read an entire book about her... 13:01
13:02 LaVolta joined
colomon jnthn: I think I've got it. 13:06
when you say my ($a, $b) = blah
both param_var and declare_variable try to add the symbol. 13:07
13:07 patspam1 left
jnthn colomon: oh! 13:07
Ah...'cus it's parsing it as a signature first. 13:08
Ugh.
takadonet morning all 13:10
13:12 rgrau left 13:13 kraih_sri left 13:14 nacho joined, kraih_sri joined 13:24 rgrau joined
mathw returns, full of food 13:24
13:25 SmokeMachine joined 13:28 jho joined, cognominal left
jho Is there something like unix_std_crypt (from Crypt::Passwd) for Perl 6? 13:28
rodi jho: nothing in the pugs or rakudo repositories, AFAICT. 13:38
colomon jnthn: was that enough of a clue for you to solve the issue, or do I need to be poking around more in Actions.pm? 13:40
13:43 literal left, avar left, buubot left
jnthn colomon: I understand the problem. I didn't come up with a Good Solution yet. 13:44
(That is, I understand it thanks to your digging. :-)) 13:45
13:45 buubot joined
colomon which was only possible thanks to your handy DEBUG advice. :) 13:45
pugs_svn r29578 | rodi++ | fixed link to S32 13:50
13:51 lumi left, lumi joined 13:52 payload left 13:54 payload joined 14:01 smash_ joined
smash_ hello 14:01
takadonet smash_: hello 14:03
PerlJam greets #perl6 14:05
14:05 plainhao joined
colomon hello! 14:06
14:09 jonasbn left, JimmyZ joined, literal joined 14:10 cognominal joined, rodi left 14:12 jho left, avar joined 14:15 drbean left 14:21 LaVolta left
meneldor if i have for example $obj1.name = "name1"; $obj2.name = "name2"; @arr = ($obj1,obj2); 14:22
can i take the names
somethink like: say @arr<name>
jnthn @arr = ($obj1,$obj2)>>.name; 14:23
14:23 mjk joined, JimmyZ left
meneldor but i dont know how many objects are stored inside @arr 14:23
jnthn Oh, that's fine 14:24
meneldor: You have an array of objects and you want an array of names, yes?
(just making sure I understand what you want properly... :-))
14:24 rff joined
meneldor yes i want to take the names only 14:24
jnthn my @names = @arr>>.name; 14:25
meneldor if these objects are people i want to know only their names
tnx
let me test it :)
nice ! it works :) 14:27
jnthn ;-)
meneldor there are tons of new operators 14:28
i cannot remember even half of them
colomon meneldor: and then there are the metaoperators... :)
jnthn meneldor: That one you can work out from a rule though. :-)
mathw You'll get used to it quickly enough
They're actually pretty logical
jnthn meneldor: >>postfixop generally should work (though not done yet in Rakudo for the general case)
So @arr>>++ would increment everything in the array 14:29
meneldor wow
jnthn So if you remember >> means "do a postfix operator for the whole array", you know 'em all. :-)
meneldor i see :)
takadonet I think someone is in love with Perl6.... 14:30
colomon assuming you remember that .method is a postfix operator. :)
meneldor im currently learning the OO things
ill show you my rebuilded game example soon for corrections
14:32 Baggiokwok joined
mathw meneldor: have you met .= yet? 14:34
meneldor no
why? you scare me :) 14:35
moritz_ rakudo: my $x = 'foo'; $x.=uc; say $x 14:36
p6eval rakudo 1d4928: FOO␤
moritz_ .= means "call a method and store the result in the variable"
mathw for contrast
rakudo: my $x = 'foo'; $x.uc; say $x; 14:37
p6eval rakudo 1d4928: foo␤
meneldor ahaaaa :) 14:38
ill show you my game example now 14:41
lisppaste3 meneldor pasted "untitled" at paste.lisp.org/display/93735 14:42
meneldor please tell me if im starting to understand the p6 oo
its main container map which contains players
every player have a castle
every castle has many heroes 14:43
im trying to use Role too
btw you can run the code, it works
14:44 Guest30425 left 14:49 ash_ joined 14:54 Baggiokwok left
ash_ does anyone know who maintains the perl6 vim syntax? i just wanted to report a bug in it 14:59
oh, i found it on github, and someone's already reported the issue, so nevermind 15:01
moritz_ ash_: github.com/petdance/vim-perl/issues
moritz_ too slow
15:04 alester left 15:08 bluescreen left 15:21 bluescreen joined, payload1 joined 15:29 bluescreen left 15:30 payload left, barney left 15:31 nacho left, nacho joined 15:32 viliomo joined, viliomo left 15:33 payload1 left
pmichaud good morning, #perl6 15:42
mathw good afternoon pmichaud
takadonet morning pmichaud
ash_ jnthn: could the parameterized role issue be coming from passing the wrong things to set_signature_elem?
morning 15:43
colomon morning!
moritz_ good localtime() 15:44
pmichaud after starting to write the message explaining the release delay, I think I might want to go ahead and issue a release from existing master. Yes, I'm waffling.
15:44 rodi joined
jnthn hi pm 15:45
ash_: Kinda - I think we probably need to construct the signature object per version of the role we produce.
ash_: Otherwise it's going to look in the wrong lexical scope for the thunk sub that gives it the T. 15:46
ash_ gist.github.com/283857 is an example i am working from, in the generated pir, i see that is using a block to check the type of the parameter passed to the method (see line #281) which refers to a lexical T, which i think is where the T is getting messed up
jnthn ash_: That said, we may need to do something ever more clever to promote the thunks to actual type constraints.
ash_: checking.
ash_: oh, I see it. 15:47
ash_ line 268 is where it sets the sig for $a in that example
jnthn oh, wait, no 15:48
ash_ which is the param thats constrained by T
jnthn Right. 15:49
Yes, it's something in that area that needs a fix.
15:49 jonasbn joined
pmichaud ash_++ # ash's simple tests and discoveries regarding lists in ng made it *far* easier to get list assignment to work 15:49
ash_++
colomon pmichaud: If we do release master today, can we release ng as master in a week or two?
pmichaud ash_++ # yes, *THAT* much easier
colomon: yes, we can.
I'd still plan to switch ng to master asap
15:49 nihiliad joined
jnthn ash_: I still think it may be possible to fix it in the sub.clone call, fwiw. 15:49
ash_ probably, but that area seems responsible for the problem 15:50
the lexical T is getting changed for whatever reason
jnthn Well, I know why.
ash_ so maybe on the assignment to the lexical T it should clone first?
jnthn It's because we're not cloning somewhere we should be.
Right.
ash_ /shrug not sure
jnthn But we're cloning too little.
pmichaud ...clone?
15:50 Psyche^ joined
jnthn pmichaud: Create a closure. 15:51
pmichaud: If a sig uses a type variable, we need to make sure it is looking for the type parameter in the correct lexical scope.
ash_ duplicating T so you don't end up accidentally referring to the wrong instance of it later, whatever is needed for that
pmichaud right, but closures still tend to create/clone themselves automagically here
jnthn pmichaud: Tend to. :-) 15:52
pmichaud: I suspect part of the issue is the interaction between this and the lazy signature building, fwiw.
pmichaud maybe
can I see the source that produced this PIR ? 15:53
ash_ its on the gist
at the bottom
there are 2 files in the gist
pmichaud got it
15:53 gabiruh left
ash_ i was just isolating the test case from S14-something that caused the problem 15:54
pmichaud where's the code that executes the body of the role? 15:55
ash_ 124
the double :anon part 15:56
seems all roles have that on their body definitions
pmichaud right, that's the body of the role. What *calls* that?
jnthn !select in Role.pir
ingy good morning
jnthn It's a multi candidate.
pmichaud I don't see that call in !select 15:57
jnthn ?
pmichaud oh, is it selector(...) ?
jnthn Yes.
ash_ its inside the role how
jnthn add_variatn adds to that.
No, it's not, it's in src/builtins/Role.pir
RoleHOW's bits are just for constructing an individual variant. 15:58
ash_ ah, oops
jnthn The src/builtins/Role.pir is the object that deals with the role as an "aggregate" and supports keeping track of each variant.
ash_: Aye, there's too many things called Role here. :-)
15:58 thanasis joined
jnthn ash_: I did ask here on channel about trying to name the collection of possible roles and an individual one differently. 15:59
But didn't see any replies.
15:59 justatheory joined
jnthn I still think it'd make this stuff easier to understand/discuss if we could do so though. 15:59
ash_ yeah, it sounds like it might help people know what your referring to
jnthn For multi dispatch, we talk about "the multi" meaning the lot of them, and its "candidates" which are the individual options. 16:00
16:00 jan_ left
jnthn We kinda need an analog for roles, imho. 16:00
16:00 thanasis left
pmichaud "role candidate" 16:00
"parameterized role instance" 16:01
16:01 justatheory_ joined, Alias joined
ash_ Trait :P 16:02
16:02 Patterner left, Psyche^ is now known as Patterner
pmichaud what does Method.new return? 16:03
16:03 uniejo joined
pmichaud lines 158-162 look suspicious to me 16:03
jnthn pmichaud: a Method 16:04
pmichaud: Yes, that may be where the issue is too.
pmichaud I think we should be passing a cloned closure to .new, instead of cloning the Method that comes back
still, if Method.clone() works (and remembers to clone its sub), then it probably shouldn't make a difference here. 16:06
16:06 rgrau` joined 16:07 REPLeffect left
pmichaud ....do we still need fixup_cloned_sub ? 16:08
ash_ doing an ack says its used in Mu and Routine still 16:10
I don't know what its for though
jnthn pmichaud: No, I think fixup_cloned_sub can die.
16:10 snearch_ joined
pmichaud ash_: in master branch, we put most of the sub/method properties directly on the underlying Parrot Sub 16:10
ash_: in ng, we have Code objects that are wrappers around the Parrot Sub and hold the additional metainformation 16:11
so, in master branch, we needed a special ability to clone subs and to keep track of the original Parrot Sub
in ng, that may no longer be needed
(and the places it exists still are fossils left over from the copy from master) 16:12
16:12 Tideflat joined, Tideflat left
pmichaud $P0 = getprop '$!p6type', do 16:14
what is $!p6type ?
jnthn pmichaud: Reference back to the Perl 6 wrapper. 16:15
pmichaud: So you can go Parrot Sub -> Perl 6 Object.
pmichaud "the" Perl 6 wrapper?
hrm
jnthn ? 16:16
pmichaud okay, I think that's the bug here
as the code exists now, the same Parrot sub gets passed to .new 16:17
jnthn Ah.
That sounds quite feasible.
pmichaud and so lines 52-54 of Code.pir short-circuit the Method object creation
because the Parrot sub already has a $!do property
jnthn Ah.
pmichaud (from the first role instantiation)
jnthn That sounds feasible.
pmichaud++
pmichaud making the change I described above should fix this 16:18
16:18 mjk left
jnthn pmichaud: Fix in src/Perl6/Compiler/Role.pm's add_method method, I think. 16:18
pmichaud: To tweak the AST that calls the Method.new to pass in a clone.
We probably only need to do it for roles, not classes...
pmichaud I'm wondering if Code.new should perhaps always clone the "do" parameter
jnthn Hm
Wonder if that'd cause different issues...maybe not.
Feel free to try it though. 16:19
pmichaud I need to think on it just a bit further
if we do that, we'd probably want to keep a reference around to the "real" Parrot sub
although maybe not. Are there any other properties being held on Parrot subs these days?
jnthn We keep the signature on the Parrot sub at the moment. 16:20
colomon jnthn: just occurred to me that ($a, $b) = blah does work, it's just my ($a, $b) that fails. Does that suggest an easy fix?
\
pmichaud colomon: the problem is with list declarations, I think.
jnthn Just to avoid an extra indirection through the properties.
pmichaud ng: my ($a, $b);
p6eval ng 89fb62: Redeclaration of symbol $a at line 1, near ";"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
16:20 justatheory left, justatheory_ is now known as justatheory
jnthn pmichaud: Yes, it's because the signature handling enters the $a, and then the variable declaration code goes and re-enters it. 16:20
(into .symbol) 16:21
colomon++ found that earlier.
pmichaud yeah, signature handling needs to not enter the $a
*or*
jnthn Not having it do so will cause a different problem. 16:22
pmichaud signature handling needs to enter the variables based on a dynamic var that identifies the scope
jnthn That could work out better.
pmichaud why does signature handling have to enter the variables? I thought we now have P::C::Signature objects that do this for us...? 16:23
jnthn pmichaud: Because we need to know about some of the lexicals during the parse. 16:24
pmichaud: That is, during the parse of the method body.
So they need to go in .symbol
pmichaud yes, but that would be after already building the P:C:Signature
jnthn We could reorganize things a bit - the insertion of the decls that makes happens too late ATM though. 16:25
(e.g. after we parse the body)
I don't mind tweaking that if it's cleaner.
pmichaud okay, as STD sits now I agree that it needs to happen as part of the signature handler. 16:26
and that needs to be following $*IN_DECL
or perhaps $*SCOPE 16:27
kinda icky the way that's structured atm
16:28 kst joined
jnthn pmichaud: In Rakudo, STD or both? 16:30
pmichaud STD
I wonder if it helps if rule multisig { ... } also sets :my $*SCOPE = 'my' 16:31
16:31 rodi left
pmichaud that way a signature knows that its variables are lexically scoped 16:31
(as would be the case for signatures in routine_def and method_def) 16:32
jnthn That's a possibility.
pmichaud anyway, the logic I see is this: 16:33
jnthn pmichaud: We do know the difference when we parse my $a and my (...sig here...) though. We can always just say for the second "oh, don't go re-entering the variables in .symbol".
pmichaud right
but what about our (...sig here...)
jnthn Right, I was thinking about this in conjunction with your suggestion about using $*SCOPE. 16:34
pmichaud here's another possibility, perhaps <multisig> should take care of handling variables for routines
instead of <signature>
jnthn Perhaps, yes.
TMTOWTDI. :-)
pmichaud routine_def and method_def never call <signature> directly -- they always call <multisig> 16:35
variable declarations don't call <multisig>
colomon std: my ($a, $b where { $b % %a == 0 }) = (3. 9);
p6eval std 29578: ===SORRY!===␤Decimal point must be followed by digit at /tmp/mAnsCR5dmP line 1:␤------> my ($a, $b where { $b % %a == 0 }) = (3.⏏ 9);␤Other potential difficulties:␤ Variable %a is not predeclared at /tmp/mAnsCR5dmP line 1:␤------> my ($a, $b
..wher…
colomon std: my ($a, $b where { $b % $a == 0 }) = (3, 9);
pmichaud so, if <multisig> handles the "enter symbols for body" component, <signature> doesn't have to do it
p6eval std 29578: ok 00:01 109m␤
pmichaud we can perhaps have a method on P::C::Signature that enters symbols according to a $scope we pass in as a parameter 16:36
then <signature> is simply responsible for building the P::C::Signature
and the thing that calls <signature> is responsible for saying where to put the declarations 16:38
jnthn pmichaud: I like that.
That feels neat.
Plus multisig can then union all the decls too, if we need to do smart thingies like that. 16:39
pmichaud looking through STD, we also have a lot of places that call <signature> for things other than sub params directly
right
that's definitely nicer
jnthn OK, we can haz a winning stratergy. :-)
ash_ jnthn, i don't think i could of patched this btw, it seems beyond me :P
pmichaud looking at 16:40
wiki.github.com/rakudo/rakudo/ng-ma...res-needed
how shall we divvy up the tasks? 16:41
pmichaud updates the page
jnthn Is that really all we need? :-) 16:42
pmichaud no
we just add things as we go :-)
cheap short-term ticket system :)
jnthn :-) 16:43
pmichaud: I don't mind sorting out "my XYZ $foo"
I can probably work on hashes also. 16:44
I'd rather leave lists and grammars to you. ;-)
pmichaud I was thinking I should do hashes, since it's also affected by slicing
hash assignment is pretty straightforward
jnthn That's fine by me.
It's not like there's a shortage of things I can be doing that aren't on the list, but potentially could be. 16:45
pmichaud updated page (more updates coming)
jnthn Right, I can do those two new ones. 16:46
pmichaud just add yourself to the ones you think you're likely to tackel
*tackle
TimToady wonders if he'll have a brane tooday
pmichaud add any tasks you think need to be prioritized
add me to any tasks you think I really need to look at :-) 16:47
ash_ brianes are useful when you have to think making
pmichaud colomon: ping
ash_ changing computer labs & 16:48
16:48 ash_ left 16:52 jackyf joined
jonasbn pmichaud: are you busy? 16:53
16:54 meneldor left 16:56 ash_ joined
pmichaud jonasbn: not terribly busy, no 16:56
jonasbn: what can I do for you?
jonasbn about the hackathon, you have given me 6 names 16:57
16:57 colomon__ joined, colomon left, colomon__ is now known as colomon
jonasbn do you want me to write format invites for all of the ppl on the list? 16:57
s/format/formal/
pmichaud jonasbn: I actually created a separate list for this but never published it. we can do it there
jonasbn super 16:58
pmichaud might be better to do it separately from the perl6-compiler list
jonasbn yes of course
it is somewhat of topic :)
pmichaud I still need to subscribe people to that other list
jonasbn okay
pmichaud I can send you the email address of the invitees separately, though 16:59
jonasbn that would be nice
jnthn plz use [email@hidden.address] for me, not the jonathan@...
pmichaud anyway, I need lunch here -- immediately after lunch I'll finish up the list, subscribe people to it (incl yourself), and make a list announcement
jonasbn super
then I will write-up all the info I have for now 17:00
pmichaud anyone who wants to subscribe themselves directly: groups.google.com/group/perl6-workshops
jonasbn I have ordered an Act instance for registration, have not heard anything though 17:01
this will provide a Wiki etc.
pmichaud right
that would be excellent
17:01 cotto_work joined
ash_ when is the hackathon? 17:01
17:01 ive joined
jonasbn ash_: 5. & 6. March 2010 in Copenhageb 17:02
Copenhagen
ash_ would be cool to go to one but being in alabama, us, makes that difficult :P 17:03
17:03 aindilis joined
pmichaud ash_: I'm thinking of putting one together on the US East Coast, also 17:03
(likely eastern PA)
jonasbn pmichaud: are most/all of you guys going to the Dutch Perl Workshop or? 17:04
pmichaud jonasbn: many are. I think we can find out everyone's schedule on the list
jonasbn sounds good
my plan is to have the hackathon saturday and sunday 17:05
pmichaud works well
jonasbn monday will be reserved for the core team
pmichaud excellent
jonasbn you can then invite whoever you want if some of the attendees prove useful
well I have subscribed to the list 17:06
pmichaud excellent. I'm going to do lunch now, will fix up the list in ~75 mins
jonasbn I will post the details there when you send out the announcement of it's existance - then we can take it from there
pmichaud perfect
jonasbn super
jnthn spiffing, chaps. 17:07
17:07 cotto_w0rk joined
jnthn </english_english> :-) 17:07
pmichaud <english dialect="queen's">...</english>
okay, afk, lunch 17:08
jnthn :-)
pmichaud oh, anyone have a mongers group to suggest for the Jan release? 17:09
(I'll check backscroll when I return) 17:10
maybe the nlpw folks?
17:11 cdarroch joined, Alias left
pmichaud anyone know what this is...? perl6.org.uk/psdw2010/ 17:13
heh 17:15
I think I'll name this release "Minneapolis"
jnthn pmichaud: Heh, curious...
pmichaud: No idea though.
17:15 k23z__ joined 17:18 cotto_working joined 17:20 jan_ joined 17:22 justatheory_ joined 17:24 cotto_work left, cotto_work joined 17:25 justatheory left, justatheory_ is now known as justatheory 17:31 nacho left 17:32 cognominal left
[particle]1 pmichaud: seems like this guy (search.cpan.org/~cosmicnet/) is behind it 17:32
17:32 [particle]1 is now known as [particle] 17:35 cotto_w0rk left
dakkar Lyle! 17:36
he was the main character is a couple of absurdly long half-flame threads on the london.pm list, a couple of years ago 17:37
17:37 cotto_working left 17:38 nacho joined 17:39 ruoso left 17:41 ruoso joined
ash_ so, some people in here use linux a bunch right? just a quick question, i have used it before, but never had this problem. ./configure is failing on an ebuild for me because my C compiler (gcc) can't make executables... 17:41
i think i need to go find the gentoo channel
dakkar ash_: they'll probably be better equipped to help you, yes 17:42
ash_: #gentoo here on freenode
ash_ i just think its funny that you can have a gcc compiler that can't make executables, there is something ironic about that 17:43
dakkar it happens frequently with cross-compilers 17:48
or, of course, if someone wrote a program called 'gcc' which is not what you'd think it were, and put it in the PATH
18:02 stephenlb joined, jackyf left 18:06 dakkar left 18:08 rff left 18:10 clintongormley left, clintongormley joined 18:11 nihiliad left 18:12 ShaneC joined
clintongormley heya all, where is moritz_ these days? i heard a rumour that he was gainfully employed? 18:13
18:13 alester joined 18:14 nihiliad joined 18:17 nacho left
colomon pmichaud: pong # sorry, was out for lunch 18:24
18:29 colomon__ joined, colomon left, colomon__ is now known as colomon
pmichaud colomon: now that list assignment is working, what do you see as the biggest blocker(s) in the test suite? 18:29
colomon hmmm... 18:30
the my ($a, $b) thing, that's why I was poking at that.
Range
there were issues with $_ working in map, grep, etc, but jnthn and I half fixed that, so I don't know how big an issue it is now. 18:31
definitely it's still bugging grep:
ng: (1...10).grep({ say $_; 1; }).perl.say 18:32
p6eval ng 89fb62: Mu()␤Mu()␤Mu()␤Mu()␤Mu()␤Mu()␤Mu()␤Mu()␤Mu()␤Mu()␤[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]␤
colomon but map on the other hand:
ng: (1...10).map({ say $_; $_ * $_; }).perl.say
p6eval ng 89fb62: 1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤(1, 4, 9, 16, 25, 36, 49, 64, 81, 100)␤
ash_ how do you do: my ($a, $b, undef) = &some_function_returns_three_items(); ? 18:33
colomon ash_: isn't it just my ($a, $b) = &some_function_returns_three_items(); ?
ash_ but what if i wanted the 0 and 2 items? can you do that then? my ($a, undef, $b) ? 18:34
18:34 snearch_ left
colomon pmichaud: I don't remember really bumping any other sort of "universal" test suite issue, it seemed more like a collection of small troubling details. 18:34
18:38 Chillance joined
colomon ash_: maybe? I'd just naively use my ($a, $dummy, $b) there, though. :) 18:39
ash_ colomon: you can do that in perl 5, i was just curious what the 'right way' in perl 6 is, since undef is gone if i am not mistaken
colomon ash_: right, duh! I dunno, Mu seems odd to use there. Errr... might be that just a $ works as a placeholder? I seem to recall that from sub signatures, and this should be the same as that... 18:41
ash_ ng: my ($a, Mu, $b) = (1, 2, 3); # ? 18:43
p6eval ng 89fb62: Redeclaration of symbol $a at line 1, near " = (1, 2, "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
ash_ err
well
when that works right i guess 18:44
Tene std: my ($a, $, $b) = 1..3;
p6eval std 29578: ok 00:01 109m␤
18:44 riffraff joined
PerlJam ng groks that syntax doesn't it? 18:44
ash_ ah, cool
thanks Tene++ 18:45
Tene ng: my ($a, $, $b) = 1..3;
p6eval ng 89fb62: Redeclaration of symbol $a at line 1, near " = 1..3;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
Tene ng doesn't get list declarations ATM.
jnthn rakudo: my ($a, $, $b) = 1..3;
p6eval rakudo 1d4928: ( no output )
Tene ng: my ($a, $b);
p6eval ng 89fb62: Redeclaration of symbol $a at line 1, near ";"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
Tene see?
jnthn Tene: It almost does, just a regression.
18:46 nihiliad left
ash_ ng: my $a, $b; ($a, $, $b) = 1..3; 18:46
p6eval ng 89fb62: Confused at line 1, near "($a, $, $b"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
jnthn ng: my $a, my $b; ($a, *, $b) = 1..3;
p6eval ng 89fb62: too few positional arguments: 3 passed, 4 (or more) expected␤current instr.: 'perl6;Code;new' pc 11858 (src/builtins/Positional.pir:169)␤
jnthn hm
18:47 riffraff left
colomon pmichaud: Range will be kind of huge for the test suite, I think. Though it is mostly easily worked around with ... -- so it's hard to say what its priority should be. 18:47
I just got that exact same error (3 passed, 4 (or more)) when trying to execute @push[0][*-1] in the test suite. 18:48
18:48 nihiliad joined
ash_ is whatever working? 18:48
Tene ng: my $x = 1,*,5; say $x(3); 18:49
p6eval ng 89fb62: sh: ./perl6: No such file or directory␤
colomon pmichaud: also, I'd be happy to work on getting Range working (though I need to run some errands here and do some $work as well), but I'm not quite sure how to fit it into your new lazy List scheme.
Tene *sigh*
pugs_svn r29579 | colomon++ | [t/spec] Change .. to ..., fudge two tests for ng. 18:56
ash_ ng: my $x = 1,*,5; say $x(3);
p6eval ng 89fb62: invoke() not implemented in class 'List'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
ash_ is that formatted right Tene? 18:57
doing $x(3) like that?
Tene ash_: I was checking to see if that was making a whatevercode, as that would have explained something else.
But it's not.
ng: my $x = *+5; say $x(5); 18:58
p6eval ng 89fb62: too few positional arguments: 3 passed, 4 (or more) expected␤current instr.: 'perl6;Code;new' pc 11858 (src/builtins/Positional.pir:169)␤
colomon pmichaud: it sounds stupid, but another obstacle is the lack of pi 18:59
pmichaud: and another is that right now, if you specify too many decimal places for a decimal constant, it fails (because it cannot construct a Rat with that precision). 19:00
ng: say 3.141534234245242342342342342342
p6eval ng 89fb62: PAST::Compiler can't compile node of type BigInt␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (src/PCT/HLLCompiler.pir:101)␤
colomon versus
ng: say 3.14
p6eval ng 89fb62: 3.14␤
19:01 lumi left, lumi joined
dalek kudo/ng: 9c9e283 | (Solomon Foster)++ | t/spectest.data:
Turn on push.t.
19:02
19:02 ash_ left
TimToady note, my $x = 1,*,5 is going to be a Useless use of * and 5, since you're assigning to a scalar 19:03
Tene ... heh.
19:08 dalek left, dalek joined, vamped joined
pmichaud I just posted some commits to rakudo master in preparation for a release (from the master branch) -- comments welcomed. 19:09
(especially if anyone can think of anything that should be modified in the announcements)
(github.com/rakudo/rakudo/blob/maste...ce/2010-01 for those who don't want to clone/pull) 19:10
otherwise I'll cut the release shortly.
colomon announcement looks reasonable to me.
vamped ash: I thought the syntax was ($x,*,$y)=1..3; 19:11
Tene pmichaud: decided against releasing ng? 19:13
pmichaud Tene: yes. I started to write an announcement about the delay, and then decided it was better/simpler to just cut another release.
vamped (slow on refresh. you got it.)
pmichaud (from old master)
but by this time next week I plan to have switched rakudo master branch to be ng
Tene nods. 19:15
colomon ng: 10.roots(3).perl.say 19:19
p6eval ng 89fb62: sh: ./perl6: No such file or directory␤
colomon ng: 10.roots(3).perl.say
p6eval ng 89fb62: sh: ./perl6: No such file or directory␤
Tene that's almost bugging me enough to fix it. 19:22
colomon ng: 10.roots(3).perl.say
p6eval ng 9c9e28: (Complex.new(2.15443469003188, 0), Complex.new(-1.07721734505219, 1.86579517234114), Complex.new(-1.07721734494344, -1.86579517240392))␤
colomon ng: roots(4, 2).perl.say 19:24
p6eval ng 9c9e28: (Complex.new(2, 0), Complex.new(-2, -5.82864638634609e-11))␤
colomon ng: roots(4, 2).elems.say
p6eval ng 9c9e28: 2␤
colomon ng: my @l = roots(4,2); say @l.elems 19:25
19:25 ash_ joined
p6eval ng 9c9e28: ( no output ) 19:25
colomon that's more like it. seems to be an infinite loop on my machine at home?
19:26 ash_ left, mikehh left, ash_ joined, mikehh joined 19:27 colomon left, colomon joined 19:30 lumi left, lumi joined 19:37 mikehh left 19:38 mikehh joined 19:41 zloyrusskiy joined 19:44 ive left
pmichaud jonasbn: list is now set up, initial message has gone out. 19:47
[email@hidden.address] 19:48
jnthn pmichaud: recieved so, it looks like it's all working :-) 19:49
19:52 mikehh left 20:09 zloyrusskiy left 20:17 araujo left
ash_ gah, now i'll get even more spam from google groups :P 20:19
20:21 rjh left, rjh joined 20:23 lumi left, lumi joined 20:25 uniejo left 20:27 plainhao left 20:28 nacho joined 20:39 sharno joined 20:50 Salada345 joined
Salada345 Hi All..can someone help me with a formatting issue? I'm retreving some data from the CMD and it's not grabbing its format 20:50
colomon er, what? Salada345, can you provide some more context? 20:51
ash_ are you in perl 6 by chance? 20:52
Salada345 This is the command i'm using
open(POSHOUT, "|C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\PowerShell.exe @args");
print POSHOUT;
close(POSHOUT);
@arg being some arguements that results in a paragraph with double spacing , tabs etc 20:53
PerlJam Salada345: you're using Perl 5, try #perl or #perlhelp
Salada345: this channel is about and for Perl 6.
20:53 SmokeMachine left
Salada345 ok, thank you guys..sorry i didn't know there was much of a difference 20:54
PerlJam no problem.
colomon pmichaud: I think something is still very wrong with the ListIterator. 20:55
If I say my @l = roots(4,2); almost anything I do which accesses the elements of @l hangs ng. 20:56
20:57 jonasbn left
colomon roots uses map internally to generate the list of roots. 20:57
ng: say (1...10).map({ $^x ** 2 }).perl.say 21:00
p6eval ng 9c9e28: (1, 4, 9, 16, 25, 36, 49, 64, 81, 100)␤1␤
colomon ng: say roots(4,2).WHAT
p6eval ng 9c9e28: List()␤
colomon ng: my @l = roots(4,2); say @l.WHAT
p6eval ng 9c9e28: ( no output ) 21:01
pmichaud ng: say roots(4,2).perl 21:05
p6eval ng 9c9e28: (Complex.new(2, 0), Complex.new(-2, -5.82864638634609e-11))␤
pmichaud I suspect the issue is with returning lists from a function
not with ListIterator itself
colomon The money line in roots is 21:06
(0 ... ($n-1)).map: { $mag.unpolar( ($angle + $^x * 2 * 312689/99532) / $n) };
pmichaud oh, then it might be a problem with whatever map returns
I bet map is returning something that isn't flattening
or it could be with MapIterator (!Mapper)
anyway, I'm not comfortable with the map implementation anyway, it's likely to get another significant revision 21:07
colomon Yeah, it's map: my @l = (0 ... 4).map: { $^x ** 2 }; say @l.WHAT also hangs 21:09
pmichaud in many ways it's also a sentinel problem -- i.e., finding out if a given iterator is finished without actually iterating an element 21:10
21:10 japhb left
colomon BTW, currently gather / take returns an Array. Should it actually be a List? 21:10
pmichaud it should return a List, yes. 21:11
well, gather returns a List
Tene pmichaud: lists refactoring coming along well? 21:15
pmichaud lists, yes, iterators, not so much
Tene Aw.
The gf is going out tonight, so I should be available.
pmichaud okay
any ideas about how to handle the "test if a iterator is finished" issue? 21:16
Tene There's an issue?
pmichaud sure
21:17 REPLeffect joined
pmichaud is there a general way to determine that an iterator is finished without having to generate the next element? 21:17
(yes, this is much like the problem of "is there a way to determine that we've reached eof without actually reading from af ile")
*a file
Tene you can always have a buffer item, reading ahead by 1... I suspect there are issues with that. 21:18
colomon Seems like in general you can't know that?
Tene No, there's no general way to do that unless we make one, by giving the generator function a way to signal "this is the last element". 21:19
colomon I mean, for instance, something like gather for 1...1000 { take $_ if $_ % 3 }
Tene Hm. Even that wouldn't be "general", because we couldn't enforce usage.
pmichaud I suspect the generator itself can't always know which element is the last 21:20
colomon Maybe that's not the best example, but it's easy to find examples where the generator doesn't know what element is last when that element is generated.
pmichaud gather for 1...* { last if (0,1).pick(1); take $_; }
colomon exactly. 21:21
21:21 justatheory left
Tene So, no, there's no way. Give iterators a buffer element, try to fill it when finished-ness is checked, and look there first when the iterator is kicked. 21:21
pmichaud well, if we're doing buffer element, it might as well be buffer element*s*
that way one can do pushbacks 21:22
Tene Ah, nice, yes.
pmichaud and if we're doing that, then iterators look a lot like List, in that they have generated and non-generated components
which seems horribly recursive somehow 21:23
colomon it's exactly recursive, isn't it?
pmichaud well, somewhat. Actually, iterators look more like Array, since they're mutable.
colomon this is why I got confused last night when I tried to figure out how to implement Range now.
pmichaud well, Range isn't so bad, it's immutable. 21:24
then there's a RangeIterator, which simply keeps a position in the Range and returns the next element from the Range
colomon right, but what had me going was, can a list be built from a RangeIterator? Or is the RangeIterator built from a ListIterator? 21:25
21:25 justatheory joined
pmichaud a list can contain a RangeIterator 21:26
Tene pmichaud: it's not recursive, just hierarchal. Iterator has-a Array.
colomon maybe that's not the best way of saying it, but thinking about how lists work now is recursive and tangly.
pmichaud Tene: that works.
21:27 ash__ joined
Tene and array *can* contain an iterator. 21:27
pmichaud ...except then the Array has to contain an Iterator
colomon but doesn't Array has-a List?
pmichaud Array isa List
colomon oh, right.
pmichaud or, perhaps, Array does List
Tene pmichaud: has to?
pmichaud Tene: well, it doesn't *have* to. 21:28
It does if we think that Iterator/Array/List unify somehow
if Iterator hasa Array uses that array simply for buffer/pushback elements, then no.
21:28 ash__ left, ash__ joined 21:29 hercynium joined, ash__ left, ash__ joined
Tene the only place you'd see iterator's array containing an iterator is if someone pushback'd one. You could restrict the pushback API to only allow single items, if you want to avoid that. 21:29
21:29 ash__ left
pmichaud an iterator is a single item :-) 21:30
but yes, I get the idea there.
Tene Thanks.
(I'm in a bit of a hurry. About to leave to pick up a car to replace the one I totaled.)
pmichaud we can discuss it more later, if you're around 21:31
(and if I'm around -- don't know what family activities will look like tonight)
Tene I will be. I definitely plan to work tonight. If you won't be, feel free to leave me a tasklist.
21:31 ssm left
pmichaud well, it's mostly getting the iterator interface nailed down 21:32
Tene nods.
I expect to be back in an hour or two. AFK.
21:32 ssm joined
colomon pmichaud: can you sketch out what you're thinking for the iterator interface? 21:35
pmichaud colomon: well, I have to keep revising it as I run across new oddities. Like with map above.
essentially, there should be a .get that retrieves the next element
there should be a way to ask an Iterator "are there more elements?" 21:36
21:36 ruoso left
pmichaud ideally, there should be a batch mechanism to efficiently obtain /n/ elements 21:36
21:36 eternaleye left
pmichaud (for iterators that can do that) 21:36
21:36 eternaleye joined
colomon nods 21:37
pmichaud if List, Array, and Iterator all need a mechanism for "keep track of generated and lazy elements", then it feels weird to be duplicating any code for them 21:38
colomon so what you were just concluding there is for something like gather / take, it can't answer "are there more elements" without actually generating one.
pmichaud I suspect that's true for many iterators, not just those using gather/take 21:39
21:40 ash_ left
colomon sure, gather / take is just an easy example. 21:40
on the other hand, is there a reason not to simply have get return a control flag?
my ($next_available, $next) = iter.get
pmichaud get needs to return the value gotten, I suspect.
and as I mentioned earlier, many times .get doesn't know if there's another element available 21:41
(if it's only retrieving one element)
I'm not sure that .get should be responsible for any lookahead semantics 21:42
something driving .get probably ought to do that
colomon no, what I'm suggesting is that .get either returns a value or a flag saying we're done!
pmichaud or throws an exception
colomon it's an ugly interface, but it's the simplest thing that would work.
pmichaud well, the problem with flags tends to be that they then can't appear in whatever your iterating over 21:43
I'd prefer that .get *not* be returning a list
colomon right, that's why I suggested a list.
but obviously that's trouble too, eh? :) 21:44
pmichaud a list is bad
I mean, my ($next_available, $next) = iter.get itself involves an iterator :-|
(list assignment uses iterators) 21:45
colomon right.
I forgot about that.
21:46 japhb joined
pmichaud well, actually it uses arrays and shift 21:46
anyway, returning a list from .get feels very wrong
diakopter hah; Powershell from Perl. Funny since Powershell was written specifically to replace Perl. 21:47
pmichaud taking a break here for a bit 21:48
21:54 [particle] left
colomon Hmmm... I guess we also need the interface for creating a List from an iterator, right? 21:57
21:57 clintongormley left
pmichaud that's easy -- it's a List with the iterator 21:58
accessing elements of the list cause it to iterate
colomon (sorry, didn't mean to disturb your break, just get my thoughts down for when you got/get back from it.) 21:59
21:59 clintongormley joined
pmichaud that's really all a "lazy list" is -- it a list where some of the elements need iterating 22:00
22:03 ash_ joined
colomon sure, I just was wondering what the actual syntax would look like. 22:04
something like List.new(iter) ?
pmichaud or even (iter,)
colomon wouldn't the later be a list containing an iterator, rather than a list generated by an iterator? 22:05
pmichaud those are the same thing
assuming the iterator flattens
colomon ?!
pmichaud in all likelihood, I'd expect it to be $iter.list()
which gets a list from an iterator, same as any other item
colomon oooo, nice and simple.
22:06 PZt left
pmichaud just like Range.list() produces a list that has a RangeIterator in it 22:06
colomon would that be in the Iterator role?
pmichaud it could be.... but .list also fits pretty well in Any/Cool
colomon so that every Iterator type doesn't have to redo the basic logic?
pmichaud in general we've been treating .list as something standard in Any
22:06 lumi left
pmichaud rakudo: say 1.list.perl 22:07
p6eval rakudo 1d4928: [1]␤
pmichaud (rakudo still thinks that lists in item context become arrays)
so no, I don't think that .list would need to be standard on Iterator 22:08
I suspect that except for filehandles, it's pretty rare that we ever see an Iterator directly
22:09 pnate left, pnate joined 22:10 lumi joined 22:16 ash__ joined, ash__ left 22:17 ash__ joined 22:18 PZt joined
pmichaud afk 22:23
22:24 Su-Shee left 22:28 clutbcfpfdpd joined
clutbcfpfdpd Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 22:28
Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 22:29
colomon I'm figuring that iterators are the sort of detail that might not show up in everyday programming, but will be k
clutbcfpfdpd Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution!
colomon of all the days not to be an op...
22:29 clutbcfpfdpd left 22:30 PerlJam sets mode: +o colomon
PerlJam (If I had been paying attention a little sooner ...) 22:30
22:30 inzdk joined
inzdk Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 22:30
Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 22:31
ash__ so, um... spam...
22:31 inzdk left
takadonet boot them? 22:31
arnsholt Someone op-enabled should do that, yeah
sjohnson he's already gone
and i'm sure what he meant to say was... Perl 6 news for a quick and easy language!!! 22:32
arnsholt Yeah. Next time we'll get 'em =)
22:33 ash_ left
colomon anyway, what I was trying to say was that iterators might not be everyday programming, but it seems to me they may be really handy sometimes for people writing library classes. (Like us, at the moment!) 22:33
22:34 takadonet left 22:36 s1n_mini joined 22:37 TimToady sets mode: +vv buubot dalek, TimToady sets mode: +vv ilogger2 IRSeekBot, TimToady sets mode: +vv lisppaste3 p6eval, TimToady sets mode: +v pugs_svn
s1n_mini how do i get the ng branch out of rakudo? 22:38
PerlJam s1n_mini: do you have a clone of the repo already?
s1n_mini PerlJam: yes
ash__ git checkout -t origin/ng 22:39
s1n_mini ahh, i wasn't formatting that right
i was just doing a git checkout ng
22:39 Infinoid left
s1n_mini do i have to pull again? 22:39
22:39 Infinoid joined
PerlJam s1n_mini: nope 22:40
s1n_mini thanks :)
22:41 kloeri_ joined
ash__ when you git pull it mergers origin/ng into your local ng branch 22:41
and mergers origin/master into your local master 22:42
s1n_mini what does that mean to me? heh
ash__ if someone pushes a change to github, you only have to type pull (if your still in the ng branch) to get the changes 22:43
s1n_mini if they push to origin/master?
ash__ to either
s1n_mini ah, great, it tracks both
ash__ when you did git checkout -t origin/ng it makes a tracking branch
and the default master branch is a tracking branch too
22:43 TimToady sets mode: +oooo arnsholt s1n_mini Infinoid japhb, TimToady sets mode: +oooo Khisanth literal lumi s1n, TimToady sets mode: +ooo szbalint wolverian xinming
s1n_mini is it just the -t that does that? 22:44
ash__ yeah, -t makes it create a new local branch that tracks, technically you could write it like: git checkout -b ng --track origin/ng 22:45
but -t is a shortcut so you don't have to
write all of that
s1n_mini excellent, thanks, the git errors are less than helpful 22:46
22:46 drbean joined
ash__ yeah, they can be confusing 22:46
s1n_mini what's the progress of ng look like? 22:47
22:49 Salada345 left
colomon ng development is just taking off again. 22:49
definitely still not ready for prime time, but maybe next week... 22:50
22:50 TimToady sets mode: +oooo ash__ frettled frettled gbacon, TimToady sets mode: +oooo cj justatheory sjohnson smash_, TimToady sets mode: +oooo Trey vamped allbery_b avar
TimToady is stocking up on ops for the weekend :) 22:50
s1n_mini does it support proto regexes yet (similar to the ones in ng's perl6 grammar), outside of NQP-rx? 22:51
sjohnson ( ° ー°) 22:52
colomon I don't know.
s1n_mini rebuilding to find out :) 22:55
22:58 clintongormley left 22:59 dduncan joined 23:00 clintongormley joined, lmc joined
dduncan is there an IRC channel specific to developing Rakudo or do they just use #perl6 or #parrot ? 23:00
sjohnson the latter is correct 23:01
ash__ rakudo uses this channel
sjohnson rakudo: say "hi dduncan"
ash__ well, #parrot too, some for parrot related issues
p6eval rakudo 1d4928: hi dduncan␤
dduncan I was wondering about release 25 ... 23:02
23:02 hgbvswsrfpni joined
hgbvswsrfpni Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 23:02
23:02 pwhixnupvnk joined
pwhixnupvnk Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 23:02
23:02 pwhixnupvnk left
hgbvswsrfpni Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 23:02
23:02 hgbvswsrfpni left
sjohnson there is one way to solve this issue, but it might make it annoying for freenode users... 23:03
dduncan since I hear that as of last week Rakudo didn't build on Parrot 2 due to changes in continuations or something, is Rakudo 25 just going to be the ng branch even if it passes fewer tests than 24?
sjohnson you set a channel mode (+R i believe) that only allows registered users to connect
colomon dduncan: Rakudo master is fixed to build on Parrot 2.
dduncan so the non-ng works on Parrot 2 23:04
colomon yes.
23:04 [particle] joined
colomon I believe you are correct that the current plan is that there will probably be some test regressions when ng is switched to master... should be in the next couple of weeks. 23:04
dduncan still, my main question is whether the ng branch will come put as 25 or whether that will be put off ...
Tene dduncan: ng works on 2.0.0 also
dduncan: current master is release 25.
dduncan so 26 then I guess 23:05
for ng
colomon Everyone wants 26 to be ng.
Tene dduncan: ng becomes master after the next release.
dduncan thanks, thats all I wanted to know
s1n_mini shouldn't that be in release 27 then?
dduncan 25 is this month's, I believe 23:06
s1n_mini oh, i thought 25 was the most recent, not upcoming
pmichaud 25 is today's release
Tene current master is the release this month, whichever number that is. ng becomes master shortly after the release. :)
dduncan as I thought 23:07
s1n_mini pmichaud: thank you for clearing that up :)
23:07 lumi left, yecfwmyvz joined
yecfwmyvz Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 23:07
23:07 lumi joined
yecfwmyvz Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 23:07
kloeri_ sjohnson: +R is indeed the mode we recommend
yecfwmyvz Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution!
s1n_mini ehh
23:07 kloeri_ sets mode: +R , sjohnson sets mode: +b yecfwmyvz!*@*, yecfwmyvz was kicked by sjohnson (sjohnson))
dduncan I look forward to 26 ... for my purposes it seems that ng is a better version to use when I want to write reams of Perl 6, as that is closer to the spec 23:08
sjohnson kloeri_: wow, you use weechat too?
kloeri_ feel free to remove +R - I'll try not to interfere anymore as there's several chanops around :)
sjohnson: no, irssi
s1n_mini pmichaud: does ng support proto regexes outside nqprx?
sjohnson im surprised you ever even able to set that mode
kloeri_ sjohnson: I just happen to be in rather a lot of different channels :) 23:09
sjohnson kloeri_: i use weechat
( `ー´)
kloeri_ sjohnson: I'm implicitly +o in all channels which is sometimes very useful in case of spam attacks
sjohnson kloeri_: are you a secret ircop? 23:10
and i just read on freenode it's lowercase r
23:10 sjohnson sets mode: -R+r
sjohnson rizon is +R :) 23:10
23:11 rjh left
diakopter ? 23:11
23:12 Infinoid left
sjohnson i think kloeri_ is one of those freenode angels 23:12
kloeri_ yeah, I'm one of the freenode staffers
it's not a big secret though as it's easily given away by /whois :) 23:13
sjohnson just the staff part
23:13 diakopter sets mode: -r
sjohnson i was looking for a IRC Operator line 23:13
diakopter: it was to keep out teh spam bots
diakopter yes, but there are usually plenty of unidentified innocuous users
23:14 pnate left
sjohnson ya it was a double edged sword *sad face* 23:14
23:15 mjk joined, [particle] left 23:16 lpdvnsxcnbs joined
lpdvnsxcnbs Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 23:16
23:16 lpdvnsxcnbs was kicked by diakopter (diakopter)) 23:17 diakopter sets mode: +b *!*@user-0cdfpp4.cable.mindspring.com
kloeri_ diakopter: banning those bots isn't going to do anything besides filling up the ban list 23:17
23:17 diakopter sets mode: -b *!*@user-0cdfpp4.cable.mindspring.com
diakopter kloeri_: have you considered implemented a spam filter for all msgs? sorry if this is an uninformed question. 23:18
kloeri_ we're not going to do any hyperion development this close to migrating to a new ircd 23:19
and seven have better options to limit spam
diakopter seven?
23:20 sharno left
Tene new ircd 23:20
sjohnson .google test
Tene ENOPHENNY 23:21
sjohnson im surprised the bots aren't making us feel inadequate about our penis sizes 23:22
23:23 drbean left
sbp .g test 23:23
rats
23:23 phenny joined
sjohnson sbp: ya they have this bot on Rizon in a few of their channels 23:24
Tene: speak of the devil 23:25
Tene oh, right, I was going to harass sbp about that a while ago... 23:26
23:28 nacho left, colomon left 23:29 colomon joined, diakopter sets mode: +v phenny, ghedroshcdu joined
ghedroshcdu Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 23:29
23:29 ghedroshcdu left
sjohnson diakopter: the +R mode will still allow them to join, just not talk without warning.. fwiw 23:30
23:30 dduncan left 23:31 lumi left, lumi joined
sjohnson if i do that and set the topic to just ask to plz register to combat recent spam, would you let me ? 23:32
23:32 mjk left
diakopter it's not my policy; it's just the #perl6 precedent for years 23:32
23:34 riffraff joined 23:36 vkzxpzhh joined
vkzxpzhh Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 23:36
23:36 flvs joined
flvs Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 23:36
23:36 wwacqdchrnfu joined
wwacqdchrnfu Your machine has been infected by the recent spam attacks - visit www2.freenode.pl/ for a quick and easy solution! 23:36
23:36 vkzxpzhh left, flvs left, wwacqdchrnfu left, riffraff left 23:37 cbtpbuh joined
cbtpbuh Hi all. It seems we\'re again seeing javascript based flood spam. If you\'re experiencing this, please do not click the links in the messages as they will cause you to repeat the spam. More information is available at www2.freenode.pl. Thanks! 23:37
23:37 sjohnson sets mode: +r
cbtpbuh Hi all. It seems we\'re again seeing javascript based flood spam. If you\'re experiencing this, please do not click the links in the messages as they will cause you to repeat the spam. More information is available at www2.freenode.pl. Thanks! 23:37
23:37 cbtpbuh left
sjohnson »ö« | Spam bot alert: Please register to talk | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! 23:38
sjohnson diakopter: you can take it off if you want :) 23:38
but would be a good temporary fix until the issue is resolved methinks 23:39
»ö« | Spam bot alert: Please register to talk | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! 23:40
sjohnson they even sullied javascripts name dia, they crossed the line! 23:41
s1n_mini sjohnson: what do you mean "register to talk?"
sjohnson »ö« | Spam bot alert: Please register your nick to speak in chan | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! 23:42
s1n_mini sjohnson: ah, that's clear, thanks :) 23:42
sjohnson i think this will effectively stop the problem until it's resolved
diakopter sjohnson: you got it backwards
sjohnson and allow us to think of happier things.. like Camelia
s1n_mini there aren't any bots out there to take care of it yet?
diakopter +r is block unidentified; +R is quiet unidentified 23:43
23:43 sjohnson sets mode: -r+R
sjohnson diakopter: oopsies 23:43
»ö« | Temporary spam alert: Please register your nick to speak in chan | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! 23:44
sjohnson there we go 23:44
i won't change it anymore
starting to be worse than the spam bots themselves 23:45
s1n_mini is not registered under this nick, my primary nick is though
23:45 psdp joined
sjohnson s1n_mini: i believe your +o status stops that problem 23:45
s1n_mini sjohnson: oh, i hadn't realized i was given +o heh 23:46
23:46 psdp left
sjohnson TimToday has good forsight 23:46
Tene does +v do that too?
23:46 sjohnson sets mode: -o sjohnson
sjohnson try 23:46
err
i'm already regged.. :(
that was silly
i know how to test 23:47
23:47 sjohnson_ joined
sjohnson please +v sjohnson_ 23:47
23:47 Tene sets mode: +v sjohnson_
BinGOs +r is must be registered to join the channel, +R is must be registered to speak in a channel 23:48
sjohnson_ this is the real deal
Tene Okay, we can +v anyone who asks.
s1n_mini lol how do they ask?
Tene You could put "register, or ask someone with +o for voice" in the topic.
s1n_mini pm?
sjohnson can i have my ops back plz
Tene Yes. 23:49
23:49 Tene sets mode: +o sjohnson
Tene Yes, /msg 23:49
23:49 sjohnson_ left
sjohnson »ö« | Temporary spam alert: Please register your nick to speak in chan or /msg an op for +v | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! 23:50
diakopter Tene: the problem with that is that folks who aren't identified can't privmsg 23:51
s1n_mini: try privmsg me
oh drat.
23:51 ywbimpayxcwk joined
Tene diakopter: that's a per-user option. 23:51
23:51 cdarroch left
diakopter well, it used to be that way. 23:51
s1n_mini heh 23:52
23:52 ywbimpayxcwk left
BinGOs I think you may have been glad of the +R then 23:52
Tene I accept unregistered PMs, but some others don't. I don't remember which mode you set for that.
diakopter oh, oh yeah.
Tene is it mode +i ?
no, that's ident.
sjohnson it's +E Tene
Tene dunno.
BinGOs +i is invisible
Tene sjohnson: is +E to allow or to refuse? 23:53
sjohnson refuse
Tene Ah.
colomon thinks he can talk again here...
Tene So you could list specific names in the topic, for now.
BinGOs freenode.net/using_the_network.shtml 23:54
sjohnson hopefully they just register, as it's easy, painless, and guarantees your nick, helps stop world hunger, and builds freenodes constant userbase 23:55
s1n_mini what about bots that auto register?
sjohnson well, i think that's a bit tougher to do.. but i could be wrong 23:56
so far it's a non-issue
23:56 diakopter___ joined
sjohnson diakopter___: wink if you want +v 23:56
diakopter heh
'course, maybe all the spam attacks are freenode admins trying to get channels to +R/+r :) 23:57
(not that I would blame them)
sjohnson haha
herding us like sheep 23:58
23:58 diakopter___ left
sjohnson *BAAAHH!!!* 23:58
s1n_mini or maybe i really am infected with a virus and they're just doing a good deed
s1n_mini clicky clicky
sjohnson i tried going to the link in firefox
didnt resolve to any site
out of sheer curiosity
i was hoping to have my penis enlarged 23:59
s1n_mini i just want the virus off my computer!
diakopter heh
23:59 alester left
s1n_mini every website i go to knows about that virus and nobody helps me! 23:59