Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-01-22

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo