»ö« 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 = + $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 = + $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
|