Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-10-26

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:01 pythonian4000afk is now known as pythonian4000
00:03 rvrgs left #perl6
00:04 takadonet nuts $/ not used in  s/// !
00:05 pythonian4000 is now known as pythonian4000afk
00:08 colomon "starwars gaming league"?
00:09 takadonet yes
00:10 takadonet colomon: http://starfighters.com/lsf/
00:10 takadonet It's dead and gone now but the site still up
00:10 * colomon was once playing in three different Star Wars RPG games (using three different sets of rules).
00:10 colomon oooo, X-Wing vs Tie Fighter!
00:11 takadonet does rakudo have mod working yet?
00:12 colomon mod?  as far as I know that's been working for about four months now.
00:12 colomon rakudo: say 35234 mod 7
00:12 p6eval rakudo d49eea: OUTPUT«3␤»
00:12 takadonet .... not working for me...
00:12 colomon what are you trying to do with it?
00:12 takadonet $tabstop + $offset mod $tabstop
00:13 colomon do you know if they are actual Ints?
00:13 colomon (and why not use % instead of mod?)
00:13 takadonet nevermind forgot sigil!
00:14 takadonet it was not working either but that's because of the missing sigil
00:14 colomon The Mystery of the Missing Sigil
00:15 * colomon is far too tired, and therefore a bit punchy
00:15 takadonet still need to pos of matches within a s///
00:16 rvrgs joined #perl6
00:16 colomon maybe do it as a split instead?
00:16 takadonet thinking of it
00:16 takadonet but need :g which does not work with split....
00:17 takadonet probably wrong about that
00:17 takadonet i'll get it
00:17 colomon what's the expression you're trying to get?
00:18 takadonet getting all the position of each tab in a string
00:19 colomon split on \t with the :all modifier?
00:19 colomon that will give you the match before any changes you make to the string, though...
00:19 takadonet might be enough
00:20 jhuni left #perl6
00:21 colomon it will only return Match objects for the \t's (strings for the bits in between), but that will get you the starting position of each.
00:22 starcoder left #perl6
00:22 starcoder joined #perl6
00:24 pythonian4000afk is now known as pythonian4000
00:25 risou left #perl6
00:26 rgrau_ left #perl6
00:31 takadonet rakudo: my @a="\t\tx".split(/\t/,:all); for(@a) -> $x { say $x.WHAT }
00:31 p6eval rakudo d49eea: OUTPUT«Str()␤Match()␤Str()␤Match()␤Str()␤»
00:31 takadonet that normal right?
00:31 colomon yes
00:31 takadonet k
00:31 colomon that's what I was trying to say in my last sentence.
00:34 takadonet colomon: thanks for being patience :(
00:34 takadonet :)
00:34 johnjohn101 joined #perl6
00:35 takadonet it's either Perl 6 or playing starcraft 2....
00:35 masonkramer joined #perl6
00:36 rvrgs left #perl6
00:37 takadonet it works!!!!
00:37 colomon \o/
00:38 colomon afk # toddler bath time
00:38 jackyboy hey how do you write to a file handle?
00:39 colomon $fh.say
00:41 jackyboy hmm i tried that and it gave me an error
00:42 jackyboy http://gist.github.com/646099
00:42 jackyboy I get the error: Confused at line 6, near $outFile.s
00:44 takadonet need '()' around the hello world if you use the post fix way
00:49 masonkramer left #perl6
00:49 masonkramer_ joined #perl6
00:49 jackyboy left #perl6
00:51 jackyboy joined #perl6
00:51 jackyboy argh my anti-virus software reset my pc
00:51 jackyboy :S
00:51 jackyboy so does anyone know why writing to a filehandle doesn't seem to work?
00:52 takadonet oh
00:52 takadonet need '()' around the hello world if you use the post fix way
00:52 johnjohn101 left #perl6
00:52 takadonet i.e: $outFile.say("Hello World");
00:53 johnjohn101 joined #perl6
00:53 jackyboy ooo i see
00:53 jackyboy thanks mate
00:53 jackyboy i thought the spec states it didn't need them
00:53 jackyboy bugger
00:54 masonkramer_ waitaminutee....
00:54 takadonet it works.... talk to one of the experts when they are online :)
00:55 masonkramer_ is there no way to declare that a parameter must be something that does a certain role?
00:57 jackyboy ahahaha
00:57 jackyboy oh dear
00:57 jackyboy $fh.say("Hello world"); works but $fh.say ("Hello World"); doesn't
00:57 jackyboy i wonder if that is intentional
00:58 jackyboy mason: I guess there would be
01:02 masonkramer_ how would I declare a method that operates on an Iterable
01:02 masonkramer_ something like, and I'm just making this up:
01:02 masonkramer_ method foo($a does Iterable) { }
01:04 TiMBuS left #perl6
01:05 tylercurtis joined #perl6
01:06 kiithroen joined #perl6
01:09 TiMBuS joined #perl6
01:22 avuserow jackyboy: also try: $fh.say: "Hello world";
01:23 avuserow rakudo: $*STDOUT.say: "hi world";
01:23 p6eval rakudo d49eea: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in 'Mu::say' at line 1256:CORE.setting␤  in main program body at line 22:/tmp/oDWxwGN3n6␤»
01:23 avuserow maybe not implemented yet or I have the syntax slightly off
01:25 QinGW joined #perl6
01:25 bjarneh joined #perl6
01:25 jackyboy yeah avuserow I don't think that form has been implemented yet
01:25 jackyboy it didn't work for me when i tried
01:26 avuserow anyway, I think there will be some nicer syntax you can use to avoid the parens
01:37 molaf left #perl6
01:39 colomon $fh.say is already implemented and working.
01:39 colomon $*STDOUT isn't right, and that "Too many positional parameters passed" is what you get instead of an undeclared variable error at the moment.  :(
01:40 colomon rakudo: $*OUT.say: "hello world";
01:40 p6eval rakudo d49eea: OUTPUT«hello world␤»
01:41 whiteknight left #perl6
01:43 colomon masonkramer_: method foo(Iterable $a) { }
01:43 colomon I've been doing that all over the ABC code lately.
01:43 * colomon is not sure he fully groks roles, but he is enjoying using them.
01:43 masonkramer_ colomon: Alright, thanks.  I was worried there for a moment
01:44 colomon no worries
01:44 colomon ;)
01:48 florz left #perl6
01:49 molaf joined #perl6
01:55 tylercurtis left #perl6
01:56 takadonet left #perl6
01:58 tylercurtis joined #perl6
01:58 tylercurtis left #perl6
01:59 flussence_ joined #perl6
02:00 florz joined #perl6
02:00 kiithroen left #perl6
02:01 flussence left #perl6
02:08 kiithroen joined #perl6
02:18 jackyboy One final question of the day: what is the command line argument variable in perl6? @*ARGS doesn't seem to  work.
02:18 jackyboy ?
02:20 emoken joined #perl6
02:25 colomon @*ARGS works fine (just checked)
02:34 kiithroen left #perl6
02:34 kiithroen joined #perl6
02:35 colomon rakudo: my %h = a => 2, b => 3, c => 31; for %h -> $a { say $a; }
02:35 p6eval rakudo d49eea: OUTPUT«a 2␤b     3␤c     31␤»
02:45 colomon huh.  Hash does Iterable, but that's not in the spec?
02:46 jackyboy colomon: Thanks mate. It does indeed. I wonder why I was having so many problems this morning with it
02:48 envi joined #perl6
02:56 kiithroen left #perl6
02:57 kiithroen joined #perl6
03:00 kiithroen left #perl6
03:02 agentzh joined #perl6
03:04 colomon rakudo: class A { has $.a; }; my $a = A.new(:a(10)); say $a.perl; $a.a = 20; say $a.perl;
03:04 p6eval rakudo d49eea: OUTPUT«A.new(a => 10)␤Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/a18USoldmT␤»
03:04 colomon rakudo: class A { has $.a is rw; }; my $a = A.new(:a(10)); say $a.perl; $a.a = 20; say $a.perl;
03:04 p6eval rakudo d49eea: OUTPUT«A.new(a => 10)␤A.new(a => 20)␤»
03:06 colomon rakudo: class A { has $.a is rw; method blue($g) { $!a = $gl } }; my $a = A.new(:a(10)); say $a.perl; $a.blue(20); say $a.perl;
03:06 p6eval rakudo d49eea: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
03:06 colomon rakudo: class A { has $.a is rw; method blue($g) { $!a = $g; } }; my $a = A.new(:a(10)); say $a.perl; $a.blue(20); say $a.perl;
03:06 p6eval rakudo d49eea: OUTPUT«A.new(a => 10)␤A.new(a => 20)␤»
03:06 colomon rakudo: class A { has $.a; method blue($g) { $!a = $g; } }; my $a = A.new(:a(10)); say $a.perl; $a.blue(20); say $a.perl;
03:06 p6eval rakudo d49eea: OUTPUT«A.new(a => 10)␤A.new(a => 20)␤»
03:11 kiithroen joined #perl6
03:12 sorear good * #perl6
03:14 jackyboy left #perl6
03:15 bjarneh left #perl6
03:15 orafu left #perl6
03:16 bobkare left #perl6
03:19 bobkare joined #perl6
03:31 kanishka left #perl6
03:40 patch_ is now known as patch
03:44 emoken left #perl6
03:46 kanishka joined #perl6
03:51 kanishka left #perl6
04:07 sftp left #perl6
04:16 silug left #perl6
04:20 patspam joined #perl6
04:29 kanishka joined #perl6
04:35 patspam left #perl6
04:43 johnjohn101 left #perl6
04:51 kiithroen left #perl6
04:57 dalek specs: 32511f7 | TimToady++ | S02-bits.pod:
04:57 dalek specs: [S02] be more explicit about iterating sets/bags
04:57 dalek specs:
04:57 dalek specs: The intent has always been that when you use a set or bag as a list,
04:57 dalek specs: it behaves as a list of its keys, regardless of any underlying hash
04:57 dalek specs: interface it might also respond to.  You must use .pairs explicitly
04:57 dalek specs: to get the hash pairs out of a set or bag as a list.
04:57 dalek specs: review: http://github.com/perl6/specs/commit/32511f7db34905c740ed1030a70995239f7cfb66
05:03 nymacro joined #perl6
05:04 sorear TimToady \o/
05:49 pythonian4000 is now known as pythonian4000afk
05:52 kaare joined #perl6
05:53 kaare is now known as Guest85079
05:54 flussence_ left #perl6
05:54 araujo left #perl6
05:54 colomon left #perl6
05:54 lue left #perl6
05:54 Tene left #perl6
05:54 f00li5h left #perl6
05:54 thepler left #perl6
05:54 literal left #perl6
05:55 lue joined #perl6
05:57 Tene joined #perl6
05:57 Tene left #perl6
05:57 Tene joined #perl6
05:58 f00li5h joined #perl6
06:05 wtw joined #perl6
06:06 flussence joined #perl6
06:13 araujo joined #perl6
06:14 thepler joined #perl6
06:15 jasonmay left #perl6
06:16 colomon joined #perl6
06:17 literal joined #perl6
06:18 jasonmay joined #perl6
06:30 meppl joined #perl6
06:32 pythonian4000afk is now known as pythonian4000
06:39 uniejo joined #perl6
06:39 uniejo left #perl6
06:49 pythonian4000 is now known as pythonian4000afk
06:56 dalek specs: 60aef3a | TimToady++ | S (5 files):
06:56 dalek specs: Adjust proto semantics to address various concerns
06:56 dalek specs:
06:56 dalek specs: The concerns in question are admirably laid out in:
06:56 dalek specs:
06:56 dalek specs:     http://6guts.wordpress.com/2010/10/17/wrestling-with-dispatch/
06:56 dalek specs:
06:56 dalek specs: With the new design, proto routines are no longer thought of as being
06:56 dalek specs: called directly, but are generic.  Instead they are instantiated
06:56 dalek specs: into "dispatch" routines (where "dispatch" is the same semantic
06:56 dalek specs: slot as "only", distinguished only to differentiate them from true
06:56 dalek specs: "only" routine so that we can calculate candidate sets correctly
06:56 dalek specs: (to which true "only" routines are opaque but "dispatch" routines
06:56 dalek specs: are transparent).  In all other respects a dispatch routine is just
06:56 dalek specs: an autogenerated "only".  (It is not anticipated that a user would
06:56 dalek specs: ever want to write a dispatch directly, but I could be wrong.)
06:56 dalek specs:
06:56 dalek specs: Each instantiated dispatch routine manages its own candidate list.
06:56 dalek specs:
06:56 dalek specs: We also allow for a proto to be autogenerated if none is found in
06:56 dalek specs: the outer context.  This should fix complaints about required "proto"
06:56 dalek specs: declarations, I hope.
06:56 dalek specs: review: http://github.com/perl6/specs/commit/60aef3acd56f47b5a78721ca886b9fd3e22b366e
07:03 TimToady well, jet lag has to be good for something...
07:08 justatheory left #perl6
07:11 zulon joined #perl6
07:22 kst left #perl6
07:27 kst joined #perl6
07:41 mavrc joined #perl6
07:46 timbunce joined #perl6
07:48 diakopter TimToady: g'morn
07:48 srikanthj joined #perl6
07:49 srikanthj Hi all
07:49 diakopter ooooo new keyword. I like
07:53 srikanthj left #perl6
07:55 zulon left #perl6
07:58 diakopter phenny: ask TimToady I note the removal of return type conjecture... does this mean you suspect otherwise-identical routines can't be distinguished by return type?
07:58 phenny diakopter: I'll pass that on when TimToady is around.
08:04 jhuni joined #perl6
08:04 kanishka left #perl6
08:20 IRSeekBot left #perl6
08:24 IRSeekBot joined #perl6
08:36 xinming_ joined #perl6
08:40 xinming left #perl6
08:47 wamba joined #perl6
08:50 Trashlord joined #perl6
08:59 sorear diakopter: That's ripple effect; functions used to know the expected type when they were called, they don't anymore
08:59 sorear want() is gone
08:59 sorear I need to read that commit when I have a bit more time
09:03 sorear diakopter: also, kid51 has asked me to be on the parrot technical architecture team. :)
09:05 wamba left #perl6
09:11 pythonian4000afk is now known as pythonian4000
09:12 orafu joined #perl6
09:12 Axius joined #perl6
09:17 AndreasX joined #perl6
09:18 sbp left #perl6
09:18 nsh left #perl6
09:18 AndreasX left #perl6
09:18 bobkare left #perl6
09:19 nsh- joined #perl6
09:19 bobkare joined #perl6
09:19 sbp joined #perl6
09:26 clkao left #perl6
09:26 dakkar joined #perl6
09:27 robinsmidsrod left #perl6
09:27 robinsmidsrod joined #perl6
09:28 clkao joined #perl6
09:30 am0c^ joined #perl6
09:34 lge joined #perl6
09:39 am0c^ left #perl6
09:40 Getty joined #perl6
09:47 masak joined #perl6
09:47 masak oh hai, #perl6!
09:48 sorear hiii masak
09:48 masak hiiii
09:51 Axius left #perl6
09:54 * masak backlogs
09:56 Guest85079 is now known as kaare_
09:58 uniejo joined #perl6
09:58 * uniejo rediscovers irc...
09:59 sorear Hello!
09:59 masak uniejo! \o/
10:02 baux joined #perl6
10:08 Getty left #perl6
10:15 QinGW left #perl6
10:19 Cameo joined #perl6
10:23 zulon joined #perl6
10:31 am0c^ joined #perl6
10:35 MayDaniel joined #perl6
10:35 flussence left #perl6
10:36 am0c^ left #perl6
10:37 flussence joined #perl6
10:56 nadim left #perl6
10:57 nadim joined #perl6
11:03 IllvilJa left #perl6
11:17 MayDaniel left #perl6
11:20 zulon left #perl6
11:25 pythonian4000 is now known as pythonian4000afk
11:28 nymacro left #perl6
11:31 johnjohn101 joined #perl6
11:41 zulon joined #perl6
11:45 Cameo left #perl6
11:46 lge left #perl6
11:49 Trashlord left #perl6
11:51 Trashlord joined #perl6
11:55 masak rakudo: $*OUT.say: "OH HAI"
11:55 p6eval rakudo d49eea: OUTPUT«OH HAI␤»
11:55 masak $*OUT, not $*STDOUT.
11:56 masak oh; the people in the backlog found that out themselves.
11:56 colomon left #perl6
11:56 colomon joined #perl6
11:56 colomon left #perl6
11:57 masak ooh, TimToady++ has addressed various concerns! \o/
11:57 * masak reads expectantly and tries to grok
11:59 masak heh; sorear and diakopter seem to occupy the same mental slot in my brain ("frighteningy smart person") -- so when they talk to each other, my brain goes "huh?" :)
12:05 Cameo- joined #perl6
12:06 hanekomu_ joined #perl6
12:13 pythonian4000afk is now known as pythonian4000
12:15 takadonet joined #perl6
12:15 takadonet hey
12:16 masak salutations
12:21 takadonet masak: what spec page should I look for when I have 'Cannot modify readonly value' problems?
12:22 masak you should use p6eval and talk to us.
12:22 masak rakudo: sub foo($x) { $x = 42 }; my $a = 5; foo($a)
12:22 p6eval rakudo d49eea: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in 'foo' at line 22:/tmp/645qFk3GW0␤  in main program body at line 22:/tmp/645qFk3GW0␤»
12:22 masak anything like that?
12:23 takadonet yes . only different is...
12:23 masak rakudo: sub foo($x is copy) { $x = 42; say $x }; my $a = 5; foo($a); say $a
12:23 p6eval rakudo d49eea: OUTPUT«42␤5␤»
12:23 masak rakudo: sub foo($x is rw) { $x = 42; say $x }; my $a = 5; foo($a); say $a
12:23 p6eval rakudo d49eea: OUTPUT«42␤42␤»
12:23 takadonet sub foo($x) { my $y = $x ;  $y +=2 }; my $a = 5; foo($a)
12:23 takadonet ...
12:23 takadonet rakudo: sub foo($x) { my $y = $x ;  $y +=2 }; my $a = 5; foo($a)
12:23 p6eval rakudo d49eea:  ( no output )
12:23 masak that works fine.
12:23 takadonet not for me...
12:24 masak then you golfed it wrong. try again.
12:24 takadonet hmm well I need a coffee first before I can think so one min
12:24 takadonet I'm horrible at golfing
12:27 masak practice perfects :P
12:28 arnsholt practice betters?
12:30 masak doing betters.
12:31 masak do->good.
12:42 masak rakudo: class A { only method foo { say "OH HAI" } }; A.new.foo
12:43 p6eval rakudo d49eea: OUTPUT«OH HAI␤»
12:43 masak rakudo: class A { only method foo { say "OH HAI" }; only method foo { say "OH HAI again!" }; A.new.foo
12:43 p6eval rakudo d49eea: OUTPUT«===SORRY!===␤Can not declare only method foo when another method with this name was already declared at line 22, near "; A.new.fo"␤»
12:43 MayDaniel joined #perl6
12:43 masak rakudo: class A { only method foo { say "A" } }; class B is A { only method foo { say "B" } }; B.new.foo
12:43 p6eval rakudo d49eea: OUTPUT«B␤»
12:44 masak rakudo: class A { only method foo { say "A" } }; class B is A { only method foo { say "B" } }; B.new.A::foo
12:44 p6eval rakudo d49eea: OUTPUT«A␤»
12:44 masak rakudo: role A { only method foo { say "A" } }; class B does A { only method foo { say "B" } }; B.new.foo
12:44 p6eval rakudo d49eea: OUTPUT«B␤»
12:44 masak rakudo: role A { only method foo { say "A" } }; class B does A { only method foo { say "B" } }; B.new.A::foo
12:44 p6eval rakudo d49eea: OUTPUT«A␤»
12:44 masak makes sense, I guess.
12:46 masak rakudo: role A { multi method foo(Int) { say "Int" } }; class B does A { multi method foo(Str) { say "Str" } }; given B.new { .foo(42); .foo("OH HAI") }
12:46 p6eval rakudo d49eea: OUTPUT«Int␤Str␤»
12:46 masak \o/
12:46 masak jnthn++
12:46 masak rakudo: role A { multi method foo(Int) { say "Int" } }; class B does A { multi method foo(Str) { say "Str" } }; given B.new { .A::foo(42); .A::foo("OH HAI") }
12:46 p6eval rakudo d49eea: OUTPUT«Int␤No applicable candidates found to dispatch to for 'foo'. Available candidates are:␤:(Mu : Int ;; *%_)␤␤  in main program body at line 22:/tmp/vdshK0858v␤»
12:47 masak nice.
12:48 masonkramer_ left #perl6
12:49 masonkramer joined #perl6
12:55 takadonet rakudo: my $ya = ''; $ya  ~~ s/<ws>$/\t/; say "'$ya'"
12:55 p6eval rakudo d49eea: OUTPUT«' '␤»
12:57 masak rakudo: say ?('' ~~ /<ws>/)
12:57 p6eval rakudo d49eea: OUTPUT«Bool::True␤»
12:58 perlygatekeeper left #perl6
13:00 takadonet rakudo: my @e=("a\ta","b\tb"); for (@e) -> $x { $x ~~ s/\t/c/; }
13:00 javs joined #perl6
13:00 p6eval rakudo d49eea: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in <anon> at line 22:/tmp/z_dib6Jb5V␤  in main program body at line 1␤»
13:00 takadonet golfed it!
13:01 masak rakudo: my @e=("a\ta","b\tb"); for (@e) -> $x is rw { $x ~~ s/\t/c/; }
13:01 p6eval rakudo d49eea:  ( no output )
13:01 masak rakudo: my @e=("a\ta","b\tb"); for (@e) -> $x is rw { $x ~~ s/\t/c/; }; say @a.perl
13:01 p6eval rakudo d49eea: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
13:01 masak hm.
13:01 masak rakudo: my @e=("a\ta","b\tb"); for (@e) -> $x is rw { $x ~~ s/\t/c/; }; .say for @a
13:01 p6eval rakudo d49eea: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
13:01 masak oh.
13:02 masak rakudo: my @e=("a\ta","b\tb"); for (@e) -> $x is rw { $x ~~ s/\t/c/; }; say @e.perl
13:02 p6eval rakudo d49eea: OUTPUT«["aca", "bcb"]␤»
13:02 takadonet really?
13:02 masonkramer is there a way to export a sub with a function signature?
13:03 masak masonkramer: just... export it?
13:03 masonkramer rakudo: sub foo is export ( :DEFAULT ) (Iterable $thingy) { ... }
13:03 p6eval rakudo d49eea: OUTPUT«===SORRY!===␤Confused at line 22, near "sub foo is"␤»
13:03 masak masonkramer: the 'is export' goes after the signature.
13:03 masak masonkramer: see S06.
13:03 masak takadonet: yes, really. it's actually the same thinking as with the sub.
13:04 takadonet masak: thanks... one more bug coming up... well I think it is
13:04 masonkramer thanks masak
13:04 * masak has got to fix the "2 passed, 3 (or more) expected" bug
13:10 pythonian4000 is now known as pythonian4000afk
13:11 masak moritz_++ already did some investigating groundwork on it, IIRC. he found that it's related to the backtrace printer.
13:18 masak rakudo: say $x
13:18 p6eval rakudo d49eea: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
13:18 masak I can't reproduce this error locally...
13:19 takadonet different version of perl6?
13:19 masak same build of Rakudo.
13:19 Patterner left #perl6
13:19 masak might be a different build of Parrot.
13:20 * masak tries downgrading Parrot and rebuilding
13:20 frettled Will it then be a parakeet?
13:21 masak going from r49638 to r49584.
13:25 takadonet rakudo: my $ya=''; $ya ~~ s/<ws>$/\t/ ; say "'$ya'"
13:25 p6eval rakudo d49eea: OUTPUT«' '␤»
13:25 takadonet rakudo: my $ya=''; $ya ~~ s/<ws>+$/\t/ ; say "'$ya'"
13:25 p6eval rakudo d49eea: OUTPUT«(timeout)»
13:26 javs left #perl6
13:26 masak <ws>+ is always wrong, and due to some misunderstanding by the programmer.
13:26 masak on the other hand, it shouldn't hang.
13:26 takadonet it hangs
13:26 masak I know.
13:27 masak it shouldn't do that.
13:27 masak currently it does, for easy-to-undestand reasons.
13:27 takadonet but i'm doing a 1 to 1 mapping of a per l5 module so going to have to fix this out :)
13:27 masak good luck. keep asking pointed questions. that helps.
13:27 flussence that OUTPUT«' '␤» seems off to me, where's the whitespace coming from?
13:28 masak it's the \t
13:28 takadonet ya replacing a single whitespace with a tab
13:30 flussence oh, does <ws> match zero or more?
13:30 masak yes.
13:30 masak <ws> is a lot more magical than \s
13:31 masak see S05.
13:31 flussence ah, so it's like the whitespace inside a perl5 m//x?
13:31 masak I'm not sure I understand the comparison.
13:32 Psyche^ joined #perl6
13:32 Psyche^ is now known as Patterner
13:33 flussence probably because I'm bad at describing things :)
13:33 masak do->good. :)
13:34 masak results of downgrading Parrot: still can't reproduce the error.
13:34 masak could someone do me a favor and try this at home?
13:34 masak rakudo: $x
13:34 p6eval rakudo d49eea: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
13:35 masak AH!
13:35 masak it only happens when I put things in a file.
13:35 masak not with -e
13:35 masak that's clue number 2, for those following along :)
13:38 tzhs joined #perl6
13:45 takadonet masak: ...
13:45 zulon left #perl6
13:48 Cameo- left #perl6
13:50 rgrau_ joined #perl6
13:52 masak reading http://pugs.blogs.com/talks/boston-deploying-perl6.pdf , one thing in particular strikes me. au was probably one of the last people keeping the "Perl 6 is the next major version of Perl" meme in place. the "Perl 5 and Perl 6' meme won ground in the post-Pugs world.
13:53 masak also, nice syntax coloring. I might steal that for my blog.
13:54 takadonet long time since I seen that presentation
13:55 masak ooh, infix:<err>! (slide 64)
13:56 takadonet nuts... something odd again!
13:56 masak I think it has since mutated into infix:<orelse>. but I might be wrong.
13:56 masak we also got an infix:<andthen>.
13:57 masak they're non-trivial to implement, due to their odd thunking behavior. thus we don't have them in Rakudo yet.
14:04 masak when I turn of the Perl 6 backtracer, the error is reported as occurring in "perl6;PCT;HLLCompiler;lineof".
14:05 masak but, importantly, the LTA bug still persists: "too few positional arguments: 2 passed, 3 (or more) expected"
14:05 masak this seems to be counter to what moritz_++ reports in http://rt.perl.org/rt3/Ticket/Display.html?id=78252
14:06 masak but on the other hand, moritz_ seems to have run with -e, so that's different too.
14:07 masak s/turn of/turn off/
14:21 johnjohn101 left #perl6
14:22 uniejo left #perl6
14:24 slavik1 joined #perl6
14:37 hanekom__ joined #perl6
14:37 hanekomu_ left #perl6
14:40 kanishka joined #perl6
14:47 MayDaniel left #perl6
14:48 MayDaniel joined #perl6
14:48 masak rakudo: class A { our method foo { say "OH HAI" } }; &A::foo.wrap: { say "before"; callsame; say "after" }; A.new.foo
14:48 p6eval rakudo d49eea: OUTPUT«before␤OH HAI␤after␤»
14:49 masak rakudo: class A { our method foo { say "A" } }; class B { method foo { say "B" } }; &A::foo.wrap: { say "before"; callsame; say "after" }; B.new.foo
14:49 p6eval rakudo d49eea: OUTPUT«B␤»
14:49 masak oh right.
14:49 masak rakudo: class A { our method foo { say "A" } }; class B { method foo { say "B"; callsame } }; &A::foo.wrap: { say "before"; callsame; say "after" }; B.new.foo
14:49 p6eval rakudo d49eea: OUTPUT«B␤»
14:49 masak erghm.
14:49 masak rakudo: class A { our method foo { say "A" } }; class B is A { method foo { say "B"; callsame } }; &A::foo.wrap: { say "before"; callsame; say "after" }; B.new.foo
14:49 p6eval rakudo d49eea: OUTPUT«B␤before␤A␤after␤»
14:49 masak nice.
14:50 masak how do I say "call next method in the MRO" from a wrapper? :)
14:50 takadonet wow
14:51 masak this is me processing various parts of the spec patch, by the way.
14:52 masak I seem to recall there were three types of dispatcher, and hence three different uses of C<callsame> et al... but right now I can only think of those two: wrapping and MRO.
14:52 masak maybe multiness would be another one.
14:53 masak rakudo: class A { multi foo(Int) { say "Int"; nextsame }; multi foo($) { say "Any" } }; A.foo(42)
14:53 p6eval rakudo d49eea: OUTPUT«Method 'foo' not found for invocant of class ''␤  in main program body at line 22:/tmp/fr3J7Hhwnm␤»
14:54 masak rakudo: class A { multi method foo(Int) { say "Int"; nextsame }; multi method foo($) { say "Any" } }; A.foo(42)
14:54 p6eval rakudo d49eea: OUTPUT«Int␤Any␤»
14:55 masak rakudo: class A { multi method foo(Int) { say "A: Int"; nextsame }; multi method foo($) { say "A: Any" } }; class B is A { multi method foo(Int) { say "B: Int"; nextsame }; multi method foo($) { say "B: Any" } }; B.new.foo(42)
14:55 p6eval rakudo d49eea: OUTPUT«B: Int␤B: Any␤»
14:55 masak that's the first result that confuses me.
14:55 hanekomu_ joined #perl6
14:55 masak where'd the A methods go?
14:57 * masak submits rakudobug
14:58 masak rakudobugs are such a win-win proposition. :) when I see a behavior I don't understand, I can submit a bug ticket. either it gets fixed, or someone explains to me why I'm wrong. :)
14:59 hanekom__ left #perl6
14:59 justatheory joined #perl6
15:00 masak anyway, a surprising number of interactions do work. jnthn++
15:01 maluco joined #perl6
15:10 frettled left #perl6
15:11 cdarroch joined #perl6
15:11 cdarroch left #perl6
15:11 cdarroch joined #perl6
15:12 frettled joined #perl6
15:12 colomon joined #perl6
15:19 perlygatekeeper joined #perl6
15:20 bluescreen joined #perl6
15:21 bluescreen is now known as Guest86504
15:24 dnl joined #perl6
15:24 dnl is now known as goodmensch
15:24 takadonet rakudo: my $line = '                x'; my @e = split(/.**8/,$line); for(@e) -> $x { say "'$x'" }
15:24 p6eval rakudo d49eea: OUTPUT«''␤''␤'x'␤»
15:28 colomon takadonet: is that what you expected?
15:29 kaare_ left #perl6
15:30 takadonet colomon: no. Looking at the unit test to see what difference's
15:31 masak what unit test?
15:31 kanishka left #perl6
15:31 agentzh left #perl6
15:32 risou joined #perl6
15:32 takadonet porting over: Text::Tabs and Text::Wraps  http://search.cpan.org/~muir/Text-Tabs+Wrap/
15:32 takadonet almost got Text::Tabs working
15:33 masak right, I figured that part out. :)
15:33 masak what unit test?
15:33 takadonet The test for the moduel
15:33 takadonet tabs.t
15:33 masak that's a test *file*. does it only contain one test?
15:34 takadonet nope 11 test
15:34 Ross joined #perl6
15:34 Ross left #perl6
15:34 Ross joined #perl6
15:34 colomon rakudo: my $line = '                x'; my @e = split(/.**8/,$line, :all); for(@e) -> $x { say "'$x'" }
15:34 p6eval rakudo d49eea: OUTPUT«''␤'        '␤''␤'        '␤'x'␤»
15:34 masak takadonet: which one of them are you currently working on?
15:34 takadonet colomon: perfect
15:35 tzhs left #perl6
15:35 takadonet masak: in the tabs.t file: all test that use unexpand fcn
15:36 masak ah, ok.
15:38 sftp joined #perl6
15:38 colomon huh.  so do you just take every eight character block in the string, and replace trailing spaces with a tab?
15:39 colomon rakudo: my $line = '                x'; my @e = comb(/.**1..8/,$line); for(@e) -> $x { say "'$x'" }
15:39 p6eval rakudo d49eea: OUTPUT«'        '␤'        '␤'x'␤»
15:41 takadonet pretty much ya
15:42 takadonet one of the most used module on cpan....
15:42 takadonet hard going back and forth between perl 5 and 6
15:48 rokoteko masak: concerning about your comment on perl6 and perl5 meme nowadays, I totally agree.. Im really puzzled about this distinction. Who in the world are supposed to adopt perl6 if not perl5 programmers first.
15:50 PerlJam rokoteko: other people.
15:51 rokoteko hmm.. well yes, why not.
15:59 yves_ left #perl6
16:01 yves_ joined #perl6
16:03 rokoteko actually now that you mention it I realize that most of the people I know are *not* perl5 programmers.
16:03 rokoteko why to aim at a target if you can shotgun around and hit a lot of other things at the same time.
16:04 masak I don't mind attracting Perl 5 programmers, too.
16:04 masak my point was mostly that au was one of the people keeping the old meme floating.
16:05 pmichaud good morning, #perl6
16:05 masak morning, pm.
16:05 masak pmichaud: are you coming to #phasers in ~3 h?
16:05 pmichaud masak: I'm planning to, yes.  why?
16:06 masak just checking; it's been a bit slow there lately.
16:06 * TimToady is trying to get back in phase
16:06 phenny TimToady: 07:58Z <diakopter> ask TimToady I note the removal of return type conjecture... does this mean you suspect otherwise-identical routines can't be distinguished by return type?
16:06 masak wondering whether I should show up myself or not.
16:06 masak TimToady! \o/
16:06 takadonet TimToady: welcome back!
16:06 pmichaud Lots of $otherstuff has been keeping me from much in the way of Perl 6 development the past 2-3 weeks :(
16:06 pmichaud I'm expecting it to clear up soon, but ...
16:07 pmichaud ... I think I said that 2 weeks ago.  :-|
16:07 kanishka joined #perl6
16:08 slavik1 pmichaud: which is why you should just work on Perl6, sounds like the other stuff will stay there.
16:09 pmichaud slavik1: much of the other stuff is unfortunately non-suppressable
16:09 slavik1 wr0k?
16:28 isBEKaml joined #perl6
16:28 isBEKaml good *, #perl6! :)
16:29 takadonet isBEKaml: yo
16:29 TimToady o/
16:30 isBEKaml TimToady: you're back! how was Asia? :)
16:30 TimToady Asian
16:31 isBEKaml takadonet: :)
16:31 isBEKaml TimToady: as ever :) I meant, YAPC::Asia
16:31 TimToady it seemed to go pretty well
16:32 isBEKaml and then?
16:32 TimToady they didn't have as many this year because they were scheduled against a Ruby conference
16:32 TimToady then Glo and I visited Nagoya for a few days
16:33 TimToady few people speak English there, so I got to practice my (relatively pathetic) Japanese more
16:34 isBEKaml Nagoya, that's great! it's a shame that they didn't have as many talks and had to go back to back with a Ruby conference.
16:34 pmichaud TimToady: I greatly enjoyed the video of your talk.  +1
16:34 isBEKaml I think  you deliberately chose Nagoya even as it's urban by appearance.
16:34 TimToady they said they greatly appreciated that I talked...deliberately
16:35 TimToady I'm not up to keiosu++'s level yet; she gave her T-shirt lightning talk in Japanese
16:36 isBEKaml Nice. I can't go beyond "konnichi wa"s and "ohayo gozaimasta"s in my case. :)
16:36 pmichaud Yes, I noticed the careful timing on your talk and appreciated that also.
16:37 isBEKaml pmichaud: you follow japanese?
16:37 pmichaud the talk I saw was in English
16:37 pmichaud (mostly English)
16:38 PerlJam url?
16:38 jfried left #perl6
16:39 TimToady it's in the backlog somewhere
16:39 pmichaud http://www.youtube.com/watch?v=KJUVP2Z13Yo
16:40 TimToady I was expecting to re-use one of the pitt talks, but ended up writing a different talk anyway...
16:41 TimToady though I ended up sneaking the "turtle graphics" lightning talk in at the end because I had time
16:42 TimToady didn't go into quite as much depth on the turtle code as I did at ppw though
16:43 pmichaud the turtle code was excellent for illustrating Parrot's GC slowness, though :)
16:44 pmichaud and as soon as you brought up the turtle code, I was waiting for "Rakudo is as slow as a turtle" to appear somewhere.  (Thanks for not disappointing me :-)
16:44 TimToady yes, that was the final punchline of the original lightning talk, actually
16:45 pmichaud maybe we can obsolete that part of the talk in the next few months :-P
16:45 TimToady I'm just glad that the rakudofolk are not overly thin-skinned people :)
16:46 TimToady but I value seeing things as they are, as well as how they could be :)
16:46 TimToady obsolete++
16:46 pmichaud same here.  and I like to think that even if Rakudo is (currently) slow, it's still an impressive piece of work.
16:46 pmichaud but I'm biased.  :-)
16:47 TimToady sure, that's why I was showing it off :)
16:48 masak TimToady: did you write that slides software yourself? and was it Perl 5 rather than Rakudo this time?
16:48 MayDaniel_ joined #perl6
16:49 MayDaniel left #perl6
16:49 TimToady yes, about 2 hours before the first ppw talk, I thought I might doublecheck to see how my takahashi method looked
16:49 TimToady the "how" turned out to be "not at all"
16:50 TimToady so the next hour was writing a P5 program to show the text in a relatively centered way
16:51 TimToady (and with color)
16:51 TimToady the input format now looks more like POD than like takahashi
16:51 masak :)
16:51 masak I suspected that it was Perl 5.
16:52 TimToady I saw
16:52 TimToady I also saw you rewriting the history of memes. :)
16:52 masak I did? :)
16:52 masak not knowingly...
16:52 TimToady everybody working on Perl 6 at the time of pugs was still thinking replacement
16:52 masak yes.
16:52 masak as was I at that time.
16:53 TimToady you made it sound as though au++ was the only holdout
16:53 masak nonono
16:53 TimToady and, in fact, it was your doing to bring about the "sister" meme, even if you didn't name it
16:53 masak I see.
16:54 masak if so, mst shares a bit of the blame :)
16:54 TimToady the only reason for p5/p6 coexistence before that was as a migration path :)
16:54 masak what I meant was that she was one of the people actively upholding that meme. looking back, that stands out, because that's one of the differences between 2006 and 2010.
16:54 masak right. and the "migration path" argument has gotten weaker as Perl 5 has gotten stronger, too.
16:55 masak that was a bit of an unpredictable development, I guess.
16:56 TimToady otoh, long term I still believe p6 will obsolete p5, and the sister meme is really to point out the long-term-ness of that view
16:56 masak I'd still like to produce a diagram where the timeline of Perl 1.0 is aligned with the timeline of Rakudo Perl 6.
16:56 TimToady so I'm still holding out :)
16:57 masak much of the abject bashing of Perl 6 on twitter and reddit is a symptom of not having that long-term view.
16:59 TimToady it's funny that as one gets older and has (obviously) fewer days remaining under the sun, one also learns to value the long term more, perhaps because one has already been through several long terms already...
17:00 masak "The Long Term: Why the Future of Programming Is Coding Less With More" ;)
17:00 * PerlJam directs TimToady's attention to longnow.org for an adjustment to the phrase "long term"   ;)
17:01 masak Perl 6: a 10,000-year language?
17:01 pmichaud why not?  ;-)
17:01 pmichaud Some Rakudo programs are that slow, yes.  :-P
17:01 PerlJam heh
17:01 masak *lol*
17:02 * masak should have kept his md5 cycle finder running...
17:02 masak s/cycle/fixpoint/
17:02 hudnix left #perl6
17:03 isBEKaml heh, I don't know if that's slow. I'm fine with it as long it can run on my *ancient* machine. :P
17:03 slavik1 anyone try to compile parrot for arm?
17:03 slavik1 wondering if it's possible to get rakudo into meego :D
17:03 isBEKaml I think lue was trying to do something like that.
17:05 hudnix joined #perl6
17:05 masak nom &
17:05 masak left #perl6
17:05 TimToady the important thing is to make sure Perl 6 is available for the first generation of people who will live for 10,000 years :)
17:05 isBEKaml Or I might be mistaken - he might have tried it on a different platform. It wasn't x86, for sure. :)
17:07 colomon I know lue was using a PowerPC machine at one point.
17:07 MayDaniel_ is now known as MayDaniel
17:11 pmichaud afk, lunch
17:13 dakkar left #perl6
17:14 isBEKaml ah, PPC it is.
17:18 slavik1 dide you guys see the article of getting a palm pre game to run on n900
17:18 slavik1 the hardware is similar and the libraries used are the same (SDL / OpenGL 1.2)
17:18 slavik1 so N900 can run stuff natively from palm pre
17:23 orafu left #perl6
17:24 orafu joined #perl6
17:24 orafu left #perl6
17:24 orafu joined #perl6
17:25 icwiener joined #perl6
17:26 risou left #perl6
17:30 kanishka left #perl6
17:32 orafu left #perl6
17:32 jhuni left #perl6
17:37 envi left #perl6
17:37 stkowski joined #perl6
17:40 colomon left #perl6
17:41 am0c joined #perl6
17:59 mkramer sub prefix:<bag> (*@items) is export(:MANDATORY) { ... }
17:59 mkramer I'm trying to implement bag
18:00 mkramer is there a problem with this line?  I can't seem to export bag()
18:00 mkramer rather, prefix:<bag>
18:01 mkramer I'm not sure how to golf this down for the chat room, let me make a paste
18:03 baux left #perl6
18:08 colomon joined #perl6
18:13 TimToady I suspect MANDATORY is not implemented
18:13 TimToady also, it's not clear why it shouldn't just be a normal function
18:15 mkramer It's not clear to me either, but the spec calls for bag as a listop
18:15 TimToady a listop is just a funciton
18:15 pmichaud most of our listops are just functions.
18:16 mkramer Alright, that's a relief
18:16 mkramer is any part of the export system implemented?
18:16 pmichaud yes, just not :MANDATORY, afaict
18:16 pmichaud just do "is export"
18:18 betterworld left #perl6
18:20 colomon BTW, I tried to make Set do Iterable last night -- seemed like a simple change -- and my Rakudo build blew up.
18:21 pmichaud rakudo:  say Set ~~ Iterable
18:21 p6eval rakudo d49eea: OUTPUT«0␤»
18:22 pmichaud might want to make  "Set is Iterable does Associative"  then
18:22 pmichaud I'm not sure how well Iterable works as a role atm
18:22 colomon oh.
18:24 colomon yes, I see it's "is Iterable" elsewhere.  I'll give that a try.  pmichaud++
18:24 timbunce left #perl6
18:29 diakopter TimToady: I note the removal of return type conjecture... does this mean you suspect otherwise-identical routines can't be distinguished by return type?
18:30 masak joined #perl6
18:30 timbunce joined #perl6
18:31 TimToady http://irclog.perlgeek.de/perl6/2010-10-26#i_2942772
18:32 diakopter I honestly thought sorear's answer had nothing to do with my question, so I guess my question was badly written
18:32 TimToady he answered the question I thought you were asking
18:33 diakopter that's what I'm saying.
18:33 TimToady me too :)
18:33 hanekom__ joined #perl6
18:33 hanekomu_ left #perl6
18:33 colomon > my $a = Set.new(1, 4, 3); for $a.list { .say };
18:33 colomon 1
18:33 colomon 4
18:33 colomon 3
18:34 colomon rakudo: my $a = Set.new(1, 4, 3); for $a.list { .say };
18:34 p6eval rakudo d49eea: OUTPUT«set(1, 4, 3)␤»
18:34 diakopter repl does toString but p6eval does .perl ?
18:35 masak other way around, methinks.
18:35 colomon diakopter: repl (here at home) now has Set as an Iterable
18:35 diakopter oh, you're demo-ing
18:35 colomon yes
18:36 colomon rakudo: for 1..5 { .say }
18:36 p6eval rakudo d49eea: OUTPUT«1␤2␤3␤4␤5␤»
18:37 diakopter TimToady: my thought was that routine candidates that specify return type are (n+1)[emdash]grade candidates
18:37 TimToady I wonder whether my @a := Set.new(1,4,3) can be made to work right
18:37 TimToady that is, if @ actually asserted Positional
18:38 colomon > my @a := Set.new(1,4,3);
18:38 colomon set(1, 4, 3)
18:38 colomon > for @a { .say }
18:38 colomon 1
18:38 colomon 4
18:38 colomon 3
18:38 colomon does that look "right"?
18:38 TimToady diakopter: I have no idea what you're saying :)
18:38 pmichaud colomon: that's a bug, I suspect.
18:38 * diakopter changes languages
18:38 TimToady yes, it'll work now, but what about when @ says "I'm positional"
18:38 pmichaud if @ asserts Positional, would we expect    my @a := 1;  to work?
18:40 pmichaud or how about something like    my @a := %hash;
18:40 tadzik joined #perl6
18:40 tadzik \o/
18:41 diakopter masak: to address your 'frighteningly-smart' allegation, it's much more a symptom of my overall communication failures than any kind of residual smartness
18:41 TimToady I wonder what would break if @ implied Iterable instead
18:41 pmichaud as a constraint or as an assertion?  (more)
18:42 pmichaud I'd feel weird about binding implying too much in the way of coercion -- because then you're not really binding to the rhs
18:42 TimToady not as coercion
18:42 pmichaud okay, then I'm confused.
18:43 diakopter TimToady: I'm trying to restate my question. pending.
18:43 masak diakopter: ok -- I'll consider that.
18:43 TimToady just wondering if @ should really be reserved for .[]-able, rather than anything that is ordered
18:43 pmichaud I thought that's what Positional meant
18:43 TimToady well, anything that is iterable is in some sense orderable
18:43 TimToady even if random order
18:44 pmichaud sure, but it's not really .[]-able.  See Hash.
18:44 colomon isn't anything Iterable also .[]-able?
18:44 pmichaud colomon: no -- see Hash.
18:44 flow_ joined #perl6
18:44 flow_ hi
18:44 PerlJam flow_: greetings
18:45 pmichaud Hash is Iterable, but it doesn't have a .[] defined on it.
18:45 flow_ i need to know how i can comment a special section
18:45 pmichaud rakudo:  say Hash ~~ Iterable
18:45 TimToady well, that's what I'm asking, whether my @a := %hash could be meaningful and/or useful in some situations where you want @a to mean the listy view of the hash
18:45 p6eval rakudo d49eea: OUTPUT«0␤»
18:45 pmichaud oops
18:45 pmichaud hmmm
18:45 pmichaud "listy view of the hash"  sounds like a coercion to me, though.
18:45 colomon TimToady: that's what I'm asking as well, but flipping it... you can iterate it, but the iteration order is not fixed, is it?
18:45 flow_ i never programmed in perl, i only have experience in php: in php i can comment a section with this: /* blub */
18:46 PerlJam TimToady: I would think only under some defined ordering.
18:46 PerlJam flow_: I think you want #perl rather than #perl6
18:46 pmichaud it's like if I say   "1.list" ... what I get back isn't the 1.
18:47 flow_ is perl and perl diferent things?
18:47 flow_ perl6 i meant
18:47 hanekom__ left #perl6
18:47 TimToady but 1 isn't strictly iterable on its own, while a set or hash is (supposed to be)
18:47 TimToady often we use @a to hold a list where the order is not so important
18:49 tadzik flow_: yep
18:49 tadzik see perl6.org
18:49 pmichaud I'm not sure the @ corresponds to a type or role then (more)
18:49 masak std: my @set is Set; # is this the way to declare a Set with a % twigil
18:49 p6eval std a194beb: OUTPUT«ok 00:01 119m␤»
18:49 pmichaud really what we've tended to use the @ to mean is "is flattenable"
18:49 flow_ k, thx
18:49 masak std: my %set is Set; # is this ok too?
18:49 flow_ left #perl6
18:49 TimToady yes, that's what I'm trying to say
18:49 p6eval std a194beb: OUTPUT«ok 00:01 119m␤»
18:49 pmichaud and that's tied more to the container, not to the underlying value
18:50 pmichaud so I think it's not typed-based, if that's what you're wanting to get at
18:50 silug joined #perl6
18:50 pmichaud it becomes more of a "does the thing have a .iterator method"
18:51 pmichaud which I suppose is Iterable
18:51 pmichaud that would mean that  one could do    my @a := %hash;   but then  @a[1]   would still likely fail
18:51 TimToady right
18:51 pmichaud but one could successfully do    my @a := %hash;   for @a { ... }
18:51 pmichaud and it would still flatten
18:52 TimToady yes, that's what I'm trying to get at
18:52 pmichaud or, more importantly:    sub xyz(@a) { ... };    xyz(%hash);   # succeeds
18:52 TimToady in particular, my @a := set 1,2,3 could work then
18:52 TimToady might screw up mmd though; gotta think about that...
18:53 pmichaud one ickiness I see is that we've tended to use @(...)   to mean "convert to a (Positional) List"
18:53 TimToady unless Associative were tighter somehow than Iterable
18:53 goodmensch is now known as gutmensch
18:53 wamba joined #perl6
18:54 tadzik left #perl6
18:54 TimToady well, there wouldn't be as much pressure to bind to @a if @$a worked
18:54 wamba left #perl6
18:55 TimToady course, again, we have the ambiguity, is that making something Positional, or just listy?
18:55 wamba joined #perl6
18:55 pmichaud at the moment,  List ~~ Positional
18:55 pmichaud rakudo:  say List ~~ Positional
18:55 p6eval rakudo d49eea: OUTPUT«1␤»
18:55 TimToady I guess there's |$a too
18:56 TimToady would be funny if | turned out to be the list sigil
18:56 pmichaud I think it should be comma.  :-P
18:58 TimToady well, maybe I want something I shouldn't have
18:58 tadzik joined #perl6
18:58 pmichaud an interesting study might be to see if people who dislike Perl sigils use them on Twitter :-P
18:58 pmichaud or, whenever someone says "sigils are bad", ask if they use them on Twitter :-P
18:59 masak I've seen people use the @ sigil on Twitter a lot...
18:59 pmichaud and the # sigil, too.
18:59 masak oh right, that's a sigil on Twitter.
19:00 TimToady RT seems to be a listop
19:01 pmichaud I thought it was a comment-to-end-of-line marker :-P
19:01 masak at least mostly. I've seen people use stoppers for it.
19:02 TimToady .u ????
19:02 phenny U+1D34C TETRAGRAM FOR STOPPAGE (????)
19:03 pmichaud maybe a useful addition to phenny would be to have it also include the fileformat.info url ?
19:03 masak that use of the word "tetragram" is new to me.
19:03 pmichaud i.e., http://www.fileformat.info/info/unicode/char/1d34c
19:03 slavik1 hey, that's a brick block from mario
19:04 TimToady yes, brick walls usually cause stoppage
19:06 MayDaniel left #perl6
19:06 * pmichaud sees the size of the "Tweaking junctions" thread on p6l, shudders, and postpones reading it for another day
19:07 PerlJam pmichaud: wait until something useful is distilled from it, then don't read the thread, just the useful bit.
19:08 Tene pmichaud: one of the points is simple uncontroversial, that eigenvalues is misnamed, and there isn't a method for what eigenvalues means.
19:08 Tene the rest of the thread is about a new junction type
19:08 TimToady the other point seems to be trying to reinvent each()
19:08 Tene mostly
19:08 pmichaud Tene: yes, I read that one earlier in the thread... and I agree.  I've been thinking of fixing rakudo and the spec to match that.
19:08 masak TimToady: that's what I thought as well. strange that TheDamian doesn't seem to have discovered that.
19:09 TimToady I'm fine with renaming eigenvalues to internalgoodies or some such
19:10 pmichaud btw, in case anyone wants to add themselves:  https://www.ohloh.net/p/nqp/analyses/latest
19:10 pmichaud grrr
19:10 pmichaud that should've been https://www.ohloh.net/p/nqp
19:12 dukeleto pmichaud: i realize that the graphs i talked about don't include all development, they were just meant as a rough indicator
19:12 tadzik pmichaud: signed in :)
19:13 dukeleto pmichaud: there are many Perl 5 repos and Parrot repos that are being hacked on that are not included either.
19:13 dukeleto pmichaud: it was mostly just to say "hey, all the people who think nobody works on stuff anymore, look at this and shut up"
19:13 dukeleto pmichaud: I wasn't trying to say anything qualitative about the relevant efforts of the three groups involved
19:13 am0c left #perl6
19:14 masak I'm amazed that Rakudo holds up that well against Parrot and Perl 5.
19:14 pmichaud dukeleto: well, that's not what the original tweet said -- it says "versus" instead of "and"
19:15 tadzik masak: o/
19:15 masak tadzik: \o
19:15 tadzik masak: just stumbled upon a thing called yappi, a python profiler :)
19:15 dukeleto pmichaud: it is a graph of three things "versus" each other. You are reading too much into the word.
19:15 masak tadzik: wow! cool. url?
19:16 tadzik masak: http://code.google.com/p/yappi/
19:16 * masak looks
19:17 pmichaud dukeleto: if I'm reading too much into it, I suspect others may be as well.  Anyway, I'm willing to drop the thread as being irrelevant.
19:17 masak tadzik: speaking of which, I think this is the month where we bring Tardis back online. lue will be overjoyed. :)
19:17 tadzik :)
19:17 tadzik btw, I has a rakudo patch
19:18 masak Yapsi is sufficiently featured for Tardis to become interesting-ish now.
19:18 dukeleto pmichaud: I got a few positive responses such as "there looks to be lots more people working on parrot + rakudo than I thought"
19:18 sorear good * #perl6
19:18 * sorear is backlogged
19:18 dukeleto pmichaud: I had no intention of trying to create friction between the compared projects. +1 to dropping the "thread"
19:21 tadzik http://github.com/rakudo/rakudo/blob/master/src/core/Range.pm#L79 -- couldn't it be just multi method pick($num where { $num == 1}) { self.roll; }? I'm not sure, but I think dropping this condition into a signature gives more valuable info to the dispatcher/optimizer
19:21 tadzik I compiled my Rakudo with it, and tests ran well and it seems to work well
19:21 Guest86504 left #perl6
19:21 Tene dukeleto: what thread is this where?
19:21 snarkyboojum left #perl6
19:21 jql left #perl6
19:22 pmichaud Tene: http://twitter.com/#!/dukeleto/status/28675662260
19:22 mdxi left #perl6
19:22 cxreg left #perl6
19:22 mdxi joined #perl6
19:22 Tene ah, twitter
19:22 Sarten-X left #perl6
19:23 cxreg joined #perl6
19:23 snarkyboojum joined #perl6
19:23 Sarten-X joined #perl6
19:26 pmichaud tadzik: I suspect a lot of the pick/roll could be improved, now that I look at it.
19:26 TimToady could use more 3-pointers too
19:26 tadzik pmichaud: is my assumption correct (about the signature being valuable for the optimizer)? There is a plenty of places it could be done methinks
19:27 seb_est_la left #perl6
19:27 pmichaud tadzik: it's possible, but even better in that case would be    multi method pick(1) { self.roll }
19:27 tadzik oh, sure
19:28 TimToady also, in the where case, you can just say "where 1", if you want it as a constraint rather than nominal
19:28 tadzik I feel like everytime I see something obvious, there is something more obvious I don't see
19:28 TimToady where is just a smartmatch
19:28 tadzik I see
19:28 PerlJam Has anything much changed for the ROADMAP since it was last updated in Aug.?   (I.e., does it need to be updated?)
19:29 pmichaud PerlJam: I don't know that it requires significant updates as yet.
19:29 pmichaud I see that Range.pm's pick does "nextsame" when $num isn't 1.... what is it nextsame-ing to?
19:30 tadzik pmichaud: Any-List.pm's pick
19:30 pmichaud ah, Any
19:30 masak does any(pmichaud, TimToady) have an opinion on whether http://rt.perl.org/rt3/Ticket/Display.html?id=78576 is a bug?
19:31 pmichaud that should be any(jnthn, TimToady)
19:32 betterworld joined #perl6
19:32 pmichaud anyway, I know that rakudo's mmd handling doesn't match current spec, which changed substantially after rakudo's mmd was implemented (and jnthn++ is catching up in the new object model, iirc)
19:32 PerlJam masak: why would that be a bug exactly?
19:33 masak PerlJam: I'd expect 'nextsame' to reach all four methods.
19:33 masak <masak> where'd the A methods go?
19:33 TimToady there's no nextsame in B Any
19:33 masak :-/
19:34 masak that'd explain it...
19:34 pmichaud I agree; I don't see a nextsame in B Any or A Any
19:34 * masak rejects ticket
19:34 masak rakudo: class A { multi method foo(Int) { say "A: Int"; nextsame }; multi method foo($) { say "A: Any" } }; class B is A { multi method foo(Int) { say "B: Int"; nextsame }; multi method foo($) { say "B: Any"; nextsame } }; B.new.foo(42)
19:34 p6eval rakudo d49eea: OUTPUT«B: Int␤B: Any␤A: Int␤A: Any␤»
19:34 masak \o/
19:34 pmichaud \o/
19:34 pmichaud jnthn++
19:34 masak jnthn++
19:35 TimToady though I suppose one could argue about the ordering
19:35 pmichaud afk, kid pickup
19:36 TimToady lunch &
19:36 gutmensch left #perl6
19:36 masak I see two possible orderings (the above one, and [B:Int, A:Int, B:Any, A:Any]). I don't see any reason to prefer one over the other.
19:37 colomon spectest run just got the following errors:
19:37 colomon S02-magicals/pid.t 1 - my $*PID is different from a child $*PID
19:37 colomon S32-io/IO-Socket-INET.rakudo 2 - echo server and client
19:37 colomon are those expected atm?
19:37 masak maybe a (weak) argument for the former is that rightmost arguments should vary fastest? :)
19:37 masak colomon: those always fail for me. at least intermittently.
19:37 masak don't know about "expected".
19:37 colomon masak++
19:38 colomon "not the result of my change" at any rate.  :)
19:38 masak if you ask me, our expectations should be 0 failures. but I've been seing those for a long time now.
19:38 colomon +1
19:38 masak maybe I should TODO them.
19:38 PerlJam masak: the latter order seems like it would be confusing if your inheritance tree grew much beyond a few levels.
19:38 masak PerlJam: right, but we've promised not to favour the invocant parameter.
19:41 Guest86504 joined #perl6
19:46 pythonian4000afk is now known as pythonian4000
19:46 dalek rakudo: bc6c6dd | colomon++ | src/core/Set.pm:
19:46 dalek rakudo: Make Set Iterable.
19:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/bc6c6dd49c8175243b1ac987334fa6f2a68f8726
19:48 PerlJam masak: I kind of see it as favoring multi-ness over class-ness or vice-versa.
19:48 PerlJam I tend to favor class-ness first, then multi-ness
19:50 PerlJam (I have no rationale for this favoritism however :)
19:50 masak PerlJam: in my understanding, when a method "goes multi", it enters a sort of space where the invocant is neither more nor less important than any of the other arguments. it simply participates in ordinary multi dispatch, like subs do. in that sense multi methods are less "on the class" than only methods.
19:50 masak I might be wrong, though. I can't really think of an example that would showcase this.
19:51 masak I'm not sure how this plays out in terms of MMD conflicts.
19:52 masak rakudo: class A { multi foo(Int) { say "A" } }; class B is A { multi foo($) { say "B" } }; B.new.foo(42)
19:52 p6eval rakudo d49eea: OUTPUT«Method 'foo' not found for invocant of class 'B'␤  in main program body at line 22:/tmp/5p1snIVrVT␤»
19:52 masak right. 'method'
19:52 masak I always forget... :)
19:52 masak rakudo: class A { multi method foo(Int) { say "A" } }; class B is A { multi method foo($) { say "B" } }; B.new.foo(42)
19:52 p6eval rakudo d49eea: OUTPUT«B␤»
19:53 masak if I were right, that would be an MMD conflict.
19:53 masak so I'm missing something.
19:53 * masak goes to S12 for enlightenment
19:53 _kaare joined #perl6
19:53 Eevee hmm
19:54 Eevee rakudo: class A { multi method foo(Int) { say "A" } }; class B is A { multi method foo() { say "B" } }; B.new.foo(42)
19:54 p6eval rakudo d49eea: OUTPUT«A␤»
19:54 masak nothing strange there.
19:54 Eevee checking my own sanity
19:54 masak A.foo is the only matching one there.
19:55 jaldhar left #perl6
19:55 PerlJam Surely there must be some sort of Liskovian principle here.
19:57 PerlJam masak: I don't understand this:  < masak> if I were right, that would be an MMD conflict.
19:57 Eevee doesn't that match what masak said?  the invocant's class hierarchy is searched for "foo" multimethods, but otherwise doesn't bias the actual selection
19:58 PerlJam masak: from what you described, it looks like it *wouldn't* be a MMD conflict to me.
19:58 masak PerlJam: between B being tighter on one hand and Int being tighter on the other.
19:58 Eevee it just sees a foo(Int) vs foo($)
19:58 Eevee right
19:59 PerlJam oh wait ... I misread the example.
20:00 sorear You wrote foo(Int) vs foo()
20:00 sorear they don't even overlap, so one isn't tighter
20:02 masak I didn't write that. Evee did.
20:03 masak my example overlaps.
20:03 masak s/Evee/Eevee/
20:07 MayDaniel joined #perl6
20:09 timbunce_ joined #perl6
20:09 timbunce left #perl6
20:09 timbunce_ is now known as timbunce
20:11 PerlJam masak: I've thought about it enough that it makes sense to me now (I think :-)
20:14 masak I haven't looked in S12 yet. I will, though.
20:14 PerlJam your example is no different from  class X { multi method foo(Int) { say "A" }; multi method foo($) { say "B" }; };  X.new.foo(42);
20:14 envi joined #perl6
20:15 molaf left #perl6
20:16 tadzik left #perl6
20:17 PerlJam except that I seem to be heading down the road of defining inheritance in terms of composition.
20:18 masak yes, it's different.
20:18 masak my example pits two narrownesses against each other. yours doesn't.
20:19 PerlJam I'm thinking that inheritance would install an alias for A's foo in B such that B would have both  B.foo(Int) and B.foo(Any).
20:20 masak that's one possible model.
20:20 masak I simply don't know right now.
20:21 javs joined #perl6
20:21 javs left #perl6
20:21 javs joined #perl6
20:23 alester joined #perl6
20:27 meppl left #perl6
20:27 dalek specs: 8a06991 | TimToady++ | S12-objects.pod:
20:27 dalek specs: [S12] fossil: we no longer tiebreak multi on proto
20:27 dalek specs: review: http://github.com/perl6/specs/commit/8a069918572164bf55ecc273df5145d9bc9ccdf5
20:29 molaf joined #perl6
20:29 tylercurtis joined #perl6
20:30 sorear o/ tylercurtis
20:31 tylercurtis Hi, sorear.
20:34 tadzik joined #perl6
20:46 masak tylercurtis! \o/
20:47 tylercurtis Hi, masak.
20:53 masak sorear: sadly, I didn't succeed in installing Mono. I've exhausted all my ideas trying.
20:54 sorear Odd
20:54 sorear How did it fail?
20:55 masak it installed successfully, but left me with no means to run Mono.
20:56 sorear It didn't install a binary anywhere?
20:56 masak should go in Applications, like everything else. but I can't find anything there.
20:57 colomon try typing mono on the command line?
20:57 sorear I thought Applications was only for stuff with GUIs
20:57 sorear does Parrot install into Applications?
20:57 masak there's a 'mono' binary.
20:57 masak that's something.
20:57 masak sorear: somehow I expected it to, since there was a .dmg file.
20:58 masak that was probably a faulty conclusion.
20:59 masak $ mono tryfile.exe foo
20:59 masak ...and then nothing happens. it hangs.
20:59 masak or something.
20:59 sorear mono tryfile.exe < foo
20:59 sorear I haven't implemented open() yet
20:59 chturne left #perl6
20:59 masak ok.
20:59 sorear the only way to get data into Perl6 is $*IN.slurp
20:59 masak you should have a README or something :)
21:00 masak it works \o/
21:00 masak sorear++
21:00 sorear mono does some funny stuff with tty modes; I found it necessary to use cat | mono tryfile.exe when testing interactively
21:01 sorear to deny mono direct access to terminal input
21:02 masak second question: where's the source?
21:03 masak now that I have it running, I'm interested in how it looks. :)
21:03 sorear v6/tryfile and v6/STD.pm6 in the niecza repository
21:03 masak thanks.
21:04 sorear it takes seven minutes to fix an issue in STD.pm6 and recompile, but only two to add an augment in tryfile that replaces the offending method
21:04 sorear which is why tryfile has so many augments :)
21:05 masak huh.
21:05 Tene masak: what would you expect in a menu?
21:06 masak Tene: not sure I understand the question. a bit more context would help.
21:06 masak if in a restaurant, I'd expect different dishes of food...
21:08 sorear It's not supposed to be polished; I just wanted something to demo for #phasers
21:08 masak kudos.
21:09 masak what do you recommend I try? I've tried '2 + 2' and it worked.
21:09 tadzik left #perl6
21:10 mavrc left #perl6
21:12 sorear # things I've gotten working
21:12 sorear # this is a comment
21:12 sorear #`( this is a balanced comment )
21:12 sorear $foo # Undeclared variable
21:12 sorear my $foo
21:13 sorear my $foo = 2 # interestingly this one was quite tricky; it exposed some pretty fundamental confusion in list handling
21:13 sorear $*foo
21:13 sorear sub { }
21:13 sorear class { }
21:13 sorear "foo"
21:13 sorear "foo {2 + 2}"
21:14 sorear # things which are still very broken
21:14 sorear <foo> # something's broken with the :q :w tweaking, probably related to perl5isms in pair handling
21:15 sorear q<foo> # looks for &q then <foo> error above; LTM is failing and I don't know why
21:15 sorear # things which are deliberately NYI
21:16 sorear use Module; # no FS access or parser recursion support code
21:16 sorear say "hi"; # no CORE.setting support code
21:16 Guest86504 left #perl6
21:17 sorear q:to("foo"); # no heredoc support code, also tweaks are broken
21:17 _kaare left #perl6
21:17 masak keep up the good work; let me know if there is LHF to be picked, or work to be done in the fringes (tests, comments, etc)
21:17 masak how come 'say' needs CORE but '+' doesn't?
21:18 sorear TimToady hasn't implemented "is looser(&foo)" et al yet
21:18 sorear so all the builtin operators have to be hardcoded in the parser
21:18 masak ah.
21:18 sorear in order to get correct precedence
21:20 masak nod.
21:23 Tene masak: 14:56 < masak> should go in Applications, like everything else. but I can't find anything there.
21:24 Tene masak: what would you expect to be present in the Applications menu after installing a VM?
21:24 masak ah. thence the confusion. Applications is a folder, not a menu.
21:24 masak now I see.
21:24 Tene Ah.
21:25 masak Tene: I don't know really, in retrospect. for me it was just a little bit dissonant with a .dmg and a graphical installer installing a non-graphical application.
21:26 sorear I suspect that it's in order to make life nicer for mac people trying to install MonoDevelop + MonoMac + all dependencies thereof
21:26 bobkare at a guess it was a .pkg that installed a framework?
21:27 bobkare not all that uncommon
21:31 Guest86504 joined #perl6
21:32 jql joined #perl6
21:32 Ross left #perl6
21:36 alester left #perl6
21:40 javs left #perl6
21:43 masak bobkare: it was. I'm just unused to it, that's all.
21:43 masak spoiled by all the nice graphics of Mac OS X, I guess :P
21:44 masak time to hit the proverbial sack. good night, #perl6.
21:44 masak left #perl6
21:50 wamba left #perl6
21:50 skangas left #perl6
21:50 skangas` left #perl6
21:54 hudnix left #perl6
21:57 hudnix joined #perl6
22:14 risou joined #perl6
22:17 timbunce left #perl6
22:22 rjbs Is $block.perl supposed to more or less work, someday?
22:23 sorear We haven't completely decided
22:24 sorear TimToady thinks that it should dump out the original source code
22:24 sorear which is probably the most useful behavior for debugging, but isn't necessarily the best for serializing closures
22:27 nadim left #perl6
22:30 nadim joined #perl6
22:31 risou_ joined #perl6
22:31 jhuni joined #perl6
22:32 LiamBRT2 joined #perl6
22:34 risou left #perl6
22:36 LiamBRT2 left #perl6
22:36 nadim left #perl6
22:37 nadim joined #perl6
22:42 nadim left #perl6
22:42 johnjohn101 joined #perl6
22:43 nadim joined #perl6
22:45 Guest86504 left #perl6
22:46 rgrau_ left #perl6
22:50 johnjohn101 left #perl6
22:55 nadim left #perl6
23:02 cdarroch left #perl6
23:08 nadim joined #perl6
23:11 donaldh joined #perl6
23:12 donaldh left #perl6
23:31 whiteknight joined #perl6
23:33 pythonian4000 is now known as pythonian4000afk
23:35 starcoder left #perl6
23:42 starcoder joined #perl6
23:47 isBEKaml left #perl6
23:48 Trashlord left #perl6
23:51 MayDaniel left #perl6
23:59 icwiener left #perl6

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

Perl 6 | Reference Documentation | Rakudo