🦋 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:02 reportable6 joined 01:50 squashable6 left 01:51 squashable6 joined 03:01 discord-raku-bot left, discord-raku-bot joined 04:32 codesections left 06:00 reportable6 left, reportable6 joined 08:03 frost joined 08:05 frost left 08:32 squashable6 left, squashable6 joined 09:31 sena_kun joined
Geth rakudo/lizmat-store-Callable: 4695cbe50e | (Elizabeth Mattijsen)++ | 2 files
Provide better error message for my %h = Callable

If it is the *only* value stored in a Map, and it is a Callable, provide an error message that points to the use of ; vs , in the contents of the Callable ({ :a; :b } versus { :a, :b }).
Addresses github.com/rakudo/rakudo/issues/5170
This change may actually be a performance improvement, as it reduces the binary size of the STORE methods involved, making it more likely they can be inlined.
rakudo: lizmat++ created pull request #5213:
Provide better error message for my %h = Callable
roast: c7049326de | (Elizabeth Mattijsen)++ | S03-operators/context.t
Make test less specific

Otherwise github.com/rakudo/rakudo/pull/5213 will cause a failed test.
11:10 SmokeMac` joined, ab5tract joined 11:13 SmokeMac` is now known as SmokeMachine_erc 11:19 SmokeMac` joined 11:23 SmokeMac` is now known as SmokeMachineERC 11:27 SmokeMachine_erc left 11:29 SmokeMachineERC left 11:32 SmokeMachineERC joined 12:00 reportable6 left 12:01 reportable6 joined 12:51 ab5tract left 14:05 SmokeMachineERC left 15:15 ab5tract joined 15:37 ab5tract left 15:57 El_Che joined
El_Che hello, if someone is inclined, I have some nice failing tests and build stuff: github.com/nxadm/rakudo-pkg/action...7400292959 15:57
t/09-moar/01-profilers.t failed on many distros
and some had this: "my sub" not yet implemented at /__w/rakudo-pkg/rakudo-pkg/rakudo/3rdparty/nqp-configure/lib/NQP/Config.pm line 1522. 15:58
probably related to newer perl versions?
the my subs error I saw on ubunut 16.04 and redhat/centos 7, the oldest from the bunch 16:00
vrurg El_Che: there is no 'my sub' at that line!
El_Che debian 9 as well 16:01
vrurg Interesting, there is one on the HEAD of the module. How do you do the build? Do you checkout the submodule?
El_Che github.com/nxadm/rakudo-pkg/blob/m...ild.sh#L29 16:02
clone: github.com/nxadm/rakudo-pkg/blob/m...oad.sh#L11
for eacht the 2023.03 version is checked out 16:04
vrurg: debian 9: pipelines.actions.githubuserconten...LpUysfI%3D 16:06
that's the build 16:07
vrurg El_Che: somehow you get `nqp-configure` submodule HEAD instead what is the current bound commit. The HEAD does have `my sub`, which is bad due to it only available since 5.18 and, apparently, many distros consider it too modern and unreliable. 16:08
El_Che looking at the log to figure out that happens
vrurg Hm, now I am confused. My macOS build do have that version of submodule. Linux build is using an older one. What the... 16:10
Anyway, the `my sub` has to be eliminated. No idea how do these distros manage to live with archeologically dated versions of Perl, but... 16:11
El_Che sadly the log does not have the checkout info 16:12
but in short: git clone --recurse-submodules github.com/raku/nqp.git && cd nqp && git checkout $NQP_VERSION
so nothing weird there
vrurg: ah, here is the clone log: pipelines.actions.githubuserconten...LZBLQ7E%3D 16:15
ctrl+f for nqp
does what expected there
vrurg It gets what's expected. Looks like Perl's version is not what is expected.
El_Che well, the rakudo-pkg scripts didn't change between 2022.12 and today, and probably neither the distros 16:16
vrurg I used a lexical sub totally automatically, because I can, because this is normal. I'm pissed off with people being so conservative!
El_Che certainly old ones like rhel 7 and ubuntu 16.04
vrurg: there I a reason I wrote that in bourne shell instead of raku (!), perl or bash :) 16:17
vrurg El_Che: there is a quick workaround, if you wish and can apply a patch. I guess, you can. Simply remove `my` for both entries. This will result in a warning, but it is harmless. 16:21
Proper fix would take a little time and will require a patch release which I'm not particularly happy about. :( 16:22
El_Che 2 places? 16:24
"my sub" not yet implemented at /__w/rakudo-pkg/rakudo-pkg/rakudo/3rdparty/nqp-configure/lib/NQP/Config.pm line 1522.
that's 1
I see them 16:25
my sub on_stdout and on_stderr
I'll patch them quick and dirty to release the packages
vrurg Oh, even better. I forgot it works this way!
El_Che but others will hit it as well 16:26
vrurg `my $on_stdout = sub {... ` – and the same for on_stderr. Then just replace \&on_ below with $on_
El_Che on the second issue, I often have flippers and have to run several build to make them all pass
but the profilers.t is the first one in a long time that failed on so many at the same time 16:27
is it time based?
vrurg I don't know, never looked into what it does. 16:28
El_Che will removing the my won't be enough?
does sub in sub work?
probably not
it does not matter, what you propose is simple enough 16:29
vrurg Removing `my` works, but leaves you with a worthless warning. The `my $on_ = sub {` is a flawless solution.
I will commit it later today, but have to go now.
El_Che i will do several runs to see if the profilers test if a flapper before patching. Thx for the help 16:32
(reran everything again: so only ubuntu 16.04, ubi 7 (rhel/centos/...) and debian 9 hit the bug 16:47
Geth rakudo/lizmat-store-Callable: 21ec434f86 | (Elizabeth Mattijsen)++ | src/core.c/Map.pm6
Elaborated in error message:

Cannot use a Callable as the only argument to store in a Hash. If the intent was to store the contents of a Hash, one should probably use the
  %( ) hash constructor instead of { }. Causes of { } misinterpretation:
  - using ';' instead of ',' to separate values, as these imply statements
  - using '$_' or any placeholder variable, as they imply a block scope
18:00 reportable6 left 18:01 reportable6 joined
nine Is there even a point to building on such old distro version_ 18:37
lizmat I'd say: yes 18:38
if MoarVM otherwise builds, yes
El_Che (for the record, I haven't seen such a flapper failing so much in ages [profilers.t]) 18:44
[Coke] ubuntu 16.04 supported through 2026, but they have $$. :)
El_Che nine: my idea is to build on what's supported. 18:45
(in the hope people use raku when they can't or don't want to upgrade the os)
there is huge rhel/centos7 install base out there, certainly with Redhat killing centos 8 18:46
they still have until next year to figure out where to go next
("they" is also me, I still have a few services on centos 7) 18:47
jdv (the gig im bouncing from at the end of the month is still on centos 6:|) 18:48
18:56 sena_kun left 19:21 sena_kun joined 20:21 benchable6 left, squashable6 left, linkable6 left, reportable6 left, releasable6 left, tellable6 left, committable6 left, quotable6 left, unicodable6 left, statisfiable6 left, shareable6 left, notable6 left, sourceable6 left, notable6 joined 20:22 unicodable6 joined, sourceable6 joined, quotable6 joined, benchable6 joined, committable6 joined, shareable6 joined, reportable6 joined 20:23 squashable6 joined, tellable6 joined, statisfiable6 joined, releasable6 joined, linkable6 joined 20:35 codesections joined
lizmat meh: RakuAST::Type::Definedness takes 2 positionals, breaking the contract of 1 positional or nameds: method new(RakuAST::Type $base-type, Bool $definite) { 20:37
same for RakuAST::Type::Coercion 20:39
and RakuAST::Type::Parameterized 20:41
argh, and RakuAST::Var::Package takes a positional *and* a named 20:46
Geth nqp-configure/main: 1b4ae93d39 | (Vadim Belman)++ | lib/NQP/Config.pm
Fix compatibility with older Perl versions

  `my sub` is only available since 5.18. But we still can compile on
distros which where earlier versions of Perl are the default.
rakudo: vrurg++ created pull request #5214:
Bump nqp-configure submodule version
nqp/main: 7d6de1e54a | (Vadim Belman)++ | 3rdparty/nqp-configure
Bump nqp-configure submodule version

Fix compatibility with older Perl versions
21:35 evalable6 left, linkable6 left 21:36 linkable6 joined 21:37 evalable6 joined 22:08 codesections left