🦋 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.
00:00 reportable6 left 00:01 reportable6 joined 00:04 Kaipei left 01:04 linkable6 left, evalable6 left 01:06 linkable6 joined 01:07 evalable6 joined 02:41 squashable6 left, unicodable6 left, evalable6 left, statisfiable6 left, greppable6 left, bisectable6 left, sourceable6 left, benchable6 left, bloatable6 left, releasable6 left, nativecallable6 left, quotable6 left, committable6 left, tellable6 left, reportable6 left, notable6 left, coverable6 left, linkable6 left, shareable6 left, nativecallable6 joined 02:42 committable6 joined, evalable6 joined, statisfiable6 joined, sourceable6 joined, coverable6 joined, releasable6 joined 02:43 bisectable6 joined, benchable6 joined, tellable6 joined, reportable6 joined, greppable6 joined, shareable6 joined, unicodable6 joined, bloatable6 joined, quotable6 joined 02:44 linkable6 joined, notable6 joined, squashable6 joined 03:46 kjp joined 05:17 discord-raku-bot left 05:18 discord-raku-bot joined 06:00 reportable6 left 06:01 reportable6 joined 06:48 samebchase joined 07:12 Kaipei joined 07:52 sena_kun joined 10:27 sena_kun left 11:06 sena_kun joined 12:00 reportable6 left 12:01 reportable6 joined
Geth rakudo/main: 72856df91b | (Elizabeth Mattijsen)++ | 4 files
Implement numeric coercers for Date/DateTime

Basically implement PRs #5151 and #5152 as a single revertable commit. As suggested by Márton Polgár.
This also implements Mu.Int on type objects. This could be considered wrong, as then maybe other specific numeric coercers should also be handled in Mu (think: .Rat / .Num / .Complex). This approach was taken over starting a new proto in Date.
12:53 Kaipei left
rakudo/main: 4b264b80b4 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Any.pm6
Allow * to be used as identity on classify|categorize (#5140)

In response to github.com/rakudo/rakudo/issues/5134
Note that this also allows the :as parameter to be used, such as creating lists of indices of a particular value in a list:
   $ raku -e 'say (1,1,1,2,1,2).classify(*, :as({$++}))'
   {1 => [0 1 2 4], 2 => [3 5]}
|Tux| Rakudo v2022.12-1-gd52342eb0 (v6.d) on MoarVM 2022.12-13-g74e215479
csv-ip5xs0.854 - 0.854
csv-ip5xs-205.200 - 5.320
csv-parser3.490 - 3.585
csv-test-xs-200.408 - 0.410
test6.589 - 7.040
test-t1.413 - 1.469
test-t --race0.877 - 0.922
test-t-2020.275 - 20.476
test-t-20 --race6.899 - 6.944
13:08 Kaipei joined
lizmat notable6: weekly 14:12
notable6 lizmat, No notes for “weekly”
14:44 discord-raku-bot left, discord-raku-bot joined
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2023/01/09/2023-...ofeatures/ 14:59
vrurg_ lizmat++ 15:20
15:20 vrurg_ is now known as vrurg
vrurg lizmat: BTW, a few days ago it crossed my mind that separating internal representation of Raku language version from its public one would make it much easier to transition to a new versioning scheme. It would require lesser amount of logic changes. 15:22
lizmat explain :-) 15:23
vrurg Internal Version class which is v1.0. Version.as-perl6: v6.c; Version.as-raku: v2015. 15:25
v2 -> v6.d, v3.PREVIEW -> v6.e.PREVIEW 15:26
So, internally we only have numbers. 15:28
lizmat ah, ok, maybe a bit like Darwin versions vs MacOS versions :-) 15:29
vrurg The only problem with v20xx scheme to me is that it implies specific release year. But we currently have no idea as to when the next version is to be released. 15:30
lizmat we could use a generic "Blead" version, akin to v6.* now ?
vrurg vBlead? Nah... 15:32
lizmat well, whatever the name 15:33
we could just keep v6.* for historic reasons
vrurg But this is what I like in this separation: the representation can be decided upon later, I wouldn't affect how things work internally.
lizmat perhaps the public version value should not be a sec Version value, but a subclass with its own comparison rules ? 15:34
vrurg m: say Version.new("v*").Str 15:35
camelia v.*
vrurg Actually, the internal Version is planned to be a private NQP class of Perl6::Compiler. 15:36
The public API would be LanguageVersionServices and all "communications" would go through it. 15:37
The public API would be LanguageVersionServices and all "communications" would go through it. 15:38
lizmat isn't that overkill ?
vrurg nqp::getcomp("Raku").lvs.from-perl6("v6.e.PREVIEW"). Not really. But does a good separation of concerns case. 15:40
The Version class could be re-used for other purposes if considered useful. But anything related to the actual language versioning is better be kept away from it. 15:41
15:45 guifa joined
lizmat with that I can agree, I think 15:45
15:47 guifa_ left 16:09 NemokoschKiwi joined 16:10 NemokoschKiwi left 16:45 |Tux| left
lizmat bisectable6: old=2022.12 use Test; plan 1; like 42, /43/ 16:51
bisectable6 lizmat, On both starting points (old=2022.12 new=d52342e) the exit code is 1 and the output is identical as well
lizmat, Output on both points: «1..1␤not ok 1 - text matches /43/␤# Failed test 'text matches /43/'␤# at /tmp/NOnvclLTQc line 1␤# expected a match with: /43/␤# got: "42"␤# You failed 1 test of 1␤»
Geth rakudo/main: 85b91b6eac | (Elizabeth Mattijsen)++ | src/Raku/ast/expressions.rakumod
Add a RakuAST::ApplyPostfix.on-topic method

Returns True if the Postfix is being apply on a lexical $_, to facilitate nicer deparsing more easily
rakudo/main: 4e2e99067f | (Elizabeth Mattijsen)++ | 2 files
Add extensive deparsing tests on statement modifiers

Also make some on return values more specific. And use the new ApplyPostfix.on-topic method for nicer deparsing.
17:36 |Tux| joined, Tux__ joined 17:39 Tux__ left 18:00 reportable6 left
Geth rakudo/main: 656450e26b | (Stefan Seifert)++ | src/Raku/ast/signature.rakumod
RakuAST: Fix using regexes as where blocks

While Regex objects are code, we cannot call them directly, but instead need to call their .ACCEPTS method, just like non-code objects. This will create the required Cursor, deal with $/ and all the other magic, regexes need.
rakudo/main: 5890894fd4 | (Stefan Seifert)++ | 2 files
RakuAST: Fix quoted words as trait values

We blindly assumed that a trait value was given in parentheses or square brackets, i.e. Circumfixes, but they can also just be QuotedStrings (i.e. <foo>). Actually that specialization was only required because we couldn't interpret Circumfixes, so just implement that support instead.
rakudo/main: dd90679137 | (Stefan Seifert)++ | 4 files
RakuAST: support values as parameter constraints

E.g. sub foo(0) { }
18:02 reportable6 joined 18:04 Geth left 18:06 sena_kun left
lizmat nine jnthn is there a way that you can have a Blockoid without a Block, or vice-versa? 18:24
in other words, what creates the blockiness: the Block or the Blockoid ? 18:25
in other words: should Block or Blockoid deparse with { } ? 18:26
nine Both. Block is a first class language construct while Blockoid is more a unit of organization in the AST. 18:37
s/Both/Blockoid/ 18:38
18:44 timo left 18:52 sena_kun joined 19:31 Kaipei left 19:42 Kaiepi joined
lizmat nine: ack! 20:23
m: say Q/BEGIN 42/.AST.dump # nine known issue ? 20:24
camelia ===SORRY!===
Unknown compilation input 'qast'
nine Works when run with RAKUDO_RAKUAST=1 20:27
lizmat that's... weird, as .AST uses the Raku grammar / actions 20:29
nine But nqp::getcomp('Raku') returns a non-RakuAST compiler 20:30
lizmat but that's ok as long as it use the right grammar / actions ? 20:32
I mean, src/main.nqp uses the same compiler, whether RAKDO_RAKUAST is set or not 20:33
nine I don't know. I also don't care :) After all, it's a problem that will go away by itself and there are tons of problems still there that won't. 20:34
lizmat yeah, sure
it just makes testing RakuAST::StatementPrefix::Phaser::Begin a bit difficult :-) 20:35
vrurg lizmat: The compiler is technically the same class, but the grammar/actions are different. 20:37
lizmat right, that's what I thought :-) 20:38
vrurg: how did the class / course go ?
vrurg lizmat: It's not up to me to decide. I felt a little sick, so not as good as I wished it to be. 20:39
Speaking of the compiler, look a t/12-rakuast/origins.rakutest.
lizmat is there a video already ?
vrurg I've got a link to a could recording, but it asks for some passcode which I don't have. 20:40
lizmat meh
I guess we need to ask someone at TPRF to release it to Youtube or so?
vrurg Oh, got a reply ~20mins ago about it. Anyway, I'd need to edit the video first. 20:41
I'll release it after editing.
lizmat oki looking forward to it!
20:43 Geth joined
Geth rakudo/main: 64a3bd227c | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/Deparse.pm6
Hopefully fix indenting issues in deparsing

The problem was really caused by a thinko: having the deparse proto unconditionally create a $*INDENT dynamic variable, doesn't help when you're calling .deparse inside a .deparse. Fix by only creating a single $*INDENT the first time .deparse is called.
rakudo/main: 5a7e07d6cc | (Elizabeth Mattijsen)++ | t/12-rakuast/statementprefixes.rakutest
Add extensive deparsing tests for statement prefixes
rakudo/main: 5189750d87 | (Elizabeth Mattijsen)++ | t/12-rakuast/package.rakutest
Remove mention of rakuast branch in comment
vrurg I have the video downloaded. Now, I need some time to review and edit. 20:50
lizmat cool! 20:55
21:03 epony left 21:29 NemokoschKiwi joined
Geth GlotIO: c0ea74a1ba | lpmi-13++ | README.md
fix simple typo
GlotIO: 8020349fc4 | (Márton Polgár)++ (committed using GitHub Web editor) | README.md
Merge pull request #3 from lpmi-13/typofix

fix simple typo
21:43 NemokoschKiwi left 23:17 codesections joined 23:23 Kaiepi left 23:31 sena_kun left 23:50 epony joined