»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:00 dct left 00:01 cdg joined 00:05 KDr2_m joined 00:12 KDr2_m left 00:17 mcmillhj joined 00:23 mcmillhj left, risou_awy is now known as risou 00:26 espadrine left 00:34 mcmillhj joined 00:39 mcmillhj left 00:40 risou is now known as risou_awy, vendethiel left, mcmillhj joined 00:41 adu joined, vendethiel joined 00:45 mcmillhj left 00:46 pyrimidine joined 00:51 pyrimidine left 00:54 evalable6 left, committable6 left, statisfiable6 left, bisectable6 left, benchable6 left, unicodable6 left 00:56 unicodable6 joined, ChanServ sets mode: +v unicodable6, bisectable6 joined, benchable6 joined, committable6 joined, ChanServ sets mode: +v bisectable6, evalable6 joined, ChanServ sets mode: +v benchable6, ChanServ sets mode: +v committable6, ChanServ sets mode: +v evalable6, statisfiable6 joined, ChanServ sets mode: +v statisfiable6 01:02 Matthew[m] left, ilmari[m] left, tadzik left, unclechu left, dp[m] left 01:03 xui_nya[m] left, M-Illandan left, mienaikage left, CIAvash[m] left, mcmillhj joined, wictory[m] left 01:04 aborazmeh joined, aborazmeh left, aborazmeh joined 01:05 captain-adequate left 01:06 captain-adequate joined, captain-adequate left 01:07 mienaikage joined, CIAvash[m] joined, sufrostico left 01:08 ilmari[m] joined, mcmillhj left
BenGoldberg m: use nqp; my $p = nqp::getattr( &say.signature, Signature, '$!params' ); dd $p; 01:09
camelia P6opaque: no such attribute '$!params' in type Signature when trying to get a value
in block <unit> at <tmp> line 1
01:10 wictory[m] joined 01:11 lukaramu left, dp[m] joined
BenGoldberg m: dd &say.signature.params 01:11
camelia (| is raw,)
MasterDuke m: use nqp; my $p = nqp::getattr( &say.signature, Signature, '@!params' ); dd $p; 01:12
camelia No such method 'dispatch:<.?>' for invocant of type 'NQPArray'
in block <unit> at <tmp> line 1
BenGoldberg m: use nqp; my $p = nqp::getattr( &say.signature, Signature, '@!params' ); say so $p; 01:13
camelia No such method 'Bool' for invocant of type 'NQPArray'
in block <unit> at <tmp> line 1
01:14 benchable6 left, benchable6 joined, ChanServ sets mode: +v benchable6, tadzik joined 01:15 xui_nya[m] joined
MasterDuke m: use nqp; my @p = nqp::getattr( &say.signature, Signature, '@!params' ); dd @p; 01:15
camelia Array @p = [| is raw]
01:16 cdg left, Matthew[m] joined, M-Illandan joined 01:17 cdg joined, unclechu joined
BenGoldberg m: use nqp; my $p = nqp::getattr( &say, Method, '$!signature' ); say so $p; 01:19
camelia P6opaque: no such attribute '$!signature' in type Method when trying to get a value
in block <unit> at <tmp> line 1
BenGoldberg m: use nqp; my $p = nqp::getattr( &say, Code, '$!signature' ); say so $p;
camelia True
BenGoldberg m: use nqp; my $p = nqp::getattr( &say, Code, '$!signature' ); say $p;
camelia (| is raw)
01:20 ZzZombo left 01:21 cibs left, ZzZombo joined, ZzZombo left, ZzZombo joined 01:22 g0d355__ joined, cibs joined
BenGoldberg m: sub plus( Int $x, Int $y ) { $x+$y }; use nqp; nqp::bindattr( &plus, Code, '$!signature', &say.signature ); say &plus.signature; 01:24
camelia (| is raw)
BenGoldberg m: sub plus( Int $x, Int $y ) { $x+$y }; use nqp; nqp::bindattr( &plus, Code, '$!signature', &say.signature ); say plus( 2, 3 );
camelia 5
BenGoldberg m: sub plus( |args ) { [+] args }; use nqp; nqp::bindattr( &plus, Code, '$!signature', :(Int, Int) ); say plus( 2, 3 ); 01:25
camelia 5
BenGoldberg m: sub plus( |args ) { [+] args }; use nqp; nqp::bindattr( &plus, Code, '$!signature', :(Int, Int) ); say plus( 2, 3, 4 );
camelia 9
BenGoldberg m: sub plus( |args ) { [+] args }; use nqp; nqp::bindattr( &plus, Code, '$!signature', :(Int, Int) ); say &plus.signature;
camelia (Int, Int)
BenGoldberg m: sub plus( Int $x, Int $y ) { $x+$y }; use nqp; nqp::bindattr( &plus, Code, '$!signature', &say.signature ); say plus( 2, 3, 4 ); 01:26
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling plus(Int, Int, Int) will never work with declared signature (Int $x, Int $y)
at <tmp>:1
------> 3e, '$!signature', &say.signature ); say 7⏏5plus( 2, 3, 4 );
BenGoldberg m: sub plus( Int $x, Int $y ) { $x+$y }; use nqp; nqp::bindattr( &plus, Code, '$!signature', &say.signature ); my $ref = &plus; $ref( 2, 3, 4 );
camelia Too many positionals passed; expected 2 arguments but got 3
in sub plus at <tmp> line 1
in block <unit> at <tmp> line 1
BenGoldberg m: sub plus( Int $x, Int $y ) { $x+$y }; my $ref = &plus; $ref( 2, 3, 4 ); 01:27
camelia Too many positionals passed; expected 2 arguments but got 3
in sub plus at <tmp> line 1
in block <unit> at <tmp> line 1
01:27 agentzh left
BenGoldberg It's a bit strange that altering a sub's signature doesn't seem to alter much of anything, aside from what .signature returns. 01:28
m: dd { ^a + ^b };
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routines:
a used at line 1
b used at line 1
BenGoldberg m: (-> $a, $b { $a + $b }).WHAT.say; 01:29
camelia (Block)
BenGoldberg m: (-> $a, $b { $a + $b }).signature.say;
camelia ($a, $b)
01:32 agentzh joined 01:37 Actualeyes joined 01:40 itaipu left
BenGoldberg bisectable6, help 01:43
bisectable6 BenGoldberg, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # See wiki for more examples: github.com/perl6/whateverable/wiki/Bisectable
BenGoldberg m: use nqp; nqp::exit( 1 ); 01:44
camelia ( no output )
BenGoldberg m: use MONKEY-GUTS; nqp::exit( 1 );
camelia ( no output )
BenGoldberg bisectable6: use MONKEY-GUTS; nqp::exit( 1 );
bisectable6 BenGoldberg, On both starting points (old=2015.12 new=2cf9b53) the exit code is 1 and the output is identical as well
BenGoldberg, Output on both points:
MasterDuke BenGoldberg: do you get any different results if you alter the signature earlier, e.g., at BEGIN or INIT time? 01:46
01:48 pyrimidine joined
BenGoldberg To be honest, I'm glad that alterning the signature *doesn't* change things... I want to wrap a subroutine like so: my $wrapped = sub (|args) { my $*foo = $bar; $orig(|args) };, and then change the signature of $wrapped to match the original's. 01:49
While it's convenient for me, I'm vaguely worried that it might change in the future. 01:50
01:50 elaADnlxie left
MasterDuke $!signature doesn't show up in roast at all 01:52
BenGoldberg I expect that '$!signature' is only used when Code objects are created -- everywhere else, the method .signature is used instead. 01:54
01:55 risou_awy is now known as risou
BenGoldberg m: my $x = given 42 { when Int { 3 }; default { "eh" } }; say $x; 02:02
camelia 5===SORRY!5===
Word 'given' interpreted as a listop; please use 'do given' to introduce the statement control word
at <tmp>:1
------> 3my $x = given7⏏5 42 { when Int { 3 }; default { "eh" } }
Unexpected block in infix position (two term…
BenGoldberg m: my $x = do given 42 { when Int { 3 }; default { "eh" } }; say $x;
camelia 3
02:04 mcmillhj joined 02:11 aborazmeh left
BenGoldberg m: use nqp; my $p = nqp::getattr( (method(Int:D) { ... }).signature, Signature, '@!params' ); dd $p; 02:19
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3qp; my $p = nqp::getattr( (method(Int:D)7⏏5 { ... }).signature, Signature, '@!param
expecting any of:
infix stopper
statement end…
BenGoldberg m: my $m = method (Int:D) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); dd $p;
camelia No such method 'dispatch:<.?>' for invocant of type 'NQPArray'
in block <unit> at <tmp> line 1
02:19 kalkin- left
BenGoldberg m: my $m = method (Int:D) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); dd @$p; 02:19
camelia No such method 'cache' for invocant of type 'NQPArray'
in block <unit> at <tmp> line 1
BenGoldberg m: my $m = method (Int:D) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); say @$p;
camelia No such method 'cache' for invocant of type 'NQPArray'
in block <unit> at <tmp> line 1
BenGoldberg m: my $m = method (Int:D) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); say $p[0];
camelia X::Multi::NoMatch exception produced no message
in block <unit> at <tmp> line 1
02:19 kalkin- joined
BenGoldberg m: my $m = method (Int:D) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); dd $p[0]; 02:19
camelia X::Multi::NoMatch exception produced no message
in block <unit> at <tmp> line 1
BenGoldberg m: my $m = method (Int:D) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); $p[0] = 42; 02:20
camelia X::Multi::NoMatch exception produced no message
in block <unit> at <tmp> line 1
BenGoldberg m: my $m = method (Int:D) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' );
camelia ( no output )
BenGoldberg m: my $m = method (Int:D) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); say nqp::atpos( $p, 0 );
camelia This type (Scalar) does not support positional operations
in block <unit> at <tmp> line 1
BenGoldberg m: my $m = method (Int:D) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); say nqp::atpos( nqp::decont($p), 0 ); 02:21
camelia Mu $
BenGoldberg m: my $m = method (Int:D $x) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); say nqp::atpos( nqp::decont($p), 0 );
camelia Mu $
BenGoldberg m: my $m = method (Int:D $x) { 42 }; use nqp; my $p = nqp::getattr( $m.signature, Signature, '$!params' ); say nqp::atpos( nqp::decont($p), 0 ); 02:22
camelia P6opaque: no such attribute '$!params' in type Signature when trying to get a value
in block <unit> at <tmp> line 1
BenGoldberg m: my $m = method (Int:D $x) { 42 }; dd $m.params; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); say nqp::atpos( nqp::decont($p), 0 );
camelia No such method 'params' for invocant of type 'Method'
in block <unit> at <tmp> line 1
BenGoldberg m: my $m = method (Int:D $x) { 42 }; dd $m.signature.params; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); say nqp::atpos( nqp::decont($p), 0 );
camelia (Mu $, Int:D $x, *%_)
Mu $
BenGoldberg m: my $m = method (Int:D $x) { 42 }; dd $m.signature.params; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); say nqp::atpos( nqp::decont($p), 1 );
camelia (Mu $, Int:D $x, *%_)
Int:D $x
BenGoldberg m: my $m = method (Int:D $x) { 42 }; dd $m.signature.params; use nqp; my $p = nqp::getattr( $m.signature, Signature, '@!params' ); say nqp::atpos( nqp::decont($p), 1 ).WHAT;
camelia (Mu $, Int:D $x, *%_)
(Parameter)
02:23 mcmillhj left
BenGoldberg m: my $s = :(Int:D $x); dd $s.params; use nqp; my $p = nqp::getattr( $s, Signature, '@!params' ); say nqp::atpos( nqp::decont($p), 1 ).WHAT; 02:25
camelia (Int:D $x,)
P6opaque: no such attribute '@!params' in type Signature when trying to get a value
in block <unit> at <tmp> line 1
BenGoldberg m: my $s = :(Int:D $x); dd $s.params; use nqp; my $p = nqp::getattr( $s, Signature, '$!params' ); say nqp::atpos( nqp::decont($p), 1 ).WHAT; 02:26
camelia (Int:D $x,)
P6opaque: no such attribute '$!params' in type Signature when trying to get a value
in block <unit> at <tmp> line 1
BenGoldberg m: my $s = :(Int:D $x); dd $s.params[] 02:27
camelia (Int:D $x,)
BenGoldberg m: my $s = :(Int:D $x); dd $s.params[0]
camelia Parameter $x = Int:D $x
BenGoldberg m: my $s = :(Int:D $x); dd $s.params[1]
camelia Nil
BenGoldberg m: my $m = method (Int:D $x) { 42 }; dd $m.signature.params[0]
camelia Mu $
BenGoldberg m: my $m = method (Int:D $x) { 42 }; dd $m.signature.params[1]
camelia Parameter $x = Int:D $x
BenGoldberg m: my $s = :(Int:D $x); dd $s.params[0] 02:28
camelia Parameter $x = Int:D $x
BenGoldberg m: my @array = 1, 2; use nqp; say nqp::decont( @array ); 02:30
camelia [1 2]
BenGoldberg m: my @array = 1, 2; use nqp; say nqp::decont( @array ).WHAT;
camelia (Array)
02:32 cibs left 02:34 cibs joined, mcmillhj joined 02:37 cdg_ joined 02:41 cdg left 02:43 mcmillhj left 02:45 sQuEE joined 02:47 cdg joined 02:50 cdg_ left
BenGoldberg m: sub foo(Int $x) { 42 }; say foo 3; 02:50
camelia 42
BenGoldberg m: :(Int: $x).params.say; 02:54
camelia (Int $ Mu $x)
BenGoldberg m: :(Str: $x).params.say; 02:55
camelia (Str $ Mu $x)
BenGoldberg m: :(Str: $x, Int $y).params.say;
camelia (Str $ Mu $x Int $y)
03:00 ZzZombo left 03:03 risou left, saki left 03:04 risou_awy joined, risou_awy is now known as risou
BenGoldberg m: class Foo { sub bar() { 42 } }; say Foo.^methods; 03:09
camelia ()
03:09 risou left 03:10 risou_awy joined, risou_awy is now known as risou
BenGoldberg m: class Foo { method bar() { 42 } }; say Foo.^methods; 03:10
camelia (bar)
03:13 cibs left 03:15 cibs joined, mcmillhj joined 03:18 adu left 03:19 noganex joined
BenGoldberg m: class Foo { method bar() { 42 } }; class Baz { }; my $bar = Foo.^methods[0]; Baz.^add_method: "bar", $bar; Baz.^compose; say Baz.bar; 03:20
camelia Type check failed in binding to <anon>; expected Foo but got Baz (Baz)
in method bar at <tmp> line 1
in block <unit> at <tmp> line 1
03:20 mcmillhj left, vendethiel left 03:21 mcmillhj joined, vendethiel joined, noganex_ left
BenGoldberg m: class Foo { method bar() { 42 } }; class Baz { }; my $bar = Foo.^methods[0]; Baz.^add_method: "bar", $bar; Baz.^compose; 03:22
camelia ( no output )
BenGoldberg m: class Foo { method bar() { 42 } }; class Baz { }; my $bar = Foo.^methods[0]; Baz.^add_method: "bar", $bar; Baz.^compose; say Baz.new.bar;
camelia Type check failed in binding to <anon>; expected Foo but got Baz (Baz.new)
in method bar at <tmp> line 1
in block <unit> at <tmp> line 1
03:25 mcmillhj left, adu joined 03:27 mcmillhj joined 03:32 pyrimidi_ joined, pyrimidine left 03:34 xtreak joined 03:36 mcmillhj left 03:39 KDr2 joined
BenGoldberg m: enum { Foo => 3 }; dd Foo; 03:40
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
Foo used at line 1
Undeclared routine:
enum used at line 1
BenGoldberg m: enum { Foo => 3 }; say Foo; 03:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
Foo used at line 1
Undeclared routine:
enum used at line 1
BenGoldberg m: enum Foo { Bar => 3 }; say Bar;
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared names:
Bar used at line 1. Did you mean 'Bag'?
Foo used at line 1
Undeclared routine:
enum used at line 1
BenGoldberg m: enum Foo { Bar => 3 }; say Foo::Bar;
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
Foo used at line 1
Undeclared routine:
enum used at line 1
timotimo m: say { Bar => 3 }.perl
camelia {:Bar(3)}
timotimo m: enum Foo ('Bar', 3); say Foo::Bar 03:42
camelia Bar
timotimo m: enum Foo ('Bar', 3); say Bar
camelia Bar
timotimo m: enum Foo ('Bar', 3); say FOO
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
FOO used at line 1. Did you mean 'Foo'?
timotimo m: enum Foo ('Bar', 3); say Foo
camelia (Foo)
BenGoldberg m: enum Foo Bar => 3; say Bar;
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared names:
Bar used at line 1. Did you mean 'Bag'?
Foo used at line 1
Undeclared routine:
enum used at line 1
BenGoldberg m: enum Foo (Bar => 3); say Bar;
camelia Bar
BenGoldberg m: enum Foo (Bar => 3); say &Bar;
camelia Nil
BenGoldberg m: enum Foo (Bar => 3); say &asdf;
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
asdf used at line 1
03:42 adu left
BenGoldberg m: enum Foo (Bar => 3); say &Bar.perl; 03:42
camelia Nil
BenGoldberg m: enum Foo (Bar => 3); say &Bar.gist; 03:43
camelia Nil
03:43 KDr2 left, KDr2 joined
timotimo m: enum Foo (Bar => 3); say Bar.perl 03:44
camelia Foo::Bar
BenGoldberg m: enum Foo (Bar => 3); my $b = &Bar; say $b();
camelia Cannot find method 'Any' on object of type List
in block <unit> at <tmp> line 1
BenGoldberg Now that's a LTA error message.
m: enum Foo (Bar => 3); say Foo.kv 03:45
camelia ()
BenGoldberg m: enum Foo (Bar => 3); say Foo.k
camelia No such method 'k' for invocant of type 'Foo'
in block <unit> at <tmp> line 1
BenGoldberg m: enum Foo (Bar => 3); say Foo.keys
camelia ()
BenGoldberg m: enum Foo (Bar => 3); say Foo.values
camelia ()
timotimo you want Foo::.keys and Foo::.values
BenGoldberg m: enum Foo (Bar => 3); say Bar.kv
camelia (Bar 3)
03:46 adu joined, cdg left
BenGoldberg m: my $m = enum Foo (Bar => 3); say $m.kv 03:46
camelia (Bar 3)
BenGoldberg m: enum Foo (Bar => 3); dd Foo; 03:47
camelia Foo
BenGoldberg m: enum Foo (Bar => 3); dd Foo.WHAT;
camelia Foo
BenGoldberg m: enum Foo (Bar => 3); dd Foo.Map;
camelia Map.new(())
BenGoldberg m: enum Foo (Bar => 3); dd Foo.enums;
camelia Map.new((:Bar(3)))
BenGoldberg m: class Baz { enum Foo (Bar => 3) }; dd Baz::Foo.enums; 03:48
camelia Map.new((:Bar(3)))
BenGoldberg m: class Baz { enum Foo (Bar => 3) }; dd Baz.Bar;
camelia No such method 'Bar' for invocant of type 'Baz'
in block <unit> at <tmp> line 1
BenGoldberg m: class Baz { enum Foo (Bar => 3) }; dd Baz::Bar;
camelia Foo::Bar
04:01 adu left 04:03 mcmillhj joined 04:09 mcmillhj left
BenGoldberg m: my $foo; say $foo.?bar; 04:09
camelia Nil
BenGoldberg m: my $foo; say so $foo.?bar;
camelia False
BenGoldberg m: .return when 3; 04:11
camelia ( no output )
BenGoldberg m: sub foo { .return when 3 }; say foo;
camelia ()
BenGoldberg m: sub foo { return 4 when 3 }; say foo;
camelia ()
BenGoldberg m: sub foo { return 4 with 3 }; say foo; 04:13
camelia 4
BenGoldberg m: sub foo { .return with 3 }; say foo;
camelia 3
SmokeMachine m: enum Bla (a => sub {}) # why its wrong?
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot auto-generate a proto method for 'Int' in the setting
at <tmp>:1
SmokeMachine m: enum Bla (a => {b => sub {}}) # but its ok? 04:14
camelia ( no output )
SmokeMachine m: enum Bla (a => {b => sub {}}); say a.value<b>
camelia sub () { #`(Sub|61171832) ... }
BenGoldberg m: my %hash = (a => 'b'); sub foo { .return with %hash{^x}; 'naah' }; say foo('no');
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
x used at line 1
BenGoldberg m: my %hash = (a => 'b'); sub foo { .return with %hash{$^x}; 'naah' }; say foo('no');
camelia naah
BenGoldberg m: my %hash = (a => 'b'); sub foo { .return with %hash{$^x}; 'naah' }; say foo('a'); 04:15
camelia b
BenGoldberg . o O (.return with is my new friend)
timotimo i find it a bit difficult to figure out what your intention was with all these evals 04:16
are you aware of private-messaging camelia?
BenGoldberg Umm, oops? 04:17
Mostly figuring syntax out :)
timotimo gotta get some sleep 04:21
have a good one!
Geth perl6.org/Getting-Involved-Community: f3446f2af6 | Cale++ | source/community/index.html
Add "Getting Involved" Section

Looking for feedback on this addition. Think I covered the main areas
perl6.org: WildYorkies++ created pull request #77:
Add "Getting Involved" Section
04:22 wamba joined
MasterDuke timotimo++ thanks for the debugging help 04:23
timotimo thanks for the mild kick in the butt 04:24
04:27 adu joined 04:37 mcmillhj joined 04:41 mcmillhj left 04:52 adu left 04:54 indexme joined 04:55 mcmillhj joined 04:58 Cabanoss- joined 04:59 astj left, astj joined, astj left, astj joined 05:02 Cabanossi left, Cabanoss- is now known as Cabanossi 05:09 mcmillhj left 05:10 mcmillhj joined 05:12 xtreak left
BenGoldberg m: my %hash; { temp %hash<foo> = 'bar' }; dd %hash; # is this intended behavior? 05:13
camelia Hash %hash = {:foo(Any)}
05:13 xtreak joined 05:18 mcmillhj left 05:22 indexme left 05:29 eroux joined 05:36 xtreak left
Geth doc: 45a79315b3 | raiph++ | doc/Language/traps.pod6
s/True/False/ in `# OUTPUT:` line
05:39
05:39 xtreak joined 05:52 j75_ joined 06:00 rurban joined, pyrimidi_ left, pyrimidine joined
geekosaur BenGoldberg, I don't think so. (And iirc older perl had that bug at one point too, with local...) 06:04
06:05 rurban left
j75_ Any idea why I can't install perl 6 on one machine? Makefile:470: recipe for target 'CORE.setting.moarvm' failed paste.ubuntu.com/24100486/ 06:06
sammers hi #perl6 06:08
geekosaur j75_, the lack of error message suggests to me the OOM killer got it 06:10
sammers is this behavior for `constant` correct? When I run this in the repl, the second run doesn't run the sub...
m: my %subs = foo => -> $bar { say "Hello, $bar" }; say "1st run"; %subs<foo>.("bar"); constant foo = %subs<foo>; say "2nd run"; foo.("bar"); 06:11
camelia 1st run
Hello, bar
2nd run
Cannot find method 'Any' on object of type Str
in block <unit> at <tmp> line 1
sammers m: my %subs = foo => -> $bar { say "low $bar" }; my %subs = foo => -> $bar { say "Hello, $bar" }; say "1st run"; %subs<foo>.("bar"); constant foo = %subs<foo>; say "2nd run"; foo.("bar");
camelia Potential difficulties:
Redeclaration of symbol '%subs'
at <tmp>:1
------> 3 => -> $bar { say "low $bar" }; my %subs7⏏5 = foo => -> $bar { say "Hello, $bar" };
1st run
Hello, bar
2nd run
Cannot find method 'Any' on object …
sammers sorry for the spam
06:13 j75_ is now known as j75
j75 geekosaur: thanks, just checked dmesg I think you are right 06:14
geekosaur sammers, "constant" operates at compile time, and %subs is empty then
sammers ok, after creating %subs, then running "foo.("bar");" from a new repl line it works. 06:15
geekosaur right, that'd make sense for how the repl operates 06:16
sammers ok, thanks
is there any way to do something like this and execute the code block assigned to %subs<foo> without using foo.()? 06:17
like, something that lets me use "foo: .." or just "foo $param"?
06:21 risou is now known as risou_awy
geekosaur m: BEGIN my %subs = foo => -> $bar { say "Hello, $bar" }; say "1st run"; %subs<foo>.("bar"); constant foo = %subs<foo>; say "2nd run"; foo.("bar"); 06:24
camelia 1st run
Hello, bar
2nd run
Hello, bar
geekosaur but for the .() I think you may need to play with hacking CALL-ME into it :/
06:25 risou_awy is now known as risou
sammers hmm 06:25
BenGoldberg m: sub foo ($bar) { say "low $bar" }; foo "param";
camelia low param
BenGoldberg It should be pretty easy to create a module with an import method, which takes a hash (your %subs), and then mucks with %CALLER so that perfectly ordinary subs are produced. 06:27
But, since it's late enough in my time zone that it's almost early, I've gotta go. 06:28
06:28 BenGoldberg left
sammers how do I send a note to another user again? 06:28
j75 [irc] /msg [-server <server>] <target>[,<target>...] <text> 06:30
geekosaur or for yoleaux, .tell nick message 06:31
sammers .tell BenGoldberg thanks, I will take a look into %CALLER
yoleaux sammers: I'll pass your message to BenGoldberg.
sammers ok, thanks
06:32 kyan joined 06:35 xtreak left, eroux left 06:36 xtreak joined 06:38 Actualeyes left 06:42 risou is now known as risou_awy 06:50 RabidGravy joined 06:55 wamba left 06:56 n1ce_ is now known as n1ce, n1ce left, n1ce joined 06:59 KDr2 left, xtreak left 07:02 xtreak joined 07:06 Actualeyes joined 07:10 KDr2 joined 07:19 mcmillhj joined
RabidGravy boom! 07:20
07:22 kaare_ left, kaare_ joined
RabidGravy right off to the grindstone 07:22
07:30 risou_awy is now known as risou
moritz good morning 07:32
07:33 llfourn left
moritz so, I have a second poll; please help me select the "Perl 6 by Example" cover. Hopefully final round :-) en.99designs.de/contests/poll/juj7un 07:34
07:36 llfourn joined 07:39 cibs left 07:40 domidumont joined 07:41 cibs joined 07:47 darutoko joined 07:49 wamba joined
sammers moritz, my wife likes 148 07:50
moritz sammers: thanks. What about yourself? 07:52
sammers me too, I voted for 148
07:52 bjz joined
moritz also consulted his wife several times about the cover designs 07:53
sammers actually, I like both 07:54
07:54 robertle left
moritz of the 148 design proposals I got, about 50 were above the "I'd be happy with that" level 07:54
and throwing out good designs was kinda hard, but I had to narrow it down 07:55
sammers yeah, I liked several of the earlier ones too.
08:00 ufobat joined 08:02 mr-foobar left 08:05 mr-foobar joined 08:07 wamba left 08:10 rurban joined 08:14 mienaikage left, ilmari[m] left, Matthew[m] left, M-Illandan left, wictory[m] left, dp[m] left, tadzik left, CIAvash[m] left, unclechu left, xui_nya[m] left 08:18 xinming_ joined 08:22 xinming left, wictory[m] joined 08:24 llfourn left 08:36 zakharyas joined 08:39 xtreak left 08:40 xtreak joined 08:41 TEttinger left 08:50 dakkar joined 08:52 KDr2 left 08:59 xtreak left
DrForr o/ 09:00
09:00 ZzZombo joined, ZzZombo left, ZzZombo joined 09:05 astj left, astj joined 09:09 llfourn joined 09:10 astj left 09:11 mcmillhj left 09:16 parv joined 09:19 Possum left 09:34 cibs left, wamba joined 09:35 tadzik joined, M-Illandan joined, dp[m] joined, unclechu joined, Matthew[m] joined, ilmari[m] joined, xui_nya[m] joined, CIAvash[m] joined, mienaikage joined 09:36 cibs joined 09:38 risou is now known as risou_awy 09:43 xtreak joined 09:48 pyrimidine left 09:50 pyrimidine joined 09:54 pyrimidine left 10:07 wamba left 10:08 astj joined 10:09 mxco86 joined 10:10 wamba joined 10:26 risou_awy is now known as risou 10:32 zakharyas left 10:34 zakharyas joined, xtreak left 10:36 elaADnlxie joined 10:40 parv left, kurahaupo joined 10:43 Possum joined, risou is now known as risou_awy 10:44 cyphase left 10:47 cyphase joined 10:52 bjz left 10:55 mr-foobar left 10:56 user9 left, bjz joined 10:59 user9 joined 11:00 _28_ria left 11:01 _28_ria joined 11:04 labster left 11:08 jonas1 joined, mr-foobar joined 11:13 pyrimidine joined 11:16 _28_ria left 11:18 _28_ria joined 11:20 pyrimidine left 11:21 brrt joined 11:23 xtreak joined
IOninja \o 11:25
11:29 itaipu joined 11:30 rurban left 11:31 xtreak left 11:42 spebern joined
DrForr o/ 11:42
11:43 sena_kun joined 11:46 bjz left
spebern m: my %hash = key => "val"; say %hash<not_existing_key>; 11:48
camelia (Any)
spebern is this supposed to be like this? 11:49
IOninja yes 11:50
spebern m: my %hash = key => "val"; say %hash<not_existing_key>.elems; 11:51
camelia 1
IOninja Yeah, 1-el list with an Any in it.
m: my %hash = key => "val"; say %hash<not_existing_key>:v.elems;
camelia 0
spebern ok I was not expecting this
IOninja And the Any is in there, 'cause hashes autovivify
m: my %h; %h<foo><bar><ber> = 42; say %h 11:52
camelia {foo => {bar => {ber => 42}}}
spebern ok thanks :-)
lizmat m: say Any.elems 11:58
camelia 1
lizmat so not only for a non-existing key in a hash, but for every type object 11:59
12:02 pyrimidine joined 12:03 astj left 12:07 itaipu left 12:12 pyrimidine left 12:13 spebern left
SmokeMachine m: enum Bla (a => sub {}) # why its wrong? 12:15
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot auto-generate a proto method for 'Int' in the setting
at <tmp>:1
SmokeMachine m: enum Bla (a => {b => sub {}}) # this isn't
camelia ( no output )
12:16 andrzejku joined
lizmat SmokeMachine: looking 12:19
SmokeMachine lizmat: shouldn't be wrong?
lizmat don't think so
m: enum Bla (a => Mu) # other case 12:21
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot auto-generate a proto method for 'kv' in the setting
at <tmp>:1
lizmat SmokeMachine: please rakudobug it, will look at it later if nobody beats me to it
IOninja Does the second one actually work or you simply aren't getting any errors. I recall there being a ticket on the topic 12:22
12:23 spebern joined
SmokeMachine m: enum Bla (a => {b => sub {}}); a.value<b>.say 12:23
camelia sub () { #`(Sub|47096384) ... }
12:23 lep-delete left
SmokeMachine IOninja: ^^ 12:23
12:23 sena_kun left
SmokeMachine lizmat: rakdobuging... 12:24
lizmat afk for a while&
12:25 wamba left
timotimo lizmat: thanks for fixing the Binding exception message 12:26
i wonder if we ought to look at all the other exceptions that are put into P6EX 12:27
SmokeMachine m: enum Bla (a => class {})
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot auto-generate a proto method for 'Int' in the setting
at <tmp>:1
12:27 risou_awy is now known as risou 12:28 lep-delete joined
SmokeMachine Shouldn't the last one give the same error as the next one? 12:29
m: enum Bla (a => Nil)
camelia 5===SORRY!5=== Error while compiling <tmp>
Using a type object as a value for an enum not yet implemented. Sorry.
at <tmp>:1
------> 3enum Bla (a => Nil)7⏏5<EOL>
timotimo nah, it just fails way earlier 12:31
it is kind of strange that it appears, though
12:35 cibs left 12:37 cibs joined 12:44 risou is now known as risou_awy 12:47 lukaramu joined 12:59 user9 left 13:01 user9 joined 13:04 pyrimidine joined 13:09 pyrimidi_ joined, pyrimidine left 13:10 pyrimidine joined, pyrimidi_ left
IOninja SmokeMachine: turns out it's a known issue: rt.perl.org/Ticket/Display.html?id...et-history 13:24
And these are the ones I was thinking about rt.perl.org/Ticket/Display.html?id...et-history rt.perl.org/Ticket/Display.html?id...et-history
SmokeMachine IOninja: so that shouldn't work? 13:25
13:25 Sound joined
IOninja err... No comment on that. I'm saying there's already a ticket for it. 13:26
13:27 astj joined 13:29 drrho_ left 13:30 drrho_ joined 13:31 smls joined
smls bisectable6: say [=>] (1, 2).Seq; 13:31
bisectable6 smls, Bisecting by exit code (old=2015.12 new=6595950). Old exit code: 0
smls, bisect log: gist.github.com/4e4a3cfd591978358e...fda98113fa
smls, (2017-03-02) github.com/rakudo/rakudo/commit/60...ebc359cbdb
IOninja m: say [=>] (1, 2).Seq; 13:33
camelia P6opaque: no such attribute '$!reified' in type List when trying to get a value
in block <unit> at <tmp> line 1
13:33 lukaramu_ joined
IOninja heh 13:33
smls RT'd
13:36 lukaramu left
smls Occasionally running unit tests of my own code with Rakudo nom, seems to be paying off... :) 13:38
13:38 wamba joined
IOninja we should be doing it nightly with a bot :) 13:39
m: use nqp; sub (+values) { nqp::getattr(values,List,'$!reified') }( ().Seq ) 13:43
camelia P6opaque: no such attribute '$!reified' in type List when trying to get a value
in sub at <tmp> line 1
in block <unit> at <tmp> line 1
IOninja The cause
m: use nqp; sub (+@values) { nqp::getattr(@values,List,'$!reified') }( ().Seq ) 13:44
camelia ( no output )
IOninja tis not the same thing is it...
IOninja leaves it for expert eyes...
13:47 cdg joined, raschipi joined 13:48 nightfrog is now known as culb 13:52 kent\n left, wamba left 13:53 xfix left, kent\n joined, mcmillhj joined, KDr2 joined 13:54 xfix joined, KDr2 left 13:55 KDr2 joined, wamba joined
IOninja m: class Foo { method bar { say "bar" } }; class Bar { has $!bar handles 'bar' = Foo.new }; Bar.new.bar 13:56
camelia bar
IOninja hm... does it have to be an attribute? I just wanna say "Foo handles all the `bar` method calls"
13:56 brrt left
IOninja um... this design is weird. 13:57
13:58 g0d355__ left
IOninja April, 2016's Zoffix writes terrible Perl 6... 13:58
masak m: class Foo { method bar { "bar" } }; class Bar is Foo {}; say Bar.new.bar
camelia bar
masak "Foo handles all the `bar` method calls" sounds a little bit like class inheritance to me... 13:59
IOninja A bit.
I didn't want all the methods though, but now I see they're included in this codebase anyway, so meh, inheritance it is! 14:00
14:00 wamba left
jsimonet m: "&now()" 14:00
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
now used at line 1. Did you mean 'not', 'HOW'?
IOninja now is a term
m: "{now}"
camelia ( no output )
IOninja m: "{now}".say 14:01
camelia Instant:1488549698.179669
jsimonet m: sub foo() { 'plop' }; say "&foo()";
camelia plop
IOninja m: "&term:<now>()".say
camelia Instant:1488549710.507149
jsimonet Is this correct?
IOninja Yes.
jsimonet ok
thanks :)
IOninja <IOninja> now is a term
jnthn IOninja: I think you can handles Bar to say it should handle all methods defined in Bar 14:02
IOninja Cool. 14:03
14:04 brrt joined, pyrimidine left 14:06 brrt left 14:09 smls_ joined 14:10 smls left
IOninja m: sub (Str :$id) {}() 14:10
camelia ( no output )
IOninja m: sub (Str(Cool) :$id) {}()
camelia Use of uninitialized value of type Cool in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in sub at <tmp> line 1
IOninja m: sub (Str:D(Cool) :$id) {}()
camelia Parameter '$id' requires an instance of type Str, but a type object was passed. Did you forget a .new?
in sub at <tmp> line 1
in block <unit> at <tmp> line 1
IOninja :(
Well, last one is lame, but at least understandable....
IOninja sweeps the problem under the rug with `= ''` 14:11
14:14 smls_ left 14:16 skids joined, pyrimidine joined
raschipi m: say sub (Str:D(Cool) :$id = '') {}() 14:18
camelia Nil
raschipi m: say sub (Str:D(Cool) :$id = '') {$id}(id => 42) 14:20
camelia Type check failed in binding to '$id'; expected Str but got Int (42)
in sub at <tmp> line 1
in block <unit> at <tmp> line 1
raschipi m: say sub (Str:D(Cool) :$id = '') {$id}(id => '42') 14:21
camelia 42
14:21 pyrimidine left
IOninja Twitter.pm6 can now send direct messages \o/ 14:23
Sucks that you don't get notifications for DMs received from yourself :/ 14:24
Gonna make a bot that proxies IRC messages addressed to me to my Twitter. This way I won't have to ever read IRC, but still get notifications if someone tells me something :) 14:26
raschipi IOninja: if you aren't on IRC, you don't exist
IOninja is fine with that 14:27
14:28 risou_awy is now known as risou 14:30 imcsk8 left
timotimo existing is way too much hassle 14:30
14:31 imcsk8 joined 14:33 vendethiel left 14:35 Sound left 14:36 pmurias joined, ggoebel left 14:39 zakharyas left
masak is happily surprised to find tio.run/nexus/perl6 14:41
timotimo what's the "header" and "footer" thing about? 14:43
masak no idea 14:45
14:46 risou is now known as risou_awy 14:47 solarbunny left 14:50 zakharyas joined
moritz looks to be simply code that's concatenated to the "code" input field 14:53
if I define a variable in the header, I can access it in the footer
no idea why one needs separate input fields for that though
IOninja likely for markup
I assume Perl 6 isn't the only language on the site. 14:54
moritz maybe to be able to collapse parts you don't want to show
14:54 lkm joined
timotimo fair enough 14:54
14:54 lkm left 14:57 pyrimidine joined 14:58 risou_awy is now known as risou
Geth perl6.org/Getting-Involved-Community: 9ec4d48c00 | Cale++ | source/community/index.html
Update index.html
14:59
perl6.org: f3446f2af6 | Cale++ | source/community/index.html
Add "Getting Involved" Section

Looking for feedback on this addition. Think I covered the main areas
15:01
perl6.org: 9ec4d48c00 | Cale++ | source/community/index.html
Update index.html
perl6.org: 04b9e32461 | (Zoffix Znet)++ | source/community/index.html
Merge pull request #77 from perl6/Getting-Involved-Community

Add "Getting Involved" Section
perl6.org: 8b0dfdd8c3 | (Zoffix Znet)++ | source/community/index.html
s/newcomers// in "I already know the language" section
15:02
15:04 KDr2 left 15:06 rurban joined 15:08 ggoebel joined 15:11 rurban left 15:13 elaADnlx` joined
SmokeMachine IOninja: but the ticket says LTA error message... 15:16
IOninja m: class { has Str:D $.foo }.new: :foo<foo> 15:17
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable definition of type Str:D requires an initializer
at <tmp>:1
------> 3class { has Str:D $.foo 7⏏5}.new: :foo<foo>
15:17 elaADnlxie left
IOninja Seriously? -_- 15:17
Default constructor for 'ZofBot::Plugin::Twitter' only takes named arguments xx 100 15:21
Die in a fire!
m: sub x { %(:42foo, :43bar) }; class {}.new: |(x<foo bar>:p) 15:22
camelia Default constructor for '<anon|70104960>' only takes named arguments
in block <unit> at <tmp> line 1
IOninja What's its problem?
m: sub x { %(:42foo, :43bar) }; class { has $.foo; has $.bar; method x { dd [$!foo, $!bar ] }}.new(|(%(x<foo bar>:p))).x 15:23
camelia [42, 43]
jnthn :p returns a list of pairs
Try |%(x<foo bar>:p)
15:24 pecastro left
IOninja Thanks. 15:24
timotimo we need to build a slang that accepts FACE WITH STUCK-OUT TONGUE instead of :p - 😛 15:26
(doesn't show up in my terminal)
IOninja heh
15:30 wamba joined 15:33 itaipu joined 15:40 pecastro joined 15:42 Khisanth left
IOninja m: class { has SetHash $.x .= new: 42 }.new.x.say 15:43
camelia SetHash.new(42)
IOninja m: class { has SetHash:D $.x .= new: 42 }.new.x.say
camelia ===SORRY!===
Could not locate compile-time value for symbol SetHash:D
IOninja hehehe
tis the same bug as the `::` in names with `.new`
This one: github.com/rakudo/rakudo/commit/70...d9dac0f698 15:47
though no idea how to make it handle type smileys
IOninja stashes this one for a rainy day...
jnthn We'd need to spot it's a concreteness type and pull out hte real type to do the .new on 15:48
Though I'm curious why we're ever using the string there 15:49
Feels a bit odd, since we should be letting type parsing make an AST with the right kinda thing, I'd hope
15:50 cschwenz joined
IOninja m: class { has $!foo = 42; subset Meows where $!foo; } 15:51
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable $!foo used where no 'self' is available
at <tmp>:1
------> 3has $!foo = 42; subset Meows where $!foo7⏏5; }
cschwenz so, for META6 files… is the file suffix .json or .info ?
IOninja Bummer... Any way around this? I want a subset to use class's attribute
cschwenz: META6.json
cschwenz IOninja++
thanks
IOninja m: class { has $!foo = 42; submethod BUILD { our subset Meows where -> $f { sub ($e) { $e ~~ $f } }($!foo); }; method mew ($v) { say $v ~~ Meows } }.new.mew: 42 15:54
camelia Cannot look up attributes in a VMNull type object
in method mew at <tmp> line 1
in block <unit> at <tmp> line 1
IOninja m: class { has $!foo = 42; submethod BUILD { my $x = $!foo; our subset Meows where $x; }; method mew ($v) { say $v ~~ Meows } }.new.mew: 42 15:55
camelia True
IOninja yey
15:55 pyrimidine left, Khisanth joined 15:56 pyrimidine joined
jnthn That seems...a bit dangerous 15:58
Also I don't think it's doing what you think it is :) 15:59
m: class { has $!foo = 42; submethod BUILD { my $x = $!foo; our subset Meows where $x; }; method mew ($v) { say $v ~~ Meows } }.new.mew: 43
camelia True
jnthn Thought so...
IOninja aww :( 16:00
jnthn At the time $!foo is read in BUILD it hasn't been initialized
So $x contains the Any type object
And so it's doing 42 ~~ Any
Also even if a binding were used, it'd still be referring to the attribute of the latest instance of the object 16:01
16:01 pyrimidine left
IOninja m: class { has $!foo = 42; submethod TWEAK { dd $!foo; my $x = $!foo; dd $x; our subset Meows where $x; }; method mew ($v) { say $v ~~ Meows } }.new.mew: 428 16:01
camelia Int $!foo = 42
Int $x = 42
True
IOninja What about this one? Seem it's initialized
m: class { has $!foo = 42; submethod TWEAK { dd $!foo; my $x = $!foo; dd $x; our subset Meows where * == $x; }; method mew ($v) { say $v ~~ Meows } }.new.mew: 428 16:02
camelia Int $!foo = 42
Int $x = 42
Use of uninitialized value of type Any in numeric context
in whatevercode at <tmp> line 1
False
IOninja hmmm
jnthn Same lifetime problem though
IOninja OK
jnthn There's no good way to do it
Short of method foo($*SELF:) { ... }
And then subset Blah where { $*SELF.foo == 42 } or so
Which I'm not sure if counts as "good" 16:03
IOninja :)
16:10 itaipu left
IOninja m: class { my SetHash $x .= new: <foo>; subset Foo where .uc ∈ $x; method x { say 'foo' ~~ Foo } }.new.x 16:15
camelia Invocant requires an instance of type SetHash, but a type object was passed. Did you forget a .new?
in method x at <tmp> line 1
in block <unit> at <tmp> line 1
IOninja m: class { my SetHash $x .= new: <foo>; subset Foo where {.uc ∈ $x}; method x { say 'foo' ~~ Foo } }.new.x
camelia False
IOninja Supposed to be like that or is it a thunking issue? (the difference between the two is the explicit block on `where`)
16:16 itaipu joined
jnthn Not sure why the first one failed 16:18
IOninja m: 'x'.uc ∈ SetHash
camelia WARNINGS for <tmp>:
Useless use of "∈" in expression ".uc ∈ SetHash" in sink context (line 1)
Invocant requires an instance of type SetHash, but a type object was passed. Did you forget a .new?
in block <unit> at <tmp> line 1
IOninja Looks like in that version $x is not initialized
16:25 indexme joined
raschipi How is this use of a colon called: "my SetHash $x .= new: <foo>;"? 16:31
16:31 ZofBot joined, ChanServ sets mode: +v ZofBot
IOninja ¯\_(ツ)_/¯ just a normal method call 16:32
16:32 Meows joined
Meows Check it out.... 16:32
raschipi I searched for it in the subroutine and method invocation pages and can't find documetation for this form.
Meows I heard Zoffix is aweome!
Yup, and IOninja is cool too 16:33
IOninja \o\/
16:33 cschwenz left
Meows Zoffix Zoffix Zoffix Zoffix 16:33
16:33 Meows left
timotimo what's that all about %) 16:33
is that your twitter-irc-bridge or something?
moritz performance art?
IOninja wait for it... 16:34
My direct messages on Twitter: i.imgur.com/GUt5YF5.png
:)
timotimo useful 16:35
IOninja The bot relayed my mentions to twitter, and did not relay the last message because it saw me speak :D
All in just 60 lines of Perl 6 code: github.com/zoffixznet/perl6-ZofBot...witter.pm6 16:37
16:41 itaipu left
IOninja raschipi: well, it's $foo.bar: <some args>; But we have the meta-assign op; in other languages you may seen it as $x += 42, which is the same as $x = $x + 42; We extended that metaphore to all operators, so you $x .= foo: <some args> is the same as $x = $x.foo: <some args>; (which is same as $x = $x.foo(<some args>) 16:43
raschipi I know how it works, I understood the code. But I got it from code examples and wanted to see the docs for it. Can't find it. 16:44
16:44 ZzZombo left
IOninja Ah. No idea where that may be documented. 16:49
16:50 pyrimidine joined
IOninja There's a blurb here: docs.perl6.org/routine/$FULL_STOP$EQUALS_SIGN 16:52
raschipi That part I had seen, I want the colon list part.
16:53 zakharyas left, domidumont left
IOninja m: say { $:add ?? $^a + $^b !! $^a - $^b }( 4, 5 ) :!add 16:57
camelia -1
IOninja TIL you can specify named args outside the parens :o
raschipi m: say { $:add ?? $^a + $^b !! $^a - $^b }( 4, 5 ) 16:58
camelia Required named parameter 'add' not passed
in block <unit> at <tmp> line 1
raschipi m: say { $:add ?? $^a + $^b !! $^a - $^b }( 4, 5 ) :add 16:59
camelia 9
raschipi Like an adverb.
17:00 pyrimidine left, elaADnlx` is now known as elaADnlxie 17:01 pyrimidine joined
IOninja m: say {[~] $:foo, $:bar, $:ber }() :foo :!bar :ber<meows> 17:01
camelia TrueFalsemeows
IOninja The $: twigil would be a lot more useful if you could somehow use it in, say, a for loop 17:02
17:03 mcmillhj left
IOninja m: my %h = :42a, :72b; for %h.pairs { say $:key, $:value } 17:03
camelia Too many positionals passed; expected 0 arguments but got 1
in block <unit> at <tmp> line 1
IOninja like something like this
17:03 Actualeyes left 17:04 mcmillhj joined 17:05 pyrimidine left, khw joined
raschipi So it should assume that $:key is .key? 17:06
IOninja No, the issue lies in unpacking 17:07
m: my %h = :42a, :72b; for %h.pairs -> (:$key, :$value) { say $key, $value }
camelia a42
b72
IOninja and if it unpacked the 1 thing given to it to named args, the $:key, $:value would wokr
raschipi m: say { $:add? ?? $^a + $^b !! $^a - $^b }( 4, 5 )
camelia 5===SORRY!5=== Error while compiling <tmp>
Bogus postfix
at <tmp>:1
------> 3say { $:add7⏏5? ?? $^a + $^b !! $^a - $^b }( 4, 5 )
expecting any of:
infix
infix stopper
statement end
statement m…
IOninja Something like `my %h = :42a, :72b; for %h.pairs ---> { say $:key, $:value }` to mean call it as `for { {}(|$_) }` 17:09
raschipi I see
17:09 mcmillhj left, pyrimidine joined, ufobat left 17:10 mcmillhj joined
IOninja Which can be generalized to signature thingie on all callables that would know to slip the given argument, so instead of doing |(blah blah) on each call, you'd specify it once in the signature. 17:10
Or maybe not, since we can do slurpies right now \o/ 17:11
So just $:foo is something I'm yet to use in real code :)
17:15 mcmillhj left 17:16 araraloren joined 17:17 xzhao joined 17:22 ZofBot left, ZofBot joined, ChanServ sets mode: +v ZofBot 17:24 pyrimidine left, pyrimidine joined
IOninja Well, the relay bot is done. The long weekend has almost stared... 17:24
IOninja disappears into the shadows to do IO ninjaing... 17:25
*started :)
timotimo cool 17:28
17:29 pyrimidine left 17:30 mcmillhj joined
elaADnlxie ZofBot: relay bot? 17:34
17:35 Kaffe left, [particle] joined, mcmillhj left, Kaffe joined 17:36 d4l3k_ joined, ChanServ sets mode: +v d4l3k_ 17:37 kst` joined 17:38 Some-body_ joined, mindos_ joined 17:40 integral_ joined, integral_ left, integral_ joined, domidumont joined 17:41 moritz_ joined, rurban joined 17:42 indexme left, jsimonet1 joined, dp[m]1 joined, abruanese_ joined, gabiruh_ joined 17:43 dp[m] left, dalek left, DarthGandalf left, gabiruh left, [particle]1 left, mindos left, jsimonet left, camelia left, Undercover left, SourceBaby left, synopsebot6 left, kst left, integral left, salparadise left, abruanese left, moritz left, Some-body_ is now known as DarthGandalf, mcmillhj joined, d4l3k_ is now known as dalek, mindos_ is now known as mindos
araraloren ~~ O_O 17:43
17:43 camelia joined, salparadise joined 17:44 abruanese_ is now known as abruanese, dakkar left 17:45 ChanServ sets mode: +v camelia, xzhao left 17:48 mcmillhj left 17:49 moritz_ left 17:50 moritz joined 17:52 mcmillhj joined 17:56 pyrimidine joined 17:57 mcmillhj left 17:59 mcmillhj joined
Geth perl6.org: 99947e7e36 | Cale++ | source/community/index.html
Edit hack on compiler text
18:01
18:04 telex left 18:05 Sound joined, telex joined 18:09 SourceBaby joined, ChanServ sets mode: +v SourceBaby, Undercover joined, ChanServ sets mode: +v Undercover 18:10 cognominal joined, cog__ left 18:13 astj left 18:34 spebern left 18:35 astj joined 18:37 rurban1 joined 18:38 rurban left 18:39 astj left
RabidGravy Boo! 18:43
18:44 rurban1 left, rurban joined 18:47 rurban1 joined 18:48 rurban left 18:49 espadrine joined 18:50 araraloren left 18:51 cibs left, agentzh left 18:52 cibs joined 18:58 cdg left 18:59 rurban1 left
IOninja elaADnlxie: ZofBot DMs me on Twitter when people mention me on IRC while I'm away. So I don't need to backlog :) 19:00
19:06 zakharyas joined 19:08 hankache joined
hankache hoal #perl6 19:10
hola*
19:10 rurban joined
RabidGravy erp 19:19
19:19 darutoko left 19:21 TEttinger joined 19:22 risou is now known as risou_awy 19:24 agentzh joined 19:25 rurban left 19:31 risou_awy is now known as risou 19:32 risou is now known as risou_awy 19:36 wamba left
b2gills .tell moritz the header and footer fields on TIO.run are for Code Golfs where the entry is a function or a snippet, see the "Try it" link at codegolf.stackexchange.com/a/110377/1147 19:38
yoleaux b2gills: I'll pass your message to moritz.
IOninja m: '...'.encode.bytes.say 19:42
camelia 3
IOninja m: '…'.encode.bytes.say
camelia 3
IOninja wow, that Brachylog entry looks mental... 19:43
19:48 risou_awy is now known as risou 19:50 rurban joined
Geth doc/py-nutshell: fc5555b940 | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
py-nutshell
19:52
IOninja fancy 19:56
19:56 RabidGravy left 19:57 Arckazur joined, labster joined 19:59 rurban1 joined, RabidGravy joined 20:00 rurban left
moritz \o 20:01
yoleaux 19:38Z <b2gills> moritz: the header and footer fields on TIO.run are for Code Golfs where the entry is a function or a snippet, see the "Try it" link at codegolf.stackexchange.com/a/110377/1147
20:01 ggoebel left 20:03 zakharyas left 20:04 risou is now known as risou_awy
Geth doc/py-nutshell: 865fdcf7b5 | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
put
20:08
IOninja finishes spamming commit comments... 20:09
20:09 bjz joined 20:11 pyrimidine left 20:12 pyrimidine joined
raschipi Are Python devs still wanting to remove the few funtional features they have? 20:12
IOninja Ask in #python? 20:14
raschipi Don't want to start a flamewar. 20:15
20:16 pyrimidine left
Geth doc/py-nutshell: 347c99e3bb | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
replace i with x
20:17
elaADnlxie raschipi: what do you mean by still? They moved them to some includable package or something, but it was a long time ago 20:20
raschipi I see, thanks. I knew someone here would know.
IOninja m: q♥{({$/ if is-prime $/=2**++$*++$-1}…*.comb>$^k).min:{abs $k-.comb}}♥.encode.bytes.say
camelia 68
20:20 risou_awy is now known as risou
IOninja b2gills: ^ can shave off 3 chars by using .comb instead of .chars and using $^k instead of pointy block 20:20
20:22 domidumont left 20:29 robertle joined 20:31 xzhao joined, xzhao left 20:33 bjz_ joined 20:35 bjz left 20:36 Arckazur left
Geth doc/py-nutshell: b5f4caf034 | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
whatever code for lambdas
20:38
20:39 adu joined
IOninja \o/ 20:40
bduggan++
20:40 adu left 20:41 labster left 20:43 labster joined
b2gills Both of those are things I usually try, I must have been tired and didn't bother 20:44
20:45 rurban1 left 20:46 hankache left 20:48 risou is now known as risou_awy, lichtkind__ joined 20:52 lichtkind_ left, risou_awy is now known as risou 20:56 rindolf left 20:58 raschipi left
Geth perl6-most-wanted: c039c4934f | (Brad Clawsie)++ | most-wanted/modules.md
mention HTTP2
21:00
elaADnlxie IOninja: hm, I wonder, how can have some generic exception handling when using IRC::Client? That is, I want to do something different here: github.com/zoffixznet/perl6-IRC-Cl...t.pm6#L301
Geth doc/py-nutshell: a6f804bbb3 | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
use x²
21:03
21:05 Sound left 21:07 agentzh left
elaADnlxie By the way, perhaps somebody wants to write something here: stackoverflow.com/questions/1416215 21:08
Geth doc/py-nutshell: f01ba07387 | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
added more idiomatic named parameters
21:09 risou is now known as risou_awy 21:12 cdg joined
Geth doc/py-nutshell: 32b3be421f | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
off by 1
21:15
21:18 risou_awy is now known as risou
lizmat elaADnlxie: I wrote something 21:20
21:20 rurban joined
IOninja elaADnlxie: none ATM; would need to add code 21:20
Geth doc/py-nutshell: 032a15e1df | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
blocks vs subroutines
21:21
IOninja prolly an attribute on IRC::Client that takes a Callable that gets called from that default block
IOninja &
moritz nine: does Inline::Python have any python 3 support? 21:22
21:23 SCHAAP137 left
elaADnlxie lizmat++ 21:27
21:28 SCHAAP137 joined, ufobat joined 21:29 mcmillhj left 21:31 pyrimidine joined 21:35 travis-ci joined
travis-ci Doc build failed. Brian Duggan 'py-nutshell' 21:35
travis-ci.org/perl6/doc/builds/207484960 github.com/perl6/doc/commit/fc5555b940bc
21:35 travis-ci left, pyrimidine left
lizmat elaADnlxie: hmmm... that was a 7 year old question, I just realized :-) 21:36
21:36 bjz joined 21:37 bjz_ left
elaADnlxie lizmat: yes, but that's what comes up on the first page of google 21:38
21:39 rurban1 joined
lizmat elaADnlxie: ah, good point :-) 21:40
21:41 rurban left
b2gills lizmat: do you mind if I changed the links to the markdown equivalent of L<general overview|http:…> 21:42
lizmat you can ?
please go ahead :-) 21:43
21:43 ggoebel joined 21:49 travis-ci joined
travis-ci Doc build failed. Brian Duggan 'put' 21:49
travis-ci.org/perl6/doc/builds/207489473 github.com/perl6/doc/compare/fc555...5fdcf7b587
21:49 travis-ci left 21:50 bjz left 21:51 jonas1 left 21:52 risou is now known as risou_awy
b2gills lizmat: like this stackoverflow.com/posts/42588603/revisions 21:53
lizmat :-)
b2gills You can also do it [like this](example.com), but it makes it harder to find all the links to edit them in larger posts 21:54
That is one of the main features that Markdown has that I feel that POD is lacking 21:55
21:55 agentzh joined, mcmillhj joined
b2gills being able to group the links at the end 21:55
Geth ecosystem: ufobat++ created pull request #301:
Adding XML::Rabbit
21:57 travis-ci joined
travis-ci Doc build failed. Brian Duggan 'replace i with x' 21:57
travis-ci.org/perl6/doc/builds/207491982 github.com/perl6/doc/compare/865fd...7c99e3bbb5
21:57 travis-ci left 22:00 skids left, mcmillhj left, mcsnolte joined, skids joined 22:01 mr-foobar left 22:02 mcmillhj joined 22:08 pyrimidine joined, risou_awy is now known as risou 22:09 mcmillhj left 22:10 skids left 22:13 ttkp6 joined, pyrimidine left 22:16 RabidGravy left 22:20 travis-ci joined
travis-ci Doc build failed. Brian Duggan 'whatever code for lambdas' 22:20
travis-ci.org/perl6/doc/builds/207498627 github.com/perl6/doc/compare/347c9...f4caf034ec
22:20 travis-ci left, mcmillhj joined 22:25 mcmillhj left 22:28 evalable6 left
Geth ecosystem: a1950e0dd5 | (Martin Barth)++ | META.list
Adding XML::Rabbit
22:28
ecosystem: a2bfcf40cf | (Martin Barth)++ | META.list
Merge pull request #301 from ufobat/patch-3

Adding XML::Rabbit
22:29 robertle left
ufobat thanks zoffix :) 22:29
IOninja np
22:31 alphah left 22:39 Voldenet left 22:40 risou is now known as risou_awy 22:43 risou_awy is now known as risou 22:44 Voldenet joined, Voldenet left, Voldenet joined, mcmillhj joined 22:49 mcmillhj left 22:51 travis-ci joined
travis-ci Doc build failed. Brian Duggan 'use x²' 22:51
travis-ci.org/perl6/doc/builds/207505822 github.com/perl6/doc/compare/b5f4c...f804bbb3d5
22:51 travis-ci left 22:54 cibs left 22:56 cibs joined 22:58 alimon left 22:59 mcmillhj joined 23:00 ufobat left 23:03 mcmillhj left 23:04 avalenn left 23:05 mcmillhj joined 23:06 avalenn joined 23:10 mcmillhj left 23:14 astj joined 23:15 rurban joined 23:17 rurban1 left, pyrimidine joined 23:18 astj left 23:20 travis-ci joined
travis-ci Doc build failed. Brian Duggan 'added more idiomatic named parameters' 23:20
travis-ci.org/perl6/doc/builds/207507403 github.com/perl6/doc/compare/a6f80...1ba07387bc
23:20 travis-ci left 23:21 risou is now known as risou_awy 23:22 pyrimidine left 23:28 travis-ci joined
travis-ci Doc build failed. Brian Duggan 'off by 1' 23:28
travis-ci.org/perl6/doc/builds/207509501 github.com/perl6/doc/compare/f01ba...b3be421fec
23:28 travis-ci left 23:29 mcmillhj joined 23:34 mcmillhj left, llfourn left, mcmillhj joined 23:37 risou_awy is now known as risou 23:39 mcmillhj left 23:43 travis-ci joined
travis-ci Doc build failed. Brian Duggan 'blocks vs subroutines' 23:43
travis-ci.org/perl6/doc/builds/207510972 github.com/perl6/doc/compare/32b3b...2a15e1df4e
23:43 travis-ci left 23:44 eroux joined, ZzZombo joined, ZzZombo left, ZzZombo joined 23:45 kurahaupo left 23:48 eroux left 23:49 kurahaupo joined 23:50 mcmillhj joined 23:55 risou is now known as risou_awy, risou_awy is now known as risou, mcmillhj left 23:56 BenGoldberg joined 23:57 simcop2387 left 23:59 llfourn joined