🦋 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: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
00:02 reportable6 left 00:03 reportable6 joined 01:08 frost joined 03:04 bisectable6 left, statisfiable6 left, unicodable6 left, evalable6 left, benchable6 left, greppable6 left, bloatable6 left, squashable6 left, tellable6 left, linkable6 left, coverable6 left, nativecallable6 left, reportable6 left, committable6 left, notable6 left, sourceable6 left, shareable6 left, quotable6 left, releasable6 left 03:05 shareable6 joined, bisectable6 joined, bloatable6 joined 03:07 reportable6 joined, statisfiable6 joined, squashable6 joined, quotable6 joined, benchable6 joined, nativecallable6 joined 04:05 coverable6 joined, sourceable6 joined 04:06 notable6 joined, committable6 joined 04:07 unicodable6 joined
japhb ugexe: FWIW, as someone who has *NOT* used them heavily, it feels like CU* provide APIs that are powerful but require deep understanding to use properly. Kindof plumbing versus porcelain, or Lock/Thread/Scheduler versus Promise/Supply/Channel. 04:29
Each time someone asks about how to do something with those APIs, we either get XY questions (leading to "Why would you want to do that?" answers) or "Just use this long one-liner that you would have no hope of knowing, but really isn't any more complex than implementing monads in SQL". 04:31
I myself want (and I think I see people asking) for more convenience, more procelain, more DWIM. 04:32
Hell, I'd be in favor of someone making a CompUnit::Utils dist with just a bajillion examples and convenience routines and such. And I can't do it myself, because I lack the mental model (so far) to be able to produce them. 04:34
05:06 releasable6 joined 06:02 reportable6 left 06:05 tellable6 joined 06:07 greppable6 joined, linkable6 joined 06:08 evalable6 joined
japhb Possible Rakudo incompatibility canary? github.com/raku-community-modules/URI/issues/48 06:48
07:18 evalable6 left, linkable6 left, linkable6 joined
nine lizmat: CompUnit::Repository::Staging is NOT just a part of our build chain. It's explicitly meant to be used by module installers and github.com/rakudo/rakudo/blob/mast...ll-dist.p6 is a) an example for how to do this and b) itself a tool that's used for packaging modules: build.opensuse.org/package/view_fi...c?expand=1 07:41
07:42 sena_kun joined
nine ugexe: AFAIR CompUnit::Repository::Staging could easily live in the core. It just seemed to be something with a very narrow use case and as such better suited as an external module. But it has to be shipped with rakudo as our installation process needs it. It was also simply a test bed for custom CUR implementations 07:42
07:47 patrickb joined 08:02 patrickb left 08:04 reportable6 joined 09:18 evalable6 joined
lizmat m: CompUnit::RepositoryRegistry.repository-for-name("core").installed.map(*.meta).elems.say # sanity check 09:29
camelia 1
lizmat locally I got 2, most likely because of github.com/rakudo/rakudo/pull/4613
nine yes, that will be the reason 09:32
10:29 linkable6 left, evalable6 left 10:32 evalable6 joined 11:29 linkable6 joined 12:02 reportable6 left 12:05 reportable6 joined
ugexe japhb: most of what i post is long because the names of things and methods are long 12:25
otherwise pretty much everything is done by chaining 3 steps together $*REPO.repo-chain to iterate over all the repo chains, a .grep to remove the ones you dont want, and then a .map(.candidates(...) | .resolve(...) | .?installed) 12:28
iterate over all the repos rather^ 12:35
lizmat anyways: raku.land/zef:lizmat/Rakudo::CORE::META 12:51
13:10 evalable6 left, linkable6 left 13:11 evalable6 joined
lizmat hmmm... interesting: some distros refer to "Pod::To::HTML:auth<github:Raku>" as a dependency 13:12
sena_kun lizmat, mm? 13:21
or maybe "what's curious about that"? 13:22
lizmat argh, confused it with Pod::To::Text 13:23
sena_kun ah, then yes, there are no other alternatives
lizmat and Pod::To::Text is core indeed 13:24
ugexe nine: i guess i was thinking of github.com/rakudo/rakudo/commit/ac...t-18128990 but i suppose that could have been caused by something else 14:51
15:16 patrickb joined
nine ugexe: yes, that's exactly why I thought keeping Staging out of core was a good test. Was quite tricky to get it all working 15:24
16:11 linkable6 joined 16:27 patrickb left 16:35 melezhik joined 16:50 patrickb joined 17:11 camelia left, nine left 17:19 camelia joined 17:24 camelia left 18:02 reportable6 left 18:03 nine joined 18:05 nine left 18:06 nine joined 18:08 camelia joined 18:22 dogbert11 joined 18:24 dogbert17 left 18:25 dogbert17 joined 18:27 dogbert11 left 18:32 MasterDuke left 18:34 patrickz joined, patrickb left 18:45 MasterDuke joined 18:46 dogbert11 joined 18:48 dogbert17 left 18:54 squashable6 left 18:55 squashable6 joined 19:02 squashable6 left, squashable6 joined 19:03 squashable6 left 19:12 shareable6 left 19:13 shareable6 joined 19:18 squashable6 joined 20:05 reportable6 joined
Geth roast: 90eba8098b | (Elizabeth Mattijsen)++ | S32-list/sort.t
Remove tests from a PR that will not be merged

  github.com/rakudo/rakudo/pull/3849 to be precise
20:25
rakudo: 6e5c17f1ab | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Remove Exception class that was needed for a PR

But the PR never made it. See github.com/rakudo/rakudo/pull/3849
20:27
melezhik Uploaded file: uploads.kiwiirc.com/files/5d4834ab.../image.png
20:28 Skarsnik joined
MasterDuke lizmat: re that pr and roast test, i think it does make sense to disallow cmp'ing with a junction. adding `multi sub infix:<cmp>(\a, Junction:D $b) { die "Can't cmp a Junction" }; multi sub infix:<cmp>(Junction:D $a, \b) { 20:55
die "Can't cmp a Junction" };` to Order.pm6 passes a spectest
m: say (9, 3, 1, any(4, 5, 6, 7, 500), "a").sort # and this now dies with that message 20:56
camelia (a any(4, 5, 6, 7, 500) 1 3 9)
lizmat MasterDuke: fwiw I'm looking at github.com/Raku/problem-solving/issues/297 20:57
MasterDuke cool
lizmat if you want to create a PR for junctioning cmp, well... I was pretty burned out on that one
Geth rakudo: 3ef09a72e2 | (Elizabeth Mattijsen)++ | src/core.c/StrDistance.pm6
Make StrDistance.ACCEPS also a multi

Just like all other .ACCEPTS methods
20:58
MasterDuke i can do that, what about adding back your exception in my pr?
lizmat well, I felt that the exception in that form would be pretty useless for handling #297 20:59
20:59 patrickz left
lizmat so I thought I'd remove it to have a clean slate 20:59
nine Could not find symbol '&Junction' in 'X::Cannot' in block <unit> at t/spec/S32-list/sort.rakudo.moar line 266 21:35
lizmat ddi you update roast?
nine Ah, local change prevented the automatic pull in roast
lizmat *phew* 21:36
MasterDuke i get that on my branch where i reverted removing the exception and throw it in Order.pm6, when i try to test 21:40
dogbert11 'zef install URI' has started to fail with the following error message:
[URI] # Failed test 'right exception type (X::Assignment::RO)'
[URI] # at SETTING::src/core.c/Exception.pm6 line 62
[URI] # Expected: X::Assignment::RO
[URI] # Got: X::Attribute::Required
[URI] # Exception message: The attribute '$!value' is required, but you did not provide a value for it.
nine Now I get: # Failed test 'found original file name in the backtrace' 21:41
dogbert11 must be a relatively recent regression
nine # at t/spec/integration/error-reporting.t line 127
21:41 sena_kun left
MasterDuke i just had a clean spectest on my branch (which is at HEAD + revert removing the exception + throw it in cmp) 21:42
21:42 sena_kun joined
nine Huh...that spectest passes after removing .precomp directories. 21:44
lizmat dogbert11: URI errors confirmed
nine Apparently we still found the same precomp file after the file got renamed. And the test explicitly checked the compiled file name. Weird coincidence :) 21:45
MasterDuke the URI error is probably github.com/rakudo/rakudo/pull/4594 right? 21:47
but unrelated to URI, why can't rakudo find X::Cannot::Junction? 21:48
hm. `raku -e 'X::Cannot::Junction.new(junction=>"a|b", for=>"for nothing").throw'` works fine 21:50
lizmat because I just removed it ? 21:53
MasterDuke this is on my branch which added it back in 21:54
22:04 dogbert17 joined
Geth rakudo: MasterDuke17++ created pull request #4618:
Disallow cmp with a Junction
22:04
22:06 dogbert11 left 22:12 RakuIRCLogger left 22:13 RakuIRCLogger joined 22:33 melezhik left 22:40 melezhik joined 22:57 melezhik left 23:18 melezhik joined 23:36 melezhik left