🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
00:08 thdrmz left 00:09 thdrmz joined, stoned75 left 00:28 pecastro left 01:21 ensamvarg3 joined 01:23 pecastro joined 01:24 lucasb left 02:15 JRaspass joined 02:17 Kaeipi left, Kaeipi joined 02:18 b2gills left, aluaces left, b2gills joined 02:19 Manifest0 left 02:21 Manifest0 joined 02:23 b2gills left, b2gills joined 02:37 kvw_5_ left 02:39 kvw_5 joined 02:41 JRaspass left 02:48 pecastro left 03:22 earenndil joined, b2gills left, moon-child left, tomaw_ left, b2gills1 joined, tomaw joined 03:31 dataangel joined 03:42 earnestly left 03:53 earenndil is now known as moon-child 04:34 sortiz joined 04:41 rindolf joined 04:44 ensamvarg3 left 04:55 vike left
tony-o . 05:01
05:07 vike joined 05:22 dotdotdot joined 05:36 parabolize left 05:46 brtastic joined 06:20 gnufr33dom joined 06:27 jmerelo joined 06:36 riatre joined 06:49 aluaces joined 07:05 gnufr33dom left 07:19 gnufr33dom joined 07:38 wamba joined 07:49 abraxxa joined 07:50 stoned75 joined 07:53 thdrmz left 07:54 abraxxa left 07:56 abraxxa joined 08:07 thdrmz joined 08:15 Altai-man joined 08:17 domidumont joined 08:22 ufobat_ joined 08:35 dakkar joined 08:44 pecastro joined 08:50 gnufr33dom left 08:58 Garbanzo left 09:01 aborazmeh joined, aborazmeh left, aborazmeh joined 09:02 vrurg left 09:14 wamba left 09:15 wamba joined 09:28 JRaspass joined 09:31 dakkar left 09:35 dakkar joined 09:36 earnestly joined 09:40 asy is now known as asymptotically 09:43 MasterDuke joined 09:50 ufobat_ left 09:57 noomy left 10:00 moony joined 10:11 ufobat_ joined 10:22 MasterDuke left 10:29 Sgeo left, MasterDuke joined 10:30 aborazmeh left
jmerelo releasable6: status 11:08
releasable6 jmerelo, Next release in ≈5 days and ≈7 hours. 1 blocker. Changelog for this release was not started yet
jmerelo, Details: gist.github.com/4129519d29b5e8487d...1ec56260ed
Altai-man releasable6, status 11:10
releasable6 Altai-man, Next release in ≈5 days and ≈7 hours. 1 blocker. Changelog for this release was not started yet
Altai-man, Details: gist.github.com/ed09d7d61045729d96...a53dbeeaf1
11:24 aborazmeh joined, aborazmeh left, aborazmeh joined 11:29 aborazmeh left 11:32 sena_kun joined 11:33 Altai-man left 11:52 MasterDuke left 12:09 MasterDuke joined
stoned75 I made a very important gist ;-) gist.github.com/stoned/69d36a5f0c1...ef0e12f5c0 12:29
prepping my virtual attire for the next fosdem ;-) 12:30
12:31 PimDaniel joined
PimDaniel \o 12:32
hi
my ($a,$b,$c) = 1,2,3; my ($d,$e,$f) = (tie them to $a,$b,$c) : how to tie them? 12:34
sortiz PimDaniel: "tie" as "bind"? 12:41
12:44 __jrjsmrtn__ left, PimDaniel left
tadzik m: my $a = 1; my $b = \$a; $b = 3; say $a 12:44
camelia Potential difficulties:
To pass an array, hash or sub to a function in Raku, just pass it as is.
For other uses of Perl's ref operator consider binding with ::= instead.
Parenthesize as \(...) if you intended a capture of a single va…
tadzik m: my $a = 1; my $b := $a; $b = 3; say $a
camelia 3
12:45 __jrjsmrtn__ joined
tadzik ha 12:45
oh, they left
stoned75 my (\d, \e, \f) := $a, $b, $c;
notandinus m: "comb".comb[^9].join 12:46
camelia Use of Nil in string context
in block <unit> at <tmp> line 1
Use of Nil in string context
in block <unit> at <tmp> line 1
Use of Nil in string context
in block <unit> at <tmp> line 1
Use of Nil in string context
in block <unit> a…
notandinus ^^ how do i do that?
12:47 literal joined
notandinus m: "comb".comb[^9] 12:47
camelia ( no output )
12:47 MilkmanDan left
notandinus huh weird it returns "(c o m b Nil Nil Nil Nil Nil)" when i run it locally" 12:47
tadzik m: "comb".comb[^9].say
camelia (c o m b Nil Nil Nil Nil Nil)
notandinus m: say "comb".comb[^9]
camelia (c o m b Nil Nil Nil Nil Nil)
tadzik what are you trying to do though?
stoned75 because "comb".comb is a Seq with only 4 elements 12:48
notandinus i want it to ignore all that Nil and give me the resulting string
i'm trying to find a list of words that start with a specific string, i'm performing binary search to get the range of these words 12:49
^ for that i have to compare only the initials of those words in the list
so i'm doing a @words[$mid].comb[^$str.chars].join
but $str.chars can be longer than the length of @words[$mid] 12:50
tadzik m: "comb".substr(0, 9).say 12:51
camelia comb
tadzik I'm not sure I really understand the problem, but perhaps this'll fit better?
notandinus tadzik: thanks, this'll work 12:52
12:55 PimDaniel joined
PimDaniel sortiz: sorry : bind, yes! 12:55
I mean bind! 12:56
12:56 aluaces left, dotdotdot left, sortiz left, b2gills1 left, kvw_5 left, rba left, dogbert17 left, samebchase left, samcv left, a3r0 left, pel left, shadowpaste left, cj left
notandinus PimDaniel: ix.io/2MrF 12:56
^this was posted after you left
12:57 a3r0 joined 12:59 fvox left, aluaces joined, dotdotdot joined, b2gills1 joined, kvw_5 joined, rba joined, dogbert17 joined, samebchase joined, samcv joined, pel joined, shadowpaste joined, cj joined
PimDaniel @notendilus : Thanks! I'm waching... 12:59
12:59 Geth left 13:00 vike left 13:01 fvox joined 13:02 kiti_nomad[m] left, CIAvash left 13:03 AlexDaniel` left, ThaEwat left, matiaslina left, wamba left, unclechu left, MitarashiDango[4 left, vike joined, JJAtria[m] left, wamba joined 13:04 PimDaniel left 13:06 MitarashiDango[m left 13:10 PimDaniel joined, Kaeipi left 13:11 Kaeipi joined
PimDaniel @notendilus : consider binding with ::= instead. 13:12
::= , or := ???
my (\d, \e, \f) := $a, $b, $c; #What is that? I tried but none works : nothing is explained here. :( 13:13
may we bind into a list like this : my @list = \($a,$b,$c); ??? 13:15
Nothing works! 13:17
13:29 kiti_nomad[m] joined 13:30 matiaslina joined
lizmat using \ like that is a Perlism 13:30
m: my $a = 42; my $b = 666; my @list := ($a,$b); dd @list 13:31
camelia (42, 666)
lizmat m: my $a = 42; my $b = 666; dd (\($a,$b)).WHAT
camelia Capture
lizmat \(foo,bar) is a Capture object 13:32
docs.raku.org/type/Capture
PimDaniel ho ho : too many informations.
1/ what is e Perlism? 13:33
lizmat \ in Perl is used to take a reference of a structure
it felt you were trying to do that
13:34 matiaslina left
PimDaniel Sorry : what is a structure? Is there a struct keyword in Raku? 13:35
Well i just need this : ($a,$magicname,$b) = 1 .. 3; my @lst = $a,$magicname,$b; but @lst[1].WHAT.name must say $magicname. I mean the list must be binded to the variables. 13:39
13:40 kiti_nomad[m] left
lizmat m: my $a = 42; my $b = 666; my @list := ($a,$b); dd @list[1].VAR.name 13:40
camelia "\$b"
lizmat so s/WHAT/VAR also ? 13:41
PimDaniel Sorry : change .WATT.name by .VAR.name;
Bon j'essaie encore .... thank you lizmat!...
lizmat de rien 13:44
PimDaniel but why \$b and not $b? 13:46
Well i need to paste my code: many things i don't understand. :( 13:47
lizmat I usually use "dd" because it gives me more information 13:48
but perhaps say would be better in this case:
m: my $a = 42; my $b = 666; my @list := ($a,$b); say @list[1].VAR.name
camelia $b
PimDaniel hum, you'r true!
13:48 MasterDuke left
PimDaniel ok thanks, back later... 13:49
13:49 PimDaniel left
lizmat dd foo is basically "note foo.raku" 13:49
13:50 CIAvash joined 13:54 unclechu joined, MitarashiDango[4 joined, ThaEwat joined 13:56 AlexDaniel` joined 13:58 JJAtria[m] joined 13:59 MitarashiDango[m joined 14:02 matiaslina joined 14:03 PimDaniel joined
PimDaniel re 'my ($a,$magic,$c) = "pommes","bananes","poires"; my ($pommes,$bananes,$poires) := $a,$magic,$c; say $bananes.VAR.name;' --> Nil :( 14:03
should i use a loop? 14:06
14:06 kiti_nomad[m] joined 14:07 vrurg joined 14:10 patrickb joined
patrickb tony-o: Nice writeup. 14:11
tony-o: I think we need rakuland out the door to get people to use zef-eco. I guess rakuland will be a selling point for zef-eco and the other way round. 14:13
lizmat patrickb: which writeup ?
patrickb lizmat: 14:14
The one you linked in the weekly :-)
lizmat ah, so no new one, ok :-)
patrickb tony-o: Can you explain, how the new p6c indexer works? Does it guarantee that the code for a specific version never changes? If so, how does it decide which commit to use for a given version? 14:15
JJAtria[m] patrickb: What specifically are you thinking needs to be in place in raku.land before it's "out of the door"? 14:17
14:18 patrickb left
JJAtria[m] There's still a lot that needs to improved, but I'm wondering if there's anything in particular that needs to be prioritised 14:18
14:24 patrickb joined
patrickb JJAtria[m]: I guess mostly communication. A big "it's live, look how awesome it is" blog post + updating raku.org to link to rakuland next to modules.raku.org. 14:25
14:27 lucasb joined 14:31 wamba left
SmokeMachine my ($a,$magic,$c) = "pommes","bananes","poires"; my ($pommes is rw, $bananes is rw, $poires is rw) := $a,$magic,$c; say $bananes.VAR.name; # PimDaniel 14:32
evalable6 $magic
SmokeMachine m: my ($a,$magic,$c) = "pommes","bananes","poires"; my ($pommes is rw, $bananes is rw, $poires is rw) := $a,$magic,$c; say ($pommes, $bananes, $poires).map: { .VAR.name } 14:35
camelia ($a $magic $c)
SmokeMachine my ($a,$magic,$c) = "pommes","bananes","poires"; my ($pommes is raw, $bananes is raw, $poires is raw) := $a,$magic,$c; say ($pommes, $bananes, $poires).map: { .VAR.name }; 14:36
evalable6 ($a $magic $c)
SmokeMachine PimDaniel: ☝️ 14:37
14:40 wamba joined 14:48 MilkmanDan joined 14:50 MasterDuke joined
PimDaniel SmokeMachine: I'm back, sorry, thank you very mutch! Could someone explain not rw , i can understand but what is "is raw"? 14:56
I dit yet use is raw without understand what is is exactly! :( 14:59
15:14 aluaces left 15:27 parabolize joined, patrickb left
notandinus PimDaniel: docs.raku.org/type/Signature#index...it__is_raw 15:28
docs.raku.org/type/Parameter#method_raw
15:31 Altai-man joined 15:33 sena_kun left 15:34 patrickb joined, jmerelo left
notandinus i have a recursive subroutine that prints some things, is there a way i could gather those things in an array instead of printing it? 15:34
using state variable is out because i'm going to call that subroutine multiple times and i don't want previous call's entries in there 15:35
MasterDuke gather/take perhaps
notandinus yeah i looked at it but i couldn't understand how i would use it here?
the call is like: sub a ( a() ); for @list { a() } 15:37
MasterDuke m: sub f($n) { take $n < 2 ?? 1 !! $n * f($n - 1) }; my @a = gather f(4); dd @a
camelia Array @a = [1, 2, 6, 24]
notandinus oh this is nice, what happens if you don't gather? 15:38
m: sub f($n) { take $n < 2 ?? 1 !! $n * f($n - 1) }; say f(4)
camelia take without gather
in sub f at <tmp> line 1
in sub f at <tmp> line 1
in sub f at <tmp> line 1
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
15:42 ctilmes left
notandinus MasterDuke: thanks, it does the job 15:42
15:44 gnufr33dom joined 15:49 MasterDuke left 15:51 bdju left 15:52 bdju joined 15:53 jmerelo joined 15:58 tejr left 16:06 gnufr33dom left
raku-bridge <frost> m:my $a := 1,2,3; say $a 16:09
evalable6 (1 2 3)
raku-bridge <frost> m:my $a = 1,2,3; say $a
evalable6 WARNINGS for /tmp/NVI6IeTtQ4:
1
Useless use of constant integer 3 in sink context (lines 1, 1)
Useless use of constant integer 2 in sink context (lines 1, 1)
notandinus m: my $a := 1,2,3; say $a.WHAT; my $b = 1,2,3; say $b.WHAT 16:11
camelia WARNINGS for <tmp>:
(List)
(Int)
Useless use of constant integer 3 in sink context (lines 1, 1)
Useless use of constant integer 2 in sink context (lines 1, 1)
16:13 JRaspass left
raku-bridge <frost> m: my %a = 1=>2, 3=>4; say %a; 16:18
evalable6 {1 => 2, 3 => 4}
raku-bridge <frost> m: my $a = 1; my $b := $a; $b = 2; say $b; 16:20
evalable6 2
raku-bridge <frost> m: my ($a1, $a2 ) = 1, 1; my ($b1, $b2) := $a1, $a2; $b1 = 2; say $b1; 16:22
evalable6 (exit code 1) Cannot assign to a readonly variable or a value
in block <unit> at /tmp/WIZHBWYdho line 1
16:24 _jrjsmrtn joined, __jrjsmrtn__ left 16:26 Sgeo joined
lizmat and another Rakudo Weekly News hits the Net: rakudoweekly.blog/2021/01/18/2021-...se-topped/ 16:33
notandinus are sigil containers writable by default? 16:34
For parameter '@puzzle', '@' sigil containers don't need 'is rw' to be writable
^^ raku says that when i use 'is rw' on @puzzle
16:38 bdju left, bdju joined
jmerelo notandinus: the problem is not the sigil, is the type. lists are immutable, arrays are not. 16:38
notandinus i see, yeah it does fail when i pass a list 16:40
16:40 monkey_ joined
jmerelo lizmat++ 16:41
notandinus jmerelo: so mutability for '@' is determined by whether it's a list or array and mutability for '$' is determined by 'is rw' right?
jmerelo notandinus: @ indicates simply a role, the "Positional" role. Classes implementing that role might or might not be mutable.
perry lizmat: birb.
16:42 monkey_` joined
jmerelo notandinus: same for $. One thing is mutability, the other read-writeability. You can't make an immutable object mutable just by adding rw. 16:42
notandinus: writeability and mutability are different things. Writeability refers to the container, mutability to the object. 16:43
notandinus ah i see, so are arrays writeable when we pass then to subroutines?
16:43 brtastic1 joined
jmerelo m: my @a = <3 4> is List; @a = 1..3; say @a 16:44
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my @a = <3 4>7⏏5 is List; @a = 1..3; say @a
expecting any of:
infix
infix stopper
postfix
statement end
notandinus i see, i understand the difference
jmerelo m: my @a is List = <3 4>; @a = 1..3; say @a
camelia Cannot modify an immutable IntStr (3)
in block <unit> at <tmp> line 1
16:44 fvox_ joined, fvox left, pecastro left
jmerelo m: my @a is List is rw = <3 4>; @a = 1..3; say @a 16:44
camelia 5===SORRY!5=== Error while compiling <tmp>
Can't use unknown trait 'is' -> 'rw' in a variable declaration.
at <tmp>:1
------> 3my @a is List is rw7⏏5 = <3 4>; @a = 1..3; say @a
expecting any of:
TypeObject
def…
16:45 pecastro joined
jmerelo m: my @a is List = <3 4>; @a = 1..3; say @a 16:45
camelia Cannot modify an immutable IntStr (3)
in block <unit> at <tmp> line 1
16:45 monkey_ left, brtastic left, brtastic1 is now known as brtastic
jmerelo notandinus: since @a is a list, you can't change it. However, you can assign it to a mutable container 16:45
16:45 bdju left
notandinus my @a; foo(@a); foo (@a) {push @a, "test"}; say @a; 16:46
m: my @a; foo(@a); foo (@a) {push @a, "test"}; say @a;
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected block in infix position (missing statement control word before the expression?)
at <tmp>:1
------> 3my @a; foo(@a); foo (@a)7⏏5 {push @a, "test"}; say @a;
expecting any of:…
jmerelo m: my @a is List = <3 4>; my @b = @a; @b[33]=33; say @b
camelia [3 4 (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) 33]
16:46 bdju joined
notandinus m: my @a; foo(@a); sub foo (@a) {push @a, "test"}; say @a; 16:47
camelia [test]
notandinus ^ why is foo() able to write on @a ?
jmerelo notandinus: in this case, @a is simply a Positional
m: my @a is List; foo(@a); sub foo (@a) {push @a, "test"}; say @a; 16:48
camelia Cannot call 'push' on an immutable 'List'
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
notandinus m: my $a; foo($a); sub foo ($a) {$a = "hi"}; say $a;
camelia Cannot assign to a readonly variable or a value
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
jmerelo notandinus: yes, arguments are read-only 16:49
notandinus isn't @a an argument in previous ?
jmerelo notandinus: and you can't change @a. You can change, however, its contents, since every content in an array is a container
notandinus jmerelo: hmm idon't understand positionals, roles, containers, should i understand those first before continuing with raku?
jmerelo notandinus: well, taking a look at the documentation can't hurt... 16:50
notandinus what's the difference b/w changing @a and changing it's contents?
jmerelo notandinus: there's a whole tutorial for containers docs.raku.org/language/containers
notandinus: have you ever used C or suchlike? Anything with pointers? 16:51
notandinus jmerelo: yeah i did some things in Go
and used pointers
jmerelo OK, so @ are kinda like pointers
notandinus i see, so we pass a pointer when @ is argument and we don't when passing $ ?
jmerelo so what you're doing when handling an @ is you're handling a pointer. You can't change the pointer, but you can still change the stuff it points to. 16:52
notandinus what else is there to change other than the stuff it points to?
jmerelo notandinus: scalars are kinda like the variable itself. In both cases, you can't change the content (the thingie or the pointer). In the second case, you can change whatever is pointed to by the pointer
Well, you could try and change the pointer itself. In the case above, you can't bind that array to another array (you can assign, tho) 16:53
m: sub foo(@b) { @b := <1 2 3> }; foo(<3 2 1>) 16:55
camelia ( no output )
jmerelo m: sub foo(@b) { @b := <1 2 3> }; say foo(<3 2 1>)
camelia (1 2 3)
jmerelo hum?
notandinus hmm i see, i'll read up on containers and other things in language/
jmerelo m: sub foo(@b) { @b := <1 2 3> }; my @a = <1 2>: say foo(@a) 16:56
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3oo(@b) { @b := <1 2 3> }; my @a = <1 2>:7⏏5 say foo(@a)
expecting any of:
colon pair
jmerelo m: sub foo(@b) { @b := <1 2 3> }; my @a = <1 2>; say foo(@a)
camelia (1 2 3)
jmerelo m: sub foo(@b) { @b := <1 2 3> }; my @a = <1 2>; say foo(@a); say @a
camelia (1 2 3)
[1 2]
jmerelo m: sub foo(@b) { @b := <1 2 3> }; my @a = <1 2>; foo(@a); say @a
camelia [1 2]
notandinus wait in this ^ it should've printed <1 2 3> right? 16:57
jmerelo notandinus: I'm kinda baffled here. It should have raised an exception.
notandinus: it does not work, as expected, because it does not reassign the value, but since we're rebinding it should probably die. 16:58
lizmat: you around? Can you explain ^^^
m: sub foo(%b) { %b := :foo(bar) }; my %a = :foo ; foo(%a); say %a 16:59
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
bar used at line 1. Did you mean 'bag', 'VAR'?
notandinus m: sub foo(@b) { @b = <1 2 3> }; my @a = <1 2>; foo(@a); say @a
camelia [1 2 3]
jmerelo m: sub foo(%b) { %b := :foo<bar> }; my %a = :foo ; foo(%a); say %a
camelia {foo => True}
jmerelo notandinus: but = is assignment, not binding. You can change the contents. 17:00
notandinus i see 17:01
lizmat @b is a local name for the outer @a. 17:02
m: sub foo(@b) { @b.push(42) }; my @a = <a b>; foo(@a); say @a
camelia [a b 42]
notandinus oh so, $a will be bound to a value and @foo will be bound to something that holds the values, i can't change that something but i can change what it holds, is that right?
lizmat by *binding* to @b, you're just changing whatever @b is inside of the sub
jmerelo lizmat: OK, I see 17:03
m: sub foo(%b is rw) { %b := :foo<bar> }; my %a = :foo ; foo(%a); say %a 17:06
camelia 5===SORRY!5=== Error while compiling <tmp>
For parameter '%b', '%' sigil containers don't need 'is rw' to be writable
Can only use 'is rw' on a scalar ('$' sigil) parameter, not '%b'
at <tmp>:1
jmerelo that's an informative error if I ever saw one. 17:07
17:10 patrickb left 17:13 natrys joined 17:22 JRaspass joined 17:35 dakkar left 17:41 JRaspass left
CIAvash I don't see deathbyperl6.com/fez-zef-a-raku-ec...-and-auth/ in the weekly 17:44
17:51 ufobat_ left 18:00 aluaces joined 18:05 Garbanzo joined 18:06 sortiz joined
moritz weekly: deathbyperl6.com/fez-zef-a-raku-ec...-and-auth/ 18:11
notable6 moritz, Noted! (weekly)
18:11 patrickb joined
PimDaniel i made it : thank's to all of you : pastebin.com/YW1at4NW 18:29
Such a thank to lizmat! 18:30
I made a mistake : pastebin.com/Cr5HA940 18:35
May be what i'm going to ask is french luxe : 18:39
I use to use vim or nvim completion plugins for php and python. Is there something for Raku? 18:41
The one for php/symfony is actually efficient. 18:42
18:46 wamba left
tony-o patrickb: i'll include that info in the write up i'm doing today, i got feedback from one of the perl editors that i should put up a faq too about 'why this rather than cpan' and other obvious questions 18:46
jmerelo PimDaniel: it's likely there's something, since most Raku sources have a modeline... But I'm not an user, so hard to say. 18:47
tony-o 'that' being how the p6c indexer works. i need to analyze the overlap of zef p6c and p6c itself today to see if what we lose by removing p6c from zef
patrickb: the short version of the zef p6c indexer is it looks at commit history to find when the version changed and uses that commit to package and if you ask for a specific version from zef-p6c you'll get the same source each time 18:48
PimDaniel :jmerelo: thank's but i think it would't be so simple anyway! 18:53
18:53 wamba joined
sortiz \o #raku 18:54
patrickb tony-o: Yay! That's one of the approaches I envisioned a while ago! So we'll finally get a "robust" p6c as well! (I guess it makes most sense as a quick testing, dev ecosystem.) 18:55
o/ sortiz
18:59 aluaces left 19:01 domidumont left
tony-o yea, kinda, the zef p6c doesn't index version '*' or meta missing auth/ver/name 19:09
so it's missing a lot of the stuff that might otherwise show up in p6c
19:16 Garbanzo_ joined 19:18 Garbanzo left
patrickb tony-o: So when using the p6c eco one has to upload a new meta file for every new release? 19:19
tony-o: The alternative would be to allow a wildcard version and adding versions for all version changes found in the git history. Then releasing a new version happens automatically when bumping the version in the repo. (So the workflow would't change wrt how p6c is currently used.) 19:22
19:22 monkey_` left
patrickb I don't favor one over the other, but I do fear people will not adopt the new workflow requiring uploading a new META for each release. 19:23
tony-o nah, it'll auto pick up when you change the version in the meta file 19:24
PimDaniel bonsoir, see you tomorrow!
19:24 PimDaniel left
tony-o we decided against mucking with the actual meta file because there's too many complaints/unknowns that happen afterwards - a major one being "which commit is version 0.0.1 in p6c?" 19:25
patrickb tony-o: The meta file in the p6c repo or the meta file in the source repo? 19:26
tony-o in the p6c repo 19:27
patrickb OK. So just to be really sure I understand correctly. One needs to upload a new meta file to the p6c repo for every release / new version one wishes to publish. 19:29
That's incompatible to the current p6c, which means we should probably shut the old one down so we don't run into a real big state of public confusion. 19:30
And that means the p6c repo will be more cumbersome to use than the zef eco, which in turn means there is no reason left to use p6c, which means we can plan to shut it down in the middle term. 19:31
19:32 sena_kun joined 19:34 Altai-man left
patrickb tony-o: Is above reasoning correct / sane? 19:36
19:39 domidumont joined
tony-o i'm not sure what you mean by upload a new meta file to the p6c repo? the way it's currently set up will continue to work where you just need the one 19:43
just when you're ready to release a new version of Foo, the meta in the source repo needs to be updated and zef-p6c will do the right thing (pick up that the META in source changed, release a new version)
ultimately i'd like to see p6c go away but there's no reason to rush that for the moment 19:44
patrickb I try to explain (maybe it's me that's misunderstanding something). To put a new module on p6c that's not been there before one needs to create a PR in github.com/Raku/ecosystem. We've been trying to persuade people to set explicit version numbers and unchanging source URLs in the META files uploaded to that repo and uploading a new META file to that repo for each new release of their module. There is exactly one module (Inline::Perl5) 19:48
that does so. All other modules just set the source URL to the master branch of their repo and never upload a new META file to that repo.
*never upload a new META file or update to the github.com/Raku/ecosystem repo. 19:49
tony-o ahh, the way the zef-p6c is it should work either way (with a specific commit META or with a generic link to a META via master or whatever) 19:50
the specific meta won't find another version and upload the one, the generic meta will cycle through commits and find all of the times the meta changed and make a dist for that version
patrickb Ah. I see. I *did* misunderstand something. 19:51
The github.com/Raku/ecosystem usually links to the META files in the source repos.
tony-o yes exactly, nothing should change from the p6c user's side of things except that their modules won't be indexed if the auth/ver stuff is "invalid" 19:52
patrickb I (wrongly) assumed that the META files in github.com/Raku/ecosystem were copies. That's untrue. (I think I once knew that and forgot). 19:53
19:54 domidumont left, jmerelo left
patrickb Understood. And a * in the version field completely kills version numbers and the only sane thing to do is ignore such METAs. 19:54
19:55 monkey_` joined
patrickb So as long as one succeeds in keeping a non-broken META6.json file in ones repo everthing is merry. 19:55
thanks for explaining tony-o 19:56
19:56 rindolf left
tony-o yea exactly ^ 19:56
no problem
patrickb different question: Do you intend to open source the eco server some time in the future? 19:58
tony-o i didn't have the intent to, it's written in an aws lambda so it's not really in a place for me to publish it 20:03
patrickb OK. Don't have strong emotions either. But I guess it's worth mentioning it. That's probably a good candidate for an FAQ. 20:05
20:06 Black_Ribbon joined
tony-o i'll add that to the faq 20:08
patrickb tony-o++ 20:09
20:10 Black_Ribbon left, Black_Ribbon joined 20:17 tejr joined 20:19 patrickb left 20:22 natrys left 20:23 patrickb joined 20:52 Garbanzo_ left, Garbanzo_ joined 20:54 vrurg left, vrurg_ joined 21:13 notagoodidea joined
tony-o patrickb: here's the initial report about what p6c vs zef-p6c is indexing 21:20
gist.github.com/tony-o/8d3b3d8e6ba...bf49d3ade7
21:31 mowcat joined
patrickb looks 21:32
duplicates are just multiple commits with the same version of which you will pick the earliest one, correct? 21:33
Is missing auth a failure mode? 21:36
21:36 aindilis left
patrickb Some versions are missing entirely, e.g. ASN::META:ver<0.4.2>:auth<github:Altai-man> (github.com/Altai-man/ASN-META/comm...c18fd1724) 21:42
And for some I can't spot the difference, why one is in zef-p6c and the other isn't. e.g. raw.githubusercontent.com/Altai-ma...META6.json (not in zef-p6c) vs raw.githubusercontent.com/Altai-ma...META6.json (in zef-p6c) 21:45
We should definitely work toward moving people over to zef and zef-p6c and then shutting down p6c. But we'll need a "zef-p6c is now available and recommended for public consumption." message from you and "raku.land is good to go" from JJAtria / JRaspass. Then we can start marketing and persuading people to check and fix up their modules or move them over to zef. 21:52
21:56 JRaspass joined 22:14 brtastic left
JJAtria[m] patrickb: Note that raku.land intentionally indexes only CPAN / zef, and not p6c / zef-p6c 22:35
patrickb Intentionally as in providing a motivational factor to move over to zef / cpan? 22:37
JRaspass damn these ecosystems are tag soup :-P 22:38
22:41 sena_kun left 22:43 sivoais joined 22:45 monkey_` left
patrickb Im of to bed. o/ 22:49
22:49 patrickb left, aindilis joined 22:52 Celelibi left
notagoodidea May someone points to a simple binding using NativeCall in Raku (kind of reference-ish)? 22:56
^^^ point me
[Coke] is there a writeup on the zef/zef-p6c/raku.land discussions? 23:00
(these seem like substantial changes, want to make sure I understand them.) 23:01
23:01 Celelibi joined 23:03 earnestly left
JJAtria[m] I think tony-o has been putting together some information on the zef side. There hasn't been much open discussion on the raku.land side because it was just a side project we started that sort of seems to have found itself at the right place at the right time 23:04
There is a #raku-land channel where we've been discussing some of the immediate goals, etc, but nothing has been put on paper yet, other than in the repo 23:05
patrickb: yeah, intentionally in part because it made things significantly simpler for us, in part because we felt we could promote the new thing 23:06
tellable6 JJAtria[m], I'll pass your message to patrickb
23:07 Celelibi left 23:21 simcop2387 left 23:22 monkey_` joined 23:31 simcop2387 joined 23:35 brtastic joined 23:38 wamba left 23:45 monkey_`` joined 23:48 monkey_` left 23:51 Celelibi joined
sortiz notagoodidea: In the DBIish sources you can find several examples of complete NativeCall bindings, some simpler that others. 23:51
Look for */Native.pm in github.com/raku-community-modules/...lib/DBDish 23:54
23:54 mowcat left 23:55 monkey_`` left