🦋 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.
timotimo Xliff: if you can reproduce it, can you try if the typical MVM_ env vars change anything? 00:18
i may be of more use tomorrow, not any more today :) 00:19
Xliff Fair enough. 00:22
OK. Before you split, what were those vars again?
timotimo MVM_SPESH_DISABLE, MVM_JIT_DISABLE, MVM_SPESH_INLINE_DISABLE, all individually 00:48
why not also SPESH_OSR_DISABLE and SPESH_PEA_DISABLE just for fun 00:49
Xliff Thanks! 01:03
01:09 klapperl joined 01:10 HoboWithAShotgun left
xinming SmokeMachine: In postgres, There is something like json_column->>'json_key' = 'value' In this case, What is the right ast to generate the json_column->>'json_key'? NOTE, The 'json_key' can not be placeholder, So, It should be passed as literal string. 01:22
Xliff xinming: What does the model look like. Can you post an example? 01:31
01:33 wildtrees left
xinming Xliff: create table test ( id serial, json_column json ); :-) 01:36
Xliff That's not the Red def though, is it?
xinming I have patched version of Red which generates right sql for json
The default Red def doesn't work with postgres jsonb 01:37
json*
Xliff OK, so you need some way to tell Red to generate the json_column, right?
Do you have a fork I can look at? 01:38
xinming I don't have that.
hmm, I created pull request
Xliff: github.com/FCO/Red/pull/404
Xliff: The json/jsonb one need to be patched.
Xliff: I don't mean to generate the json_column, I need the json op in postgres db. 01:39
Let's json, The result sql will be something like, SELECT ... FROM ... WHERE json_column->>'json_key' = 'value';
Xliff Yeah, that's probably beyond my current understanding of Red... sorry. 01:42
xinming: Yeah, you will have to talk to SmokeMachine about that. 01:51
It looks like that has to be done by .translate 01:52
02:40 pdcawley left, pdcawley joined 02:41 cpan-raku left 02:43 cpan-raku joined, cpan-raku left, cpan-raku joined 02:44 pdcawley left 02:53 rindolf joined
rindolf hi all 02:53
03:29 colomon_ joined, colomon left, colomon_ is now known as colomon 03:42 wtwt5237 joined
wtwt5237 could someone please help me with zef? I installed perl6, and cannot find it under /bin? 03:43
sorry if I am missing something obvious.
03:44 hythm joined
rindolf wtwt5237: hi 03:46
wtwt5237: how did you install perl6? 03:47
hythm wtwt5237, I install rakudo with `rakudobrew build moar-blead`, then I nstall zef with 'rakudobrew build zef`, then I find zef in ` /home/hythm/.rakudobrew/versions/moar-blead/install/share/perl6/site/bin/zef ` 03:48
wtwt5237 thanks! 03:49
hythm, let me give that a try. thanks! 03:50
hythm np, I also add rakudobrew bin directory to $PATH as instructed in rakudobrew README.md 03:51
Xliff You can do 'rakudobrew mode shims' and not have to worry about $PATH if you have the environment set correctly. 03:53
hythm good to know 03:58
Xliff :) 04:00
good night! ;)
04:00 Xliff left
hythm gn 04:00
wtwt5237, I think you need to switch to moar-blead `rakudobrew switch moar-blead` before installing zef
wtwt5237 trying these. thanks all! 04:01
04:08 kurahaupo joined 04:45 wtwt5237 left 05:14 hythm left 06:09 jmerelo joined
jmerelo releasable6: status 06:09
releasable6 jmerelo, Next release will happen when it's ready. There are no known blockers. 248 out of 463 commits logged (⚠ 9 warnings)
jmerelo, Details: gist.github.com/bf470eba700c1eb866...ac51539b1b
06:09 sena_kun joined, jaldhar joined 06:10 jaldhar left, jaldhar joined 06:12 jaldhar left, jaldhar_ joined 06:25 jaldhar_ left 06:26 jaldhar_ joined 06:44 xkr47 left 06:49 wamba joined 06:55 jaldhar_ left 06:56 jaldhar_ joined 06:59 jaldhar_ left 07:00 jaldhar_ joined
SmokeMachine xinming: I think it could be something like: `Red::AST::JsonItemStr.new: .json-column, ast-value “json-key”` 07:09
07:12 stoned75 left
SmokeMachine xinming: but I think it’ll need a specific translation for that ast... that could be something like: `multi method translate(Red::AST::JsonItemStr $_, $context?) { my ($lsql, @l) := do given self.translate: .left, $context { .key, .value }; my ($rsql, @r) := do given self.translate: .right, $context { .key, .value }; “{ $lsql }->>{ $rsql }” => [|@l, |@r] }` 07:19
And the column’s AT-KEY will need to return a rw container... 07:24
And do something like this to be possible to be used on update: github.com/FCO/Red/blob/master/lib...te.pm6#L16 07:26
xinming: ^^
xinming: I think we’ll need to change the update a little... the key expect to be a column name, but should be an AST... 07:29
07:29 Altai-man_ joined 07:32 sena_kun left 07:34 mid_home left 07:35 jmerelo left 07:38 xkr47 joined
SmokeMachine xinming: here: github.com/FCO/Red/blob/master/lib...eq.pm6#L70 07:38
xinming: github.com/FCO/Red/blob/master/lib...ate.pm6#L8 07:40
07:41 linfir joined
SmokeMachine xinming: and here: github.com/FCO/Red/blob/master/lib...L.pm6#L651 07:42
07:44 Altai-man_ left 07:50 wbn joined 07:54 sena_kun joined 07:59 linfir left 08:01 wamba left
ZzZombo m: 'asd' ~~ /<ident>/ 08:03
camelia ( no output )
08:10 kurahaupo left 08:11 kurahaupo joined 08:19 sena_kun left 08:27 kensanata joined 08:28 pdcawley joined 08:32 pdcawley left 08:51 wamba joined
ZzZombo m: say 'asd' ~~ /<ident>/ 08:53
camelia 「asd」
ident => 「asd」
ZzZombo "<ident>Identifier. Also a default rule." -- what does it mean? 08:55
08:56 wamba left 09:06 wamba joined 09:13 daxim left 09:16 mid_laptop joined, daxim joined 09:21 wamba1 joined 09:22 wamba left 09:30 ufobat joined 09:36 wamba1 left 09:39 wamba joined
ZzZombo m: my $a = 'asd'; say 'asd' ~~ /<.$a>/ 10:09
camelia 「asd」
ZzZombo m: my $a = 'asd'; say 'asd' ~~ /<$a>/ 10:10
camelia 「asd」
ZzZombo huh, this works.
m: my $a = 'asd'; say 'asd' ~~ /{$a}/
camelia 「」
10:20 wamba left 10:22 abraxxa joined
abraxxa I'm trying to write a grammar for FireHol firewall rule definitions and might found a parser bug 10:22
10:23 Wahnberger joined
Wahnberger Hi there: is the an elegant way to get the last part of a string, splitted by an given seperator? 10:23
10:23 wamba joined
Wahnberger something like: my $foo = $d.Str.split( / \\ / ).last; 10:23
abraxxa paste.scsys.co.uk/587097 10:24
the commented token was my first try that doesn't work
10:35 sena_kun joined, wamba left 10:52 wamba joined 10:54 mid_laptop left 10:55 wamba left 11:02 wamba joined 11:05 daxim left 11:10 daxim joined 11:29 Altai-man_ joined 11:32 sena_kun left
Juerd Wahnberger: If you use 'tail' instead of 'last', that should work :) 11:36
lizmat also, if you want the last N, you can do .tail(N) 11:37
Wahnberger ahh :) 11:39
11:47 jaldhar_ left 11:48 jaldhar_ joined 11:49 jaldhar_ left
lizmat conversely, if you only want the first, you can do .head 11:50
11:50 jaldhar_ joined
lizmat and .head(N) for the first N 11:50
also, if you want a certain number of elements: 11:51
you can just treat the result of split as an array 11:52
m: dd "123456789".comb[5,0,7]
camelia ("6", "1", "8")
11:53 jaldhar_ left 11:54 jaldhar_ joined
Wahnberger is head inside similar to a perl split like (split(/ bla /))[1] ? 11:54
and tail
slice..in perl 11:55
11:55 jaldhar_ left 11:56 jaldhar_ joined
lizmat head / tail are methods on Seq uences 11:56
many method produce them
*methods
$filename.IO.lines is one of them
$filename.IO.lines.head(3)
will give you the first 3 lines of the file indicated by $filename 11:57
Wahnberger i see
lizmat so nothing specific about split
it's just a method that produces a Seq
Wahnberger saved 3 lines of code now :D 11:58
11:58 mid_laptop joined 12:03 jaldhar_ left 12:04 jaldhar_ joined 12:05 jaldhar_ left 12:06 jaldhar_ joined 12:07 jaldhar_ left 12:08 jaldhar_ joined
jjatria How can you get a key / value slice from a Hash? I'm thinking of something like `%foo{qw( a b c )}` in Perl 12:25
Altai-man_ can you provide an example of input/output?
jjatria Sure, one second 12:26
Altai-man_ m: my %foo = a => 42, b => 50; say $_ => %foo{$_} given 'a';
camelia a => 42
Altai-man_ or, hmm, do you want slicing?
jjatria Well, I'm after what in Perl is called a slice, but not just for keys _or_ values, but for both 12:27
Altai-man_ m: my %a = a => 32, b => 50; say %a<a b>;
camelia (32 50)
jjatria So, closer to what you posted first
Altai-man_ ah, ok
jnthn m: m: my %a = a => 32, b => 50; say %a<a b>:kv;
camelia (a 32 b 50)
jnthn m: m: my %a = a => 32, b => 50; say %a<a b>:p;
camelia (a => 32 b => 50)
jnthn Depending on whether you want a flat view of Pair objects
*or Pair objects
jjatria Oh, perfect. Thanks! 12:28
ZzZombo m: say '/etc/passwd'.IO.slurp 12:36
camelia bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
games:x:12:100:Games account:/var/games:/bin/bash
lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
mail:x:8:12:Mailer daemon:/var/sp…
12:38 mid_laptop left
ZzZombo m: say '/etc/shadow'.IO.slurp 12:39
camelia Failed to open file /etc/shadow: Permission denied
in block <unit> at <tmp> line 1
12:43 lucasb joined 12:45 wamba left, jaldhar_ left 12:46 jaldhar_ joined 13:04 mid_laptop joined 13:09 daxim left
lizmat *phew* :-) 13:11
13:16 daxim joined 13:26 lizmat_ joined 13:27 jaldhar_ left 13:28 jaldhar_ joined 13:30 jaldhar_ left, jaldhar_ joined, lizmat left
Wahnberger how can i get the http status code from a Cro Get? I thought something like that would work but doesnt: my $head = await $resp.head; (works) and then say $head{"status"}; (wont work)? 13:30
13:30 sena_kun joined
Wahnberger it says "Type Cro::HTTP::Response does not support associative indexing." 13:30
13:32 Altai-man_ left
lizmat_ $head.status ? 13:32
13:33 lizmat_ is now known as lizmat
Wahnberger args :/ 13:33
13:34 mid_laptop left
timotimo o/ 13:35
ZzZombo m: :our $a = 'a' 13:37
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3:our7⏏5 $a = 'a'
expecting any of:
infix
infix stopper
statement end
statement modifier
statement…
ZzZombo m: sub a { :our $a = 'a' }
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3sub a { :our7⏏5 $a = 'a' }
expecting any of:
infix
infix stopper
statement end
statement modifier
ZzZombo m: token a { :our $a = 'a' } 13:38
camelia Potential difficulties:
Useless declaration of a has-scoped method in mainline (did you mean 'my token a'?)
at <tmp>:1
------> 3token 7⏏5a { :our $a = 'a' }
ZzZombo m: my token a { :our $a = 'a' }
camelia ( no output )
ZzZombo m: :our 13:50
camelia WARNINGS for <tmp>:
Useless use of ":our" in sink context (line 1)
ZzZombo m: :our.say 13:51
camelia our => True
[Coke] m: given .WHAT for {} # but there IS a block. 13:52
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3given .WHAT for 7⏏5{} # but there IS a block.
13:57 wamba joined
Wahnberger is there a way to split a multiline output which i get from a qqx{} shell command into an array? 13:57
13:57 jaldhar_ left 13:58 jaldhar_ joined
[Coke] .lines ? 13:58
m: "hi\nthere\nfriend".lines.say
camelia (hi there friend)
[Coke] m: dd "hi\nthere\nfriend".lines 13:59
camelia ("hi", "there", "friend").Seq
14:00 mid_laptop joined
Wahnberger :) 14:00
..hard to learn and then easy to use..
14:13 jaldhar_ left 14:14 jaldhar_ joined
lizmat Wahnberger: well, once you realize you can use .lines on IO objects as well as strings, as well as on supplies 14:18
and know there is a .words method as well
you should expect to be able to use .words the same way everywhere as well
AlexDaniel uuuuhhhhhhhh 14:20
timotimo heyo AD 14:21
AlexDaniel processing output from tools can be a bit more difficult
abraxxa how can i match any word but not 'custom' in a grammar?
AlexDaniel I don't even remember what's the right way to do it, is it .split(“\n”) ?
timotimo <!before "custom">\w+
AlexDaniel it's definitely not .lines 14:22
abraxxa i've read about lookahead assertion but that doesn't help as I don't want to match something based on what is before or after it
AlexDaniel or is it .lines if you run it on .IO but not strings?
timotimo what you want is to reject matching a thing if it was a thing
which is equivalent to matching something and then refusing the match when at its end there's a thing you don't like in front of the match position
AlexDaniel lizmat: and that's the thing, you can realize it, of course, but it does different things, if I'm not mistaken
abraxxa timotimo: hm...hard to grasp but it seems to work, thanks! 14:23
AlexDaniel like
m: say “foo\rbar”.lines[0]
camelia foo
AlexDaniel I think it doesn't do that on IO stuff, but I'm not sure 14:24
timotimo splitting by /\n/ will do "smart" newline stuff
splitting by /\x[a]/ (or whatever the ascii code for newline is) will only accept the actual \n character 14:25
lizmat right
afaik :-)
AlexDaniel what do you mean right
abraxxa is there a way to define the same regex for multiple different named tokens or rules? 14:26
i've defined a quoted-string token which i use in some other named tokens but don't want it to show up in the match object
as it's just a helper token
lizmat define it as a regex, and use that ?
AlexDaniel m: dd “foo\r\nbar”.split(/\x[A]/) 14:27
camelia ("foo\r\nbar",).Seq
AlexDaniel so clearly that didn't split by \n
timotimo, lizmat: this is something we actually have to fix in the language, somehow 14:29
timotimo \r\n is not \n
just like ä isn't a
blame the unicode consortium
14:29 jaldhar_ left
timotimo all we can do is document better or unconfuse in some other way 14:30
14:30 jaldhar_ joined
AlexDaniel what does unicode consortium has to do with processing output from qqx 14:32
we have to actually make it possible, not document the excuses
maybe it's already possible, I don't remember 14:33
14:35 jaldhar_ left 14:36 jaldhar_ joined
lizmat it's the unicode consortium, afaik, who decided that \r\n is a single codepoint 14:37
14:37 abraxxa left
lizmat different from \r and \n 14:37
AlexDaniel lizmat: it has nothing to do with how you process output from unix commands 14:38
14:38 daxim left
AlexDaniel in which case the output is separated with \n, that's it 14:38
[Coke] wonders why "it's definitely not lines" 14:41
AlexDaniel [Coke]: well, it depends. What are you processing? Is it purely text, or some \n-separated output? The latter is very common 14:42
[Coke]: looking at docs.raku.org/type/Proc::Async
“whenever $proc.stdout.lines { # split input on \r\n, \n, and \r”
El_Che lo
AlexDaniel pretty sure I wrote that comment
because it drives me crazy :) 14:43
14:43 daxim joined, jaldhar_ left 14:44 jaldhar_ joined
AlexDaniel actually, makes me wonder if that's what it actually does 14:44
maybe the comment is wrong 14:45
no, the comment is right :) 14:47
jnthn Probably Blob wants to have a `.split`
[Coke] even though .lines splits on more than just \n, if you're not expecting random \r characters, why not use it?
timotimo \r\n being a grapheme gives a little bit of friction with old-timey tools
14:47 jaldhar_ left
jnthn I suspect for every time there are \r's that are undesirably eaten by .lines, there's thousands more times where the result of using .lines is that one's code is portable if run on Windows. 14:48
14:48 jaldhar_ joined
[Coke] jnthn++, right. 14:48
timotimo don't forget you can use :v to get the thing back that was split on
AlexDaniel … absolutely wrong
timotimo with split, but not with lines
if you .lines on an IO with :!chomp, do the line endings stay with the line strings? i would expect them to.
jnthn Probably, yes. 14:49
AlexDaniel you guys go try to process output of something, then struggle once you get \r, then say this nonsense
timotimo unix tools don't output text, they output "text" :P 14:50
AlexDaniel when you're processing output of some tool, you're typically expecting the line to be in some format
once you get \r in there, it splits the line in half
timotimo i wonder if changing the .in-nl on Proc::Async's pipes by default is more wtf than dwim 14:51
and maybe \r\n and \n is a saner selection than \r \r\n and \n 14:52
AlexDaniel it's not…
14:52 abraxxa joined
AlexDaniel but we should only have two sets of options, that's right 14:52
jnthn No, the sane thing to do is to work at byte level if you're actually processing output that should be treated as an octet stream
And we should make that easier 14:53
14:53 abraxxa left
timotimo unix: text is the ultimate exchange format 14:53
unicode consortium: hold my beer
jnthn :)
timotimo but yes, 100% on Blob.split
14:54 abraxxa joined 14:55 abraxxa left 15:08 abraxxa joined 15:09 abraxxa left 15:23 jaldhar_ left 15:24 jaldhar_ joined 15:29 Altai-man_ joined 15:32 sena_kun left 15:35 jaldhar_ left 15:36 jaldhar_ joined 15:37 ggoebel joined, jaldhar_ left 15:38 jaldhar_ joined, rindolf left 15:55 jaldhar_ left 15:56 jaldhar_ joined 16:07 jaldhar_ left 16:08 jaldhar_ joined 16:27 jaldhar_ left 16:28 jaldhar_ joined
lizmat m: for ^1000000 { my %h = a => 42, b => 666 }; say now - INIT now 16:30
camelia 2.11986731
lizmat m: class A { has $.a; has $.b }; for ^1000000 { my $obj = A.new(a => 42, b => 666) }; say now - INIT now 16:31
camelia 0.4957836
lizmat morale: don't use hashes as fake objects in Raku, it's 4x as slow as using classes / objects
16:35 wamba left
[Coke] lizmat: nice. 16:36
lizmat same goes for accessors: 16:37
m: my %h = a => 42, b => 666; for ^10000000 { my $a = %h<a> }; say now - INIT now
camelia 0.72105429
lizmat m: class A { has $.a; has $.b }; my $obj = A.new(a => 42, b => 666); for ^10000000 { my $a = $obj.a }; say now - INIT now
camelia 0.5161566
lizmat feels like material for a blog post 16:40
perhaps an advent post ?
AlexDaniel lizmat: damn 16:47
AlexDaniel rewrites a bunch of code
:D
I wonder…
6c: class A { has $.a; has $.b }; for ^1000000 { my $obj = A.new(a => 42, b => 666) }; say now - INIT now 16:48
Geth doc: bafa925464 | finanalyst++ | doc/Language/compilation.pod6
new compilation tutorial
16:49
committable6 AlexDaniel, gist.github.com/b68f2aa208fd71f31f...dce2a5a6ab 16:51
AlexDaniel 6c: for ^1000000 { my %h = a => 42, b => 666 }; say now - INIT now
timotimo once hashes that don't escape are translated to sets of registers, creating hashes and not using them will be ridiculously fast, and this benchmark if used exactly as shown will become very misleading 16:52
16:53 finanalyst joined
brass lizmat: that seems like it would be a good blog post, it's good to know 16:53
16:54 joule joined
[Coke] yah, any optimizations that go into NQP to make things faster need to be revisted as other things are made faster, neh? 16:54
finanalyst hi all, an apology. I just drafted a new tutorial for the docs on compilation based on a talk by niner. But by mistake I commited it rather than posting as a PR 16:55
brass Is there a doc that explains what nqp does and how it fits in with rakudo and moarvm?
committable6 AlexDaniel, gist.github.com/e45da1c5e2f3387f44...32efc186bc
timotimo no problem, git makes it easy to revert stuff 16:56
brass I want to learn more about how they all fit together
finanalyst timotimo: I don't quite know how to revert it from the main repo
timotimo it's just the one commit, right?
finanalyst yse
yes
last one
timotimo in that case just "git revert master" will do it
lizmat finanalyst: but you didn't push yet, right ? 16:57
finanalyst github.com/perl6/doc/commit/bafa92...0c87b62c0a
timotimo i see the commit notification up there
lizmat ah, ok, you did push
finanalyst lizmat: yep. it was a mistake. I thought I was push ing to my forked repo
16:58 jaldhar_ left, jaldhar_ joined 16:59 jaldhar_ left
finanalyst would someone please tell me how to reverse my commit? 17:00
17:00 jaldhar_ joined
Grinnz git-revert, as timotimo said 17:00
it will create a new commit reversing the commit (you can't change history you've pushed) 17:01
Geth doc: eb0c073de5 | finanalyst++ | doc/Language/compilation.pod6
Revert "new compilation tutorial"

This reverts commit bafa9254643d3dca86e8bed2bc58ab0c87b62c0a.
17:02
finanalyst OK done. I'll make a PR now. 17:03
17:04 mid_laptop left
Grinnz now is a good time to do it on a branch instead of master, too ;) 17:04
17:09 wamba joined 17:13 jaldhar_ left 17:14 jaldhar_ joined
Geth doc: finanalyst++ created pull request #3082:
new compilation tutorial
17:16
17:27 jaldhar_ left 17:28 jaldhar_ joined 17:30 sena_kun joined 17:32 Altai-man_ left 17:39 finanalyst left 17:43 jaldhar_ left 17:44 jaldhar_ joined 17:47 jaldhar_ left 17:48 jaldhar_ joined 17:51 kensanata left 17:59 jaldhar_ left 18:00 jaldhar_ joined 18:03 jaldhar_ left 18:04 jaldhar_ joined 18:07 chloekek joined 18:21 mid_home joined 18:25 cpan-raku left 18:26 cpan-raku joined, cpan-raku left, cpan-raku joined 18:29 jaldhar_ left 18:30 jaldhar_ joined 18:35 wamba left 18:36 wamba joined 18:56 ufobat left 19:11 Xliff joined
Xliff o/ 19:11
timotimo: On github.com/Xliff/p6-GtkPlus/issues/40
19:11 jaldhar_ left
Xliff timotimo: Setting MVM_SPESH_DISABLE=1 fixes the issue 19:12
19:12 jaldhar_ joined
Xliff timotimo: Setting MVM_SPESH_DISABLE=1 fixes the issue 19:13
oops
MVM_SPESH_INLINE_DISABLE also works
SPESH_OSR_DISABLE and SPESH_PEA_DISABLE have no effect. 19:15
Thanks!
19:15 jaldhar_ left 19:16 jaldhar_ joined 19:17 mla joined 19:18 jaldhar_ left, jaldhar_ joined
timotimo can you check if setting MVM_SPESH_NODELAY makes the problem appear much quicker? 19:19
Xliff Setting MVM_SPESH_NODELAY also eliminates the issue 19:22
timotimo hm. interesting 19:26
19:27 lichtkind left, jaldhar_ left 19:28 jaldhar_ joined 19:29 jaldhar_ left, Altai-man_ joined 19:30 jaldhar_ joined 19:32 sena_kun left
timotimo do we have something nice for "give me an array shallow-cloned from this other array, except index X should have object A in it? 19:35
javascript has the wordy-but-working Object.assign({}, [...arr], {[X]: A}) 19:36
i'd like something that can also work with something immutable
19:37 Xliff left 19:42 jaldhar_ left, jaldhar_ joined 19:45 jaldhar_ left 19:46 jaldhar_ joined 19:49 jaldhar_ left 19:50 jaldhar_ joined, daxim left 19:52 wildtrees joined
Kaiepi m: sub clone-with-replacement-at(@arr, Int:D $idx, Mu $obj is raw) { @arr.WHAT.new: |@arr[0..$idx-1].clone, $obj, |@arr[$idx+1..*].clone }; say clone-with-replacement-at [1,2,3,4,5], 2, 42 19:53
camelia [1 2 42 4 5]
Kaiepi something like this timotimo ?
19:55 daxim joined
wildtrees what does that : | notation do? 19:55
19:57 patrickb joined, jaldhar_ left
Kaiepi | makes a Slip out of the array given, : does a method call in this case 19:58
m: sub clone-with-replacement-at(@arr, Int:D $idx, Mu $obj is raw) { @arr.WHAT.new: |@arr[0..$idx-1].clone, $obj, |@arr[$idx+1..*].clone }; say clone-with-replacement-at((1,2,3,4,5), 2, 42).^name
camelia List
19:58 jaldhar_ joined
timotimo i was hoping for something shorter, not longer :D 19:58
Kaiepi hm 19:59
timotimo not that big a deal 20:01
though the javascript version of that code also allows an arbitrary amount of replacements at once
jnthn I'm pretty sure the .clone ain't needed there
If you're slicing then you're already getting a List back 20:02
timotimo right
jnthn Also, 0..^$idx instead of -1, and $idx^..* on the other side :)
Also, no need for .WHAT.new, just .new 20:03
timotimo and probably head($n) and tail(* - $n) maybe
jnthn That's at lesat some saving :)
20:03 jaldhar_ left 20:04 jaldhar_ joined 20:05 jaldhar_ left 20:06 jaldhar_ joined 20:08 jaldhar_ left, jaldhar_ joined
patrickb o/ 20:08
tellable6 2019-11-07T08:40:24Z #raku-dev <El_Che> patrickb: thank you for your work. I think we are in the same page. I was also thinking on building on CentOS 6
2019-11-07T08:41:45Z #raku-dev <El_Che> patrickb: we need to add macos instructions once we try that out
patrickb El_Che: I hope we'll manage to make the upcoming release the first that also offers precompiled archives. 20:10
El_Che Good plan. I would like to add relocatble .tar.gz to rakudo-pkg, maybe have a look at mac and win as well. Depending on time 20:15
patrickb What's still to be decided is how we promote those precompiled releases on the website. 20:17
El_Che patrickb: I think there is a use case for precompiled packages (certainly if in a repo) and precompiled tar.gz 20:20
patrickb I'd guess we somehow need to put that on rakudo.org/files. Ugh, some more opitions are listed on raku.org/downloads (including your rakudo-pkg packages). Those pages really need some tidying and streamlinification.
El_Che yes, they are ajungle
patrickb Step 1. - Find out who is to decide on how the website can change. 20:22
Step 2. - Find someone with a website affinity.
El_Che we're also in a situation where more distributions have rakudo
patrickb I think the raku.org download page needs to go. It should just link to rakudo.org and have a sentence or two about potential alternative implementations. 20:24
El_Che Download should be in one page, in my view yes. And as long there aren't competing compilers, there is no need to complicate things 20:25
20:26 daxim left
patrickb Also when we have multiple compilers it's clearer when the different implementations have their own download page on their own domains. raku.org is not about implementations. 20:27
And then I'd remove the words "official" and "3rd party" from the download page. Just offer downloads and don't classify them. 20:28
20:31 daxim joined
patrickb is the rakudo.org repository seriously placed in the perl6 org?!? github.com/perl6/rakudo.org 20:31
timotimo well, for anything in the rakudo org you need a CLA i believe? 20:33
if you want a commit bit
20:33 jaldhar_ left 20:34 jaldhar_ joined 20:41 dumarchie joined
dumarchie Hi, can anyone tell me how to re-export an enum? 20:41
I would expect it to be a common use case for a role to export an enum and for a class implementing the role to re-export the enum. 20:44
timotimo you'd do it the same way you re-export anything else, i believe 20:45
our TheEnum is export = OtherPackage::TheEnum perhaps? i'ven't done this yet 20:46
AlexDaniel patrickb: regarding step 1, you decide. If you feel that others may object, then you submit it as a PR to the problem-solving repo 20:47
timotimo: you don't need to sign CLA for rakudo.org changes
dumarchie I tried sub EXPORT, the enum symbol is exported but the enumerated values are not. 20:48
timotimo yes because it's in the perl6 org on github :)
AlexDaniel yep
timotimo ah, i see
it's probably not enough to simply "import TheEnum;" in the class body
rba patrickb: I think too we need to make it more simple for the people to fine the releases. 20:49
timotimo actually, i think you can't put an "our" scoped thing into a role?
AlexDaniel timotimo: ah, I misread the conversation, that's exactly what you said :)
AlexDaniel runs away
timotimo no you will stay here and atone for your sins
just one tone will be enough
rba patrickb: And we need to just offer all the options, src, pkgs and star vx. plain rakudo.
patrickb rba: Just what I think.
AlexDaniel screams in F sharp 20:50
rba AlexDaniel: I had to sign a CLA, but I don't have access to rakudo org in github... Hmmm....
patrickb I suspect just flying under the radar and doing the changes to the websites directly will be a lot less hassle than going through problem-solving...
AlexDaniel
[Coke]: can you confirm that rba signed a CLA? 20:51
rba patrickb: If you like you create a PR and I setup a separate hosting based on the PR, then we can fiddle arround till we feel fine and repleace the prod ones...
El_Che CLA sounds so ORacle :)
patrickb rba: I like that idea 20:52
AlexDaniel patrickb: that's right, and you can always do it later if people start complaining :)
dumarchie "import TheEnum;" in the class body does not work indeed
patrickb I'll try to put something together.
rba: On a different topic. Can you imagine making that MacOS of yours somehow available for testing and release work for raku devs? 20:53
rba patrickb: You mean ssh access? 20:54
patrickb: On the mac?
patrickb ssh would be the obvious choice, yes.
rba: It was you talking about a MacOS mini catching dust, was it? 20:55
rba patrickb: As the idea came up with running Blin on it as well and now ssh access, I have to extend my DMZ first. But yes why not. Just don't use all my bandwith... :-)
El_Che patrickb: travis has mac builds, looking at it for creating pkgs
rba patrickb: Yes. I wanted to have a look at the macmini this weekend. 20:56
patrickb El_Che: That'd be a nice solution.
rba crosses fingers to have time.
AlexDaniel rba: not sure if you've seen my answer: colabti.org/irclogger/irclogger_lo...11-07#l183
ah, a bit earlier even: colabti.org/irclogger/irclogger_lo...11-07#l165 20:57
rba Realised github actions could start own runners, then I started thinking...
patrickb rba: No hurries.
rba AlexDaniel: Need to check, but thought that mac is 64 bit. 20:58
AlexDaniel rba: sure, but it doesn't mean you'll be able to run linux binaries there
rba AlexDaniel: ack 20:59