🦋 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
|