»ö« 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:00 p6bannerbot sets mode: +v cognominal-p6 00:03 cognominal-p6 left, cognominal-p6 joined 00:04 p6bannerbot sets mode: +v cognominal-p6, pk_ left 00:11 HaraldJoerg left 00:17 [particle] joined, p6bannerbot sets mode: +v [particle] 00:19 [particle]1 left 00:21 [particle] left 00:23 cognominal-p6 left 00:37 [particle] joined 00:38 p6bannerbot sets mode: +v [particle] 00:53 [particle] left 00:56 [particle] joined, p6bannerbot sets mode: +v [particle] 00:59 [particle]1 joined, p6bannerbot sets mode: +v [particle]1 01:00 [particle] left 01:01 Ven` joined 01:02 p6bannerbot sets mode: +v Ven` 01:03 [particle]1 left 01:06 Ven` left 01:07 sftp left, AlexDaniel-old[m left, cgfbee left, sftp joined, AlexDaniel-old[m joined, cherryh.freenode.net sets mode: +vv sftp AlexDaniel-old[m, p6bannerbot sets mode: +v sftp, p6bannerbot sets mode: +v AlexDaniel-old[m 01:09 squashable6 left, committable6 left, cgfbee joined, committable6 joined, squashable6 joined, perlbot left, notable6 left, releasable6 left 01:10 notable6 joined, p6bannerbot sets mode: +v cgfbee, p6bannerbot sets mode: +v committable6, p6bannerbot sets mode: +v squashable6, greppable6 left, p6bannerbot sets mode: +v notable6 01:12 [particle] joined, p6bannerbot sets mode: +v [particle], perlbot joined, p6bannerbot sets mode: +v perlbot 01:16 fake_space_whale joined 01:17 p6bannerbot sets mode: +v fake_space_whale 01:31 |oLa|1 left 01:36 Sgeo left 01:38 markoong left
SmokeMachine hi! 01:40
is there a way to do it with set_build? 01:41
m: multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { class :: does Positional[Int] {}.new } }; say class :: { has Int @.a is bla }.new
camelia Type check failed in assignment to @!a; expected Int but got <anon|1> (<anon|1>.new)
in block <unit> at <tmp> line 1
01:46 wictory[m] left, CIAvash[m] left, ambs joined 01:47 dpk left, Celelibi joined, eater joined, dpk joined, p6bannerbot sets mode: +v ambs, p6bannerbot sets mode: +v eater, p6bannerbot sets mode: +v Celelibi, p6bannerbot sets mode: +v dpk 01:48 CIAvash[m] joined, p6bannerbot sets mode: +v CIAvash[m], wictory[m] joined, p6bannerbot sets mode: +v wictory[m], committable6 left, squashable6 left 01:49 notable6 left
SmokeMachine without the type it works... 01:49
m: class Bla does Positional[Int] {}; multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { Bla.new } }; say class :: { has @.a is bla }.new
camelia <anon|1>.new(a => [Bla.new])
01:49 kerframil left 01:50 undersightable6 left
lookatme_q m: multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { Array.new } }; say class :: { has Int @.a is bla }.new 01:56
camelia <anon|1>.new(a => Array[Int].new())
lookatme_q SmokeMachine, seems like it's a type mismatch error 01:57
SmokeMachine m: say class Bla does Positional[Int] {} ~~ Positional[Int] 01:58
camelia True
lookatme_q m: my @a; say @a ~~ Positional[Int] 01:59
camelia False
lookatme_q m: my @a; say @a.isa: Positional[Int]
camelia False
SmokeMachine m: say Array[Int] ~~ Positional[Int]
camelia True
SmokeMachine so looks its not using smartwatch...
lookatme_q m: my @a; say @a.does: Positional[Int]
camelia False
lookatme_q m: my Int @a; say @a.does: Positional[Int] 02:00
camelia True
SmokeMachine m: my Int @a; say @a.does: Positional[Int]
camelia True
lookatme_q m: my Int @a; say @a.does(role :: does Positional[Int] {})
camelia False
lookatme_q m: say Positional[Int].does(my @a) 02:01
camelia False
lookatme_q m: say Positional[Int].does(my Int @a)
camelia False
lookatme_q m: say Array[Int].does(my Int @a) 02:02
camelia True
lookatme_q m: say Array[Int].does(my @a)
camelia True
SmokeMachine hum!
I still don't get it... 02:04
lookatme_q yeah 02:05
but I think it is said `class Bla does Positional[Int]` is not a `@a, Int @a`
say (my @a).WHAT 02:06
evalable6 (Array)
lookatme_q m: say (my @a).WHAT
camelia (Array)
lookatme_q SmokeMachine, in default it is Array
That's the point, I think
SmokeMachine m: (my Int @a).^name 02:07
camelia ( no output )
SmokeMachine m: say (my Int @a).^name
camelia Array[Int]
SmokeMachine m: say (my Int @a) ~~ class Bla does Positional[Int] 02:08
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse class definition
at <tmp>:1
------> 3nt @a) ~~ class Bla does Positional[Int]7⏏5<EOL>
SmokeMachine m: say (my Int @a) ~~ class Bla does Positional[Int] {}
camelia False
02:08 Sgeo joined
SmokeMachine m: say (my Int @a) ~~ class Bla is Array[Int] {} 02:08
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot resolve caller trait_mod:<is>(Bla, Array, Array); none of these signatures match:
(Mu:U $child, Mu:U $parent)
(Mu:U $child, :$DEPRECATED!)
(Mu:U $type, :$rw!)
(Mu:U $type,…
lookatme_q m: say (my Int @a) ~~ (class Bla is Array[Int] {}) 02:09
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot resolve caller trait_mod:<is>(Bla, Array, Array); none of these signatures match:
(Mu:U $child, Mu:U $parent)
(Mu:U $child, :$DEPRECATED!)
(Mu:U $type, :$rw!)
(Mu:U $type,…
02:09 p6bannerbot sets mode: +v Sgeo
lookatme_q m: say (my Int @a) ~~ (class Bla is Array {}) 02:09
camelia False
lookatme_q m: say (class Bla is Array {}) ~~ (my Int @a)
camelia True
SmokeMachine m: say (my Int @a) ~~ (class Bla is Array { method of { Int }}) 02:10
camelia False
lookatme_q I think you reverse them
SmokeMachine m: say (class Bla is Array { method of { Int }}) ~~ (my Int @a)
camelia True
lookatme_q If you want assign something to @a, that thing should be a @a
m: say (class Bla is Array {}).isa: (my Int @a) 02:11
camelia False
lookatme_q m: say (class Bla is Array {}).does: (my Int @a)
camelia False
SmokeMachine m: class Bla does Positional[Int] {}; multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { Bla.new } }; say class :: { has @.a is bla }.new
camelia <anon|1>.new(a => [Bla.new])
SmokeMachine m: class Bla does Positional[Int] {}; multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { Bla.new } }; say class :: { has Int @.a is bla }.new
camelia Type check failed in assignment to @!a; expected Int but got Bla (Bla.new)
in block <unit> at <tmp> line 1
SmokeMachine m: class Bla does Positional[Int] {}; multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { my Int @a } }; say class :: { has Bla $.a is bla }.new 02:12
camelia Type check failed in assignment to $!a; expected Bla but got Array[Int] (Array[Int].new())
in block <unit> at <tmp> line 1
lookatme_q m: class Bla does Positional[Int] {}; multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { Bla.new } }; say class :: { has Array[Int] $.a is bla }.new
camelia Type check failed in assignment to $!a; expected Array[Int] but got Bla (Bla.new)
in block <unit> at <tmp> line 1
SmokeMachine not working either...
lookatme_q m: class Bla does Positional[Int] {}; my Bla $.a = (my Int @x); 02:15
camelia Potential difficulties:
Useless generation of accessor method in mainline
at <tmp>:1
------> 3ass Bla does Positional[Int] {}; my Bla 7⏏5$.a = (my Int @x);
Type check failed in assignment to $.a; expected Bla but got Array[In…
lookatme_q m: class Bla does Positional[Int] {}; my Bla $a = (my Int @x);
camelia Type check failed in assignment to $a; expected Bla but got Array[Int] (Array[Int].new())
in block <unit> at <tmp> line 1
SmokeMachine m: class Bla does Positional[Int] {}; my Bla $a := (my Int @x);
camelia Type check failed in binding; expected Bla but got Array[Int] (Array[Int].new())
in block <unit> at <tmp> line 1
lookatme_q m: class Bla does Positional[Int] {}; my Bla $a := (my Int @x);
camelia Type check failed in binding; expected Bla but got Array[Int] (Array[Int].new())
in block <unit> at <tmp> line 1
SmokeMachine m: class Bla does Positional[Int] {}; my Int @a := Bla.new; 02:16
camelia ( no output )
SmokeMachine that looks a bug for me... 02:17
m: class Bla does Positional[Int] {}; say class :: { has Int @.a = Bla.new }.new 02:18
camelia Type check failed in assignment to @!a; expected Int but got Bla (Bla.new)
in block <unit> at <tmp> line 1
SmokeMachine m: class Bla does Positional[Int] {}; say class :: { has Int @.a := Bla.new }.new
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use := to initialize an attribute
at <tmp>:1
------> 3; say class :: { has Int @.a := Bla.new 7⏏5}.new
02:27 angelds joined 02:28 p6bannerbot sets mode: +v angelds, CIAvash[m] left, jast left, Garland_g[m] left, mirlur[m] left, john_parr left, mtj_ left, musca left, wmoxam_ left, KotH left, ilmari_ left, lance_w[m] left, riatre left, jnthn left, BinGOs left, telex left, p6bannerbot left, benchable6 left, bisectable6 left, coverable6 left, bloatable6 left, quotable6 left, b2gills left, m0ltar left, dustinm` left, synopsebot_ left, Geth left, p6lert_ left, dalek left, aeruder left, nine left, ZofBot left 02:30 greppable6 joined, releasable6 joined, statisfiable6 joined, CIAvash[m] joined, jast joined, Garland_g[m] joined, mirlur[m] joined, cherryh.freenode.net sets mode: +vvvv CIAvash[m] jast Garland_g[m] mirlur[m], john_parr joined, mtj_ joined, musca joined, wmoxam_ joined, cherryh.freenode.net sets mode: +vvvv john_parr mtj_ musca wmoxam_, KotH joined, ilmari_ joined, lance_w[m] joined, riatre joined, cherryh.freenode.net sets mode: +vvvv KotH ilmari_ lance_w[m] riatre, jnthn joined, BinGOs joined, telex joined, p6bannerbot joined, cherryh.freenode.net sets mode: +vvvo jnthn BinGOs telex p6bannerbot, coverable6 joined, bisectable6 joined, benchable6 joined, bloatable6 joined, cherryh.freenode.net sets mode: +vvvv coverable6 bisectable6 benchable6 bloatable6, quotable6 joined, b2gills joined, m0ltar joined, dustinm` joined, cherryh.freenode.net sets mode: +vvvv quotable6 b2gills m0ltar dustinm`, synopsebot_ joined, Geth joined, p6lert_ joined, dalek joined, cherryh.freenode.net sets mode: +vvvv synopsebot_ Geth p6lert_ dalek, aeruder joined, nine joined, ZofBot joined, cherryh.freenode.net sets mode: +vvv aeruder nine ZofBot, ChanServ sets mode: +vvv greppable6 releasable6 statisfiable6 02:31 p6bannerbot left, p6bannerbot joined, kent\n left, timotimo left, xinming left, samcv left, El_Che left, ingy left, sergot_ left, [Coke] left, andrzejku left, andrewalker left, Util left, tyil left, dylanwh left, tardisx left, cpage left, dogbert17 left, ribasushi left, eiro left, breinbaas left, a3f left, nebuchadnezzar left, DrForr left, xi- left, Mithaldu left, stux|RC left 02:32 TreyHarris left, Summertime left, charsbar left, hobbified left, protium left, agentzh left, camelia left, eythian left, mniip left, Voldenet left, tinita left, xiaomiao left, bhm left, awwaiid left, MilkmanDan left, robertle left, samebcha1e left, webstrand left, ponbiki left, eiro joined, DrForr_ joined, El_Che joined, tyil joined, ingy joined, Util joined, nebuchadnezzar joined, bhm joined, samebchase joined, raydiak_ joined, dogbert17 joined, tardisx joined, eythian joined, charsbar joined, awwaiid joined, MilkmanDan joined, ponbiki joined, hobbs joined, stux|RC joined, dylanwh joined, Mithaldu joined, breinbaas joined, sergot joined, [Coke] joined, xiaomiao joined, Voldenet joined, andrzejku joined, robertle joined, tinita joined, TreyHarris joined, tyil left, tyil joined, MilkmanDan left, MilkmanDan joined, timotimo joined, cpage joined 02:33 camelia joined 02:34 mniip joined, agentzh joined, ribasushi joined 02:35 eythian is now known as Guest34349 02:36 Guest34349 left, Guest34349 joined 02:37 xinming joined 02:38 xiaomiao left, xiaomiao joined 02:39 [Coke] left, [Coke] joined 02:43 ChanServ sets mode: +v camelia, agentzh left, agentzh joined, hobbs left, hobbs joined 02:44 Voldenet left, Voldenet joined 02:46 samcv joined 02:47 undersightable6 joined, squashable6 joined, samcv left, samcv joined 02:49 a3f joined 02:50 kent\n joined 02:51 protium joined 02:53 webstrand joined 02:55 xi- joined 02:57 Sgeo left 02:58 andrewalker joined 03:01 Ven` joined 03:03 Sgeo joined 03:05 cgfbee left, spycrab0 left, wbn left, caa51h left, AlexDaniel left, tobs left, erdic left, yubimusubi left, jdv79 left, jeek_ left, Khisanth left, BuildTheRobots left, lgtaube left, robinsmidsrod left, avalenn left, esh left, obfusk left, kanbas left, alpha6 left, dpk left, eater left, [particle] left, japhb left, abraxxa left, mempko left, spacedbat left 03:06 x[LGWs4x4i]uG2N0 left, Actualeyes left, ellipsis left, sacomo left, petercommand left, mingdao left, cgfbee joined, spycrab0 joined, wbn joined, caa51h joined, cherryh.freenode.net sets mode: +vvvv cgfbee spycrab0 wbn caa51h, AlexDaniel joined, tobs joined, erdic joined, jeek_ joined, cherryh.freenode.net sets mode: +vvvv AlexDaniel tobs erdic jeek_, jdv79 joined, yubimusubi joined, Khisanth joined, BuildTheRobots joined, cherryh.freenode.net sets mode: +vvvv jdv79 yubimusubi Khisanth BuildTheRobots, lgtaube joined, robinsmidsrod joined, avalenn joined, esh joined, cherryh.freenode.net sets mode: +vvvv lgtaube robinsmidsrod avalenn esh, obfusk joined, kanbas joined, alpha6 joined, cherryh.freenode.net sets mode: +vvv obfusk kanbas alpha6, Ven` left 03:07 cgfbee left 03:08 dpk joined, eater joined, [particle] joined, japhb joined, cherryh.freenode.net sets mode: +vvvv dpk eater [particle] japhb, abraxxa joined, mempko joined, spacedbat joined, x[LGWs4x4i]uG2N0 joined, cherryh.freenode.net sets mode: +vvvv abraxxa mempko spacedbat x[LGWs4x4i]uG2N0, Actualeyes joined, ellipsis joined, sacomo joined, petercommand joined, cherryh.freenode.net sets mode: +vvvv Actualeyes ellipsis sacomo petercommand, mingdao joined, cherryh.freenode.net sets mode: +v mingdao, angelds left 03:09 cgfbee joined 03:10 SCHAPiE left, angelds joined 03:13 AlexDaniel left, AlexDaniel joined, sinisalo.freenode.net sets mode: +v AlexDaniel, ChanServ sets mode: +o p6bannerbot 03:15 ChanServ sets mode: +vvvv angelds cgfbee eiro DrForr_, ChanServ sets mode: +vvvv El_Che tyil ingy Util, ChanServ sets mode: +vvvv nebuchadnezzar bhm samebchase raydiak_, ChanServ sets mode: +vvvv dogbert17 tardisx Guest34349 charsbar, ChanServ sets mode: +vvvv awwaiid MilkmanDan ponbiki hobbs, ChanServ sets mode: +vvvv stux|RC dylanwh Mithaldu breinbaas, ChanServ sets mode: +vvvv sergot [Coke] xiaomiao Voldenet, ChanServ sets mode: +vvvv andrzejku robertle tinita TreyHarris, ChanServ sets mode: +vvvv timotimo cpage mniip agentzh, ChanServ sets mode: +vvvv ribasushi xinming samcv undersightable6, ChanServ sets mode: +vvvv squashable6 a3f kent\n protium, ChanServ sets mode: +vvvv webstrand xi- andrewalker Sgeo 03:16 SCHAPiE joined, p6bannerbot sets mode: +v SCHAPiE, Summertime joined, p6bannerbot sets mode: +v Summertime 03:17 Summertime left, Summertime joined, p6bannerbot sets mode: +v Summertime 03:19 cognominal-p6 joined, cognominal-p6 left, cognominal-p6 joined 03:20 p6bannerbot sets mode: +v cognominal-p6 03:43 cognominal-p6 left
SmokeMachine m: class Bla is Array does Positional[Int] {}; multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { my Int @a } }; say class :: { has Bla $.a is bla }.new 03:48
camelia Type check failed in assignment to $!a; expected Bla but got Array[Int] (Array[Int].new())
in block <unit> at <tmp> line 1
SmokeMachine m: class Bla is Array does Positional[Int] {}; multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { Bla.new } }; say class :: { has Int @.a is bla }.new 03:50
camelia <anon|1>.new(a => Array[Int].new())
SmokeMachine \o/
03:51 Sgeo_ joined, Sgeo left, p6bannerbot sets mode: +v Sgeo_
SmokeMachine m: class Bla is Array does Positional[Int] {has $.b = 42}; multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { Bla.new } }; say class :: { has Int @.a is bla }.new.a.b 03:52
camelia No such method 'b' for invocant of type 'Array[Int]'
in block <unit> at <tmp> line 1
SmokeMachine :(
it converts to Array... :(
buggable New CPAN upload: Template-Anti-0.5.0.tar.gz by HANENKAMP modules.perl6.org/dist/Template::An...:HANENKAMP
New CPAN upload: Template-Anti-0.5.1.tar.gz by HANENKAMP modules.perl6.org/dist/Template::An...:HANENKAMP 04:02
04:31 breinbaas left 04:34 breinbaas joined, p6bannerbot sets mode: +v breinbaas 04:40 Guest34349 left 04:44 angelds left 04:46 Sgeo__ joined 04:47 p6bannerbot sets mode: +v Sgeo__ 04:49 Sgeo_ left 04:51 Sgeo joined, angelds joined 04:52 p6bannerbot sets mode: +v Sgeo, Sgeo__ left, p6bannerbot sets mode: +v angelds 04:53 curan joined, p6bannerbot sets mode: +v curan 04:54 eythian joined, eythian left, eythian joined, p6bannerbot sets mode: +v eythian 04:55 p6bannerbot sets mode: +v eythian 05:02 Ven` joined 05:03 p6bannerbot sets mode: +v Ven` 05:07 Ven` left 05:16 vrurg left 05:21 sauvin joined, p6bannerbot sets mode: +v sauvin 05:22 committable6 joined 05:23 p6bannerbot sets mode: +v committable6 05:28 vrurg joined 05:29 p6bannerbot sets mode: +v vrurg 05:36 fake_space_whale left 05:38 ckraniak joined, p6bannerbot sets mode: +v ckraniak 05:43 ufobat joined 05:44 p6bannerbot sets mode: +v ufobat 05:45 DataComputist joined 05:47 DataComputist left 05:51 rfold joined 05:52 p6bannerbot sets mode: +v rfold 05:53 fake_space_whale joined, p6bannerbot sets mode: +v fake_space_whale 05:54 pharv joined 05:55 p6bannerbot sets mode: +v pharv 06:00 ckraniak left 06:22 fake_space_whale left 06:23 rfold left 06:24 vrurg left
xinming m: subset X of Str where { /^My/ }; ("My" ~~ X).perl.say; 06:26
camelia Bool::False
xinming m: subset X of Str where { $_ ~~ /^My/ }; ("My" ~~ X).perl.say;
camelia Bool::True
xinming understand now, need the m/^My/; 06:27
06:39 cognominal-p6 joined 06:40 p6bannerbot sets mode: +v cognominal-p6 06:42 downn joined, p6bannerbot sets mode: +v downn 06:46 downn left 06:48 stmuk_ joined 06:49 p6bannerbot sets mode: +v stmuk_ 06:50 stmuk left
buggable New CPAN upload: Term-Choose-1.4.4.tar.gz by KUERBIS cpan.metacpan.org/authors/id/K/KU/...4.4.tar.gz 06:52
06:53 cognominal-p6 left, cognominal-p6 joined 06:54 p6bannerbot sets mode: +v cognominal-p6
buggable New CPAN upload: Term-Choose-Util-1.1.2.tar.gz by KUERBIS cpan.metacpan.org/authors/id/K/KU/...1.2.tar.gz 07:02
07:02 Ven` joined 07:03 p6bannerbot sets mode: +v Ven`, cognominal-p6 left 07:05 epony joined, p6bannerbot sets mode: +v epony 07:07 Ven` left
tobs m: subset X of Str where /^My/; ("My" ~~ X).perl.say; 07:10
camelia Bool::True
07:13 Sgeo left 07:17 Sgeo joined, p6bannerbot sets mode: +v Sgeo 07:21 a3f left, a3f joined, tolkien.freenode.net sets mode: +v a3f, p6bannerbot sets mode: +v a3f
buggable New CPAN upload: Term-TablePrint-1.3.1.tar.gz by KUERBIS cpan.metacpan.org/authors/id/K/KU/...3.1.tar.gz 07:22
07:26 lizmat joined, p6bannerbot sets mode: +v lizmat 07:31 abraxxa left 07:32 abraxxa joined 07:33 p6bannerbot sets mode: +v abraxxa 07:36 lizmat left, saki joined, saki left 07:40 rindolf joined 07:41 p6bannerbot sets mode: +v rindolf 07:42 scimon joined 07:43 p6bannerbot sets mode: +v scimon 07:54 zakharyas joined 07:55 p6bannerbot sets mode: +v zakharyas 07:58 saki joined 07:59 p6bannerbot sets mode: +v saki 08:07 Guest23430 left 08:15 epony left 08:19 inbioz joined 08:20 p6bannerbot sets mode: +v inbioz 08:31 epony joined, p6bannerbot sets mode: +v epony 09:03 Ven` joined 09:04 p6bannerbot sets mode: +v Ven` 09:07 Ven` left, inbioz left
tobs there is no operator category for something of this form, right? circumfix-with-separator [*|*] 09:13
09:13 sena_kun joined 09:14 p6bannerbot sets mode: +v sena_kun
jnthn tobs: No, you'd do it as a circumfix and an infix 09:20
tobs jnthn: thanks. I should probably choose some unicode other than | for the separator anyway 09:22
09:23 inbioz joined, p6bannerbot sets mode: +v inbioz 09:31 zakharyas1 joined, p6bannerbot sets mode: +v zakharyas1 09:32 zakharyas2 joined 09:33 p6bannerbot sets mode: +v zakharyas2 09:34 zakharyas left 09:35 zakharyas1 left
scimon So I need a simple backend that can server static pages and do some basic JWT decoding... I'm sure I can think of something. 09:38
timotimo cro all the things
jnthn `get -> 'base', *@path { static 'static-files', @path } 09:40
Well, that was easy :P
AlexDaniel cro++ 09:43
jnthn That reminds me, I need to write my Cro talk for SPW... 09:44
09:45 Ven` joined 09:46 p6bannerbot sets mode: +v Ven` 09:47 Ven` left, Ven` joined 09:48 p6bannerbot sets mode: +v Ven` 09:50 zakharyas2 left 09:55 inbioz_ joined, inbioz left 09:56 zakharyas joined, p6bannerbot sets mode: +v inbioz_, p6bannerbot sets mode: +v zakharyas 09:59 cognominal-p6 joined 10:00 p6bannerbot sets mode: +v cognominal-p6 10:01 cognominal-p6 left, cognominal-p6 joined 10:02 p6bannerbot sets mode: +v cognominal-p6 10:09 lizmat joined 10:10 p6bannerbot sets mode: +v lizmat
lizmat waves from Cairnryan 10:14
yoleaux 23 Aug 2018 23:33Z <TimToady> lizmat: I didn't see any fix. The .. operator is currently specced to translate to ... when iterated, and ... is operating as designed. We could make .. behave differently, but then we might break any current code that relies on '000000' .. '177777' to generate all the octals.
23 Aug 2018 23:34Z <TimToady> lizmat: so any such change would have to be for 6.d
10:14 Ven` left
lizmat .tell TimToady fwiw, I was surprised by the behaviour. And I haven't been able to see any documentation or tests for it :-( 10:19
yoleaux lizmat: I'll pass your message to TimToady.
lizmat .tell changing the "AAS" .. "ABS" (Range) behaviour, did not set off any spectests
yoleaux lizmat: I'll pass your message to changing.
lizmat .tell TimToady changing the "AAS" .. "ABS" (Range) behaviour, did not set off any spectests 10:21
yoleaux lizmat: I'll pass your message to TimToady.
10:22 cognominal-p6 left 10:24 zakharyas left, saki left, zakharyas joined 10:25 p6bannerbot sets mode: +v zakharyas
stmuk_ damm I'm missing SPW due to a new job :/ 10:32
hopefully there will be video 10:33
10:43 xiaomiao left, xiaomiao joined, p6bannerbot sets mode: +v xiaomiao 10:55 a3r0 left 10:56 a3r0 joined 10:57 p6bannerbot sets mode: +v a3r0
a3r0 cpan is under spam attack ?? 10:58
11:04 araraloren joined, zakharyas left, zakharyas joined 11:05 p6bannerbot sets mode: +v araraloren, p6bannerbot sets mode: +v zakharyas 11:31 markoong joined 11:32 p6bannerbot sets mode: +v markoong 11:33 zakharyas left 11:37 Ven` joined, p6bannerbot sets mode: +v Ven` 11:55 inbioz_ left
scimon My word. Cro all the things? Funny you should mention that ;) 11:57
12:10 saki joined, saki left 12:15 AlexDani` joined, p6bannerbot sets mode: +v AlexDani` 12:19 AlexDaniel left 12:21 leastbit joined 12:22 p6bannerbot sets mode: +v leastbit 12:32 Ven` left 12:36 leastbit left 12:39 saki joined 12:40 inbioz joined, p6bannerbot sets mode: +v saki, p6bannerbot sets mode: +v inbioz 12:48 angelds left 12:53 lizmat left
scimon Simon deploy Cro app into QA environment. Wonders if people will notice. 12:54
12:58 Ven` joined, abraxxa left 12:59 p6bannerbot sets mode: +v Ven` 13:02 obfusk left 13:03 obfusk joined 13:04 p6bannerbot sets mode: +v obfusk, araraloren left 13:05 araraloren joined 13:06 p6bannerbot sets mode: +v araraloren 13:09 curan left 13:18 zakharyas joined, p6bannerbot sets mode: +v zakharyas 13:29 pharv_ joined, pharv left 13:30 p6bannerbot sets mode: +v pharv_ 13:36 diakopter joined, p6bannerbot sets mode: +v diakopter 13:43 kerframil joined, p6bannerbot sets mode: +v kerframil, MilkmanDan left 13:59 MilkmanDan joined, p6bannerbot sets mode: +v MilkmanDan 14:06 zakharyas left 14:07 zakharyas joined 14:08 p6bannerbot sets mode: +v zakharyas 14:18 Kaiepi joined 14:19 p6bannerbot sets mode: +v Kaiepi 14:20 pharv_ left 14:24 uzl joined, p6bannerbot sets mode: +v uzl
uzl m: class A { has $.name; submethod TWEAK() { $!name = 'class A' } }; class B is A { }; say B.new().name(); 14:25
camelia class A
uzl I'm quite confused here. I thought submethods couldn't be inherited by child classes. 14:28
TimToady it isn't, but attribute accessors are
yoleaux 10:19Z <lizmat> TimToady: fwiw, I was surprised by the behaviour. And I haven't been able to see any documentation or tests for it :-(
10:21Z <lizmat> TimToady: changing the "AAS" .. "ABS" (Range) behaviour, did not set off any spectests
TimToady building B entails building A, which sets the attribute, which the .name accessor can get to 14:29
m: class A { has $!name; submethod TWEAK() { $!name = 'class A' } }; class B is A { }; say B.new().name();
camelia No such method 'name' for invocant of type 'B'. Did you mean any of these?
none
note
take

in block <unit> at <tmp> line 1
jnthn Or if the surprise is that the submethod is called, it's because BUILDALL calls the BUILD and TWEAK submethods all the way down the class hierarchy 14:30
That's why to write initialization logic there: it'll still be run reliably even if there's a subclass 14:31
TimToady and the submethod is used there instead of a method because submethods only apply infrastructural changes at the one level the submethod knows about, and not at any other level, which would happen if you accidentally used 'method' instead 14:34
14:34 skids joined
TimToady m: class A { has $!name; method TWEAK() { $!name = 'class A' } }; class B is A { }; say B.new().name(); 14:34
camelia No such method 'name' for invocant of type 'B'. Did you mean any of these?
none
note
take

in block <unit> at <tmp> line 1
TimToady m: class A { has $.name; method TWEAK() { $!name = 'class A' } }; class B is A { }; say B.new().name(); 14:35
camelia class A
TimToady hmm, that should probably fail better
14:35 p6bannerbot sets mode: +v skids
TimToady it looks like the initializer is assuming TWEAK is a submethod, when it isn't 14:36
jnthn The fail there was just because you declared $!name, not $.name, no? 14:37
TimToady no, the last one should fail, methinks
jnthn It just does a lookup and calls what it finds at that level, whether or not it's inherited. 14:38
TimToady it's acting like a submethod because of its name, seemingly, not because of a 'submethod' decl
why didn't it fail when called from B then?
since the attr is private?
jnthn Why would it fail? There's a method TWEAK visible from B
TimToady B shouldn't be able to set $!name 14:39
jnthn It can't
TimToady then why didn't it blow up?
jnthn It just does B.^lookup('TWEAK') and since the TWEAK in A is visible from there it finds it
TimToady I guess cause it's defined in the same class... 14:40
jnthn Right
It's just normal inheritance semantics
TimToady but we're calling it twice instead of once, which is suboptimal, I guess
jnthn S12, iirc, even says that you *can* write a normal method, you just better know what you're doing. I'm not actually sure how you would write one that is sensible, mind :)
TimToady well, it'd have to smart about 6model and stuff 14:41
jnthn Yeah, but it's not clear that it knows what "level" it's being called on
Or can find that out
Since `self` is of the type of the object we're constructing
TimToady maybe we should just have a (suppressible) warning if you define a BUILD/TWEAK as a method
jnthn That'd work for me. I've only ever done it by accident :) 14:42
TimToady method TWEAK is intentional-darn-it (...) {...}
uzl "TimToady: building B entails building A, which sets the attribute, which the .name accessor can get to". Oh, that makes sense. I didn't even think about that. 14:45
I'm just getting the rope of it so my bad if my question is kind of basic/naive. :) 14:46
Thanks for being so helpful!
TimToady no problem, took us years to detangle all this at the start :)
and we didn't even quite get BUILD right, which is why there's now a TWEAK :) 14:47
diakopter TWEAKers 14:52
14:53 Sgeo_ joined 14:54 p6bannerbot sets mode: +v Sgeo_, pmurias joined 14:55 p6bannerbot sets mode: +v pmurias, Sgeo left 14:59 sacomo left 15:01 sacomo joined, p6bannerbot sets mode: +v sacomo
pmurias what should VM.osname return in the browser? 'browser'? 15:03
gfldex pmurias: either the real OS name or "unknown" 15:04
or Any :)
15:04 zakharyas left 15:06 zakharyas joined
gfldex what leaves the question what VM.osname would be correct for a Ubuntu container in a Debian VM on a Windows host 15:06
15:06 leastbit joined, leastbit left, p6bannerbot sets mode: +v zakharyas
pmurias gfldex: would the osname be taken from the innermost os? 15:08
TimToady probably from the nearest thing that thinks of itself as an OS 15:09
15:09 scimon left 15:10 sacomo left
gfldex pmurias: That could be wrong. If runtime behaviour depends on the container, the container would be correct. If you could market-share/install-base or other such nonsense, any single answer would be wrong. 15:10
TimToady a browser might be more like a DISTRO if you squint 15:11
gfldex s/could/count/
TimToady it's getting to be we need a full pedigree of wrappers... 15:12
15:13 saki left
gfldex Luckily we got a .wrap method. :) 15:13
TimToady confusing the matter is two entirely different levels calling themselves VMs
15:14 scimon joined
TimToady there's the M, then the VM, then the VVM, then the VVVM... 15:14
benjikun lol
15:14 sacomo joined, p6bannerbot sets mode: +v scimon 15:15 p6bannerbot sets mode: +v sacomo 15:16 fake_space_whale joined 15:17 p6bannerbot sets mode: +v fake_space_whale 15:18 uzl left, uzl joined, pharv joined 15:19 p6bannerbot sets mode: +v uzl, p6bannerbot sets mode: +v pharv, kerframil left 15:20 scimon left
benjikun A crazy convoluted world we're living in 15:21
TimToady I should probably point out that P6's $*VM is intended only to reflect reality at the JVM/MoarVM level, not the emulated-hardware level 15:31
15:31 zakharyas left
TimToady one could imagine trying to reflect the whole stack recursively, but to the extent these emulations are successful, you shouldn't really be able to see outside of them anyway 15:33
15:54 webstrand left 15:56 ChoHag joined 15:57 p6bannerbot sets mode: +v ChoHag 16:08 Ven` left 16:12 sena_kun left
araraloren m: class A { has $.name; submethod TWEAK() { $!name = 'class A' } }; class B is A { submethod TWEAK() { "in B".say; }; }; say B.new().name(); 16:13
camelia in B
class A
araraloren m: role A { has $.name; submethod TWEAK() { $!name = 'role A' } }; class B does A { submethod TWEAK() { "in B".say; }; }; say B.new().name(); 16:14
camelia in B
(Any)
araraloren m: role A { has $.name; submethod TWEAK() { $!name = 'role A' } }; class B does A { }; say B.new().name();
camelia role A
16:14 webstrand joined 16:15 p6bannerbot sets mode: +v webstrand 16:16 ChoHag left 16:17 kane joined, kane is now known as kawaii-five-o 16:18 p6bannerbot sets mode: +v kawaii-five-o, kawaii-five-o left 16:19 kane joined 16:20 kane left 16:28 rfold joined 16:29 p6bannerbot sets mode: +v rfold
Geth ecosystem: samcv++ created pull request #407:
Add Git::Log module
16:29
16:32 sarna joined, p6bannerbot sets mode: +v sarna
sarna hey, how can I match only the first letters of words using a regex? I've been trying for quite some time now but I can't get it right :^( 16:32
timotimo so you want to express something like "the letters xyz and then any amount of any word letters"? 16:33
sarna no, something like "an example sentence" -> matches 'a', 'e' and 's' 16:34
16:35 inbioz left
benjikun m: say 'asdf apple american' ~~ /[(\w)\w+' ']+/; 16:35
camelia 「asdf apple 」
0 => 「a」
0 => 「a」
benjikun whoops, only matches with the space
timotimo how about using the % operator here?
seems like a perfect situation
alternatively, use comb 16:36
especially if you're only interested in the string anyway
m: say "asdf beetle cellophane diogenes".comb(/«(\w)\w+»/)
camelia (asdf beetle cellophane diogenes)
benjikun true, `%` seems good
timotimo oops wrong one
benjikun if you want regex, that is
timotimo m: say "asdf beetle cellophane diogenes".comb(/« <( \w )> \w+ »/)
camelia (a b c d)
sarna very nice, thanks :^) 16:37
avuserow m: say "foo bar qux".comb: /<|w>(\w)/;
camelia (f b q)
timotimo <( and )> let you get only a part of the matched stuff even in a comb, without having to use <?after> and <?before>
that's also good
ah, especially since my regex up there won't match any words with only a single letter
would have to be a * rather than a +
avuserow <|w> is a word boundary, like \b in p5 and some other engines 16:38
sarna that explains many things
jnthn m: say 'a nice sentence ~~ m:g/<< \w/
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in single quotes; couldn't find final "'" (corresponding starter was at line 1)
at <tmp>:1
------> 3say 'a nice sentence ~~ m:g/<< \w/7⏏5<EOL>
expecting any of…
jnthn m: say 'a nice sentence' ~~ m:g/<< \w/
camelia (「a」 「n」 「s」)
tbrowder_ is anyone working on a module to ease writing native call apps from api headers?
samcv my first new module in a long time! github.com/samcv/perl6-Git-Log 16:40
16:41 sarna left
benjikun sarna: I doubt you need any more ideas, but you could also use split lol 16:42
m: say $_.substr(^1) for 'hello there'.split(' ')
camelia h
t
benjikun or `.words` 16:45
16:50 Ven` joined, p6bannerbot sets mode: +v Ven` 16:53 rfold left 16:59 rfold joined 17:00 p6bannerbot sets mode: +v rfold 17:11 rfold left 17:17 rfold joined 17:18 p6bannerbot sets mode: +v rfold, _uzl joined 17:19 uzl left, p6bannerbot sets mode: +v _uzl 17:21 itaipu left 17:22 itaipu joined 17:23 p6bannerbot sets mode: +v itaipu
Geth doc: 2859389709 | (JJ Merelo)++ | doc/Language/terms.pod6
Fixes anchors and reflows
17:24
synopsebot_ Link: doc.perl6.org/language/terms
tyil weekly: www.tyil.nl/post/2018/08/23/the-pe...n-glasgow/ 17:27
no notable? :o
17:28 rfold left 17:51 rfold joined, smonff joined, p6bannerbot sets mode: +v smonff 17:52 p6bannerbot sets mode: +v rfold
Ulti tbrowder_: have you seen github.com/Skarsnik/gptrixie 17:53
not exactly a great name for discoverability... 17:54
17:55 pharv left, pharv joined 17:56 p6bannerbot sets mode: +v pharv
SmokeMachine m: class Bla is Array does Positional[Int] {}; multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { Bla.new } }; say class :: { has Int @.a is bla }.new.^name # should Bla be converted to Array[Int]? 18:12
camelia <anon|1>
SmokeMachine m: class Bla is Array does Positional[Int] {}; multi trait_mod:<is>(Attribute $attr, Bool :$bla!) { $attr.set_build: -> | { Bla.new } }; say class :: { has Int @.a is bla }.new.a.^name # should Bla be converted to Array[Int]? 18:13
camelia Array[Int]
SmokeMachine shouldn't it be Black?
shouldn't it be Bla?
18:23 ChoHag joined 18:24 p6bannerbot sets mode: +v ChoHag 18:26 sauvin left 18:30 Ven` left 18:43 Ven` joined 18:44 p6bannerbot sets mode: +v Ven` 18:45 kerframil joined, p6bannerbot sets mode: +v kerframil 18:50 imcsk8_ left 18:52 Ven`` joined, Ven` left 18:53 p6bannerbot sets mode: +v Ven`` 19:01 pharv left 19:02 pharv joined, pharv left 19:03 pharv joined 19:04 p6bannerbot sets mode: +v pharv, imcsk8 joined, pharv left, pharv_ joined
tbrowder_ Ulti: thnx! i have seen it but forgot about it. you’re right—name is forgettable, unfortunately 19:04
19:04 p6bannerbot sets mode: +v imcsk8 19:05 p6bannerbot sets mode: +v pharv_, pharv_ left 19:06 pharv joined 19:07 p6bannerbot sets mode: +v pharv, pharv left, pharv_ joined 19:08 pharv_ left, pharv joined 19:09 _uzl left, TreyHarris left, p6bannerbot sets mode: +v pharv, pharv left, pharv_ joined 19:10 Ven`` left, p6bannerbot sets mode: +v pharv_
Ulti tbrowder_: I have to search for it each and every time :( 19:11
19:12 pharv_ left, pharv joined 19:13 p6bannerbot sets mode: +v pharv 19:14 pharv left, imcsk8 left 19:15 pharv joined 19:16 p6bannerbot sets mode: +v pharv 19:22 TreyHarris joined, p6bannerbot sets mode: +v TreyHarris 19:25 sotona joined
tbrowder_ it needs to be forked, given a new name, and made into a module and app 19:25
for cpan6 19:26
with good tags
19:26 p6bannerbot sets mode: +v sotona 19:30 imcsk8 joined, p6bannerbot sets mode: +v imcsk8
Geth ecosystem: dabaf12ff6 | (Samantha McVey)++ | META.list
Add Git::Log module
19:41
ecosystem: cf3e682a56 | (Samantha McVey)++ (committed using GitHub Web editor) | META.list
Merge pull request #407 from samcv/Git-Log

Add Git::Log module
19:43 HaraldJoerg joined 19:44 stmuk joined, p6bannerbot sets mode: +v HaraldJoerg, p6bannerbot sets mode: +v stmuk 19:46 stmuk_ left 20:01 tailgate joined, p6bannerbot sets mode: +v tailgate 20:04 pharv left, pharv joined 20:05 p6bannerbot sets mode: +v pharv, pharv left, pharv joined 20:06 p6bannerbot sets mode: +v pharv
stmuk releasable6: status 20:07
releasable6 stmuk, Next release will happen when it's ready. 0 blockers. 480 out of 480 commits logged
samcv uploaded my first module to cpan 20:49
timotimo today i walked past someone in a YAPC Europe shirt and didn't think quickly enough to say "i see perl people" to him 20:50
20:51 MilkmanDan left 20:52 MilkmanDan joined, p6bannerbot sets mode: +v MilkmanDan
buggable New CPAN upload: Git-Log-0.1.1.tar.gz by SAMCV modules.perl6.org/dist/Git::Log:cpan:SAMCV 20:52
21:04 skids left
tbrowder_ Ulti: has the gptrixie app worked pretty well for you? 21:11
21:12 rindolf left
tbrowder_ i would like to see a p6 version of pango, like p5, but that’s a lot of xs/api funcs to work with by hand. 21:13
timotimo in theory you could generate bindings from the gobject introspection thingie 21:14
i've looked into it briefly and ... i think it was very hard to find any documentation for someone who wants to build something with it?
i don't remember clearly; it's been a couple of years
21:18 rindolf joined
tbrowder_ read too fast, it’s already a module in ecosystem 21:18
21:19 p6bannerbot sets mode: +v rindolf
timotimo oh, OK! 21:21
maybe it needs a little input, still
21:26 DarthGandalf left 21:27 DarthGandalf joined, p6bannerbot sets mode: +v DarthGandalf 21:29 AlexDani` is now known as AlexDaniel 21:35 Kaiepi left 21:36 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi 21:45 DarthGandalf left 21:47 rfold left, DarthGandalf joined, p6bannerbot sets mode: +v DarthGandalf 21:48 ChoHag left 21:55 rindolf left 22:06 Ven`` joined, p6bannerbot sets mode: +v Ven`` 22:10 Ven`` left 22:13 kerframil left 22:18 kerframil joined, p6bannerbot sets mode: +v kerframil 22:33 diakopter left 22:35 vrurg joined 22:36 p6bannerbot sets mode: +v vrurg 22:39 irco joined 22:40 p6bannerbot sets mode: +v irco 22:52 HaraldJoerg left 22:54 pmurias left 22:56 dalek left 23:00 ChoHag joined, p6bannerbot sets mode: +v ChoHag 23:17 smonff left 23:20 Ven`` joined, p6bannerbot sets mode: +v Ven`` 23:22 Cool_Fire13 joined 23:29 Cool_Fire13 left 23:35 sotona left 23:39 ChoHag left 23:50 sotona joined 23:51 p6bannerbot sets mode: +v sotona, tejr joined, p6bannerbot sets mode: +v tejr 23:55 sotona left 23:57 pharv left 23:58 Ven` joined, p6bannerbot sets mode: +v Ven` 23:59 ChoHag joined, markoong left, markoong joined