🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
Geth rakudo: 7ddb90ce98 | (Vadim Belman)++ | src/Perl6/Grammar.nqp
Don't blindly make a Version object for vN

First look up whether there's a lexical symbol for it, and use that if we found it.
Fixes #3919
00:30
rakudo: 6c948e0068 | (Vadim Belman)++ (committed using GitHub Web editor) | src/Perl6/Grammar.nqp
Merge pull request #5020 from rakudo/lizmat-v-check

Don't blindly make a Version object for vN
melezhik few r3 test failed for rakudo 2022.06 - gistcdn.githack.com/melezhik/b5380...eport.html changed report format , hopefully more readable and simple now , HTH 02:44
lizmat tbrowder: on /foo/bar.tar.gz, stem would be "bar" and suffix would be "tar.gz" ? 09:39
Geth rakudo/lizmat-stem-suffix: 567dc02e3a | (Elizabeth Mattijsen)++ | 2 files
Add .stem and .suffix methods to IO::Patyh for 6.e

  - stem: anything in basename before first ".", basename if no "."
  - suffix: anything in basename after first ".", "" if no "."
09:58
rakudo: lizmat++ created pull request #5031:
Add .stem and .suffix methods to IO::Patyh for 6.e
09:59
lizmat tbrowder ^^
tbrowder lizmat: good start! um, say we have a basename with two dots: foo.bar.baz; at the moment we would have "foo", "bar.baz"; i expected "foo.bar", "baz". that's the order .extension works (tail to head) 10:23
rindex 10:24
that's if i read yr pr correctly 10:25
lizmat well, I guess that's *exactly* the reason why this is not in core :-) 10:26
the notion of "extension" is so vague
tbrowder no argument except it is so natural in my experience. i do think windows knows extension very well. what do they call the remainder? 10:29
i think when i first saw basename in raku it was without the extension. 10:30
lizmat afaik basename has always been with the extension(s0
maybe we just need a method to do this with the number of parts as an argument:
m: dd .basename.chomp("." ~ .extension(:2parts)) with "foo.tar.gz".IO 10:31
camelia "foo"
tbrowder yes, in raku for sure.
yes, that's what i would expect 10:32
lizmat BTW, I've just realized that in my App:Rak presentation I've conflated App::Rak's extended help features with what CLI::Help offers by default
I'll issue a new release of CLI::Help later today to correct
tbrowder and i just realized, after reading app::rak, how useful it is--so much pain in shell find, and i look fwd to rak, installing now... 10:34
lizmat the rak module is just plumbing... App::Rak is the CLI 10:35
but glad you're enthusiastic :-) 10:37
tbrowder yes, looks so good. btw, your cli presento should be in the docs 10:38
excellent best practices like requiring exact module specs, i think that also speeds up installation 10:39
btw, according to my search for windows file extensions, the part *before* the extension is called " file name" 10:50
that's one clue to my thought process re file parts 10:51
lizmat I don't think that meaning is accepted in the Unix / Linux world :-) 10:52
Geth rakudo/lizmat-stem-suffix: 1e63cf1993 | (Elizabeth Mattijsen)++ | src/core.e/IO/Path.pm6
Remove suffix, adapt stem

Suffix we basically already have, with the "extension" method.
Adapted "stem" to take the number of extension levels to remove. By default all, * and Inf accepted as arguments.
   say "foo/bar.tar.gz".IO.stem; # bar
   say "foo/bar.tar.gz".IO.stem(1); # bar.tar
10:54
lizmat tbrowder ^^
tbrowder cool
btw, i tried to use * on IO::Path.parents and couldn't make it work. should it? it would be nice 10:58
*parent
same with .parts 10:59
tbrowder anyhoo one of more of those other path methods 11:01
lizmat hmmm.... I need to rethink porting stuff from App::Rak to CLI::Help a bit more, because of META::constants 11:05
or maybe not :-) 11:07
tbrowder ref basename parts: name.extension 11:17
lizmat I'm going to postpone CLI::Help until I get App::Rak refurbished using the new rak plumbing 11:24
Geth rakudo/lizmat-numeric-suffix-as-value: cf03497b53 | (Elizabeth Mattijsen)++ | src/core.c/Main.pm6
Make numeric suffix check less CPU intensive
11:58
tbrowder the Make manual has several path functions whose terminology may be better. but it does use suffix instead of extension. 12:20
how about: basename = (base + extension) OR (name + extension? 12:27
lizmat we're talking documentation now, right ?
if so, perhaps better on the #raku-doc channel ?
tbrowder no, just revisiting yr stem vs suff mod 12:48
looking for “prior art” for basename parts 12:50
trying to make you happier about terms 12:51
melezhik looks like all issues are fixed after the latest commit, besides github.com/rakudo/rakudo/issues/4949  - gistcdn.githack.com/melezhik/0458c...eport.html 18:23
Method 'need' must be implemented by CompUnit::Repository because it is required by roles: CompUnit::Repository.