»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:01 Manifest0 joined 00:05 vrurg joined 00:06 Manifest0 left 00:10 lucasb left 00:11 Manifest0 joined 00:13 cpage left 00:16 aborazmeh joined, aborazmeh left, aborazmeh joined 00:20 Manifest0 left 00:25 Manifest0 joined 00:30 lembark left 00:34 aborazmeh left 00:39 jaldhar left, jaldhar joined 00:41 Manifest0 left
Kaiepi m: nqp::getattr($*IN, IO::Handle, '$!PIO') 00:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Could not find nqp::getattr, did you forget 'use nqp;' ?
at <tmp>:1
------> 3nqp::getattr($*IN, IO::Handle, '$!PIO')7⏏5<EOL>
00:42
Kaiepi m: use nqp; nqp::getattr($*IN, IO::Handle, '$!PIO')
camelia P6opaque: no such attribute '$!PIO' on type IO::Handle in a Scalar when trying to get a value
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; nqp::getattr($PROCESS::IN, IO::Handle, '$!PIO')
camelia P6opaque: no such attribute '$!PIO' on type IO::Handle in a Scalar when trying to get a value
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; nqp::getattr(nqp::decont($PROCESS::IN), IO::Handle, '$!PIO')
camelia P6opaque: no such attribute '$!PIO' on type IO::Handle in a IO::Handle when trying to get a value
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; nqp::getattr(nqp::decont($*IN), IO::Handle, '$!PIO')
camelia P6opaque: no such attribute '$!PIO' on type IO::Handle in a IO::Handle when trying to get a value
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; nqp::getattr(nqp::decont($*OUT), IO::Handle, '$!PIO')
camelia P6opaque: no such attribute '$!PIO' on type IO::Handle in a IO::Handle when trying to get a value
in block <unit> at <tmp> line 1
Kaiepi m: $*IN.opened 00:43
camelia ( no output )
Kaiepi m: say $*IN.opened
camelia True
Kaiepi m: say $*IN.WHAT
camelia (Handle)
00:46 Manifest0 joined
Kaiepi ok this is the output i was trying to get 00:49
bastille% perl6 -Mnqp -e 'say nqp::getattr($*IN, IO::Handle, q[$!PIO])'
IO::Handle<IO::Special.new("<STDIN>")>(opened)
wtf?
00:51 Manifest0 left
Kaiepi > use nqp; nqp::getattr(nqp::decont($*IN), IO::Handle, '$!PIO') 00:51
(low-level object `BOOTIO`)
MasterDuke Kaiepi: camelia runs with a restricted setting, maybe that's causing it?
Kaiepi maybe
what i'm trying to show is that get, prompt, and co. are broken for $*IN/$*OUT/$*ERR because the proper $!PIO value is getting assigned to their container, not their actual value 00:52
er
the IO::Special object's getting assigned to $!PIO on the container and that's screwing things up 00:53
at least it's a really simple fix 00:54
00:56 Manifest0 joined
Kaiepi > use nqp; nqp::getattr($*IN, IO::Handle, '$!PIO') 00:58
(low-level object `BOOTIO`)
there we go
01:03 Manifest0 left 01:08 Manifest0 joined 01:09 ayerhart left 01:29 lichtkind left 01:31 ayerhart joined, ayerhart left 01:42 aborazmeh joined, aborazmeh left, aborazmeh joined 01:48 Manifest0 left 01:53 Manifest0 joined 01:56 molaf left 02:04 Manifest0 left 02:05 Manifest0 joined 02:08 molaf joined 02:14 Manifest0 left 02:18 aborazmeh left 02:20 Manifest0 joined 02:31 Manifest0 left, aborazmeh joined, aborazmeh left, aborazmeh joined 02:36 Manifest0 joined, imcsk8 left 02:38 imcsk8 joined 02:43 Yary left
Kaiepi m: proto sub foo() { my $a = 1; {*} }; multi sub foo() { say $a }; foo 02:44
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$a' is not declared
at <tmp>:1
------> 3my $a = 1; {*} }; multi sub foo() { say 7⏏5$a }; foo
Kaiepi damn 02:45
02:50 Manifest0 left 02:55 Manifest0 joined 03:06 Manifest0 left 03:11 Manifest0 joined 03:16 Manifest0 left, john_parr left 03:21 Manifest0 joined 03:26 Manifest0 left
ugexe m: proto sub foo() { my $*a = 1; {*} }; multi sub foo() { say $*a }; foo' 03:29
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3 {*} }; multi sub foo() { say $*a }; foo7⏏5'
expecting any of:
infix
infix stopper
statement end
statement …
ugexe m: proto sub foo() { my $*a = 1; {*} }; multi sub foo() { say $*a }; foo
camelia 1
03:32 Manifest0 joined 03:34 Cabanoss- joined 03:35 Cabanossi left, Cabanoss- is now known as Cabanossi 03:40 aborazmeh left 03:41 Manifest0 left 03:47 Manifest0 joined 03:50 __jrjsmrtn__ left 03:53 mowcat left 03:54 Yary joined 04:03 kaare__ left, kaare__ joined 04:16 Manifest0 left 04:21 Manifest0 joined 04:23 skids joined 04:26 john_parr joined 04:35 skids left 04:37 Manifest0 left 04:42 Manifest0 joined 04:46 skids joined 04:49 debprav joined 04:53 curan joined 05:07 Manifest0 left 05:09 jmerelo joined 05:12 Manifest0 joined, debprav left 05:19 Manifest0 left 05:24 Manifest0 joined 05:26 skids left, molaf left 05:31 robertle left
jmerelo releasable6: status 05:33
05:33 giraffe left
releasable6 jmerelo, Next release will happen when it's ready. 1 blocker. 140 out of 317 commits logged (⚠ 2 warnings) 05:33
jmerelo, Details: gist.github.com/d04c3f853aeb3d6da3...cd70a27744
05:33 espadrine_ joined 05:38 Manifest0 left 05:42 Yary left, Manifest0 joined
Geth doc: 5f755680c6 | (JJ Merelo)++ | doc/Type/Range.pod6
Minor fixes and reflow
05:47
doc: 2a70459eb9 | (JJ Merelo)++ | doc/Type/Signature.pod6
Reflow for #2675
synopsebot Link: doc.perl6.org/type/Range
Link: doc.perl6.org/type/Signature
doc: 38e07c8cdd | (JJ Merelo)++ | doc/Type/Signature.pod6
Adds sigilless slurpy, closes #2675
05:52 espadrine_ left
Kaiepi m: proto sub foo() { my $*A := 1; {*} }; only sub foo() { say $*A }; foo 06:02
camelia 5===SORRY!5=== Error while compiling <tmp>
Redeclaration of routine 'foo' (did you mean to declare a multi-sub?)
at <tmp>:1
------> 3 := 1; {*} }; only sub foo() { say $*A }7⏏5; foo
expecting any of:
horizontal whitespa…
Kaiepi m: null sub foo() { say 1 }; foo
Geth doc: 0d41125c44 | (JJ Merelo)++ | doc/Type/Signature.pod6
Wrap up
synopsebot Link: doc.perl6.org/type/Signature
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
null used at line 1
Kaiepi null pops up alongside only and multi in one of the tokens in the grammar but i'm not sure what it's doing there 06:03
m: null foo() {}; foo
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected block in infix position (missing statement control word before the expression?)
at <tmp>:1
------> 3null foo()7⏏5 {}; foo
expecting any of:
infix
infix sto…
Kaiepi m: null foo { }; 06:04
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routines:
foo used at line 1
null used at line 1
Kaiepi m: null foo()
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routines:
foo used at line 1
null used at line 1
Kaiepi m: proto sub foo() { {*}; say $*A; }; multi sub foo() { my $*A := 1; }; foo 06:06
camelia Dynamic variable $*A not found
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
Kaiepi m: proto sub foo(--> Int) { my Str $a = {*}; $a.Int }; multi sub foo(--> Str) { '1' }; say foo 06:09
camelia 1
06:10 rindolf joined 06:12 ravenousmoose joined, domidumont joined 06:16 ravenousmoose left
Kaiepi m: sub foo(--> Int) is rw { my $foo = 1; Proxy.new: FETCH => method (--> Int) { $foo }, STORE => method (Int $f) { $foo = $f } }; my $foo = foo; say foo; $foo = 2; say $foo 06:17
camelia 1
2
06:24 ravenousmoose joined 06:25 nadim joined, ravenousmoose left 06:26 ravenousmoose joined 06:28 zacts joined 06:30 jmerelo left 06:37 nadim left
Kaiepi m: class A { submethod DESTROY { say 'destroyed' } }; my A $a .= new; $a = Nil 06:38
camelia ( no output )
Kaiepi m: class A {...}; class B { trusts A; has Int $.b; }; class A { has B $.b .= new; method a() { $!b.b = 1; } }; my A $a .= new; $a.a; say $a.b.b 06:44
camelia Cannot modify an immutable 'Int' type object
in method a at <tmp> line 1
in block <unit> at <tmp> line 1
Kaiepi m: class A {...}; class B { trusts A; has Int $.b; }; class A { has B $.b .= new; method a() { $!b!B::b = 1; } }; my A $a .= new; $a.a; say $a.b.b 06:45
camelia 5===SORRY!5=== Error while compiling <tmp>
No such private method '!b' for invocant of type 'B'. Did you mean 'b'?
at <tmp>:1
------> 3 A { has B $.b .= new; method a() { $!b!7⏏5B::b = 1; } }; my A $a .= new; $a.a; say
Kaiepi m: class A {...}; class B { trusts A; has Int $.b; }; class A { has B $.b .= new; method a() { $!b.B::b = 1; } }; my A $a .= new; $a.a; say $a.b.b
camelia Cannot modify an immutable 'Int' type object
in method a at <tmp> line 1
in block <unit> at <tmp> line 1
06:45 zacts left, fz_ left
Kaiepi fiiiine guess i'll use is rw 06:45
06:45 Manifest0 left 06:46 khisanth_ left 06:48 ravenousmoose left 06:49 ravenousmoose joined 06:50 netrino joined, Manifest0 joined 06:53 tholyghos joined, netrino left 07:00 khisanth_ joined 07:02 Manifest0 left 07:07 Manifest0 joined 07:11 nadim_ joined 07:14 patrickb joined
Kaiepi m: class A {...}; class B { trusts A; class C { trusts A; method !c() { say 1 }; has ::?CLASS::C $.c .= new; method !b() { $!c!::?CLASS::C::c } }; class A { has B $.b .= new; method a() { $!b!B::b } }; my A $a .= new; $a.a 07:27
camelia 5===SORRY!5=== Error while compiling <tmp>
Multiple prefix constraints not yet implemented. Sorry.
at <tmp>:1
------> 3; method !c() { say 1 }; has ::?CLASS::C7⏏5 $.c .= new; method !b() { $!c!::?CLASS:
Kaiepi m: class A {...}; class B { trusts A; class C { trusts A; method !c() { say 1 }; has C $.c .= new; method !b() { $!c!::?CLASS::C::c } }; class A { has B $.b .= new; method a() { $!b!B::b } }; my A $a .= new; $a.a 07:28
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed class-qualified postfix call
at <tmp>:1
------> 3 }; has C $.c .= new; method !b() { $!c!7⏏5::?CLASS::C::c } }; class A { has B $.b
expecting any of:
postfix
cpan-p6 New module released to CPAN! Pod::Render (0.7.7) by 03MARTIMM
New module released to CPAN! GTK::V3 (0.11.0) by 03MARTIMM
Kaiepi m: class A {...}; class B { trusts A; class C { trusts A; method !c() { say 1 }; has C $.c .= new; method !b() { self.c!::?CLASS::C::c } }; class A { has B $.b .= new; method a() { self.b!B::b } }; my A $a .= new; $a.a
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed class-qualified postfix call
at <tmp>:1
------> 3 has C $.c .= new; method !b() { self.c!7⏏5::?CLASS::C::c } }; class A { has B $.b
expecting any of:
method argument…
Kaiepi m: class A {...}; class B { trusts A; class C { trusts A; method !c() { say 1 }; has C $.c .= new; method !b() { self.c!::C::c } }; class A { has B $.b .= new; method a() { self.b!B::b } }; my A $a .= new; $a.a 07:29
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot call private method 'b' on package B because it does not trust B::A
at <tmp>:1
------> 3s B $.b .= new; method a() { self.b!B::b7⏏5 } }; my A $a .= new; $a.a
expecting any of:
Kaiepi m: class A {...}; class B { trusts A; class C { trusts A; method !c() { say 1 }; has C $.c .= new; method !b() { self.c!::C::c } } }; class A { has B $.b .= new; method a() { self.b!B::b } }; my A $a .= new; $a.a
camelia 5===SORRY!5=== Error while compiling <tmp>
No such private method '!b' for invocant of type 'B'
at <tmp>:1
------> 3{ has B $.b .= new; method a() { self.b!7⏏5B::b } }; my A $a .= new; $a.a
Kaiepi m: class A {...}; class B { trusts A; class C { trusts A; method !c() { say 1 }; } has C $.c .= new; method !b() { self.c!::C::c } }; class A { has B $.b .= new; method a() { self.b!B::b } }; my A $a .= new; $a.a
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3s C { trusts A; method !c() { say 1 }; }7⏏5 has C $.c .= new; method !b() { self.c!
expecting any of:
Kaiepi m: class A {...}; class B { trusts A; class C { trusts A; method !c() { say 1 }; }; has C $.c .= new; method !b() { self.c!::C::c } }; class A { has B $.b .= new; method a() { self.b!B::b } }; my A $a .= new; $a.a
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot call private method 'c' on package B::C because it does not trust B
at <tmp>:1
------> 3 $.c .= new; method !b() { self.c!::C::c7⏏5 } }; class A { has B $.b .= new; method
expecti…
Kaiepi m: class A {...}; class B { trusts A; class C { trusts B; method !c() { say 1 }; }; has C $.c .= new; method !b() { self.c!::C::c } }; class A { has B $.b .= new; method a() { self.b!B::b } }; my A $a .= new; $a.a 07:30
camelia 1
Kaiepi m: class A {...}; class B { trusts A; class C { trusts B; method !c() { say 1 }; }; has ::C $.c .= new; method !b() { self.c!::C::c } }; class A is B { class C { trusts A; method !c() { say 2 }; }; method a() { self!b } }; my A $a .= new; $a.a 07:31
camelia 5===SORRY!5=== Error while compiling <tmp>
Redeclaration of symbol 'C'
at <tmp>:1
------> 3sts B; method !c() { say 1 }; }; has ::C7⏏5 $.c .= new; method !b() { self.c!::C::c
Kaiepi m: class A {...}; class B { trusts A; class C { trusts B; method !c() { say 1 }; }; has ::?CLASS.WHO::C $.c .= new; method !b() { self.c!::C::c } }; class A is B { class C { trusts A; method !c() { say 2 }; }; method a() { self!b } }; my A $a .= new; $a.a 07:32
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed has
at <tmp>:1
------> 3; method !c() { say 1 }; }; has ::?CLASS7⏏5.WHO::C $.c .= new; method !b() { self.c
nadim_ morning, what do you use to generate markdown from POD? 07:33
Kaiepi m: class A {...}; class B { trusts A; class C { trusts B; method !c() { say 1 }; }; has ::?PACKAGE::C $.c .= new; method !b() { self.c!::C::c } }; class A is B { class C { trusts A; method !c() { say 2 }; }; method a() { self!b } }; my A $a .= new; $a.a 07:34
camelia 5===SORRY!5=== Error while compiling <tmp>
Redeclaration of symbol 'C'
at <tmp>:1
------> 3hod !c() { say 1 }; }; has ::?PACKAGE::C7⏏5 $.c .= new; method !b() { self.c!::C::c
moritz nadim_: have you tried github.com/softmoth/perl6-pod-to-markdown ?
nadim_ no but just found: perl6 --doc=Markdown input.pod6 > output.md 07:35
any advantage using the other one?
07:41 nadim_ left, zakharyas joined 07:42 Manifest0 left 07:44 nadim_ joined 07:47 Manifest0 joined 07:48 Sgeo left, Sgeo joined, ravenousmoose left 07:49 domidumont left
moritz I'm pretty sure --doc=Markdown uses Pod::To::Markdown under the hood 07:51
07:52 ravenousmoose joined, domidumont joined
tadzik back in my days whatever was passed to --doc ended up loading Pod::To::<that thing> :P 07:55
ufobat__ nadim_, mi6 does for example generate your readme.md from your pod. maybe thats going to help you 08:00
08:00 nadim_ left 08:01 ravenousmoose left 08:02 Manifest0 left 08:07 Manifest0 joined 08:10 dakkar joined 08:13 nadim_ joined
tyil not sure if I released that feature in assixt yet 08:16
08:18 pmurias joined
patrickb tadzik: Did you see my rakudobrew PR? 08:21
08:22 kensanata joined 08:23 dolmen joined
tholyghos . 08:24
08:25 tholyghos is now known as holyghost
holyghost . 08:26
tadzik patrickb: oh, not yet :)
will take a look
08:31 dolmen_ joined 08:32 Manifest0 left 08:33 dolmen left 08:38 ravenousmoose joined, Manifest0 joined 08:39 abraxxa joined 08:40 abraxxa left, cpan-p6 left, abraxxa joined 08:41 cpan-p6 joined, cpan-p6 left, cpan-p6 joined 08:46 Manifest0 left 08:49 dolmen_ is now known as dolmen 08:51 Manifest0 joined 08:53 scimon joined
nadim_ lgs 08:56
08:58 ravenousmoose left 09:02 gregf_ joined 09:07 Manifest0 left 09:09 ravenousmoose joined 09:11 nadim_ left 09:13 Manifest0 joined 09:20 Manifest0 left 09:21 ravenousmoose left 09:22 ravenousmoose joined 09:26 Manifest0 joined
lizmat weekly: perl6.eu/niven-ladder.html 09:27
notable6 lizmat, Noted!
09:33 Manifest0 left, domidumont left 09:37 Manifest0 joined 09:42 Manifest0 left
El_Che lo 09:44
09:47 Manifest0 joined
dolmen m: use JSON::Fast; say to-json {}, :pretty; 10:05
camelia ===SORRY!===
Could not find JSON::Fast at line 1 in:
inst#/home/camelia/.perl6
inst#/home/camelia/rakudo-m-inst-1/share/perl6/site
inst#/home/camelia/rakudo-m-inst-1/share/perl6/vendor
inst#/home/camelia/rakudo-m-inst-1/share…
10:09 Manifest0 left
dolmen I'm surprised that JSON::Fast formats an empty hash with an empty line between the brackets. 10:10
perl6 -e 'use JSON::Fast; say to-json {}, :pretty;'
10:11 jaldhar left 10:12 jaldhar joined 10:14 Manifest0 joined
tadzik wow that's a lot of rakudobrew PRs 10:15
Kaiepi m: role Foo { method !foo() { 1 } }; class Bar does Foo { method bar() { self!Foo::foo } }; say Bar.bar 10:16
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot call private method 'foo' on package Foo because it does not trust Bar
at <tmp>:1
------> 3 does Foo { method bar() { self!Foo::foo7⏏5 } }; say Bar.bar
expecting any of:
Kaiepi m: role Foo { method !foo() { 1 } }; class Bar is Foo { method bar() { self!Foo::foo } }; say Bar.bar 10:17
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot call private method 'foo' on package Foo because it does not trust Bar
at <tmp>:1
------> 3ar is Foo { method bar() { self!Foo::foo7⏏5 } }; say Bar.bar
expecting any of:
Kaiepi m: role Foo { method !foo() { 1 } }; class Bar is Foo { method bar() { self!foo } }; say Bar.bar
camelia 5===SORRY!5=== Error while compiling <tmp>
No such private method '!foo' for invocant of type 'Bar'
at <tmp>:1
------> 3 class Bar is Foo { method bar() { self!7⏏5foo } }; say Bar.bar
»
Kaiepi m: class Foo { method !foo() { 1 } }; class Bar is Foo { method bar() { self!foo } }; say Bar.bar 10:18
camelia 5===SORRY!5=== Error while compiling <tmp>
No such private method '!foo' for invocant of type 'Bar'
at <tmp>:1
------> 3 class Bar is Foo { method bar() { self!7⏏5foo } }; say Bar.bar
»
Kaiepi m: class Foo { method !foo() { 1 } }; class Bar is Foo { method bar() { self!Foo::foo } }; say Bar.bar
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot call private method 'foo' on package Foo because it does not trust Bar
at <tmp>:1
------> 3ar is Foo { method bar() { self!Foo::foo7⏏5 } }; say Bar.bar
expecting any of:
Kaiepi damn
i can't make access the private methods on the role that i want to without ending up with circular dependencies 10:19
could use augment but idk, i feel like i'm designing it badly if i need to use augment 10:20
jnthn If a subclass needs it, then it probably shouldn't be private in the first place 10:24
Kaiepi this is a role being used by a couple of classes
jnthn Oh, hang on...why are you doing `class Bar is Foo`, not `class Bar does Foo`? 10:27
10:28 sno left
jnthn Oh, you were using `does`...but then you didn't need to quality it in the first case? 10:28
10:34 Manifest0 left 10:40 Manifest0 joined 10:43 reach_satori_ left 10:47 dolmen left 10:49 Manifest0 left 10:54 Manifest0 joined 11:03 Manifest0 left 11:05 patrickb left 11:09 Manifest0 joined 11:13 antoniog1miz joined 11:16 Technaton left 11:19 Technaton joined, zakharyas left 11:27 Manifest0 left 11:28 vrurg left 11:31 Manifest0 joined 11:35 dolmen joined, dolmen is now known as Guest32825 11:37 Guest32825 left 11:42 sena_kun joined, aborazmeh joined, aborazmeh left, aborazmeh joined 11:47 Manifest0 left 11:48 dolmen_ joined 11:52 Manifest0 joined 11:54 aborazmeh left 12:00 Manifest0 left 12:06 Manifest0 joined 12:15 domidumont joined 12:17 Manifest0 left, aborazmeh joined, aborazmeh left, aborazmeh joined 12:18 aborazmeh left 12:20 patrickb joined 12:22 Manifest0 joined 12:28 antoniog1miz left 12:29 Manifest0 left 12:34 Manifest0 joined 12:43 Manifest0 left 12:49 Manifest0 joined 12:57 aborazmeh joined, aborazmeh left, aborazmeh joined 12:58 aborazmeh left, timeless left, peteretep left 12:59 roguelazer left, Manifest0 left, success joined, jhill_ joined, success is now known as Guest9223 13:00 skaji left, jhill left, sivoais left, Guest33742 left, jhill_ is now known as jhill, skaji_ joined, TeamBlast left, kini left 13:01 sivoais joined 13:02 timeless joined, Kaiepi left, zakharyas joined, Kaiepi joined 13:04 Manifest0 joined 13:05 TeamBlast joined 13:06 kini joined, roguelazer joined
dolmen_ What is the equivalent of perl 5's "perldoc -m" (dump the source corresponding to a package) 13:09
?
MasterDuke dolmen_: --doc 13:12
13:14 reach_satori_ joined, peteretep joined
tadzik --doc gives you the docs, not the source. I don't think -m has an equivalent 13:15
lizmat maybe an issue for this is in order :-) 13:17
MasterDuke oh yeah, i read that questions completely backwards 13:19
dolmen_ twitter.com/omengue/status/1127926468586156033 "I just wrote a #Perl6 grammar for the Netscape cookie jar file. So easy with #Perl6. So convenient for a simple HTTP API scripting need." 13:20
13:25 vrurg joined
moritz dolmen_: thanks, retweeted 13:25
cpan-p6 New module released to CPAN! LibCurl (0.8) by 03CTILMES 13:27
13:36 Manifest0 left 13:41 Manifest0 joined 13:42 skids joined 13:49 aborazmeh joined, aborazmeh left, aborazmeh joined 14:00 nadim_ joined 14:02 llfourn left 14:06 bakedb_ joined 14:07 llfourn joined 14:09 bakedb left 14:11 aborazmeh left, curan left 14:16 aborazmeh joined, aborazmeh left, aborazmeh joined
lizmat and another Perl 6 Weekly hits the Net: 2019.19 Infrastructure Pumpkings | Weekly changes in and around Perl 6 14:23
p6weekly.wordpress.com/2019/05/13/...pumpkings/
14:24 Manifest0 left 14:29 Manifest0 joined 14:32 ayerhart joined 14:48 pmurias left 14:49 Manifest0 left
nadim_ lizmat++ 14:52
14:56 Manifest0 joined 14:59 pmurias joined 15:01 gregf_ left 15:02 esh left 15:03 esh joined 15:04 kurahaupo left, kurahaupo_ joined 15:10 scimon left 15:20 pmurias left 15:21 Xliff joined 15:22 domidumont left 15:23 aborazmeh left 15:24 scimon joined 15:33 jmerelo joined
jmerelo squashable: status 15:36
squashable6 jmerelo, Next SQUASHathon in 17 days and ≈20 hours (2019-06-01 UTC-14⌁UTC+12). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
Xliff jmrelo: Did you have a think about extending the squashies a bit to encourage participation? 15:37
jmerelo: ^^
jmerelo Xliff: yep. It's just a matter of changing some stuff in the repo, I think.
You mean what you say about shifting hours up a bit, for instance, right?
Xliff Yes.
15:38 patrickb left
Xliff Less shifting, they can start when they normally start. More about extending the ending. 15:38
jmerelo Xliff: I'll try to do it now so that I don't forget.
Xliff Thanks!
jmerelo Xliff: let's say 6 hours later? 15:41
Xliff Sure! 15:42
jmerelo Xliff: I've changed the code, but I'm not sure where it's deployed. Let's see if it's the same place as the rest... 15:43
Xliff Can announce the winner the next day so you can sleep.
15:44 zakharyas left
jmerelo Xliff: the code in the deployment site is _not_ the same as in the repo. I hate it when that happens... 15:45
Xliff Ah. Yeah. I get that. 15:47
jmerelo releasable6: status
releasable6 jmerelo, Next release will happen when it's ready. GitHub is down. At least 0 blockers. 140 out of 317 commits logged (⚠ 2 warnings)
jmerelo, Details: gist.github.com/cb72dc6422f7ba2242...58c752ae48
jmerelo squashable6: status
squashable6 jmerelo, Next SQUASHathon in 17 days and ≈20 hours (2019-06-01 UTC-14⌁UTC+12). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jmerelo So it should be working now... 15:48
.tell AlexDaniel I did some change in Squashable on the site itself. I think I didn't break anything, but it wouldn't be a bad idea to check. 15:49
yoleaux jmerelo: I'll pass your message to AlexDaniel.
jmerelo thinks we really need to do something about the general infrastructure...
15:53 reach_satori_ left 15:57 johnjohn101 joined 16:09 molaf joined
El_Che lo 16:09
jmerelo El_Che: hi! 16:11
El_Che jmerelo: what do you mean by infra? Depend less on popular infra like github and travis, or less? 16:13
jmerelo El_Che: not that infra. The infrastructure where everything is deployed: download sites, websites, bots... 16:14
El_Che That's what I thought first, but I was confused by the bot's reply ("Gihub is down") 16:16
jmerelo El_Che: the bot is drunk
16:22 patrickb joined
El_Che jmerelo: I think that is part of a larger effort. The repositioning of Perl 6 (the association with Perl 5 is taking it nowhere) and the re-evaluation of the ambitions (there is only one compiler). But I am not re-opening that discussion ATM. 16:25
jmerelo El_Che: all that's good and well. The only thing I want is one-click deployment to infrastructure, should it fall for some reason. Barring that, source not modified in production. 16:26
El_Che well, I don't know. What the download pagina reflact is a lack of vision. It's confusing even for me. 3 projects, a zillion of options. 16:28
One click would be nice, idd
16:29 dakkar left
El_Che but I don't know how it would work with 3 main projects 16:29
jmerelo Well, that's another thing. There are a zillion projects out there, some of them haven't been touched for ages.
sena_kun thinks the main concern is that the builds are still not very accessible to users iirc, docs site needs a manual update, which is a no-no, and there is still no formal proposal on what to do with all of this and afaik no actions 16:30
jmerelo We clearly need more resources here...
sena_kun: there are some actions, but they are personal, one-shoot, and clearly not sustainable.
El_Che jmerelo: which may lead to burnout (cfr the doc work you've been doing) 16:31
jmerelo not to mention scalable. While we're keeping the community small we can pretty much manage on a volunteer basis. But if it triples in size...
El_Che: still not burned... I could have used funding by Google in the season of docs, that's for sure. 16:32
sena_kun jmerelo, well, a volunteer-based project as it is, but I am just excited to see steps toward a better infra. /me keeping a DO droplet is not really what I imagine to be a nice thing
16:32 scimon left
jmerelo sena_kun: it's definitely not. kudos for that anyway. 16:32
sena_kun: the problem with this is that we have realized that our configurations are not reproducible. We don't have an ansible, sparrowdo or Dockerfile to deploy everything easily. 16:33
16:34 kensanata left
jmerelo Anyway, not really complaining. For the time being I either know how to do something or know someone who does. Most people are a bit like that. But that's not sustainable or scalable... 16:35
sena_kun: maybe a BoF meeting at PerlCon? Are you attending? 16:36
sena_kun jmerelo, I do, but how to I read "BoF"?
jmerelo sena_kun: blowing a lot of air through your lips :-)
El_Che A BoF for BOFHs 16:37
jmerelo sena_kun: it's "Birds of Feather", as in "Birds of a feather flock together". Feather being concern about Perl 6 infra in this case, I guess.
sena_kun ah, I see. well, the asnwer is "maybe" depending on how things will be. I am very bad with planes, and have to present two talks(first time in my life attending an IT conf), after attending a workshop, so not sure how I'll feel about all that. Options such as "having a dead sleep at the hotel room" are not impossible. ;) 16:39
jmerelo sena_kun: good luck anyway. 16:40
sena_kun thanks!
by the way, my paper with "Perl 6" in title was accepted to a scientific conference. still have to present it and wait for publishing though. 16:41
jmerelo++ for helping with it. :) 16:42
jmerelo sena_kun: great! Which conference? My pleasure. Keep them coming :-)
sena_kun jmerelo, icteri.org/icteri-2019/ <-
jmerelo Good luck with the presentation :-) 16:43
sena_kun will do his best
El_Che jmerelo is a presentation ninja 16:44
jmerelo El_Che: :-)
16:47 nadim_ left 16:50 __jrjsmrtn__ joined, zacts joined 16:51 nadim_ joined 16:55 nadim joined
nadim m: dd (1...*) 16:55
camelia (1, 2, 3, 4, 5, 6, 7, 8, 9, 10... lazy list)
nadim m: class C { has $.list = (1...*) } ; dd C.new
camelia Cannot .elems a lazy list
in block <unit> at <tmp> line 1
16:55 nadim_ left
nadim Would the above be considered a bug in dd? 16:56
jmerelo nadim: well, dd is not exactly perl6, but rakudo. And what it says is strictly true, you can't elem a lazy list. 16:57
m: class C { has @.list = (1...*) } ; dd C.new 16:58
camelia Cannot .elems a lazy list
in block <unit> at <tmp> line 1
jmerelo m: class C { has @.list := (1...*) } ; dd C.new
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use := to initialize an attribute
at <tmp>:1
------> 3class C { has @.list := (1...*) 7⏏5} ; dd C.new
jmerelo m: class C { has @.list = (1..*) } ; dd C.new
camelia Cannot .elems a lazy list
in block <unit> at <tmp> line 1
jnthn Seems like dd could probably be a bit smarter, though
16:59 dolmen_ left
nadim m: dd (1...*) 16:59
camelia (1, 2, 3, 4, 5, 6, 7, 8, 9, 10... lazy list)
nadim Obviously it can
16:59 jmerelo left
nadim it's not just a warning, the execution of the program stops 17:00
17:00 robertle joined
nadim Who's the rakudo guy I need to bug about this? 17:01
AlexDaniel “+1 on everything above” – haha, not a good thing to write in a comment knowing that there might be some comments above your one pending review :D 17:02
yoleaux 15:49Z <jmerelo> AlexDaniel: I did some change in Squashable on the site itself. I think I didn't break anything, but it wouldn't be a bad idea to check.
jnthn nadim: github.com/rakudo/rakudo/issues 17:03
17:06 zacts left
AlexDaniel jnthn: I wrote a comment on github.com/perl6/problem-solving/issues/5 thinking that I'm assigned to it, please slap my face :D 17:07
anyway, it's an interesting ticket 17:08
well, interesting to me at least, as I believe that there are helpful things we can implement instead of just saying “people should do more work” or “people should do X instead of Y” 17:09
nadim github.com/rakudo/rakudo/issues/2892 17:11
AlexDaniel .tell jmerelo Hey, what if we take all tickets and cluster them based on something cool, like title similarity or something? Then instead of 1000 tickets or whatever we'll have just a bunch of topics with clustered tickets, maybe that'd make fixing things easier? Or maybe at least closing duplicates easier? Or something? 17:12
yoleaux AlexDaniel: I'll pass your message to jmerelo.
AlexDaniel .tell jmerelo colabti.org/irclogger/irclogger_lo...05-13#l544
yoleaux AlexDaniel: I'll pass your message to jmerelo.
17:21 ChoHag left, Manifest0 left 17:26 Manifest0 joined 17:29 zacts joined 17:39 sarna joined
sarna hi, I don't know if any library for highlighting on the web supports perl6, so I opened an issue in prismjs: 17:40
github.com/PrismJS/prism/issues/1888
thought you might be interested :) feel free to add anything I forgot about
sena_kun sarna++ 17:41
sarna, just out of curiosity, highlight.js is not cool in JS world anymore? 17:42
sarna sena_kun: I don't really know, I just saw a static site generator I use uses prism, so I opened an issue there
sena_kun ah, ok. 17:43
sarna I'd use pygments if I knew how to change it :) now that I see pygments supports p6
17:44 kurahaupo_ left 17:45 kurahaupo joined
nadim Apropo colors, what do you guys use in vim to get it correctly? 17:53
17:53 ChoHag joined
tadzik has his own colorscheme where almost everything is yellow 17:53
it works great :P
masak why yellow? 17:56
tadzik I like yellow :)
sarna nadim: github.com/vim-perl/vim-perl6 18:00
18:06 noisegul left 18:07 noisegul joined
noisegul Good evening everyone :) 18:07
18:08 netrino joined 18:09 vrurg left, cpan-p6 left 18:10 vrurg joined 18:11 cpan-p6 joined, cpan-p6 left, cpan-p6 joined, zacts left 18:12 sarna left 18:14 zacts joined 18:15 zacts left
sena_kun noisegul, o/ 18:17
18:19 pyrimidine joined
nadim evening 18:19
18:19 stanrifkin joined
stanrifkin is there an perl6doc? How do i get quick reference via console? 18:19
nadim good question! being able to run the perl6 doc server locally would be nice too. 18:20
timotimo first we'll have to do something so that it parses much faster 18:21
much, much faster
hai nadim btw
nadim timotimo: hej long time :) 18:22
18:22 sauvin left
timotimo did i mention that i just used DDT and it was good? 18:22
18:22 ChoHag left
nadim You said you used it not that it was good ;) 18:22
timotimo oh, OK!
MasterDuke stanrifkin: there is, don't remember its name exactly. i think it's part of the doc repo though, i.e., don't come by default when you install rakudo 18:23
timotimo i used the special methods to customize the output, too
tadzik p6doc :)
timotimo i think it'd be cool if i could also say "if possible, please display this in horizontal mode" or flat mode or what the name of that feature is
nadim timotimo: I'll push a new version a bit later, found a bug in how the filters are called 18:24
timotimo: it's always possible to display in flat mode
results may not be to your liking but it will flatten
timotimo but i have to configure it in the ddt call at the very top, though? 18:25
AFK
nadim it's also Muuuuch slower in flatmode
timotimo oh btw, maybe asciinema would be a great way to demo ddt and such
nadim it's crawling slow innormal mode but in :flat it's "go get a coffee, I am working on it" 18:26
stanrifkin i use rakudobrew on linux, can't find an option to install p6doc
nadim timotimo: you want a DDT that always flattens? what about subclassing? 18:27
timotimo: I did an asciinema demo for the perlreview but ascinema doesn't groak unicode! 18:28
so the glyphs of the tree were not showing
18:28 ChoHag joined
nadim timotimo: what are you rendering? 18:29
stanrifkin No console reference is a typical beginners barrier. For me at least. I even like C++ now since i found cppman.
nadim I am always curious to see what people are doing and if they are using filters
tadzik stanrifkin: you'll need to install it with zef which you can install using rakudobrew 18:30
stanrifkin tadzik: thank you
nadim stanrifkin: zef install p6doc
18:32 [Sno] joined
nadim hmm, am I wrong if I say that p6doc queries the web site? I base that on the modules being installed. is there a local doc? 18:33
tadzik I'm quite sure it's all local, but don't quote me on that 18:35
stanrifkin nadim: i am just installing it. due to the dependencies is seems to look up online websites.
noisegul p6doc uses local docs from which it builds an index for itself 18:36
nadim don't know what it does with the dependencies but it works without internet 18:37
opens the doc in vim ... kinky!
18:47 Manifest0 left 18:52 Manifest0 joined 18:53 netrino left 18:54 netrino joined 18:57 netrino_ joined, molaf left 18:58 netrino left
stanrifkin p6doc's speed could be improved. Can i look up operators like %%? something like perlop? 19:03
woolfy Two days ago, Liz and I set up the Perl booth at T-DOSE in Eindhoven, and samcv and tyil came to support us. It was a nice event. www.flickr.com/photos/wendyga/albu...8418071655 19:12
And we sold some Perl 6 wine and several Perl 6 books. Interestingly, the books went mostly to Python programmers who heard good things about Perl 6 and wanted to check it out and learn it. :-) 19:13
tyil thats good news :3
noisegul Thats cool :)
19:13 espadrine_ joined, Xliff_ joined
Xliff_ \o 19:13
moritz lizmat++ woolfy++ samcv++ tyil++ 19:14
Xliff_ moritz: What's up? New release?
moritz Xliff_: no, Perl booth at T-DOSE 19:16
Xliff_ Ah. I wish more big Perl conferences were in the US 19:17
woolfy Xliff_ : heh, well, T-DOSE is not a big Perl conference, it's not even big, and the only Perl about it was our booth, and a machine on the table of a Hackspace. :-) 19:18
19:21 Xliff_ left 19:26 a3r0 left 19:29 stanrifkin left 19:34 xinming left
nine class Country does SQL::Table['countries'] { has $.id; }; class Customer does SQL::Table['customers'] { has $.country is references(Country); }; sql(select(*, from(Customer.join('country')))).say 19:35
SELECT * FROM customers JOIN countries ON customers.country_id = countries.id
Writing this is far too much fun...
19:36 a3r0 joined 19:38 kaare_ joined 19:39 kaare__ left
nine What I like about it is that the AST is based on the actual SQL 2003 standard and that it can be used completely independently. The sugar for creating the AST is optional (and experimental) as is what looks like the object mapping part (but actually still isn't - it's just static classes) 19:42
19:42 pmurias joined 19:43 MilkmanDan left
timotimo nadim: it's an AST for a small language 19:43
nadim: i had to influence its rendering because nodes have a .type which for some types comes with a list of attributes that all have their own types :) 19:44
19:44 MilkmanDan joined
nadim did you use filter or type handlers for that? 19:44
timotimo haven't tried that; i used the ddt_blah methods on the objects themselves 19:45
get_header and get_elements i think?
nadim and do you have output examples with DDT, .gist, and dd?
timotimo one moment
nadim ah, we could consider those type handler, even if they are in the type directly 19:46
the best place to put them in fact, the rest is just piracy
19:47 jaldhar left, jaldhar joined
timotimo gist.github.com/timo/5138f17826720...e9a78d1e51 19:48
hmm, md rendered will not use colors inside of <font></font> tags :( 19:49
yeah, github flavoured markdown doesn't let us do that 19:51
i also have something in there to not show every node's @.children if they are empty
want output without the ddt methods, too? 19:52
i added another file with uncustomized output 19:53
nadim git markdown is weird, I have to take the output from pod2markdown and hunt the extra lines
yes please output without ddt 19:54
timotimo it's in the "excessive_typesystem_details.txt" file
nadim I see it now, yes it's nice with halved output 19:56
what does it look with .gist or dd?
timotimo that's also in the file 19:57
in the gist*
it's the lower file, lines 121 and 125
nadim hahah! OK, I didn't see the gigantic scrollbar 19:58
timotimo :D 19:59
20:08 ufobat_ joined 20:12 ufobat__ left 20:13 xinming joined 20:17 kylese joined 20:19 xinming left 20:22 pecastro joined
nadim timotimo: have a look at examples/match.pl the last lines dump without glyphs and with key/binder color cycling, it may give you a more redable output. 20:23
could you redirect the terminal output in a file so I get the color codes too? 20:24
20:26 kylese left
cpan-p6 New module released to CPAN! FindBin::Dirs (0.1.1) by 03LEMBARK 20:27
20:27 kylese joined 20:28 dolmen joined 20:30 kylese left 20:37 sena_kun left 20:46 antoniogamiz joined 20:53 molaf joined 20:54 Manifest0 left
timotimo nadim: gist.githubusercontent.com/timo/51..._codes.txt - does this work? 20:56
20:56 a3r0 left 21:02 a3r0 joined, Manifest0 joined 21:05 skids left
Kaiepi m: my (Promise $p1, Promise $p2) = Promise.new xx 2 ==> map { .keep or $_ }; say so all (($p1, $p2) ==> map { .status ~~ Kept }) 21:07
camelia True
Kaiepi is there a shorter way to check if a bunch of promise variables are kept?
specifically so all (($p1, $p2) ==> map { .status ~~ Kept }) 21:08
Xliff m: my (Promise $p1, Promise $p2) = Promise.new xx 2 ==> map { .keep or $_ }; say so ($p1, $p2).grep( *.status ~~ Kept ) 21:09
camelia Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block?
in block <unit> at <tmp> line 1
Xliff m: my (Promise $p1, Promise $p2) = Promise.new xx 2 ==> map { .keep or $_ }; say so ($p1, $p2).grep({ .status ~~ Kept })
camelia True
timotimo why not all($p1, $p2, $p3).status ~~ Kept, would that work?
m: my (Promise $p1, Promise $p2) = Promise.new xx 2 ==> map { .keep or $_ }; say so all($p1, $p2).status ~~ Kept 21:10
camelia True
Xliff m: my (Promise $p1, Promise $p2) = Promise.new xx 2 ==> map { .keep or $_ }; say so ($p1, $p2).status ~~ Kept
camelia No such method 'status' for invocant of type 'List'
in block <unit> at <tmp> line 1
timotimo oh btw
Xliff m: my (Promise $p1, Promise $p2) = Promise.new xx 2 ==> map { .keep or $_ }; say all($p1, $p2).status ~~ Kept
camelia True
timotimo m: my ($p1, $p2, $p3) = Promise.kept xx 3; say all($p1, $p2, $p3).status ~~ Kept
camelia True
timotimo m: my ($p1, $p2, $p3) = Promise.kept xx 3; $p2 = Promise.broken; say all($p1, $p2, $p3).status ~~ Kept
camelia False
Xliff timotimo++ 21:11
timotimo Promise.kept and Promise.broken are better than promise.nex map .keep/.break :)
21:13 johnjohn101 left
Kaiepi huh, i didn't know you could access attributes on junctions like that 21:15
nadim timotimo: yes it worked 21:18
21:25 molaf left
nadim timotimo: I see why you want :flat(0) 21:31
timotimo Kaiepi: method calls autothread through junctions just like subs and operators do 21:35
junctions are super cool. 21:37
21:38 ChoHag_ joined, ChoHag left 21:39 dolmen left 21:44 dolmen joined
patrickb Kaiepi: Some days ago you wrote something about having a mentor. I'm not sure, but I think the TPF grants don't usually come with a mentor. 21:45
Kaiepi they don't?
i thought coke mentioned they did 21:46
patrickb I might be wrong...
21:47 reach_satori_ joined
timotimo you get a grant manager who you keep up to date on progress and such 21:48
that's more of an administrative thing, though
patrickb I just thought I'd mention so you're not disappointed by wrong expectations.
That doesn't mean you'll not get help by simply asking. :-) 21:49
22:06 rindolf left 22:15 antoniogamiz left 22:25 mowcat joined 22:27 Manifest0 left, xinming joined 22:29 pmurias left 22:33 Manifest0 joined 22:34 dolmen left 22:42 Manifest0 left 22:47 patrickb left 22:48 Manifest0 joined 23:02 espadrine_ left 23:03 Manifest0 left 23:04 pecastro left, Sgeo left 23:05 Sgeo joined 23:08 Manifest0 joined 23:12 Manifest0 left 23:14 netrino_ left 23:17 Manifest0 joined 23:32 Manifest0 left 23:35 aborazmeh joined, aborazmeh left, aborazmeh joined 23:36 ChoHag_ left 23:38 Manifest0 joined
vrurg anybody with openbsd on his hands? 23:44
noisegul Yes
23:45 Manifest0 left
vrurg what make is the default? BSD? 23:45
SmokeMachine .tell sena_kun Cro::HTTP::Session::Red seems to be working... :) I just need some tests now...
yoleaux SmokeMachine: I'll pass your message to sena_kun.
noisegul vrurg: Yeah it's regular make, not gnu make, man.openbsd.org/make 23:46
vrurg noisegul: Thanks! I will assume all BSDs are using it by default. 23:47
Except for darwin, though. ;)
23:49 imcsk8 left 23:50 Manifest0 joined
noisegul vrurg: FreeBSD uses it's own make as well, openBSDs is the most basic to the extend that I use them, so it should work everywhere else, the other way around one has to be a bit more careful 23:50
vrurg: no problem
23:51 imcsk8 joined 23:56 Manifest0 left