🦋 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.
[Coke] in review - if you have a concern about TPF using slack, please bring it up with stuart. 00:15
tyil [Coke]: already done 00:30
Geth ¦ problem-solving: ToddAndMargo assigned to jnthn Issue uint's confused with int's github.com/Raku/problem-solving/issues/154 00:32
ToddAndMargo Hi, I am the one that just posted 154. I will stay on line for a bit to answer any questions.
uzl[m] m: class Person {has $!name; multi method name { $!name }; multi method name($name) { $!name = $name } }; my $p = Person.new; $p.name("Jai"); say $p.name; 02:42
camelia Jai
uzl[m] m: class Person {has $!name; multi method name { $!name }; multi method name($name) { $!name = $name } }; my $p = Person.new; $p.name("Jai"); say $p.name; my $m = $p.^find_method("name").candidates.grep(*.arity == 2).first; say $m.perl; 02:43
camelia Jai
multi method name (Person: $name, *%_) { #`(Method|75793472) ... }
uzl[m] m: class Person {has $!name; multi method name { $!name }; multi method name($name) { $!name = $name } }; my $p = Person.new; $p.name("Jai"); say $p.name; my $m = $p.^find_method("name").candidates.grep(*.arity == 2).first; say $m.(); 02:44
camelia Jai
Too few positionals passed; expected 2 arguments but got 0
in method name at <tmp> line 1
in block <unit> at <tmp> line 1
uzl[m] m: class Person {has $!name; multi method name { $!name }; multi method name($name) { $!name = $name } }; my $p = Person.new; $p.name("Jai"); say $p.name; my $m = $p.^find_method("name").candidates.grep(*.arity == 2).first; say $m()
camelia Jai
Too few positionals passed; expected 2 arguments but got 0
in method name at <tmp> line 1
in block <unit> at <tmp> line 1
uzl[m] m: class Person {has $!name; multi method name { $!name }; multi method name($name) { $!name = $name } }; my $p = Person.new; $p.name("Jai"); say $p.name; my $m = $p.^find_method("name").candidates.grep(*.arity == 2).first; say $m($p: )
camelia Jai
Too few positionals passed; expected 2 arguments but got 0
in method name at <tmp> line 1
in block <unit> at <tmp> line 1
02:45
uzl[m] m: class Person {has $!name; multi method name { $!name }; multi method name($name) { $!name = $name } }; my $p = Person.new; $p.name("Jai"); say $p.name; my $m = $p.^find_method("name").candidates.grep(*.arity == 2).first; say $m.($p: "Ale") 02:45
camelia Jai
Too few positionals passed; expected 2 arguments but got 1
in method name at <tmp> line 1
in block <unit> at <tmp> line 1
uzl[m] So how do I call a method after I've got the method object using find_method? Here I'm trying to get the getter name and then call it. 02:46
Geth whateverable: 82c7e6b52c | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Make linkable respond to .bots

People seem to expect this scary command to do something, so let's make one bot respond to it.
05:24
whateverable: 9d1e1b2fa1 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 5 files
Rakufy as many things as possible
Geth whateverable: 9860b5e706 | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/Whateverable.pm6
Stop forcing tellable and evalable6 to join #perl6

There's now a +f flag, so hopefully things will get better soon.
06:17
cpan-raku New module released to CPAN! Term::Choose::Util (1.3.1) by 03KUERBIS 09:27
peter39 hello 10:54
my $fromshelltime=@*ARGS[0]; /* how could i convert a string to an instant time value, so that i can calculate a duration ? 10:55
Geth doc: 4bb9f81985 | (Stoned Elipot)++ | doc/Language/operators.pod6
Fix example's code vs its output
10:57
linkable6 Link: docs.raku.org/language/operators
AlexDaniel m: say Instant.from-posix: 1580038269 11:31
camelia Instant:1580038306
linkable6 (2020-01-25) github.com/rakudo/rakudo/commit/37ddd5984d Make sure Match has its own Int coercer
AlexDaniel ahhh
okay
forgot about this
e: say 42
evalable6 42
linkable6 (2020-01-26) github.com/rakudo/rakudo/commit/392af08b0b Save one Scalar allocation for each run/shell/QX
Geth whateverable: dd42d70e60 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Make linkable a bit more selective

Otherwise it starts to reply to any mention of rakudo commits, like those sent by eval bots.
11:42
AlexDaniel e: say 42 11:44
evalable6 42
AlexDaniel m: say 42
camelia 42
stoned75 commit: releases my $neighbors = ((-1, 0), (0, -1), (0, 1), (1, 0)); my $p = (2, 3); say $neighbors »>>+<<» ($p, *); 12:32
committable6 stoned75, ¦releases (40 commits): «((1 3) (2 2) (2 4) (3 3))␤»
fluca1978 why is this sub f { () if ! @_; @_ if @_; } generating the warning Useless use of () in sink context (line 1) while if I explicitly set the return it does not? 12:34
lizmat m: () if 42 12:35
camelia WARNINGS for <tmp>:
Useless use of () in sink context (line 1)
lizmat the first statement does *not* return, it merely creates an empty list that is sunk, which causes the warning
fluca1978 but in the case of a function, that is the last expression potentially evaluated, that was my doubt about the warning 12:50
cpan-raku New module released to CPAN! Term::TablePrint (1.5.1) by 03KUERBIS 12:52
Kaiepi greppable6, Scheduler 12:55
greppable6 Kaiepi, 118 lines, 15 modules: gist.github.com/4907290d14adf0a8af...87f4555ace
Doc_Holliwood .release 13:16
how was that command again?
tobs releasable6: status 13:23
releasable6 tobs, Next release will happen when it's ready. There are no known blockers. 0 out of 530 commits logged
tobs, Details: gist.github.com/824bb5acc0e6f70517...6a9a787285
Geth raku.org: hankache++ created pull request #141:
More Perl 6 -> Raku changes
14:24
uzl[m] How do I call a method after I've got the method object using find_method? For example: 14:38
m: class Person {has $!name; multi method name { $!name }; multi method name($name) { $!name = $name } }; my $p = Person.new; $p.name("Jai"); say $p.name; my $m = $p.^find_method("name").candidates.grep(*.arity == 2).first; say $m.($p: "Ale")
camelia Jai
Too few positionals passed; expected 2 arguments but got 1
in method name at <tmp> line 1
in block <unit> at <tmp> line 1
uzl[m] m: class Person {has $!name; multi method name { $!name }; multi method name($name) { $!name = $name } }; my $p = Person.new; $p.name("Jai"); say $p.name; my $m = $p.^find_method("name").candidates.grep(*.arity == 2).first; say $m.("Ale")
camelia Jai
Too few positionals passed; expected 2 arguments but got 1
in method name at <tmp> line 1
in block <unit> at <tmp> line 1
MasterDuke m: class Person {has $!name; multi method name { $!name }; multi method name($name) { $!name = $name } }; my $p = Person.new; $p.name("Jai"); say $p.name; my $m = $p.^find_method("name").candidates.grep(*.arity == 2).first; say $p.$m("Ale") 14:51
camelia Jai
Ale
MasterDuke uzl[m]: ^^^ 14:52
uzl[m] Thanks, MasterDuke! I don't know why I didn't bother to try the most obvious way 😅😅. 15:11
Doc_Holliwood tobs: ty 15:35
so i have this module. it requires a rakudo build later than rakudo star. should i publish it now anyways? i have a version check in place. 15:36
moritz sure, publish it 15:43
thundergnat Is there a way to determine the name of the calling routine to a wrapped subroutine? 15:52
m: sub w (*@a) { print &?ROUTINE.name; nextsame() }; sub a ($a) { say $a }; &a.wrap(&w); a 'B'; 15:53
camelia wB
thundergnat I'm looking for aB above ^^
I've tried hunting through the backtrace and various CALLER and PARENT invocations but haven't been successful. 15:55
See gist.github.com/thundergnat/c74fc2...3b237f152f for a larger example that may more clearly show what I'm trying to do. 15:56
Geth doc: bdca0d5f2a | (Stoned Elipot)++ | doc/Language/operators.pod6
xref CALL-ME
15:57
linkable6 Link: docs.raku.org/language/operators
stoned75 :w 16:03
Geth raku.org: 30f1ee5c5f | (Naoum Hankache)++ | 4 files
More Perl 6 -> Raku changes
16:36
raku.org: fd7d1537f0 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 4 files
Merge pull request #141 from hankache/master

More Perl 6 -> Raku changes
robertle is there a reason that raku.org/downloads mentions Rakudo Star 2019.03 when the files you get presented with then are 2019.11 ? 16:54
in the sense of: should end-users still prefer 2019.03 over .11? 16:59
sjn Hey, it's jnthn++'s birthday today! Happy birthday! :-D 17:03
El_Che is there a good way to store a program configuration (e.g. paths, secrets, options) without the need of external modules? 17:11
I have a pretty functional raku ZFS backup script (local backups of the server, automatic time base snapshotting, snapshot cleanup, sending the snapshots (e.g. from remote backups) to an external disk, etc 17:13
but dependencies is not so nice for that kind stuff if I want to put it online
I can of course do the slurping trick of putting cli paramaters in a file, but not very elegant 17:15
tadzik El_Che: what about CLI params defaulting to env vars? 17:24
AlexDaniel robertle: that's rakudo star vs rakudo 17:38
SirBogman I'm wondering whether I may have found a bug. This code only works the second time. 17:49
p6: my&f={@^m.rotor((1,0 X++@m div$^n)Zxx@m%$n,$n)};{say f([1,2,3,4,5],2) CATCH { default { say .message } } }say f([1,2,3,4,5],2)
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3v$^n)Zxx@m%$n,$n)};{say f([1,2,3,4,5],2)7⏏5 CATCH { default { say .message } } }say
expecting any of:
infix
infix stopper
SirBogman p6: my&f={@^m.rotor((1,0 X++@m div$^n)Zxx@m%$n,$n)};{say f([1,2,3,4,5],2); CATCH { default { say .message } } }say f([1,2,3,4,5],2)
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 032); CATCH { default { say .message } } }7⏏5say f([1,2,3,4,5],2)
expecting any of:
infix
in…
SirBogman p6: my&f={@^m.rotor((1,0 X++@m div$^n)Zxx@m%$n,$n)};{say f([1,2,3,4,5],2); CATCH { default { say .message } } };say f([1,2,3,4,5],2) 17:50
camelia The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
((1 2 3) (4 5))
SirBogman please ignore my first two attempts to type that
SirBogman It seems like it could be a bug that the first time the function f is run, it produces an error that a Seq is already consumed, but all subsequent calls to f work as expected. 17:59
SirBogman 6c: my&f={@^m.rotor((1,0 X++@m div$^n)Zxx@m%$n,$n)};{say f([1,2,3,4,5],2); CATCH { default { say .message } } };say f([1,2,3,4,5],2) 18:14
committable6 SirBogman, gist.github.com/fe4200d2acaca7c9d2...3103d942db
SirBogman bisect: my&f={@^m.rotor((1,0 X++@m div$^n)Zxx@m%$n,$n)};{say f([1,2,3,4,5],2); CATCH { default { say .message } } };say f([1,2,3,4,5],2)
bisectable6 SirBogman, Bisecting by output (old=2015.12 new=3326669) because on both starting points the exit code is 0 18:15
SirBogman, bisect log: gist.github.com/285991893013f79578...78f67f1bee
SirBogman, (2017-05-05) github.com/rakudo/rakudo/commit/5e...c7251659f8
SirBogman Looks like the behavior used to be what I expected, but changed when a bug was fixed. 18:20
I can make a ticket. 18:21
SirBogman github.com/rakudo/rakudo/issues/3444 18:35
SirBogman 6c: my@a=[9,3,0,1,5,7,4,6,8,10,12,11,2,13];my&f={flat map {.min xx$_},@^m.rotor((1,0 X++@m div$^n)Zxx@m%$n,$n)};{say f(@a,5); CATCH { default { say .message } } };say f(@a,5) 18:40
committable6 SirBogman, gist.github.com/a34ac5f8f53aa42a60...2624a70f4e
Geth doc: 729314aadb | (Stoned Elipot)++ | 2 files
xref MRO
18:41
cpan-raku New module released to CPAN! Scalar::History (0.0.1) by 03HOLLI 19:24
jmerelo Just submitted a couple of talks to TPCiH. And you should, too 19:32
tellable6 2020-01-24T16:35:26Z #raku <tbrowder> jmerelo ^^^
jmerelo .tell tbrowder thanks!
tellable6 jmerelo, I'll pass your message to tbrowder
jmerelo .tell Kaiepi can you please submit your ideas through as a PR here? github.com/perl-foundation-outreac...2020-ideas 19:33
tellable6 jmerelo, I'll pass your message to Kaiepi
jmerelo Also, everyone: The call for Google Summer of Code projects and mentor is open. Please submit your ideas here, or simply tell me (or Makoto Nozaki) if you want to mentor github.com/perl-foundation-outreac...2020-ideas 19:34
Geth doc: 5f5476ea70 | (Stoned Elipot)++ | doc/Language/operators.pod6
homogenize pre/post inc/decrement operator refs
19:42
linkable6 Link: docs.raku.org/language/operators
cpan-raku New module released to CPAN! LogP6::Writer::StackDriver (1.0.0) by 03RBT 20:12
Geth doc: c4c3ff53d6 | Coke++ | xt/duplicates.t
blank lines reset duplicate word hunt.
22:46
Geth raku.org: 3681b45ce3 | (Salve J. Nilsen)++ (committed using GitHub Web editor) | source/whatever/index.html
Update link to Raku syntax highlighter

Note: I can't test if the new raku module works with neovim, so I haven't updated that link.
22:49