00:01 Kaiepi joined
Geth rakudo: ac6c4379f4 | (Patrick Böker)++ | tools/lib/NQP/Config/Rakudo.pm
Fix Configure.pl --git-cache-dir with generated NQP

There was a double quoting going on resulting in the actual path not being recognized any more.
rakudo: 134441987f | (Elizabeth Mattijsen)++ | src/core.c/Date.pm6
Oops, Date.new(Instant) did not suffer from this issue
lizmat really sleep&
00:18 hungrydonkey joined 00:26 patrickz joined 00:30 patrickb left 00:55 patrickz left 01:30 SqrtNegInf left 01:34 sena_kun left 01:49 sena_kun joined 03:33 sena_kun left 03:35 epony left 03:36 epony joined 03:37 epony left 03:38 epony joined 03:48 sena_kun joined 04:11 ukine joined
nine [ 577s] t/02-rakudo/04-diag.t (Wstat: 256 Tests: 0 Failed: 0) 05:17
[ 680s] t/02-rakudo/08-inline-native-arith.t (Wstat: 256 Tests: 0 Failed: 0) 05:18
05:33 sena_kun left 05:48 sena_kun joined 06:29 hungryd91 joined, hungrydonkey left 06:30 epony left 06:43 epony joined 06:53 nebuchadnezzar left
Geth rakudo: b32048df51 | (Christian Bartolomäus)++ | src/core.c/Str.pm6
Unbreak JVM and JS builds

  * Three ternary statments have been borked accidentially by 597288be62.
  * Two instances of '!index-die' have survived the rename to
   '!die-named' in 49aaa6ff36.
07:29 domidumont joined 07:32 sena_kun left 07:47 sena_kun joined 08:29 jmerelo joined
jmerelo Some help with maps and sink context? stackoverflow.com/questions/601839...nk-context 08:29
08:57 nebuchadnezzar joined 09:33 sena_kun left
lizmat bartolin++ 09:36
09:48 sena_kun joined
lizmat Files=1302, Tests=109849, 210 wallclock secs (28.50 usr 8.29 sys + 2924.54 cusr 277.06 csys = 3238.39 CPU) 09:50
09:55 hungrydonkey joined 09:58 hungryd91 left
Geth rakudo: fa7d3bf7dd | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Strip out some unneeded candidates

  - remove the mandatory ! from the :m in the :i! :m! candidate
  - let the :i! case be handled by the :i!, :m candidate
  - remove the :i! candidate
rakudo: 8876e0353b | (Elizabeth Mattijsen)++ | src/core.c/Date.pm6
Make Date.today 1.5x as fast again

By using nqp::decodelocaltime directly, so no need for a lot of calculations.
10:28 hungryd18 joined 10:31 hungrydonkey left 10:37 hungryd18 left 10:38 hungrydonkey joined
Geth rakudo: c5c98dea2b | (Elizabeth Mattijsen)++ | src/core.c/REPL.pm6
Fix R#3476 and make RAKUDO_HIST work

  - add check for old history file
  - if old exists, and new one doesn't, move the history file
  - use slurp/spurt for moving, rather than rename just in case the
   new directory happens to be on a different device.
  - fix check for RAKUDO_HIST, it was using the always non-existing
   $*ENV rather than %*ENV
linkable6 R#3476 [open]: github.com/rakudo/rakudo/issues/3476 rakudo-history is still written to ~/.perl6
rakudo: 94713af7e9 | (Elizabeth Mattijsen)++ | src/core.c/REPL.pm6
RAKUDO_HIST needs an .IO
rakudo: 8498774249 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Support :i(ignorecase) / :m(ignoremark) with Str.contains

  - on MoarVM, uses nqp::indexic / indexim / indexicim ops
  - other backends use foldcase logic for :i(ignorecase)
  - dies on other backends trying to use :m(ignoremark)
11:05 hungryd22 joined 11:08 hungrydonkey left 11:09 domidumont left 11:30 hungrydonkey joined 11:34 sena_kun left, hungryd22 left 11:49 sena_kun joined
|Tux| Rakudo version 2020.01-148-gfa7d3bf7d - MoarVM version 2020.01.1-35-gecddb4de5
csv-ip5xs0.709 - 0.731
csv-ip5xs-205.966 - 6.054
csv-parser22.001 - 23.454
csv-test-xs-200.361 - 0.362
test7.238 - 7.300
test-t1.766 - 1.768
test-t --race0.784 - 0.790
test-t-2030.085 - 30.182
test-t-20 --race8.453 - 8.819
12:22 Kaiepi left 12:23 Kaiepi joined 12:25 squashable6 left 12:28 squashable6 joined
Geth rakudo: 0b2236a15b | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Normalize the way out-of-range position is handled

  - for index, rindex and contains
  - introducing new private method !fail-oor for handling errors
  - removed !INDEX-OOR and !RINDEX-OOR in favour of !fail-oor
  - some additional tweaks
12:34 domidumont joined
Geth rakudo: d91c773a23 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Support :i(ignorecase) / :m(ignoremark) with Str.substr-eq

  - on MoarVM, uses nqp::indexic / indexim / indexicim ops
  - other backends use foldcase logic for :i(ignorecase)
  - dies on other backends trying to use :m(ignoremark)
13:04 squashable6 left 13:07 squashable6 joined
Geth rakudo: 2e3c091cb3 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Prepare rindex for :i / :m addition

Since there is no rindexic / rindexim / rindexicim yet, stalling for now. Should possibly be later implemented using nqp::flip. OTOH, there has also been discussion on deprecating rindex in favour of index(:end). So procrastinating seems to be the best course of action at the moment.
lizmat afk for a few hours& 13:27
13:29 lucasb joined 13:33 sena_kun left 13:49 sena_kun joined 14:12 jmerelo left 14:14 Xliff left 14:36 ukine1 joined, ukine left
sena_kun releasable6: status 15:11
releasable6 sena_kun, Next release in ≈10 days and ≈3 hours. 6 blockers. 0 out of 155 commits logged
sena_kun, Details: gist.github.com/c6bfa71464fa3f08a7...35850e6873
15:13 |Tux| left, |Tux| joined
Geth rakudo: adb85e443b | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
Fix closure handling of the s/// construct

This fixes #3475. It may well also fix more than that, since it turned out to be a more general problem with scoping of blocks in thunks.
linkable6 RAKUDO#3475 [closed]: github.com/rakudo/rakudo/issues/3475 [BLOCKER][regression] Likely memory corruption in .hyper
jnthn releasable6: stats 15:29
releasable6 jnthn, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Releasable
jnthn releasable6: status
releasable6 jnthn, Next release in ≈10 days and ≈3 hours. 5 blockers. 0 out of 155 commits logged
jnthn, Details: gist.github.com/2d5f0c2d6b3ce07bc1...0a2737cccb
jnthn Now one less blocker ;-)
15:32 sena_kun left 15:48 sena_kun joined 16:04 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Support :i(ignorecase) / :m(ignoremark) with Str.substr-eq 16:04
travis-ci.org/rakudo/rakudo/builds/649434199 github.com/rakudo/rakudo/compare/0...1c773a231a
16:04 travis-ci left
Geth nqp: 7d711031ed | (Jonathan Worthington)++ | src/HLL/Grammar.nqp
Recognize `chain` as an assoc

And form the tree as if it's left-assoc; the compiler should then make sure the op type is set to chain. This forms half of a fix for
rakudo: d027ee0cdf | (Jonathan Worthington)++ | 2 files
Enable user-defined chaining operators to work

Fixes #3370.
linkable6 RAKUDO#3370 [closed]: github.com/rakudo/rakudo/issues/3370 User Defined `is assoc<chain>` function not acting as expected
Geth roast: 31d18298da | (Jonathan Worthington)++ | S06-traits/is-assoc.t
Test user-defined chain assoc ops

Covers github.com/rakudo/rakudo/issues/3370.
16:34 ukine1 left
Geth rakudo: 3498c540a6 | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
Fix internal compiler error on parameter re-decl

This was reported in #3102 and #2909.
linkable6 RAKUDO#3102 [open]: github.com/rakudo/rakudo/issues/3102 [LTA][regression] Confusing error message when redeclaring/modifying a read-only variable
RAKUDO#2909 [open]: github.com/rakudo/rakudo/issues/2909 [LTA][regression] potential regression: sub foo($i) {my $i; say $i}
jnthn m: use Test; lives-ok { EVAL q|no worries; sub MAIN( :$input ) { my $input //= 1; }| } 16:36
releasable6: use Test; lives-ok { EVAL q|no worries; sub MAIN( :$input ) { my $input //= 1; }| } 16:37
releasable6 jnthn, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Releasable
sena_kun мм? :)
jnthn committable6: use Test; lives-ok { EVAL q|no worries; sub MAIN( :$input ) { my $input //= 1; }| }
committable6 jnthn, ¦use: «Cannot find this revision (did you mean “all”?)»
jnthn gah
committable6: all use Test; lives-ok { EVAL q|no worries; sub MAIN( :$input ) { my $input //= 1; }| }
releasable6 doesn't check all releases :) 16:38
committable6 jnthn, gist.github.com/d971b6824bb54da688...478e35b94e
japhb How would I go about scanning a namespace for installed plugins? In other words, if I know all my plugins will be named 'Foo::Bar::Plugins::*', how do I find them all (quickly, one hopes)? And then how do I determine which ones were precompiled against the version of 'Foo::Bar' that is currently trying to load them all?
Geth roast: 410be65379 | (Jonathan Worthington)++ | S04-declarations/multiple.t
Cover redeclaration of a parameter

Covers github.com/rakudo/rakudo/issues/2909 and
16:43 Kaiepi left
jnthn Two issues for the price of one fix... :) 16:44
rba Anyone knows what is going on with matrix.org IRC bridge?
sena_kun duplicates are best. :>
16:46 Kaiepi joined
Geth rakudo: 6bf227d0be | (Jonathan Worthington)++ | src/core.c/REPL.pm6
Have the REPL register uncaught exception handler

In the thread pool scheduler. This means that an exception thrown by a thread and unhandled will be reported, but not bring down the REPL. Reported in github.com/rakudo/rakudo/issues/2947.
17:14 squashable6 left 17:15 squashable6 joined 17:19 Kaiepi left 17:20 Kaiepi joined 17:27 domidumont left
japhb nine, ugexe: Any thoughts on my plugin question (colabti.org/irclogger/irclogger_lo...-12#l211)? Everything I've found so far indicates CURI is designed to find candidates given a fixed short name, rather than to iterate over a subspace. 17:30
17:33 sena_kun left 17:39 Kaiepi left
jnthn japhb: `zef list --installed` seems to do this: github.com/ugexe/zef/blob/7460e526...t.pm6#L664 17:41
17:47 sena_kun joined 17:51 Kaiepi joined 18:02 hungrydonkey left
nine japhb: we don't have a good story for namespace searches. I've never had a good idea for the API or how to implement it in a performant way. It also never came up as a big priority, so solutions may ned be as far away as that sounded. 18:19
Maybe, just maybe, and I may be just too tired to make useful suggestions, but.... couldn't you name all the plugins Foo::Bar::Plugin and use different :api markers? That way CURI's .candidates can be used to efficiently find them. 18:22
18:47 travis-ci joined
travis-ci Rakudo build passed. Jonathan Worthington 'Enable user-defined chaining operators to work 18:47
travis-ci.org/rakudo/rakudo/builds/649526727 github.com/rakudo/rakudo/compare/a...27ee0cdfbd
18:47 travis-ci left 18:53 nine left 18:58 nine joined 19:00 camelia joined
Geth rakudo: 46ef7f482b | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Reorganize Str.indices

  - in preparation for adding support for :ignorecase and :ignoremark
  - write more Raku code than just nqp::ops
  - normalize handling for out-of-range positions
  - fix some indenting
19:34 sena_kun left 19:44 travis-ci joined
travis-ci Rakudo build passed. Jonathan Worthington 'Fix internal compiler error on parameter re-decl 19:44
travis-ci.org/rakudo/rakudo/builds/649539700 github.com/rakudo/rakudo/compare/d...98c540a6ef
19:44 travis-ci left 19:48 squashable6 left 19:49 sena_kun joined 19:50 squashable6 joined
Geth rakudo: 9f7100296f | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Support :i(ignorecase) / :m(ignoremark) with Str.indices

  - on MoarVM, uses nqp::indexic / indexim / indexicim ops
  - other backends use foldcase logic for :i(ignorecase)
  - dies on other backends trying to use :m(ignoremark)
rakudo: e2ba546f43 | (Elizabeth Mattijsen)++ | 5 files
RIP nqp::p6decodelocaltime

It was not being used, and NQP itself provides nqp::decodelocaltime
rakudo: 663c427e7f | (Elizabeth Mattijsen)++ | docs/ops.markdown
Remove documentation of nqp::p6decodelocaltime
nqp: c294dee6d7 | (Elizabeth Mattijsen)++ | docs/ops.markdown
Move and update decodelocaltime lemma
japhb nine: Interesting idea, but wouldn't work for this case. I don't actually need the plugins myself (it's not how I tend to architect my code), it's to give other programmers a way to deliver new functionality to users *without* involving me, or any central group -- and thus there's no obvious way to avoid API numbering collisions. 20:51
lizmat also: that's not what :apI was intended to be used for :-) 20:54
japhb lizmat: Yeah, agreed. I was actually thinking about some way for plugins to declare the core API version they needed, in order to only consider plugins that would be appropriate, but then I realized that was just a subset of the functionality modules already have by 'use'ing the core components they want by long name. 21:01
Hence the thought of just saying "List the modules in this namespace that have been precompiled against myself" -- realizing of course that may be two passes in reality. 21:02
Geth rakudo: 10e5390ba3 | (Elizabeth Mattijsen)++ | 7 files
Change references to "Perl 6" to "Raku"

Only in internal comments and documentation.
21:33 sena_kun left
dogbert11 can I ask a stupid question wrt this line of code: github.com/rakudo/rakudo/blob/mast...r.pm6#L544 21:41
why isn't it :i(:$ignorecase)
lizmat because I typoed it and raku doesn't complain about it 21:42
am writing tests atm :-) 21:43
dogbert11 I was just curious :)
I believe there are two of those 21:44
lizmat there are actually more
fixing them now
dogbert11 aha 21:45
21:46 travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Reorganize Str.indices 21:46
travis-ci.org/rakudo/rakudo/builds/649611106 github.com/rakudo/rakudo/compare/6...ef7f482b18
21:46 travis-ci left
Geth rakudo: 61b416edb9 | (Elizabeth Mattijsen)++ | src/core.c/Compiler.pm6
Add Compiler.backend method

So we have an easy way to find out the backend we're running on:
lizmat restarted the failing job 21:47
21:49 sena_kun joined
MasterDuke potential optimization? implement passing junctions to some of the string searching routines with Aho-Corasick? 21:52
lizmat not sure I follow ? 21:53
Geth rakudo: 19576d6c1b | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Make sure long name nameds also work

Spotted by MasterDuke++ :i($foo) will just rename the variable associated with the named parameter, whereas :i(:$foo) will also allow the alternate name to be used. Writing tests now :-)
MasterDuke lizmat: fyi, that was dogbert11 who spotted that 21:56
lizmat oops... dogbert11++
added comment to the commit
MasterDuke i was thinking about something like `if $str.contains("abc" | "def" | "xyz") { ... }`. right now that's implemented as three calls to .contains(), correct? what if instead we built an Aho-Corasick dictionary? 22:01
quoting wikipedia "The complexity of the algorithm is linear in the length of the strings plus the length of the searched text plus the number of output matches"
might only be worth it when searching for lots of things 22:02
lizmat $str.contains("abc") is pretty fast, so autothreading should be pretty fast as well 22:03
I think you will find it hare to beat that
MasterDuke yeah, there's probably a large constant factor that's hard to overcome practically 22:05
22:18 MasterDuke left
Geth roast: 5899cdff59 | (Elizabeth Mattijsen)++ | S32-str/starts-with.t
Add tests for Str.starts-with(:i, :m)
roast: 076d5dda6b | (Elizabeth Mattijsen)++ | S32-str/ends-with.t
Add tests for Str.ends-with(:i, :m)
22:51 travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Support :i(ignorecase) / :m(ignoremark) with Str.indices 22:51
travis-ci.org/rakudo/rakudo/builds/649624739 github.com/rakudo/rakudo/compare/4...7100296f2a
22:51 travis-ci left
Geth roast: a445d97b6b | (Elizabeth Mattijsen)++ | S32-str/contains.t
Add tests for Str.contains(:i, :m)
lizmat and that concludes my hacking for today& 22:55
23:02 MasterDuke joined 23:08 hungrydonkey joined 23:33 sena_kun left 23:46 sena_kun joined 23:47 lucasb left 23:50 AlexDaniel joined 23:51 AlexDaniel left, AlexDaniel joined