[02:48] *** lizmat_ joined
[02:49] *** vrurg joined
[02:51] *** vrurg_ left
[02:51] *** lizmat left
[03:12] *** apogee_ntv left
[03:12] *** apogee_ntv joined
[04:06] *** guifa__ left
[04:07] *** guifa joined
[07:29] *** lizmat_ left
[07:29] *** lizmat joined
[08:27] <Geth> ¦ rakudo/main: 78c9e9d4f0 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[08:27] <Geth> ¦ rakudo/main: Make .return check the routine it actually returns from

[08:27] <Geth> ¦ rakudo/main: 

[08:27] <Geth> ¦ rakudo/main: .return validates the enclosing routine's return constraint before

[08:27] <Geth> ¦ rakudo/main: throwing (added in #6086 to catch a literal constraint the compiler

[08:27] <Geth> ¦ rakudo/main: cannot). It found the routine by walking the dynamic call stack, but

[08:27] <Geth> ¦ rakudo/main: .return unwinds to the lexically enclosing routine. The two disagree when

[08:27] <Geth> ¦ rakudo/main: an internal routine is interposed: a sunk `for` runs its body inside

[08:27] <Geth> ¦ rakudo/main: <…commit message has 6 more lines…>

[08:27] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/78c9e9d4f0

[08:57] <Geth> ¦ rakudo/main: 79788ffedc | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 3 files

[08:57] <Geth> ¦ rakudo/main: Allow "unit sub foo" in 6.e and higher

[08:57] <Geth> ¦ rakudo/main: 

[08:57] <Geth> ¦ rakudo/main: Turns out the idiom for "unit sub foo is export" is actually quite

[08:57] <Geth> ¦ rakudo/main: useful in the case of Air, where generally the logic for each page

[08:57] <Geth> ¦ rakudo/main: (part) of a website is stored in a separate Raku .rakumod file.

[08:57] <Geth> ¦ rakudo/main: 

[08:57] <Geth> ¦ rakudo/main: Since this was technically already possible except for a check on

[08:57] <Geth> ¦ rakudo/main: <…commit message has 20 more lines…>

[08:57] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/79788ffedc

[09:17] <Geth> ¦ rakudo/main: 74ac1d890b | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[09:17] <Geth> ¦ rakudo/main: RakuAST: Declare a regex capture lexical in a BEGIN-time argument

[09:17] <Geth> ¦ rakudo/main: 

[09:17] <Geth> ¦ rakudo/main: A capturing regex used as a BEGIN-time argument, such as a trait argument

[09:17] <Geth> ¦ rakudo/main: or an argument to a BEGIN-evaluated call, died with "Could not find a

[09:17] <Geth> ¦ rakudo/main: compile-time-value for lexical !__REGEX_CAPTURE__1".

[09:17] <Geth> ¦ rakudo/main: 

[09:17] <Geth> ¦ rakudo/main: A capture generates a !__REGEX_CAPTURE__N lexical. Its declaration is

[09:17] <Geth> ¦ rakudo/main: <…commit message has 7 more lines…>

[09:17] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/74ac1d890b

[10:49] <disbot4> <melezhik.> o/

[10:50] <disbot4> <melezhik.> If anyone has thoughts on https://github.com/MoarVM/MoarVM/issues/1958#issuecomment-4775514646 , I appease that , it’d be great to have Rakudo on RockyLinux/riscv64

[10:56] *** camelia left
[10:57] *** nine left
[11:00] *** nine joined
[11:18] <Geth> ¦ rakudo/lizmat-22: ad744c6ddc | (Elizabeth Mattijsen)++ | 4 files

[11:18] <Geth> ¦ rakudo/lizmat-22: Slightly different approach to PR6261

[11:18] <Geth> ¦ rakudo/lizmat-22: 

[11:18] <Geth> ¦ rakudo/lizmat-22: - Stole the test file

[11:18] <Geth> ¦ rakudo/lizmat-22: = Stole the changes to main.nqp

[11:18] <Geth> ¦ rakudo/lizmat-22: - Put initializations in the mainline, instead of hiding it in

[11:18] <Geth> ¦ rakudo/lizmat-22:   a subroutine and assigning on each access.

[11:18] <Geth> ¦ rakudo/lizmat-22: - Adapted comments accordingly

[11:18] <Geth> ¦ rakudo/lizmat-22: review: https://github.com/rakudo/rakudo/commit/ad744c6ddc

[11:18] <Geth> ¦ rakudo: lizmat++ created pull request #6302: Slightly different approach to PR6261

[11:18] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6302

[11:18] *** camelia joined
[12:08] <timo> IIRC dyncall is on the way out anyway. instead of pulling a newer dyncall we can just tell Configure.pl that riscv64 means "don't try dyncall". don't we have a --has-dyncall that will use a dyncall installed in the system instead of the vendored one?

[13:12] *** finanalyst joined
[13:50] <ugexe> i was toying with the self contained executable idea last night

[13:50] <ugexe> SELFEXE_LIB=/tmp/selfexe-native ./rakuapp-full -e 'say [+] 1..100'

[13:50] <ugexe> 5050

[13:50] <ugexe> the selfexe_lib bit is because I haven't figued out how build/link libmoar statically into the program, or how to register extops at startup, so that path still needs a e.g. libmoar.dylib and dynext/libperl6_ops_moar.dylib

[13:51] <timo> that part is easy, i have a POC rakudo with all the core compunits embedded inside of it already and it does the extop stuff as well

[13:58] <timo> i should push that somewhere for real

[13:58] <timo> what's SELFEXE? just your name for this thing?

[13:59] <ugexe> yeah just a way for me to pass in the path i would put the .dylib files in

[14:00] <ugexe> without recompiling

[14:00] <timo> ok, I was wondering if there was a tool or library called "selfexe" that you were using

[14:08] *** rakkable left
[14:09] *** rakkable joined
[15:00] <releasable6> Next release in ≈4 days and ≈3 hours. 1 blocker. Please log your changes in the ChangeLog: https://github.com/rakudo/rakudo/wiki/ChangeLog-Draft

[15:03] <[Coke]> OK, I haven't seen any response to questions about blin or PRs.

[15:03] <[Coke]> I'll kick off a run right now with whatever we have.

[15:04] <[Coke]> (I may have missed in backlog)

[15:08] <Geth> ¦ Blin: 6ddf4ca3fc | (Will Coleda)++ | util/run-blin.sh

[15:08] <Geth> ¦ Blin: Add some debug output

[15:08] <Geth> ¦ Blin: review: https://github.com/Raku/Blin/commit/6ddf4ca3fc

[15:11] <ugexe> sorry, i still need a day or two to recover from the weekend before im back into rakuast mode

[15:23] <[Coke]> no worries, we'll go with what we have! :)

[15:32] *** sjn left
[15:32] *** sjn joined
[18:00] <Geth> ¦ rakudo/main: 0e4126204a | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 4 files

[18:00] <Geth> ¦ rakudo/main: Make sure precompilation stores are keyed per compiler frontend

[18:00] <Geth> ¦ rakudo/main: 

[18:00] <Geth> ¦ rakudo/main: The compiler id was a constant baked while CORE.setting compiled, a sha1 over the setting handle and the source digest, so both frontends of one build shared it, and with it every precompilation store directory. Bytecode precompiled by one frontend then got loaded by processes compiling with the other. The visible damage ranged from "New type Stash for ContainerDescriptor::Untyped is not a mixin type" at startup to 

[18:00] <Geth> ¦ rakudo/main: 

[18:00] <Geth> ¦ rakudo/main: The compiler entry point now binds the active frontend as the COMPILER-FRONTEND hll symbol, and the compiler id is a sha1 over the build stamp and that symbol, computed when the mainline of the setting is run at startup. The constant snapshot of the id in CompUnit::PrecompilationRepository is also set when the mainline is run. Each frontend thereby precompiles into and loads from its own store subtree; nothing one f

[18:00] <Geth> ¦ rakudo/main: 

[18:00] <Geth> ¦ rakudo/main: Co-authored by ugexe++

[18:00] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/0e4126204a

[18:08] <Geth> ¦ rakudo/main: 5645813393 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[18:08] <Geth> ¦ rakudo/main: RakuAST: Interpolate a non-string constant into a regex

[18:08] <Geth> ¦ rakudo/main: 

[18:08] <Geth> ¦ rakudo/main: A variable interpolated into a regex took a fast path when it resolved to

[18:08] <Geth> ¦ rakudo/main: a constant, treating the value as a literal string via `nqp::unbox_s`.

[18:08] <Geth> ¦ rakudo/main: That only works for a string. A constant holding a list

[18:08] <Geth> ¦ rakudo/main: (`my constant @a = <foo bar>; / @a /`) or any other non-string died with

[18:08] <Geth> ¦ rakudo/main: "cannot unbox to a native string".

[18:08] <Geth> ¦ rakudo/main: <…commit message has 6 more lines…>

[18:08] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/5645813393

[18:17] <Geth> ¦ rakudo/main: 405bc25d43 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[18:17] <Geth> ¦ rakudo/main: RakuAST: Register a Label's meta-object in the SC at declaration

[18:17] <Geth> ¦ rakudo/main: 

[18:17] <Geth> ¦ rakudo/main: A labeled statement declares a Label via a `static` lexical whose value is the

[18:17] <Geth> ¦ rakudo/main: Label meta-object. `RakuAST::Label.IMPL-QAST-DECL` built that QAST::Var without

[18:17] <Geth> ¦ rakudo/main: registering the Label in the serialization context, so a labeled block whose

[18:17] <Geth> ¦ rakudo/main: label is never referenced (only IMPL-QAST-DECL runs, never IMPL-LOOKUP-QAST)

[18:17] <Geth> ¦ rakudo/main: died at codegen with "Object of type Label in QAST::Var value, but not in SC".

[18:17] <Geth> ¦ rakudo/main: A labeled loop happened to work only because the label is also looked up.

[18:17] <Geth> ¦ rakudo/main: 

[18:17] <Geth> ¦ rakudo/main: Ensure-sc the meta-object in IMPL-QAST-DECL, as IMPL-LOOKUP-QAST already does.

[18:17] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/405bc25d43

[18:20] <Geth> ¦ rakudo/main: e54e709da9 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[18:20] <Geth> ¦ rakudo/main: RakuAST: don't run a parameter type's ACCEPTS when checking multi signatures

[18:20] <Geth> ¦ rakudo/main: 

[18:20] <Geth> ¦ rakudo/main: Defining a multi candidate checks whether its signature is equivalent to that

[18:20] <Geth> ¦ rakudo/main: of an existing candidate. The check smartmatches the two signatures, which runs

[18:20] <Geth> ¦ rakudo/main: each parameter type's ACCEPTS. A parameter carrying a where-clause constraint

[18:20] <Geth> ¦ rakudo/main: was already skipped. A parameter whose type has an ACCEPTS that comes from

[18:20] <Geth> ¦ rakudo/main: outside the setting, such as a value with a role mixed in, was not, so that

[18:20] <Geth> ¦ rakudo/main: <…commit message has 8 more lines…>

[18:20] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/e54e709da9

[18:22] <[Coke]> aaaaaargh

[18:22] <[Coke]> ok, we're 36% through the blin run.

[18:22] <[Coke]> Cancelling the blin run and starting a fresh one. :(

[18:23] <[Coke]> well, canceling, anyway. Let me know when it's safe to restart.

[18:23] <[Coke]> aborted, stopped vm.

[18:23] <lizmat> but but these were all RakuAST chenges ?

[18:24] <lizmat> ah, except the precomp store one

[18:24] <lizmat> sorry

[18:29] *** finanalyst left
[18:46] <Geth> ¦ rakudo/main: 61cd0abc25 | (Nick Logan)++ (committed using GitHub Web editor) | 3 files

[18:46] <Geth> ¦ rakudo/main: Give all package installers is-stub and defuse-stub

[18:46] <Geth> ¦ rakudo/main: 

[18:46] <Geth> ¦ rakudo/main: A compound named `enum` or `subset` such as `enum Foo::Bar` vivifies a stub

[18:46] <Geth> ¦ rakudo/main: package for the `Foo` prefix and records the installing node as its owner.

[18:46] <Geth> ¦ rakudo/main: Declaring `Foo` afterwards as a class or role merges into that stub and calls

[18:46] <Geth> ¦ rakudo/main: `is-stub` and `defuse-stub` on the owner. `RakuAST::Type::Enum` had no

[18:46] <Geth> ¦ rakudo/main: `defuse-stub` and `RakuAST::Type::Subset` had neither, so the merge died with

[18:46] <Geth> ¦ rakudo/main: <…commit message has 5 more lines…>

[18:46] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/61cd0abc25

[18:47] <Geth> ¦ rakudo/main: 3d5d76ac07 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[18:47] <Geth> ¦ rakudo/main: RakuAST: Allow adverbs on user-defined terms

[18:47] <Geth> ¦ rakudo/main: 

[18:47] <Geth> ¦ rakudo/main: A user-defined `term:<foo>` could not take colonpair adverbs, so `foo:bar(1)`

[18:47] <Geth> ¦ rakudo/main: died with "You can't adverb foo". `RakuAST::Term::Named` had no way to carry

[18:47] <Geth> ¦ rakudo/main: arguments. Give it an `ArgList` and an `add-colonpair` so the adverbs become

[18:47] <Geth> ¦ rakudo/main: named arguments to the term call, the way the legacy frontend handles them.

[18:47] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/3d5d76ac07

[18:48] <Geth> ¦ rakudo/main: ac637fa5de | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/compunit.rakumod

[18:48] <Geth> ¦ rakudo/main: RakuAST: Also declare ::?PACKAGE at the compunit mainline (#6286)

[18:48] <Geth> ¦ rakudo/main: 

[18:48] <Geth> ¦ rakudo/main: The mainline of a compunit declared $?PACKAGE but not its ::? form.

[18:48] <Geth> ¦ rakudo/main: Declare ::?PACKAGE alongside $?PACKAGE.

[18:48] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/ac637fa5de

[18:48] <Geth> ¦ rakudo/main: cc0ebd653d | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[18:48] <Geth> ¦ rakudo/main: RakuAST: Don't warn that a sunk {*} is a useless use

[18:48] <Geth> ¦ rakudo/main: 

[18:48] <Geth> ¦ rakudo/main: A `proto` body can place `{*}` before other statements, which sinks the

[18:48] <Geth> ¦ rakudo/main: dispatch. `RakuAST::OnlyStar` inherited the default expression check that

[18:48] <Geth> ¦ rakudo/main: reports "Useless use of {*} in sink context" for any sunk expression. The

[18:48] <Geth> ¦ rakudo/main: dispatch invokes the matching candidates, so it has an effect and is never

[18:48] <Geth> ¦ rakudo/main: useless. Override the check on `OnlyStar` to stay silent, as the legacy

[18:48] <Geth> ¦ rakudo/main: frontend does.

[18:48] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/cc0ebd653d

[18:51] <Geth> ¦ rakudo/main: f3c84660db | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/scoping.rakumod

[18:51] <Geth> ¦ rakudo/main: RakuAST: Allow an anonymous package inside a role

[18:51] <Geth> ¦ rakudo/main: 

[18:51] <Geth> ¦ rakudo/main: The our-scope-in-role check rejected any `our`-scoped package installer in a

[18:51] <Geth> ¦ rakudo/main: role unless it had a non-installable name. A truly anonymous package (e.g.

[18:51] <Geth> ¦ rakudo/main: `role { }` used as a value) carries the RakuAST::Name type object rather than a

[18:51] <Geth> ¦ rakudo/main: concrete empty name, so the isconcrete guard treated it as named and the check

[18:51] <Geth> ¦ rakudo/main: wrongly fired with "Cannot declare our-scoped role inside of a role". An

[18:51] <Geth> ¦ rakudo/main: anonymous package installs no symbol, so there is nothing ambiguous to reject.

[18:51] <Geth> ¦ rakudo/main: 

[18:51] <Geth> ¦ rakudo/main: Treat a name that is not a concrete installable Name as anonymous.

[18:51] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/f3c84660db

[18:52] <Geth> ¦ rakudo/main: 78f3649043 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[18:52] <Geth> ¦ rakudo/main: RakuAST: Allow a nested-scope constant to shadow an outer one

[18:52] <Geth> ¦ rakudo/main: 

[18:52] <Geth> ¦ rakudo/main: A bare `constant` is `our`, so one in a nested block found the outer

[18:52] <Geth> ¦ rakudo/main: same-named constant in the package and died with "already have an

[18:52] <Geth> ¦ rakudo/main: 'our constant NAME' in the package", though it is a valid shadow.

[18:52] <Geth> ¦ rakudo/main: This broke installing IO::Blob. A same-scope redeclaration is still

[18:52] <Geth> ¦ rakudo/main: caught by the lexical declaration check.

[18:52] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/78f3649043

[18:53] <Geth> ¦ rakudo/main: 44d5887e25 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[18:53] <Geth> ¦ rakudo/main: RakuAST: Keep every post-constraint on a parameter

[18:53] <Geth> ¦ rakudo/main: 

[18:53] <Geth> ¦ rakudo/main: Previously only the first post-constraint of a parameter was kept. A

[18:53] <Geth> ¦ rakudo/main: parameter can have several. A sub-signature and one or more `where`

[18:53] <Geth> ¦ rakudo/main: clauses are all parsed as post-constraints, so a `where` after a

[18:53] <Geth> ¦ rakudo/main: sub-signature (`$x (*@a) where {...}`) was dropped, as were the second

[18:53] <Geth> ¦ rakudo/main: and later of multiple `where` clauses.

[18:53] <Geth> ¦ rakudo/main: <…commit message has 11 more lines…>

[18:53] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/44d5887e25

[19:11] <Geth> ¦ rakudo/main: c9d0f81cca | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[19:11] <Geth> ¦ rakudo/main: RakuAST: Don't fatalize a flattening call argument

[19:11] <Geth> ¦ rakudo/main: 

[19:11] <Geth> ¦ rakudo/main: Under `use fatal`, `f(|%h)` or `f(|@a)` died with "Argument flattening

[19:11] <Geth> ¦ rakudo/main: array must be a concrete VMArray or MultiDimArray". The fatalize pass

[19:11] <Geth> ¦ rakudo/main: wrapped the synthetic FLATTENABLE_LIST/FLATTENABLE_HASH calls in

[19:11] <Geth> ¦ rakudo/main: FATALIZE, which moved the `:flat` flag onto the wrapper, so the callsite

[19:11] <Geth> ¦ rakudo/main: flattener received FATALIZE's boxed return value instead of the raw

[19:11] <Geth> ¦ rakudo/main: <…commit message has 5 more lines…>

[19:11] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/c9d0f81cca

[19:12] <lizmat> ugexe: those were the PRs I felt confident enough to merge now: for the rest I need some more quality time

[19:13] <ugexe> 👍

[19:50] <[Coke]> ok - let me know if anything else is going in, or if I can re-start blin?

[19:51] <lizmat> I'm not planning on doing anything in rakudo until the release atm

[19:51] <lizmat> except maybe some rakudoc sruff

[19:51] <lizmat> (aka RakuAST)

[19:54] <lizmat> afk&

[20:26] <[Coke]> blin restarted

[21:26] <Geth> ¦ setup-raku/dependabot/npm_and_yarn/undici-6.27.0: 72b81be899 | dependabot[bot]++ (committed using GitHub Web editor) | package-lock.json

[21:26] <Geth> ¦ setup-raku/dependabot/npm_and_yarn/undici-6.27.0: Bump undici from 6.24.1 to 6.27.0

[21:26] <Geth> ¦ setup-raku/dependabot/npm_and_yarn/undici-6.27.0: 

[21:26] <Geth> ¦ setup-raku/dependabot/npm_and_yarn/undici-6.27.0: Bumps [undici](https://github.com/nodejs/undici) from 6.24.1 to 6.27.0.

[21:26] <Geth> ¦ setup-raku/dependabot/npm_and_yarn/undici-6.27.0: - [Release notes](https://github.com/nodejs/undici/releases)

[21:26] <Geth> ¦ setup-raku/dependabot/npm_and_yarn/undici-6.27.0: - [Commits](https://github.com/nodejs/undici/compare/v6.24.1...v6.27.0)

[21:26] <Geth> ¦ setup-raku/dependabot/npm_and_yarn/undici-6.27.0: 

[21:26] <Geth> ¦ setup-raku/dependabot/npm_and_yarn/undici-6.27.0: ---

[21:26] <Geth> ¦ setup-raku/dependabot/npm_and_yarn/undici-6.27.0: <…commit message has 7 more lines…>

[21:26] <Geth> ¦ setup-raku/dependabot/npm_and_yarn/undici-6.27.0: review: https://github.com/Raku/setup-raku/commit/72b81be899

[21:26] <Geth> ¦ setup-raku: dependabot[bot]++ created pull request #57: Bump undici from 6.24.1 to 6.27.0

[21:26] <Geth> ¦ setup-raku: review: https://github.com/Raku/setup-raku/pull/57

[23:07] <Geth> ¦ setup-raku: f788e4c0e7 | dependabot[bot]++ (committed using GitHub Web editor) | package-lock.json

[23:07] <Geth> ¦ setup-raku: Bump undici from 6.24.1 to 6.27.0 (#57)

[23:07] <Geth> ¦ setup-raku: 

[23:07] <Geth> ¦ setup-raku: Bumps [undici](https://github.com/nodejs/undici) from 6.24.1 to 6.27.0.

[23:07] <Geth> ¦ setup-raku: - [Release notes](https://github.com/nodejs/undici/releases)

[23:07] <Geth> ¦ setup-raku: - [Commits](https://github.com/nodejs/undici/compare/v6.24.1...v6.27.0)

[23:07] <Geth> ¦ setup-raku: 

[23:07] <Geth> ¦ setup-raku: ---

[23:07] <Geth> ¦ setup-raku: <…commit message has 8 more lines…>

[23:07] <Geth> ¦ setup-raku: review: https://github.com/Raku/setup-raku/commit/f788e4c0e7

