00:04 pmurias left, patrickz joined 00:08 patrickb left 00:14 patrickz left 00:17 pmurias joined 01:23 AlexDani` joined 01:24 AlexDaniel left 01:32 cognomin_ left, AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined
AlexDaniel patrickb: I hope not. To me it seems that CPAN is very painful so having an alternative is good 01:34
tellable6 AlexDaniel, I'll pass your message to patrickb
01:54 pmurias left 02:29 lucasb left 02:45 Guest38485 left 02:46 Guest38485 joined 04:54 squashable6 left 04:55 squashable6 joined
nine AlexDaniel: what's painful about CPAN? 08:17
08:56 sena_kun joined 09:06 SyrupThinker left 09:22 patrickb joined
|Tux| Rakudo version 2019.11-102-g382d18bda - MoarVM version 2019.07.1-403-g9442b1a7c
csv-ip5xs0.708 - 0.710
csv-ip5xs-206.326 - 6.472
csv-parser21.162 - 22.247
csv-test-xs-200.420 - 0.457
test7.247 - 7.332
test-t1.731 - 1.774
test-t --race0.786 - 0.819
test-t-2029.390 - 29.743
test-t-20 --race8.960 - 9.075
patrickb WRT phase out of p6c, I was asking because I have repeatedly stumbled over the unintuitive behavior related to versioning in p6c. I created an issue about that github.com/ugexe/zef/issues/328 09:31
tellable6 2019-12-10T01:34:32Z #raku-dev <AlexDaniel> patrickb: I hope not. To me it seems that CPAN is very painful so having an alternative is good
patrickb ugexe gave a very insightful answer.
Now I'm pondering creating a safe p6c alternative. 09:32
*safer 09:33
nine patrickb: what does that buy you when rakudo will still treat the same version as the same code? 10:01
patrickb I can enforce a new convention of only reading versions from tags without breaking the existing ecosystem. 10:03
One can already use tags as source urls in the current p6c, but you are not forced to do that, and given that convenience is the only reason to use p6c instead of cpan, people will not do that. 10:06
So having the convenience of just using the repo as the source, but not behave in unforseen ways is the selling point that might make this new ecosystem attractive enough for people to start mass migrating (cpan has not managed to do that in a long time, even though it's advertised as the one to use instead of p6c in the docs) 10:11
10:21 Xliff left 10:53 sena_kun left 11:07 sena_kun joined
tbrowder AlexDaniel: what about cpan is painful? 11:37
it seems to me its forcing a new, increasing version number on a new upload is good, while the ecosystem is not conducive to good version management. that's why i jumped on it and away from the old system as soon as it was usable. i also argued it should be forced on authors and the old system scrapped or at least frozen. 12:25
but if we can create a system at least as good, that would be ok. however, if at all possible, i think it would be better to improve cpan to the benefit of the raku and perl communities. 12:28
12:30 pmurias joined
sena_kun tbrowder: to me 1)registration is manual (!?); 2)a need to use more tools; 3)cpan is, well, perl-oriented, not raku-oriented 12:32
I don't say it is impossible to use cpan, but from my perspective it is times easier to just get in p6c ecosystem. if there will be something more robust, reliable, useable with the similar entrance bar, I'll migrate anytime 12:33
tbrowder but is our old system better? that's manual, but no safeguards on what is entered. 12:34
sena_kun tbrowder: our old system == github-based eco?
tbrowder yes 12:35
12:36 lucasb joined
sena_kun I wouldn't say there are clear terms to judge "better or not better", because it is all about trade-offs. IIRC, e.g. holyghost uploaded almost daily distributions horribly broken using cpan and "safeguards on what is entered" did not help at all. 12:36
tbrowder i agree better tools would be good, but why not on top of cpan, not a completely new archiving system. 12:37
sena_kun can't elaborate on that particular matter, sorry, I thought the question was more about "why not just use cpan we have now instead of building something new". :S
tbrowder but how would have the eco system helped in that case? 12:38
sena_kun sorry, in what case? the one I mentioned? 12:39
tbrowder yes, sorry, the holyghost case?
i definitely agree that we should move away from the eco system. directjon 12:40
nine CPAN is just a file hosting and mirroring service. There's really not much Perl specific about it.
tbrowder *direction we go should be the next debate
sena_kun no idea. I am just saying it as a counter-example to "cpan is more safe" argument. I do agree cpan is cool in many ways. 12:41
tbrowder you are correct, i was merely looking at the archiving and versioning part,
sena_kun anyway, we probably should talk this over with patrickb++ for asking about reasoning. :) 12:42
tbrowder no argument frim 12:43
from me! let's dump eco system asap
Geth rakudo: 3941fef007 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Make Str.trim-leading between 20x and 90x faster

  - about 20x for strings without whitespace at start
  - about 90x for strings *with* whitespace at start
Inspired by the notion that nqp::substr is actually optimised to return the source string if the entire string is indicated. So we don't need to do anything special in the setting.
12:54 sena_kun left 13:08 sena_kun joined 13:18 maettu left 13:22 pmurias left 13:40 squashable6 left 13:41 squashable6 joined 13:49 pmurias joined
Geth nqp: fd6920f502 | (Vadim Belman)++ | 2 files
Make NQP::Configure::NQP take care of jars

Configure.pl must contain only what's absolutely necessary.
nqp: c85c2adbf2 | (Vadim Belman)++ (committed using GitHub Web editor) | 2 files
Merge pull request #590 from vrurg/nqp_589

Make NQP::Configure::NQP take care of jars
vrurg pmurias: thanks for reminding! Left it to pass travis checks and then was buried under other tasks. 14:08
14:09 Summertime left 14:10 maettu joined 14:15 Summertime joined 14:22 travis-ci joined
travis-ci NQP build passed. Vadim Belman 'Merge pull request #590 from vrurg/nqp_589 14:22
travis-ci.org/perl6/nqp/builds/623195243 github.com/perl6/nqp/compare/15efa...5c2adbf2d6
14:22 travis-ci left
vrurg jnthn: May I finally merge github.com/rakudo/rakudo/pull/3199? Your biggest concern has been resolved, operators were removed. 14:50
14:53 sena_kun left
tbrowder how about adding ecosystem replacement to problem solving? 15:05
15:07 sena_kun joined
tbrowder four features i would like to see: 1. strict enforcement of a versioning scheme compatible with repo hosts, 2. date of each release, 3. link to source repo, and 4. some measure of popularity (including number of downloads). 15:10
tyil tbrowder: I'm a huge proponent of a more stricter standard wrt versioning 15:27
jnthn vrurg: Yes, I think so 15:28
15:29 pmurias left, pmurias joined
pmurias tbrowder: what do you mean by the first feature? 15:29
tbrowder Something like 'n.n.n' as an example, but i'm not hardover. It just needs to have a somewhat natural increasing order, and be the same format for all modules. Perl's shifting gears (formats) over the years kept me confused most of the time, and having multiple version formats for modules is just as bad. 15:36
Personally, I like a variant of the ISO date/time as a version number. 15:38
Kills two birds with one stone.
tyil semver.org is a common standard to use, and allows package managers to have a good idea about compatability 15:40
tbrowder It also should well work well with repo tags, and the semver.org standard does. 15:41
pmurias tbrowder: how do you want to strictly enforce it? 15:45
tbrowder the improved ecosystem would not allow any other format, and would suggest a version to the module author applicant. any improved system would, imho, have some strict and enforceable standards for acceptance, and version format would be one such standard. 15:48
tyil tbrowder: the way I would envision it is that you submit a module, then a number of QA checks gets run as a task in the background, and if any such checks fail, the author gets an email or some other notification that something needs to be fixed 15:49
one of those checks ought to be a reasonable versioning scheme
but you could also enforce a requirement for tests, or a minimum level of coverage or whatnot 15:50
(this could also be altered over time, to ensure the highest quality of modules available to the community)
tbrowder exactly!
vrurg jnthn: thanks!
tbrowder and the lack of that seems to be the complaint about cpan 15:51
tyil tbrowder: it could be possible for us to create a raku frontend a la PAUSE, which stores modules which passed the QA on CPAN again 15:53
then we keep the benefits of CPAN, while also getting to vet modules to community standards
tbrowder i know zoffix was against it, but i also like the idea of a suggested matrix of module names to help users and module authors meet on common ground 15:54
tyil I'm not aware of such an idea, can you elaborate?
tbrowder in the old days of the O'Reilly perl site there was a list of top level names to hep 15:56
help module users and authors to assign names in useful categories 15:57
tyil could result in more clear names for modules 15:58
tbrowder zoffix didn't like to put any constraints on module names, but i find them useful and they are how i search for modules on cpan 15:59
tyil which in turn could result in less duplicate work because earlier work was done in a different namespace which the other author didn't look at
tbrowder yes. there is no perfect solution, but age helps refinement in some ways if we pay attention 16:00
tyil I mean, if we were to accept modules and have Q&A checks, you could have a warning if a module falls outside of the naming conventions 16:01
if the exception is warranted (like, a namespace we just hadn't thought of yet), we can manually approve and create the namespace for it 16:02
tbrowder another thing i would like to see a new system have is some way to help deprecate a module.
users who agree to provide an email could get notifications. 16:03
i could have saved lots of pain over the years if i had known about such things from cpan 16:04
tyil: i think zoffix was against restricting names, but my argument was trying to get a consensus on a good name. my chois 16:06
a good name by consensu is a good start, and an automated (or manual) could help a new author for sure. 16:08
*suggestion 16:09
16:10 pmurias left
patrickb In my head there is currently two separate desires for how an ecosystem works. 1. least amount of work 2. maximum reliability and benefit 16:21
tyil tbrowder: I just want to have a more uniform ecosystem, where people don't have to search for 5 terms to see if something they need exists 16:22
naming should be straightforward
patrickb Currently p6c satisfies 1. while CPAN aims for 2.
tyil I don't think we should outright ban any module naming schemes, but being able to tell people their name isn't the best (and explaining why!) could help out both new devs trying to contribute and old devs looking for a module to solve a task 16:23
patrickb My original intent was to lift p6c only slightly to the point where it doesn't support common failure modes any more, but still be the "least amount of work" solution.
I honestly doubt we'll manage to get the big part of users to move over otherwise. 16:24
The tyil - tbrowder discussion is currently mostly about the 2. ecosystem. 16:25
tyil patrickb: what if you can upload them from the command line, though
the ease of use problem can be solved with tooling
(just as how I think community standards can be handled using tooling, though both tasks can be quite large to solve properly, and time is a scarce resource for all of us, I think) 16:26
patrickb tyil: I only partly agree. Simplicity is not only about minimizing the steps to execute a task, but also about the necessity or percieved necessity to understand how a system works.
nine tyil: there's plenty of tooling for PAUSE/CPAN, including command line clients 16:27
tyil nine: I am aware
patrickb Most people immediately understand "Create a PR to the ecosystem repo and your project repo serves as the source". Even if that understanding is fatally flawed. 16:28
Understanding PAUSE, the upload process, there are tarballs involved, CPAN namespaces, ... is more complex. 16:29
tyil patrickb: all those are solved by various modules already
japhb FWIW, I am against "There's only one way to do it", because best practices evolve, and inflexibility is a failure mode of its own.
tyil japhb: nobody is arguing for a single way to do everything, I believe? 16:30
japhb And I prefer to use p6c, because for some of my own code, as well, as several of the major modules I use, I really do want to just use the github HEAD.
tyil: Someone argued for getting rid of p6c and for making CPAN use stricter.
tyil yes
to say that means there may be only a single way is making a massive hyperbole that doesn't really help anyone here
patrickb tyil: Modules can help reducing the steps to perform a task, but not free the user of his basic desire to somehow understand what's going on. 16:31
japhb tyil: How many other ways are there to search for Raku modules than via zef's understanding of p6c and CPAN?
tyil japhb: nobody is being stopped to create their own index or p6c, cpan or something they host themselves
japhb tyil: Why do you want to get rid of p6c? 16:32
And ... why should I need to host an ecosystem of my own in order to not use CPAN?
tyil because the incredibly low barrier of entry, combined with the unstableness of unversioned modules leads to a lower quality ecosystem
you don't, there can be any number of ecosystem hosts as I just said
please stop pretending I'm saying different things 16:33
japhb OK, bluntly: Don't get rid of p6c. Improve it.
The quality of CPAN modules is NOT better.
Because we don't have Raku CPAN Testers yet.
tyil it's not going to be better by design
I didn't say the CPAN quality is by definition better, I know we don't have automated tests yet 16:34
if you read up, that's something that's been discussed
japhb Earlier someone (patrickb) that they wanted to improve p6c only slightly.
tyil you kneejerking yourself into a discussion you clearly didn't read, and making up all sorts of things I'm suppoesdly arguing for is not helping anyone
japhb tyil: Stop. I am not kneejerking, and I did read the whole discussion, and I'm not your enemy. 16:35
tyil so far you've ignored pretty much everything I've argued for, and pretended I'm arguing for something much harsher
japhb tyil: BREATHE. Several times. Then tell me what you're arguing for, because I don't think I've mischaracterized my honest understanding, so clearly I'm misunderstanding. 16:37
tyil right, with that kind of attitude you're clearly not interested in having any discussion
if you want to know what I'm arguing for, kindly read the discussion I've *just* had with tbrowder
japhb tyil: I think you have me confused with someone else, who picks fights. I just said I'm clearly misunderstanding something, and I'd like to understand. How is that "not interesting in having any discussion"? 16:39
patrickb I have to leave. o/ 16:43
16:44 patrickb left
Geth rakudo/master: 66 commits pushed by (Vadim Belman)++
review: github.com/rakudo/rakudo/compare/3...5762d6f325
roast/master: 15 commits pushed by (Vadim Belman)++
review: github.com/perl6/roast/compare/8d0...f39f1d72ec
16:53 sena_kun left 16:58 ExtraCrispy joined
Ulti surely for versions in the ecosystem we have a standard defined already docs.perl6.org/type/Version 17:02
have to say top level name spacing I think something does need to be done
at the moment its first come first served which is fairly crazed
like I "own" Stats::* 17:03
I think I implemented some averages and basic scores
Stats::Averages would have been a better plan but I was lazy
so perhaps we should limit everyone to at least two part names so the top level emerges and no one gets to own its functionality? 17:05
feels like the simplest and most flexible best practice
take the top level for Perl 5 on CPAN with the most modules and put in a vague description of what goes in there 17:06
jnthn Where should Cro have been put? :)
Ulti Cro::Cro::Cro
jnthn :P
Ulti Apps::Cro
Com::Cro and go full java 17:07
another example is there is Bio::* which is owned by BioPerl so I had to put up my stuff under BioInfo::* which also segmented everything in not a great way 17:08
17:08 sena_kun joined
Ulti that was more me being a jerk though 17:08
and also being scared Bio:: wanted to be a straight port which ended up not being true
so some kind of registry and ownership protocol for like top level domains style feels sensible if not very practical 17:09
I might rush and grab Esoteric::ACME::Dingbat whilst its going 17:11
namespace camping you never know how that might work out in 2036
tbrowder japhb: the problem with HEAD for a public module, at least in my experience, is unexpected breakage. unless 17:12
you are very careful as an author, the unwitting user can get burnt and be in a bind. also, there are many published modules that either don't have any tests, or are showing a broken build. 17:14
the current eco system (p6c?) is the wild west, imho, and you need to be very cautious about using unknown modules there. 17:16
most of those problems can exist on current cpan, too, but at least there is a bit of version definition 17:17
tyil Ulti: I agree there, which is why I think a number of pre-defined accepted top levels (and perhaps lower levels can be done if ever desired), and case-by-case acceptance for the other top levels would be the best of both worlds 17:18
people are gently pushed into a direction, and oversights from the implementers are easily found and can therefore be easily applied 17:19
and it allows people to be better informed as to why their module could have a better name, making it easier for new contributors to enter the ecosystem
(and easier to teach them to have higher quality modules in the long run)
Ulti the big one which Ive seen over in Perl 5 land is pluralisation segmentation too so App:: vs Apps:: etc. just some guidelines and perhaps some predefined top levels feels like its a light touch and makes sense 17:23
I think we can all agree adding an S for no reason to something you have to perhaps type a lot makes no sense :D 17:24
japhb tbrowder: One example for me is Cro. There are relatively often fixes that have not made it into an official release that I need, so I install from github directly. Thankfully zef knows how to do that, but I can only do that because I sought out all the github URLs and correct dependency order to install them myself. I would have prefered to just use the ecosystem list, except Cro is in the CPAN 17:28
ecosystem, and the only remaining cro references in the community ecosystem are out of date or not the core Cro. 17:29
vrurg Kaiepi: when the next blin is scheduled?
lizmat tbrowder: re ecosystem, this feels like we need to start implementing recommendation managers 17:45
17:46 travis-ci joined
travis-ci Rakudo build failed. Vadim Belman 'Merge pull request #3199 from vrurg/problem-solving-103 17:46
travis-ci.org/rakudo/rakudo/builds/623270142 github.com/rakudo/rakudo/compare/3...5762d6f325
17:46 travis-ci left
Geth rakudo: 657d36f17f | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Make Str.trim-trailing up to 2x as fast

  - 2x as fast if there was no whitespace at the end
  - some % faster if there was
AlexDaniel vrurg, Kaiepi: that's a good question, but we need to ask rba 17:52
rba: ↑ so what's up with blin? Do we have a machine for it already? 17:53
tbrowder lizmat: surely there is a middle ground. 18:18
lizmat a middle ground ? 18:19
18:43 travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Make Str.trim-trailing up to 2x as fast 18:43
travis-ci.org/rakudo/rakudo/builds/623293930 github.com/rakudo/rakudo/compare/3...7d36f17fcd
18:43 travis-ci left 18:54 sena_kun left 19:08 sena_kun joined 19:27 ExtraCrispy left
lizmat m: dd " abc d".trim 19:39
evalable6 "abc d"
rba AlexDaniel, vrug: 20:11
tellable6 2019-12-01T19:23:24Z #raku-dev <patrickb> rba Now I'm at the point where I need external feedback to progress with the rakudo.org website changes. Any updates on the test server?
rba AlexDaniel, vrug: Yes we have a machine. Give me some days to check. Who likes to have access to it to run it manually may send me the ssh-keys as pm.
AlexDaniel rba: github.com/AlexDaniel.keys 20:21
Geth rakudo: 0d0d419f91 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Make Str.trim between 1.5x and 3x faster

  - 3x faster if no whitespace around it
  - 1.5x faster if there *was* whitespace to be removed
rakudo: 4252a8c98d | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Make Str.substr(N) between 1.5 and 3x faster

  - 3x faster if N == 0
  - 1.5x faster if N > 0
Also added !SUBSTR-START-OOR as private method: this was moved to Rakudo::Internals when private methods were bad new wrt performance.
TreyHarris So an FYI if any of you are iPad users--the newest TestFlight of Blink Mosh supports arbitrary key modifier combos, so you can now map M-d and M-D and C-M-d and C-M-D to four different commands if you so desire. (It'll probably be a couple weeks until this is rolled out to App Store.) 20:44
lizmat TreyHarris: is that in the correct channel ? 20:48
TreyHarris lizmat: yes, as a slightly-OT aside, since "how do I type unicode" comes up so frequently here. 20:49
lizmat aaah, oki
just wanted to make sure that it wasn't lost on the channel you intended it to be
TreyHarris lizmat:thanks :-) 20:50
20:53 sena_kun left
Geth rakudo: 908dd25189 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Make Str.substr(N,M) about 1.5x faster

Also added !SUBSTR-CHARS-OOR as private method: this was moved to Rakudo::Internals when private methods were bad new wrt performance.
21:09 sena_kun joined 21:12 pmurias joined
tbrowder lizmat: i don't know, for one thing something like a detailed new module author's guide with whatever specific requirements we have in one place. right noe p 21:31
Geth rakudo: 99a0610ad9 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Simplify Str.substr(N,Callable)

This does not make things faster or slower, but gives a lot less code to maintain.
tbrowder s/noe p/now/ guidance is in several places. there is apparently no serious consensus for hard requirements for modules, but i think that doesn't jibe with concerns expressed by some here, including myself. if we expect Raku to show the world a first-class language and all it includes, i believe most, if not all, of the published modules ought to meet some reasonably rigorous standards. Maybe nothing more than a seal 21:38
of approval on a module that meets those standards.
lizmat but that is the very point of a recommendation manager
because beauty is in the eye of the beholder 21:39
and my standards aren't your standards
so if you have different standards, you make your own recommendation manager
tbrowder i'm not talking beauty, i'm talking about things like consistent versioning, adequate testing, etc. 21:40
lizmat I used "beauty" in the most free sense :-)
in the end, it is about what you'd like to see, is it not? 21:41
tbrowder surely the community can agree on something to be required for a "blessed" module.
lizmat I don't think the Perl community was ever able to agree on that 21:42
and they have a lot less degrees of freedom than Raku
tbrowder well, that's a fair point, but a little loose for a computer language.
true, but one could always say "the horse is out of the barn" and it's too late to put a halter on and just give up. just my two cents... 21:44
Geth rakudo: 1a89106295 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Simplify Str.substr(Callable)

This makes it a few percent faster. And a lot less code to maintain.
tbrowder i like a little regulation, but not too much. just enough to satisfy goldilocks 21:46
and zef
lizmat design.raku.org/S22.html#recommendation_manager # are you aware of this ? 21:47
tbrowder i don't remember that term, but i do remember the bulk of that chunk. i remember questioning why we didn't require or use more of those attributes for the ecosystem. let me see one like that... 21:52
tyil tbrowder: I've toyed with the idea of making one, but I have other projects I'm working on rn :( 21:55
tbrowder yeah, i think "hooks" was one that was going to be worked in the future and "production" is a good one while discussing quality...and now i rember lizmat++ is the author!! 21:57
Geth rakudo: e3426579dd | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Simplify Str.substr(Callable,N)

This makes it a few percent faster. And a lot less code to maintain.
21:59 pmurias left 22:01 pmurias joined
tbrowder ref S22: another thing i thought might be useful is an "examples" directory, but i didn't appreciate the ?*RESOURCES thing then (and not real sure how to use it as a module author now) 22:07
tyil: if you ever start i would be interested in at least watching it 22:08
tyil I hope to have some time early next year (as I have some overtime to turn into free time), but rakudo-star is my main focus for now, so I can't make any promises 22:13
haven't seen any reports yet of issues that required a fix on my end 22:14
so it's looking good for now
tbrowder: perhaps we can think of a few projects to improve the ecosystem quality to be used for GSoC 2020 22:17
Geth rakudo: f79102fa97 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Simplify Str.substr(Callable,Callable)

This does not make things faster or slower, but gives a lot less code to maintain.
22:28 atweiden-air joined
rba .tell patrickb I'm very sorry it took soo long. Your branch is now available as stage-rakudo.rakulang.site/ 22:35
tellable6 rba, I'll pass your message to patrickb
lizmat likes it 22:37
sena_kun likes it 22:38
rba .tell patrickb It's NOT auto-updating from github. I have to do a new pull and a hypnotoad. (And need to make sure port is changed 4242->5242.) You might leave me a msg here and I will ASAP doit. Promise.
tellable6 rba, I'll pass your message to patrickb
rba .tell patrickb There is still some 404 though on stage-rakudo.rakulang.site/latest/star/win and stage-rakudo.rakulang.site/latest/star/macos Yet no clue yet if this is in the nginx config or in the code or if there are directories missing for this installation. 22:39
tellable6 rba, I'll pass your message to patrickb
rba lizmat, sena_kun: kudos go to patrickb. 22:40
22:43 sena_kun left
rba .tell patrickb Maybe we need to make some additions as there are more pre-packaged version. E.g. for the BSD world: pkgsrc.se/lang/rakudo 22:45
tellable6 rba, I'll pass your message to patrickb
Geth rakudo: 60a9ff6287 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Add candidate for Str.substr(N,*)

This makes it a few percent faster.
rba .tell patrickb I like to new layout :-) 22:50
tellable6 rba, I'll pass your message to patrickb
Geth rakudo: 25a2998798 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Add candidate for Str.substr(N,Num)

This makes Str.substr(N,Inf) about 15% percent faster.
rakudo: ab99c2dd3d | (Elizabeth Mattijsen)++ | 2 files
Remove SUBSTR-(START|CHARS)-OOR from Rakudo::Internals

They are now Str private methods.
lizmat and that concludes my optimizations for today
23:15 atweiden-air left