»ö« 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:05 pecastro left 00:06 w_richard_w joined 00:08 cpan-p6 left, cpan-p6 joined 00:12 clarkema left 00:23 cpan-p6 left, cpan-p6 joined 00:40 Guest79752 joined 00:59 cpan-p6 left, cpan-p6 joined 01:13 cpan-p6 left, cpan-p6 joined 01:15 markoong left
cpan-p6 New module released to CPAN! OO-Plugin (v0.0.6) by 03VRURG 01:31
01:32 w_richard_w left 01:36 cpan-p6 left, cpan-p6 joined 01:39 ferreira1 joined 01:40 ferreira left 01:50 cpan-p6 left, cpan-p6 joined 01:58 mowcat left 02:04 ferreira1 left, cpan-p6 left, cpan-p6 joined 02:18 cpan-p6 left, cpan-p6 joined 02:46 w17t left
cpan-p6 New module released to CPAN! Cro-RPC-JSON (v0.0.5) by 03VRURG 02:47
Xliff m: my $a = 'aa'; sub a ($t = $a) { $t.say }; a($) 03:00
camelia (Any)
03:03 cpan-p6 left, cpan-p6 joined 03:10 petercommand left 03:18 cpan-p6 left, cpan-p6 joined 03:32 cpan-p6 left, cpan-p6 joined 03:36 Cabanossi left, ayerhart joined
Geth doc: 46a35e16fa | cfa++ | 2 files
Lowercase dictionary files (addresses #2626).
03:38
doc: 36d0dbce6b | cfa++ | 2 files
Sort and dedup lowercased dictionary files (closes #2626).
guifa Is there an easy way merge a Str and a Hash? Basically, $foo = ‘bar’ but Associative; but also include the implementation without the need for a coercion method? For example, if you say $foo = ‘bar’ but {a=>1, b=>2}, you have to say $foo.Hash<a>. I’d like a method to return a Str (and one that’ll pass a signature check that’s not Str() ), but it’s also include some secondary results that are best accessed as a hash 03:41
03:45 dotdotdot left 03:46 vrurg left, cpan-p6 left, cpan-p6 joined 03:47 Cabanossi joined 03:48 vrurg joined
guifa hrm, looks ugly but it’ll work, and can always throw it into a sub 03:55
p6: $a = "Hello" but (Associative,role :: {my %h = (morning=>"Good morning",night=>"Good Evening"); method AT-KEY($k) {return %h{$k}}; method EXISTS-KEY($k) {return ?%h{$k}}; method SET(%x) {%h=%x}}); say ($a, $a<morning>, $a<night>).join(', ')
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$a' is not declared
at <tmp>:1
------> 3<BOL>7⏏5$a = "Hello" but (Associative,role :: {m
guifa p6: my $a = "Hello" but (Associative,role :: {my %h = (morning=>"Good morning",night=>"Good Evening"); method AT-KEY($k) {return %h{$k}}; method EXISTS-KEY($k) {return ?%h{$k}}; method SET(%x) {%h=%x}}); say ($a, $a<morning>, $a<night>).join(', ')
camelia Hello, Good morning, Good Evening
guifa It’s type though still gives it an anonymous role, but I don’t see an obvious way to define those methods as the ones that are strictly for implementing Associative (maybe there’s an Associative :: { …} syntax I’m missing or something)? 03:58
lookatme_q m: my $s = "bar" but (%{ a => 1, b => 2 }, role { method AT-KEY(|c) { self.Hash.AT-KEY(|c) } }); say $s.<a> 03:59
camelia 1
lookatme_q This is the way I thought :)
04:00 cpan-p6 left, cpan-p6 joined
guifa Ooh, I like 04:01
lookatme_q guifa, why you need this ?
04:02 dotdotdot joined
guifa I’m porting Mozilla’s Fluent framework. It’s a localization framework that, for some semi-logical reasons allows you to return “extra” localized strings alongw ith the primary 04:02
It’s more due to its origins as L20n, where it had more ties to the DOM (the idea was you could return the string, but it’d autopopulate localized values for other HTML element properties) 04:03
98% of uses would be to just grab a single string (for which returning a Str is appropriate), but for those other 2%, I think having the Hash-style accessor is more elegant
Actually what’s nice about yours is instead of %{ … } there at the beginning, I can actually just pass in a hash 04:06
sub mergeStrHash ($s, %h) { $s but (%h, role { method AT-KEY(|c) {self.Hash.AT-KEY(|c)}});} 04:08
lookatme_q++++
04:09 oodani left 04:10 oodani joined
lookatme_q oh, I see 04:12
don't forget the EXISTS-KEY method 04:13
04:14 cpan-p6 left, cpan-p6 joined
Xliff sub mergeStrHash ($s, %h) { $s but (%h, role { method AT-KEY(|c) {self.Hash.AT-KEY(|c)} } ); }; mergeStrHash("Hello", (german => "Guten Tag", japanese => "Konnichi-wa").gist.say 04:20
m: sub mergeStrHash ($s, %h) { $s but (%h, role { method AT-KEY(|c) {self.Hash.AT-KEY(|c)} } ); }; mergeStrHash("Hello", (german => "Guten Tag", japanese => "Konnichi-wa").gist.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3ag", japanese => "Konnichi-wa").gist.say7⏏5<EOL>
Xliff m: sub mergeStrHash ($s, %h) { $s but (%h, role { method AT-KEY(|c) {self.Hash.AT-KEY(|c)} } ); }; mergeStrHash("Hello", (german => "Guten Tag", japanese => "Konnichi-wa")).gist.say
camelia Type check failed in binding to parameter '%h'; expected Associative but got List ($(:german("Guten Tag"...)
in sub mergeStrHash at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: sub mergeStrHash ($s, %h) { $s but (%h, role { method AT-KEY(|c) {self.Hash.AT-KEY(|c)} } ); }; mergeStrHash("Hello", %(german => "Guten Tag", japanese => "Konnichi-wa")).gist.say
camelia Hello
Xliff m: sub mergeStrHash ($s, %h) { $s but (%h, role { method AT-KEY(|c) {self.Hash.AT-KEY(|c)} } ); }; my $sh = mergeStrHash("Hello", %(german => "Guten Tag", japanese => "Konnichi-wa")); $sh.gist.say $sh<japanese>.say 04:21
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3apanese => "Konnichi-wa")); $sh.gist.say7⏏5 $sh<japanese>.say
expecting any of:
infix
infix stopper
statement end
Xliff m: sub mergeStrHash ($s, %h) { $s but (%h, role { method AT-KEY(|c) {self.Hash.AT-KEY(|c)} } ); }; my $sh = mergeStrHash("Hello", %(german => "Guten Tag", japanese => "Konnichi-wa")); $sh.gist.say; $sh<japanese>.say
camelia Hello
Konnichi-wa
Xliff \o/
m: sub mergeStrHash ($s, %h) { $s but (%h, role { method AT-KEY(|c) {self.Hash.AT-KEY(|c)} } ); }; my $sh = mergeStrHash("Hello", %(german => "Guten Tag", japanese => "Konnichi-wa")); $sh.gist.say; $sh<german>.say
camelia Hello
Guten Tag
Xliff m: my $s but %h; $s = "Hello", $s<hi> = "Hi"; $s.gist.say 04:23
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '%h' is not declared
at <tmp>:1
------> 3my $s but 7⏏5%h; $s = "Hello", $s<hi> = "Hi"; $s.gist
Xliff m: my $s but (%h); $s = "Hello", $s<hi> = "Hi"; $s.gist.say 04:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '%h' is not declared
at <tmp>:1
------> 3my $s but (7⏏5%h); $s = "Hello", $s<hi> = "Hi"; $s.gis
Xliff How does self.Hash refer to %h?
guifa The %h is a passed in value, which by virtue of being a Hash, is what’s returned when coerced to Hash 04:25
so self.Hash returns %h
Xliff So why not mix-in a hash that does AT-KEY, EXISTS-KEY and keys via delegation? 04:26
s/a hash/a role/
that way it's as simple as 'my $s = "String" but Role' 04:27
Don't mind me. Just musing and wandered in here and found something cool! :)P
s/P//
guifa Hmm, I haven’t done anything with delegation before, what would that look like? $s but %h handles (AT-KEY => AT-KEY)? 04:30
04:30 dotdotdot left
Xliff m: role HasLocal { has %!h handles <AT-KEY EXISTS-KEY keys>; }; my $s = "Hello" but HasLocal; $s<japanese> = "Konnichi-wa!"; $s.gist.say; $s.say; $s<japanese>.say 04:31
camelia Hello
Hello
Konnichi-wa!
Xliff m: role HasLocal { has %!h handles <AT-KEY EXISTS-KEY keys>; }; my $s = "Hello" but HasLocal; $s<japanese> = "Konnichi-wa!"; $s.gist.say; $s.say; $s<japanese>.say $s.keys.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3"; $s.gist.say; $s.say; $s<japanese>.say7⏏5 $s.keys.say
expecting any of:
infix
infix stopper
statement end
Xliff m: role HasLocal { has %!h handles <AT-KEY EXISTS-KEY keys>; }; my $s = "Hello" but HasLocal; $s<japanese> = "Konnichi-wa!"; $s.gist.say; $s.say; $s<japanese>.say; $s.keys.say
camelia Hello
Hello
Konnichi-wa!
(japanese)
Xliff m: role HasLocal { has %!h handles <AT-KEY EXISTS-KEY keys>; }; my $s = "Hello" but HasLocal; $s<japanese> = "Konnichi-wa!"; $s.gist.say; $s.say; $s<japanese>.say; $s.keys.say; say $s.WHAT; $s.^name.say 04:32
camelia Hello
Hello
Konnichi-wa!
(japanese)
(Str+{HasLocal})
Str+{HasLocal}
guifa Ooh, that’s a nice solution too 04:34
04:35 Cabanossi left
guifa loves how is workable, but long, solution got gofled twice in <30 min 04:36
Although Xliff, yours wouldn’t really allow for a prepopulated hash, so it couldn’t be made effectively RO like lookatme_q’s, right? (doesn’t matter in my case, just curious) 04:38
Xliff No. In that case, you'd want to use lookatme_q's version. However mine has the benefit of being detectable via ~~ 04:39
Let's see. Was just thinking about hybrids....
guifa lookatme_q’s can’t smartmatch a Hash, but it can detect Associative just by adding that in 04:41
Xliff m: role HasLocal { has %!h = (japanese => "DUR") handles <AT-KEY EXISTS-KEY keys>; }; my $s = "Hello" but HasLocal; $s.keys.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3HasLocal { has %!h = (japanese => "DUR")7⏏5 handles <AT-KEY EXISTS-KEY keys>; }; my
expecting any of:
infix
infix stopper
Xliff m: role HasLocal { has %!h handles <AT-KEY EXISTS-KEY keys> = (japanese => "DUR"); }; my $s = "Hello" but HasLocal; $s.keys.say
camelia (japanese)
guifa p6: my %b = (a=>1,b=>2); my $s = "bar" but (%b, Associative, role { method AT-KEY(|c) { self.Hash.AT-KEY(|c) } }); $s ~~ Associative
camelia ( no output )
guifa my %b = (a=>1,b=>2); my $s = "bar" but (%b, Associative, role { method AT-KEY(|c) { self.Hash.AT-KEY(|c) } }); say $s ~~ Associative 04:42
evalable6 True
Xliff m: role HasLocal { has %!h handles <AT-KEY EXISTS-KEY keys> = (japanese => "DUR"); }; my $s = "Hello" but HasLocal; say $s ~~ HasLocal; say $s ~~ Associative; say $s ~~ Str;
camelia True
False
True
04:42 Cabanossi joined
guifa role HasLocal { has %!h handles <AT-KEY EXISTS-KEY keys> = (japanese => "DUR"); }; my $s = "Hello" but (Associative,HasLocal); say $s ~~ HasLocal; say $s ~~ Associative; say $s ~~ Str; 04:43
Xliff m: role HasLocal { has %!h handles <AT-KEY EXISTS-KEY keys> = (japanese => "DUR"); }; $s<japanese>.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$s' is not declared
at <tmp>:1
------> 3STS-KEY keys> = (japanese => "DUR"); }; 7⏏5$s<japanese>.say
evalable6 True
True
True
Xliff m: role HasLocal { has %!h handles <AT-KEY EXISTS-KEY keys> = (japanese => "DUR"); }; my $s = "Hello" but HasLocal; say $s<japanese>;
camelia DUR
Xliff guifa: So yes, it can be preloaded, but that would mean the initialization would be backwards. You'd have to load your translations before you set the string. 04:44
It would also mean MONKEY-TYPING, coz Eval.
But that's not quite true, it would NEED to be anonymous. Damn 04:45
guifa So there are definitely reasons for both methods. That’s cool, I’m going to document both in my source, and maybe some day it’ll be worth a little blog post
Xliff Redefinition of symbols and all.
But that's only if you MUST have pre-definition. If you can do post-definition, that method will work well. 04:46
guifa But I have to say, the fact that P6 allows for the elegance of treating something as simultaneously scalar and associative (and, I suppose, nothing preventing doing positonal) with the associated syntax niceties is pretty cool 04:48
Xliff Yes. :) 04:49
This was fun. Now I must finish this episode of Umbrella Academy before my cat decides to eat the surge protector. :p
guifa :P
Xliff I love this cat, but she loves to play with wires. Scares the shit out of me. 04:50
guifa Sounds like my cousin’s bunny
She has wire protectors encasing every single wire in the house
04:59 cpan-p6 left 05:00 cpan-p6 joined, dotdotdot joined 05:11 zacts joined 05:13 w17t joined 05:15 cpan-p6 left, cpan-p6 joined 05:23 Ven`` joined 05:28 Ven`` left 05:29 cpan-p6 left, cpan-p6 joined
Xliff m: say 2 ~~ 0..1 05:35
camelia False
Xliff m: say 2 ~~ 0..3
camelia True
05:43 cpan-p6 left, cpan-p6 joined 05:47 snarkyboojum joined 05:51 curan joined 05:54 jmerelo joined 06:07 zacts left, cpan-p6 left 06:08 cpan-p6 joined 06:11 robertle left 06:18 ufobat joined
Geth doc: 3196803243 | (JJ Merelo)++ | 2 files
Improves squish refs #1731
06:19
06:22 cpan-p6 left, cpan-p6 joined
SmokeMachine m: role StrHash { has %.Hash handles <AT-KEY> }; my $a = “hello” but StrHash(%(portuguese => “ola”)); say $a<portuguese> 06:23
camelia ola
SmokeMachine m: role StrHash { has %.Hash{<portuguese japanese english>} handles <AT-KEY> }; my $a = “hello” but StrHash(%(portuguese => “ola”)); say $a<portuguese> 06:26
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid hash shape; type expected
at <tmp>:1
------> 3ese japanese english>} handles <AT-KEY> 7⏏5}; my $a = “hello” but StrHash(%(portugu
expecting any of:
constraint
Geth perl6-most-wanted: 1632a0bf44 | (Vadim Konovalov)++ (committed using GitHub Web editor) | 3 files
Merge pull request #1 from perl6/master

merge to vadrer/perl6-most-wanted
06:30
perl6-most-wanted: f4dbb94748 | U-CORP\konovv++ | most-wanted/bindings.md
tcl url (WIP)
perl6-most-wanted: 5d6bc9b456 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | most-wanted/bindings.md
Merge pull request #43 from vadrer/master

tcl module;
perl6-most-wanted: 63369f3b3f | (JJ Merelo)++ | 2 files
Let's leave this for modules
06:35
perl6-most-wanted: 4ad4ab454e | (JJ Merelo)++ | 2 files
Not the place to request new features either
06:36
06:36 cpan-p6 left 06:37 cpan-p6 joined 06:47 zacts joined
Geth perl6-most-wanted: b69015e98f | (JJ Merelo)++ | 2 files
Done some cleaning of work-not-in-progress or done
06:50
perl6-most-wanted: 65c6953eb2 | (JJ Merelo)++ | most-wanted/modules.md
Adds request
06:50 cpan-p6 left 06:51 cpan-p6 joined
Geth perl6-most-wanted: 72ad6f427e | (JJ Merelo)++ | README.md
Cleans readme
06:57
07:03 dominix_ joined 07:04 cpan-p6 left 07:05 cpan-p6 joined 07:06 dominix__ left
Xliff m: ('A' + 1).say 07:06
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5A' (indicated by ⏏)
in block <unit> at <tmp> line 1
Xliff m: ("A" + 1).say
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5A' (indicated by ⏏)
in block <unit> at <tmp> line 1
Xliff m: chr('A'.ord + 1).say 07:08
camelia B
Xliff m: 'AA'.succ
camelia ( no output )
Xliff m: 'AA'.succ.say
camelia AB
07:09 zacts left, zacts joined
Xliff m: my $count = 74; my $base = 'A' x ($count div 26); $base.succ for ^($count % 26); $base.say; 07:10
camelia AA
Xliff m: my $count = 74; my $base = 'A' x ($count div 26); $base.succ for ^($count mod 26); $base.say;
camelia AA
Xliff m: say 74 % 26
camelia 22
Xliff m: my $count = 74; my $base = 'A' x ($count div 26); $base .= succ for ^($count % 26); $base.say; 07:11
camelia AW
Xliff m: my $count = 374; my $base = 'A' x ($count div 26); $base .= succ for ^($count % 26); $base.say;
camelia AAAAAAAAAAAAAK
Xliff m: my $count = 374; my $base = 'A' x $count.log(26); $base .= succ for ^($count % 26); $base.say; 07:12
camelia K
Xliff m: my $count = 374; my $base = 'A' x $count.log(26).ceiling; $base .= succ for ^($count % 26); $base.say; 07:14
camelia AK
07:16 ravenousmoose joined 07:18 cpan-p6 left 07:19 cpan-p6 joined 07:21 sena_kun joined
Xliff m: my $count = 374; my $n = $count.log(26).ceiling; $base = 'A' x $n; $c = $count; for ^($n - 1) { my $s = $n > 1 ?? $c / 26.pow($_) $c % 26; ; $base.substr-rw($_, 1).succ for $s.floor }; $base.say 07:21
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$base' is not declared
at <tmp>:1
------> 3 = 374; my $n = $count.log(26).ceiling; 7⏏5$base = 'A' x $n; $c = $count; for ^($n
Xliff m: my $count = 374; my $n = $count.log(26).ceiling; my $base = 'A' x $n; $c = $count; for ^($n - 1) { my $s = $n > 1 ?? $c / 26.pow($_) $c % 26; ; $base.substr-rw($_, 1).succ for $s.floor }; $base.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$c' is not declared
at <tmp>:1
------> 3t.log(26).ceiling; my $base = 'A' x $n; 7⏏5$c = $count; for ^($n - 1) { my $s = $n
Xliff m: my $count = 374; my $n = $count.log(26).ceiling; my $base = 'A' x $n; my $c = $count; for ^($n - 1) { my $s = $n > 1 ?? $c / 26.pow($_) $c % 26; ; $base.substr-rw($_, 1).succ for $s.floor }; $base.say 07:22
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3- 1) { my $s = $n > 1 ?? $c / 26.pow($_)7⏏5 $c % 26; ; $base.substr-rw($_, 1).succ
expecting any of:
infix
infix stopper
07:22 rindolf joined
Xliff m: my @a = ('A', 'B', *.succ); @a[374].say 07:30
camelia (Any)
Xliff m: my @a = ('A', 'B', 'C", *.succ); @a[374].say
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
------> 3a = ('A', 'B', 'C", *.succ); @a[374].say7⏏5<EOL>
expecting …
Xliff m: my @a = ('A', 'B', 'C', *.succ); @a[374].say
camelia (Any)
Xliff m: my @a = ('A', 'B', *.succ ...); @a[374].say 07:31
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing required term after infix
at <tmp>:1
------> 3my @a = ('A', 'B', *.succ ...7⏏5); @a[374].say
expecting any of:
prefix
term
Xliff m: my @a = ('A', 'B', *.succ, Inf); @a[374].say
camelia (Any)
Xliff m: my @a = ('A', 'B', *.succ ... *); @a[374].say 07:32
camelia NK
Xliff m: my @a = ('A', 'B', *.succ ... *); @a[374].say; @a[1234].say
camelia NK
AUM
SmokeMachine m: my $a = “aa”; say $a++ for ^10 07:34
camelia aa
ab
ac
ad
ae
af
ag
ah
ai
aj
07:34 cpan-p6 left, cpan-p6 joined
Xliff my $a = 'a'; say $a + 374; 07:34
m: my $a = 'a'; say $a + 374;
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏)
in block <unit> at <tmp> line 1
SmokeMachine m: say “a” .. *
camelia "a"..Inf
Xliff I didn't want to loop for X amount of times. :P 07:35
SmokeMachine m: put “a” .. *
camelia a..*
Xliff Even though that's what I am doing with...
m: my @a = ('A', 'B', *.succ ... *); @a[374].say; @a[1234].say
camelia NK
AUM
Xliff m: put 'a'…'zz'
camelia a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn c…
Xliff m: my @a = ('A', 'B', *.succ ... *); @a[374].say; @a[65535].say 07:36
camelia NK
CRXP
SmokeMachine But you are looping... it needs to iterate every index to find the next one...
(I think)
Xliff I know. I just didn't want to write the loop. :P
SmokeMachine :)
Xliff I can take expansion.
:)
SmokeMachine m: my @a = “a” .. *; say @a[321] 07:37
camelia lj
07:37 jmerelo left
SmokeMachine (Please, wish me good look, I’m about to start my first work day on my new job in UK... :) ) 07:39
moritz SmokeMachine: good luck with your new job! 07:41
I'm sure you'll be doing great
SmokeMachine moritz: thank you! I hope so! :)
07:47 cpan-p6 left, cpan-p6 joined 07:51 tyil left, tyil joined 08:01 cpan-p6 left, cpan-p6 joined 08:05 kurahaupo left, kurahaupo joined, kurahaupo left 08:08 kurahaupo joined, abraxxa joined 08:09 zakharyas joined 08:10 kurahaupo_ joined 08:13 kurahaupo left 08:15 cpan-p6 left, cpan-p6 joined 08:31 cpan-p6 left, cpan-p6 joined 08:34 zacts left 08:47 cpan-p6 left, cpan-p6 joined 08:49 mniip left 08:51 ravenousmoose left 08:55 dakkar joined 09:01 cpan-p6 left, cpan-p6 joined 09:16 cpan-p6 left, cpan-p6 joined 09:18 sena_kun left 09:19 sena_kun joined 09:21 aindilis joined 09:23 kurahaupo_ left, kurahaupo joined 09:26 kurahaupo_ joined 09:28 hythm_ joined, kurahaupo left 09:31 cpan-p6 left, cpan-p6 joined
hythm_ p6: role R { method new { say 'new'; self.bless }; submethod BUILD { say 'BUILD'; }; my @a does R; 09:31
camelia 5===SORRY!5=== Error while compiling <tmp>
No appropriate parametric role variant available for 'R'
at <tmp>:1
hythm_ p6: role R { method new { say 'new'; self.bless }; submethod BUILD { say 'BUILD'; }; my @a; @a does R; 09:32
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3ILD { say 'BUILD'; }; my @a; @a does R;7⏏5<EOL>
hythm_ p6: role R { method new { say 'new'; self.bless }; submethod BUILD { say 'BUILD'; } }; my @a; @adoes R; 09:33
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@adoes' is not declared
at <tmp>:1
------> 3ethod BUILD { say 'BUILD'; } }; my @a; 7⏏5@adoes R;
hythm_ p6: role R { method new { say 'new'; self.bless }; submethod BUILD { say 'BUILD'; } }; my @a; @a does R;
camelia BUILD
hythm_ what is calling BUILD for roles if .new is not called? 09:36
jnthn The `does` 09:41
It calls it so as to initialize any mixed-in state 09:42
09:43 cpan-p6 left 09:44 cpan-p6 joined
hythm_ so is it correct to say 'does' calls 'BUILD', and 'is' calls 'new'? 09:44
jnthn No 09:46
Well, sort of, but it's missing a few details :)
`does` is just mixing a role in; `is` specifies the container type to create in the first place 09:47
So if you use `is` there then it will make an instance of that type and bind it into @a
hythm_ makes sense. thank you 09:48
09:52 mniip joined 09:53 hythm_ left 09:58 cpan-p6 left 09:59 cpan-p6 joined 10:07 random_yanek left 10:14 cpan-p6 left, cpan-p6 joined 10:18 reach_satori joined, snarkyboojum left 10:19 random_yanek joined 10:28 cpan-p6 left, cpan-p6 joined 10:42 cpan-p6 left, cpan-p6 joined 10:57 olaf joined, cpan-p6 left 10:58 cpan-p6 joined 11:10 cpan-p6 left 11:11 cpan-p6 joined
tbrowder hi #perl6 11:16
11:17 olaf left
tbrowder what are the criteria for putting or moving an existing module in the community repo? 11:17
*into
i can think of some: orphaned modules whose owner cannot be contacted 11:19
sena_kun well, moving requires owner actions, so... 11:20
tbrowder modules donated by the current owner who is no longer able to maintain the module
11:21 AlexDaniel joined
sena_kun yes, those are present too. 11:21
tbrowder ok, instead of "moving" say "forking as the canonical source" and so marking it in the ecosystem
sena_kun I am not sure what you are asking about. You mean, what to do with orphans in the ecosystem(not under community organization)?
ah 11:22
well, it is arbitrary, but, I think, if an original author is missing for a half of year (or something like that), doesn't respond to emails, issues, and there is a person who is able and wills to maintain the module, I think it's enough for moving.
forking&counting it as a main one. 11:23
tbrowder basically, yes. and i am thinking of the time when i may give up on one or more of my modules
11:23 cpan-p6 left
sena_kun tbrowder, in this case, you can simply transfer modules you want to the organization. 11:23
11:24 cpan-p6 joined
tbrowder ok, cool 11:24
sena_kun so we don't need to wait for a half of a year or something, I mean, if one is saying "Ok, I can no longer to maintain this, but I'll transfer my repo to a convenient organization so people who can could still patch/accept patches", this is pretty enough. 11:25
s/longer to/longer/
AlexDaniel opens his eyes 11:33
yoleaux 15 Feb 2019 06:42Z <jmerelo> AlexDaniel: it's now going to be the "Perl 6 community and most wanted modules squashathon"
15 Feb 2019 06:42Z <jmerelo> AlexDaniel: please take a look anyway at the description of the Rakudo squashathon, which will be in 2.5mo, and update the description
sena_kun AlexDaniel, good morning. :> 11:34
11:36 cpan-p6 left 11:37 cpan-p6 joined 11:38 tyil left
AlexDaniel uh why the winner is not listed on that page 11:38
weekly:
notable6 AlexDaniel, 6 notes: gist.github.com/d911c6311a692038ca...41b26c379c
11:40 tyil joined
AlexDaniel reportable6: 2019-02-11T12:06:00Z 2019-02-18T00:00:00Z 11:42
reportable6 AlexDaniel, Couldn't find a snapshot for 2019-02-18T00:00:00Z (try 「list」 command to see what's available).
AlexDaniel … gah…
11:44 reportable6 left 11:46 reportable6 joined 11:59 ravenousmoose joined 12:10 cpan-p6 left 12:11 cpan-p6 joined 12:18 dogbert2_ left 12:23 ayerhart left 12:34 kurahaupo joined 12:37 zakharyas left, kurahaupo_ left 12:39 kensanata joined 12:45 dogbert2_ joined, cpan-p6 left, cpan-p6 joined 12:55 ravenousmoose left 12:59 sergot joined, cpan-p6 left, cpan-p6 joined 13:12 cpan-p6 left, cpan-p6 joined 13:20 lucasb joined 13:23 ravenousmoose joined
lucasb SmokeMachine: boa sorte, fera! 13:24
13:24 cpan-p6 left 13:25 cpan-p6 joined
SmokeMachine lucasb: obrigado! 13:26
guifa SmokeMachine: o que estás a fazer?
SmokeMachine guifa: desenvolvendo... :)
guifa boas programações então :-) You should help me test this localization framework when I’m done with it hahaha 13:34
SmokeMachine Sure! Just let me know how I can help... :) 13:36
13:39 cpan-p6 left, cpan-p6 joined 13:44 w17t left 14:00 cpan-p6 left, sauvin left, cpan-p6 joined 14:04 jmerelo joined 14:15 cpan-p6 left, cpan-p6 joined 14:23 jmerelo left 14:24 gregf_ joined, zakharyas joined 14:28 cpan-p6 left, cpan-p6 joined
discord6 <Vendethiel> p6: {:a<1> :b<2>} 14:35
<Vendethiel> LTA error message
<Vendethiel> Ah, obviously it’s not picked up...
MasterDuke p6: {:a<1> :b<2>} 14:36
camelia ===SORRY!===
Unknown QAST node type NQPMu
discord6 <Vendethiel> Thanks 14:38
MasterDuke huh, if you do a --target=parse moar just hangs at 100% cpu
SmokeMachine m: {:a<1> :b} 14:39
camelia ( no output )
MasterDuke p6: {:a<1>, :b<2>} 14:40
camelia ( no output )
14:43 cpan-p6 left, cpan-p6 joined 14:52 skids joined
AlexDaniel reportable6: 2019-02-11T12:06:00Z 2019-02-18T12:00:00Z 14:57
reportable6 AlexDaniel, OK, working on it! This may take up to 40 seconds
14:57 cpan-p6 left 14:58 cpan-p6 joined
reportable6 AlexDaniel, gist.github.com/dc5f3ae58f683bc420...316c91b079 14:58
AlexDaniel lizmat: ↑ 14:59
15:03 pdcawley joined 15:07 [Coke] joined, [Coke] left, [Coke] joined
[Coke] .seen kaiepi 15:07
yoleaux 21 Jan 2019 19:54Z <AlexDaniel> [Coke]: colabti.org/irclogger/irclogger_lo...01-21#l129
I saw Kaiepi 11 Feb 2019 01:07Z in #moarvm: <Kaiepi> looks like it's unrelated, the STable for the root passed to asplice points to the buf being MAST::Bytecode
[Coke] .tell kaiepi I have sent you a few emails re: grant and received no response. please check spam filter, ping me at [email@hidden.address] (maybe I'm using wrong email address) 15:08
yoleaux [Coke]: I'll pass your message to kaiepi.
15:08 [Coke] left 15:10 cpan-p6 left
lizmat AlexDaniel++ 15:11
15:11 cpan-p6 joined
lizmat AlexDaniel: BTW, any objections against bumping Moar/nqp ? 15:11
timotimo i'd like to get in one more commit before that :3
lizmat timotimo: oki 15:12
timotimo should be a trivial one, just to get scalar replacement stats into the profiler output 15:14
for sql i mean
it's already in the html one
tbrowder hi all, a class constructor question: clone is basically a shallow copy. is there any built-in way to get a deep copy of tweak-created attrs? at the moment i plan to write a new clone method per the docs to do that which i hope will work. 15:20
15:20 pdcawley left
timotimo there's nothing built-in for deep cloning 15:22
15:23 cpan-p6 left 15:24 cpan-p6 joined, curan left
tbrowder thnx 15:26
AlexDaniel yeah, feel free to bump
lizmat AlexDaniel: /me waits for timotimo's patch 15:27
15:31 w17t joined
timotimo ok looks good 15:31
pushed it 15:32
15:37 cpan-p6 left 15:38 cpan-p6 joined
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/02/18/...dy-thanks/ 15:39
15:40 Geth left, Geth joined, ChanServ sets mode: +v Geth
moritz tweeted! 15:41
jnthn lizmat++
moritz lizmat++
jnthn Oh, cool, CroX::HTTP::Transform::GraphQL :D
moritz here in Nürnberg we currently have a bit of a situation with a bomb found from WW II 15:42
it's 1.3km from my parents' house, and the evacuation radius is 1km
also, one of the major high-traffic roads is blocked, causing a huge traffic jam -- which wouldn'be the so bad if the the equipment they need to defuse the bomb wasn't stuck in the same traffic jam :/ 15:43
jnthn Oops!
moritz there is talk that defusing it might not be possible, and it needs to be detonated... fun stuff! 15:44
oh, it looks they got the equipment through the traffic somehow 15:45
jnthn Hm, does that (can't be defused) happen much?
moritz www.nordbayern.de/situation-hochbri...-1.8615289 for all of that can read German
jnthn: no, usually they manage to defuse them 15:46
El_Che good they found the bomb 15:47
moritz it typically depends on how much the bombs are damaged while they are being found by the excavator 15:48
lizmat 250kg is quite an amount of explosives
15:49 cpan-p6 left
El_Che lizmat: aren't you forgetting to announce something? 15:49
15:50 cpan-p6 joined
lizmat El_Che: possibly... I'm not omnisentient 15:50
El_Che omnipresent and omnipotent 15:51
lizmat
.oO( I think, therefore I'm everywhere )
15:53
15:57 jmerelo joined 16:00 zakharyas left 16:04 cpan-p6 left 16:05 cpan-p6 joined 16:16 ravenousmoose left 16:20 cpan-p6 left 16:21 cpan-p6 joined
Geth perl6-most-wanted: 88a8c85f74 | (David Warring)++ (committed using GitHub Web editor) | most-wanted/bindings.md
Eliminate some native bindings that are released

As per #44
16:21
16:25 jdv79 left 16:26 jdv79 joined 16:28 ufobat left 16:33 cpan-p6 left
jmerelo ^^^Next squashathon will deal with perl 6 most wanted modules (and those that are already there). This issue github.com/perl6/perl6-most-wanted/issues/44 is for checking out what's in the repo and suggesting new ones. 16:34
16:35 cpan-p6 joined 16:36 aindilis left
moritz update on the bomb situation: it looks like it needs to be denoated, but there's a hotel in pyramid shape pretty close whose windows would break 16:37
now they want to fill shipping containers with straws as a buffer 16:38
timotimo straws, like the kind you'd drink stuff with? 16:39
moritz like, dried wheats or so
timotimo ah
16:40 kensanata left
timotimo probably in form of hayballs? 16:40
jmerelo runs to check out the log
moritz: best of luck 16:42
hahainternet also now feels an urge to scroll up
oh iron harvest, yeah that's normal enough 16:43
even in the UK it's common, on the continent it's almost ubiquitous
16:46 aindilis joined 16:48 cpan-p6 left, cpan-p6 joined 17:00 abraxxa left
lizmat Where would the world be without Perl 6: twitter.com/oe1cxw/status/1097527519966826496 17:13
AlexDaniel oh wow that's creator of yosys :) 17:18
17:23 cpan-p6 left, cpan-p6 joined
Xliff m: gist.github.com/Xliff/d139f0e12f69...056eb401af 17:27
camelia 5===SORRY!5=== Error while compiling <tmp>
Bogus statement
at <tmp>:1
------> 3<BOL>7⏏5```perl6
expecting any of:
prefix
statement list
term
Xliff ^ Where is this code. I'd like to put forth a PR
Rather... the bot code that runs gists. 17:28
jnthn camelia: source
camelia: help
camelia jnthn: Usage: <(star-m|nqp-jvm|nqp-moarvm|debug-cat|p5-to-p6|nqp-js|rakudo-moar|rakudo-jvm|prof-m|perl6|rm|master|r-jvm|nqp|sm|p56|nqp-q|r|nqp-m|star|rakudo|r-m|rj|nqp-mvm|j|p6|m|r-j)(?^::\s(?!OUTPUT)) $perl6_program>
jnthn Aww
sena_kun perl6 organization? give me a second... 17:29
github.com/perl6/evalbot 17:30
Xliff sena_kun++
sena_kun or, at least, readme says "Currently it runs as nick "camelia" on freenode, in #perl6 and other channels.". :)
Xliff Crap. Now I have to get one in here to test. :)
en.wikipedia.org/wiki/Second-system_effect 17:31
AlexDaniel: The comment was not complementary
s/complementary/complimentary/
Silly engrish!
Of course, to know if there was sarcasm in it... one would have to know the original system. 17:32
17:32 dakkar left
Xliff I have a hard type applying second-system anything to Perl5 17:32
AlexDaniel hard type xD 17:33
Xliff Which, I may add, was not intended as an insult.
AlexDaniel Xliff: yeah, sure, doesn't really matter.
Geth doc: b8c0bbe0c9 | (JJ Merelo)++ | doc/Type/Any.pod6
Explains squish example and corrects error r#1731
synopsebot Link: doc.perl6.org/type/Any
doc: c640c870a7 | (JJ Merelo)++ | 2 files
Improves categorize refs #1731
doc: 8b709dbeef | (JJ Merelo)++ | 2 files
Improves categorize/squish refs #1731
synopsebot R#1731 [closed]: github.com/rakudo/rakudo/pull/1731 Fix Range.ACCEPTS fails on (Range, Range)
AlexDaniel Xliff: yosys is still cool :)
Xliff Linky? 17:34
AlexDaniel Xliff: www.clifford.at/yosys/ 17:35
cono I have built distroless image of Perl6: hub.docker.com/r/imcono/distroless-perl6 Does any1 know if some1 already did it before? If not, I will continue and fill README and setup pipeline to build new stable images
jmerelo: sorry, I beat your alpine image in size ;) distroless-perl6 latest 47b217a9da32 37 minutes ago 55.8MB 17:36
jmerelo cono: cool :-)
17:36 cpan-p6 left
cono but alpine anyway more flexible as it have also shell, not only perl6 language 17:36
jmerelo cono: not that I know of... How do you create that?
17:37 cpan-p6 joined
cono jmerelo: github.com/GoogleContainerTools/distroless 17:37
jmerelo cono: that's good for debugging or installing new tools, the shell, I mean.
cono will paste dockerfile when I publish it to github
jmerelo cono: so the deal is that it's very small, but you will barely be able to intall anything that needs a package, right?
cono small and secure, and easy to customize with multistage docker builds 17:38
jmerelo cono: supercool!
cono secure, because other than libc, there are no OS inside. So even if you able to break inside, its very limited in things to do in this image outside of p6 lang 17:39
also the way how docker runs it, adds some security
its actually runs it from non-existed user :-) 17:40
jmerelo so if you want to add, let's say, Cro which needs OpenSSL and things like that, you create a multi-stage build and import just whate you need.
cono yeah, you just copy result
I will probably add this to README, how easily inject other modules
jmerelo cono++ 17:41
cpan-p6 New module released to CPAN! gtk-v3 (0.4.2) by 03MARTIMM 17:44
17:45 Sgeo_ joined
Xliff AlexDaniel: Just submitted a PR to evalbot, if you are interested. 17:46
github.com/perl6/evalbot/pull/10
Geth doc: fd8d683439 | cfa++ | xt/code.pws
Spelling.
17:49 Sgeo__ joined, Sgeo left
cono jmerelo: github.com/cono/distroless-perl6/b...Dockerfile 17:50
17:50 cpan-p6 left, cpan-p6 joined 17:51 Sgeo__ left 17:52 Sgeo__ joined, Sgeo_ left 17:54 zachk joined
jmerelo cono: seems easy enough 17:54
cono yup 17:55
17:56 natrys joined
AlexDaniel Xliff: I don't maintain evalbot, but I can merge it if you want… 17:58
Xliff: 'perl'? 17:59
Xliff: as if ```6 is valid?
cpan-p6 New module released to CPAN! HTML-Canvas-To-PDF (0.0.1) by 03WARRINGD
Geth doc: 4c259943ba | (JJ Merelo)++ | 2 files
Fixes roll
18:00
doc: 496394651e | (JJ Merelo)++ | doc/Type/Any.pod6
Reflow here and there
synopsebot Link: doc.perl6.org/type/Any
18:02 Sgeo_ joined
AlexDaniel Xliff: also maybe it should cover the case when people say “Ok here's some code: ```perl6 …” 18:02
also maybe it should check if it's .md
18:05 Sgeo__ left 18:13 cpan-p6 left 18:14 cpan-p6 joined
cpan-p6 New module released to CPAN! gtk-v3 (0.4.2.1) by 03MARTIMM 18:15
18:16 seance joined 18:23 zakharyas joined 18:26 ferreira1 joined
Geth evalbot: Xliff++ created pull request #10:
- Enables evalbot to process code sandwitched between a markdown code…
18:26
evalbot: Xliff++ created pull request #10:
- Enables evalbot to process code sandwitched between a markdown code…
18:27
18:27 cpan-p6 left
Geth evalbot: Xliff++ created pull request #10:
- Enables evalbot to process code sandwitched between a markdown code…
18:27
18:28 cpan-p6 joined 18:30 drolax joined 18:32 comborico1611 joined 18:35 sauvin joined 18:36 Ekho joined 18:39 seance left 18:42 ferreira1 left, cpan-p6 left 18:43 cpan-p6 joined, ferreira1 joined 18:48 dominix_ is now known as dominix 19:03 comborico1611 left, dominix_ joined, cpan-p6 left, cpan-p6 joined 19:04 snarkyboojum joined 19:05 natrys left 19:06 ferreira1 left, ferreira1 joined 19:07 dominix left 19:13 zakharyas left 19:18 Geth left, Geth joined, ChanServ sets mode: +v Geth, cpan-p6 left, cpan-p6 joined 19:22 sauvin left 19:24 drolax left 19:25 ferreira1 left 19:28 ferreira1 joined
cpan-p6 New module released to CPAN! gtk-v3 (0.4.3) by 03MARTIMM 19:31
New module released to CPAN! gtk-glade (0.7.2) by 03MARTIMM
19:32 cpan-p6 left
Xliff AlexDaniel: Agree on the .md check. I can work that in. Also can improve the regex. 19:32
19:33 cpan-p6 joined
Xliff The case with the outer text though? .... hmmm. Have to think about that one. 19:33
Although original doesn't check for .md, either. Just grabs the first (and assumed only) file in the "files" object and sends it for eval. 19:35
19:36 Guest79752 left
Xliff EEP! 19:41
jmerelo: I write changes in perl6! I forgot evalbot is perl5! 19:42
Geth doc: 880edf3dfa | (JJ Merelo)++ | doc/Type/Any.pod6
Adds produce refs #1731
19:43
synopsebot Link: doc.perl6.org/type/Any
Xliff moritz: Any plans on porting evalbot to perl6?
19:47 cpan-p6 left, cpan-p6 joined
AlexDaniel Xliff: well, there's evalable6 19:47
evalable6: say 42
evalable6 42
Xliff Ah.
AlexDaniel so maybe that should be implemented in whateverable 19:48
this way all bots will get it
the ones in whateverable repo at least 19:49
guifa So on the Mac, I can get the user language via %*ENV<LANG>. Does that hold for other *nix (I assume) and Windows (I don’t assume)? 19:52
sena_kun $LANG returns current locale on GNU/Linux 19:53
echo $LANG --> en_US.UTF-8
at least. :)
jmerelo Xliff: I had no idea :-) 19:54
guifa Okay that’s identical output for the Mac so … yay :-) 19:55
Geth doc: 0ee3245776 | (Elizabeth Mattijsen)++ | doc/Type/List.pod6
Add documentation for List.invert
19:59
synopsebot Link: doc.perl6.org/type/List
Xliff jmerelo: No harm (yet), no foul? ;)
AlexDaniel: Sure thing. Where is whateverable's codebase?
AlexDaniel evalable6: source
evalable6 AlexDaniel, github.com/perl6/whateverable
jmerelo Xliff: I tend to err on the side of cautiousness lacking tests... 20:00
cpan-p6 New module released to CPAN! gtk-glade (0.7.2.1) by 03MARTIMM 20:01
20:01 jmerelo left
Xliff evalable6: gist.github.com/Xliff/d139f0e12f69...056eb401af 20:04
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /home/bisectable/git/wh…
Xliff, Full output: gist.github.com/2cdb7e8102056191f7...8dd433438e
20:07 pecastro joined 20:08 cpan-p6 left 20:09 cpan-p6 joined 20:14 grumble left 20:15 andrzejku joined 20:16 patrickb joined 20:20 grumble joined 20:22 cpan-p6 left 20:23 cpan-p6 joined
Xliff AlexDaniel: github.com/perl6/whateverable/pull/347 20:23
guifa gets excited since the only thing left is implementing two measly built-in functions before Fluent is fully ported 20:29
guifa looks at www.unicode.org/reports/tr35/tr35-numbers.html
guifa cries
sena_kun guifa, live strong. 20:31
cpan-p6 New module released to CPAN! HTML-Canvas-To-PDF (0.0.2) by 03WARRINGD
20:35 ofperfection[m] left
Xliff guifa: Do you need to implement tr35 in one of those functions? 20:35
guifa Yes. The two built ins are NUMBER and DATETIME =\
and they involve formatting for user locales
20:35 cpan-p6 left
guifa Has it already been implemented elsewhere that I didn’t see? 20:35
20:36 cpan-p6 joined
Xliff I don't know. :( 20:36
AlexDaniel Xliff: maybe you can also add a test here? github.com/perl6/whateverable/blob...#L124-L155
Xliff AlexDaniel: Sure thing!
sena_kun chances are not high if a search on the ecosystem and google didn't help
AlexDaniel Xliff: btw were you able to run it? something like `sake debug:evalable` should start a bot 20:37
guifa Yeah I don’t think it is. Someone else was working to get a basic date formatter and we could only find a list formatter that used CLDR data.
AlexDaniel Xliff: it'll join #whateverable I think
Xliff AlexDaniel: Ooh! Thanks for that. I need to install sake.
And I do have this piece of chicken I want to start eating. ;)
AlexDaniel Xliff: maybe `zef install --/test --deps-only .` ?
it should work with tests also, but then there's Cro and other stuff that whateverable depends on… 20:38
will take a long time to test and some cro tests might not pass
Xliff kk
guifa I should probably do NUMBER as a totally separate module, maybe CLDR:Numbers
AlexDaniel Xliff: what's the meaning of ~ in the regex there? 20:39
m: say ‘```foo bar```’ ~~ /'```' ~ '```' (.+)/; say $0
camelia 「```foo bar```」
0 => 「foo bar」
「foo bar」
AlexDaniel that's probably how it is meant to be used? I'm not sure 20:40
aaaaaaaah
right
and it is
Xliff :)
AlexDaniel is blind
well ok, I'm not blind, just tired :)
Xliff :) :)
Xliff lunch & 20:41
AlexDaniel Xliff: if you manage to run the bot and it joins #whateverable and works, then tests should also work just fine if you cloned the repo recursively
it's `sake test:evalable` iirc
Xliff I did NOT clone the repo recurse
AlexDaniel github.com/perl6/whateverable/wiki...e-the-repo 20:42
20:42 snarkyboojum left 20:48 cpan-p6 left 20:49 cpan-p6 joined 20:52 AlexDaniel-old[m left 21:01 Demos[m] left 21:03 cpan-p6 left 21:04 cpan-p6 joined 21:08 caa51h left, andrzejku left 21:10 sena_kun left
cono is there going to be 2019.1 version? Sorry not aware about release process 21:10
I'm asking because i'm building pipeline and interested if this regexp is ok to match release tags: 21:11
/^(\d{4}\.\d+)/
/^(\d{4}\.\d+)/
El_Che cono: no 21:13
2019.1 was skipped 21:14
cono: there are also dot releases
cono El_Che: so is my regexp is ok?
or for dot releases there are another tag pattern?
El_Che /^(\d{4}\.\d+(\.d+)*)/ 21:15
/^(\d{4}\.\d+(\.d+)*)/
they look like p5 regexes, though :) 21:16
cono I don't think that dockerhub build tool understand p6 regex type :D 21:17
21:17 cpan-p6 left
cono are these dot releases like minor releases? 21:18
El_Che cono: I have done some work on that, but I haven't released it yet
21:18 cpan-p6 joined
El_Che let me check 21:18
cono I'm thinking to skip them at this point, but we can add them later, not a big deal 21:19
AlexDaniel cono: perhaps consider testing all existing tags? github.com/rakudo/rakudo/releases
cono don't think thata docker support unicode for tags :) 21:20
so, I will stick to year.month at this point. But its really easy tweak in the future. let me play first in my own repo, and probably move to rakudo afterwards 21:21
El_Che cono: I am tracking my tags on github and going from there, so not what you're after 21:22
cono does any1 know who is in charge ot this? hub.docker.com/_/rakudo-star 21:24
21:24 ferreira1 left
El_Che cono: I think stmuk was in charge of that. Maybe jmerelo knows more 21:25
21:25 dominix_ is now known as dominix
cono would like to extend this a bit, to offer different type of docker images, based on alpine/distroless/... 21:26
21:27 ferreira joined
El_Che cono: personally I fail to see the usecase of Star and Docker combination 21:27
(you want images to be small, and not have stuff you don't need) 21:28
cono same, that's why I'm building images by my own. and usually from master :D
have you seen my base image in 56mb ? :)
El_Che I build my own in house by adding the rakudo-pkg repo to my img 21:29
I can't handle the slow rakudo build time
cono: alpine?
cono no, distroless
El_Che I had something similar with alpine 21:30
cono: no experience with distroless yet
cono alpine gives me 256mb
El_Che no way, mine was way smaller
or are you talking star?
cono I actually want to use dockerhub autobuild system, so to not waste my own cpu time to build every rakudo commit/tag
21:30 cpan-p6 left
cono El_Che: I'm talking about this: jjmerelo/alpine-perl6 latest 79bc2f6da492 7 weeks ago 265MB 21:31
21:31 cpan-p6 joined
cono I haven't built one on my own on alpine 21:31
El_Che ah, I created one specially to show it could be smaller
he builts stars
21:31 ferreira1 joined, ferreira left
cono ok, latest built by dockerhub. looks like pipeline works ) 21:33
21:33 ferreira1 left
El_Che ok, found it 21:34
it's mb
it's 89mb
21:34 ferreira joined
cono El_Che: distroless-perl6 latest 28e339084b20 32 minutes ago 55.8MB 21:34
:p
El_Che so, you shaved 33mb off 21:35
nice
cono not me, its google :D
I just used their base image and built on top with docker multistage
El_Che (however, I suspect it will explode badly once you need modules, certainly C ones)
alpine is already a hit and miss
more often than not I end up using centos or debian 21:36
cono alpine is a loss because instead of libc there are musl, so you should build your C modules in alpine to be able to use them
distroless, you can build module on debian and just copy them over with .so dependencies 21:37
El_Che yeah, it depends on how many dependencies you need
cono for sure
El_Che I would say for things like go and java, sure 21:38
cono for go its even better, they have image w/o libc either :D
for static compilation units, distroless images with go app is yummi
21:41 kensanata joined 21:44 cpan-p6 left 21:45 cpan-p6 joined
Geth doc/mj41-datetime-instant: 3f0eace424 | (Michal Jurosz)++ (committed using GitHub Web editor) | doc/Type/DateTime.pod6
Fix output for Instant method in DateTime.p6
21:45
21:51 kkielak joined
Xliff HTF do you use gptrixie with castxml? 21:52
Is there a way to just pass the XML file to gptrixie for processing? 21:53
Geth doc: mj41++ created pull request #2628:
Fix output of Instant method example in DateTime.p6
21:55
21:57 cpan-p6 left 21:58 cpan-p6 joined 22:03 patrickb left, dct joined, niceperl joined 22:07 kkielak left 22:09 snarkyboojum joined 22:11 cpan-p6 left
AlexDaniel timotimo: you should know :) 22:11
( ↑ gptrixie question )
22:11 cpan-p6 joined
Xliff Can repr CStruct objects do roles? 22:13
m: use NativeCall; role R { }; class A is repr('CStruct') { also does R; has uint32 $.a }; say A.^roles; 22:14
camelia ((R))
Xliff m: use NativeCall; role R { has $!prop; }; class A is repr('CStruct') { also does R; has uint32 $.a }; say A.^roles;
camelia 5===SORRY!5=== Error while compiling <tmp>
CStruct representation only handles attributes of type:
(u)int8, (u)int16, (u)int32, (u)int64, (u)long, (u)longlong, num32, num64, (s)size_t, bool, Str
and types with representation: CArray, CPo…
22:15 rindolf left 22:16 skids left 22:23 Ven`` joined 22:32 cpan-p6 left, cpan-p6 joined 22:35 kensanata left 22:46 cpan-p6 left, cpan-p6 joined 22:51 niceperl left 22:55 Ven`` left, Ven`` joined 23:00 cpan-p6 left, cpan-p6 joined
timotimo i have no clue, i just use gptrixie --all --castxml=c11 23:12
Xliff: ^
23:14 cpan-p6 left, cpan-p6 joined 23:24 pecastro left 23:28 cpan-p6 left, cpan-p6 joined 23:31 reach_satori left 23:34 dct left, snarkyboojum left 23:36 w_richard_w joined 23:39 lucasb left 23:41 cpan-p6 left, w_richard_w1 joined, cpan-p6 joined 23:43 w_richard_w left, w_richard_w1 is now known as w_richard_w 23:44 Ven`` left 23:47 w_richard_w left
Xliff timotimo++ # Thanks! 23:54
23:55 cpan-p6 left, cpan-p6 joined