02:48 lizmat_ joined 02:49 vrurg joined 02:51 vrurg_ left, lizmat left 03:12 apogee_ntv left, apogee_ntv joined 04:06 guifa__ left 04:07 guifa joined 07:29 lizmat_ left, lizmat joined
Geth rakudo/main: 78c9e9d4f0 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Make .return check the routine it actually returns from

  .return validates the enclosing routine's return constraint before
throwing (added in #6086 to catch a literal constraint the compiler cannot). It found the routine by walking the dynamic call stack, but
  .return unwinds to the lexically enclosing routine. The two disagree when
an internal routine is interposed: a sunk `for` runs its body inside ... (6 more lines)
08:27
rakudo/main: 79788ffedc | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 3 files
Allow "unit sub foo" in 6.e and higher

Turns out the idiom for "unit sub foo is export" is actually quite useful in the case of Air, where generally the logic for each page
  (part) of a website is stored in a separate Raku .rakumod file.
Since this was technically already possible except for a check on ... (20 more lines)
08:57
rakudo/main: 74ac1d890b | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: Declare a regex capture lexical in a BEGIN-time argument

A capturing regex used as a BEGIN-time argument, such as a trait argument or an argument to a BEGIN-evaluated call, died with "Could not find a compile-time-value for lexical !__REGEX_CAPTURE__1".
A capture generates a !__REGEX_CAPTURE__N lexical. Its declaration is ... (7 more lines)
09:17
disbot4 <melezhik.> o/ 10:49
<melezhik.> If anyone has thoughts on github.com/MoarVM/MoarVM/issues/19...4775514646 , I appease that , it’d be great to have Rakudo on RockyLinux/riscv64 10:50
10:56 camelia left 10:57 nine left 11:00 nine joined
Geth rakudo/lizmat-22: ad744c6ddc | (Elizabeth Mattijsen)++ | 4 files
Slightly different approach to PR6261

  - Stole the test file
  = Stole the changes to main.nqp
  - Put initializations in the mainline, instead of hiding it in
   a subroutine and assigning on each access.
  - Adapted comments accordingly
11:18
rakudo: lizmat++ created pull request #6302:
Slightly different approach to PR6261
11:18 camelia joined
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? 12:08
13:12 finanalyst joined
ugexe i was toying with the self contained executable idea last night 13:50
SELFEXE_LIB=/tmp/selfexe-native ./rakuapp-full -e 'say [+] 1..100'
5050
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
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:51
i should push that somewhere for real 13:58
what's SELFEXE? just your name for this thing?
ugexe yeah just a way for me to pass in the path i would put the .dylib files in 13:59
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
releasable6 Next release in ≈4 days and ≈3 hours. 1 blocker. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 15:00
[Coke] OK, I haven't seen any response to questions about blin or PRs. 15:03
I'll kick off a run right now with whatever we have.
(I may have missed in backlog) 15:04
Geth Blin: 6ddf4ca3fc | (Will Coleda)++ | util/run-blin.sh
Add some debug output
15:08
ugexe sorry, i still need a day or two to recover from the weekend before im back into rakuast mode 15:11
[Coke] no worries, we'll go with what we have! :) 15:23
15:32 sjn left, sjn joined
Geth rakudo/main: 0e4126204a | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 4 files
Make sure precompilation stores are keyed per compiler frontend

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
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
Co-authored by ugexe++
18:00
rakudo/main: 5645813393 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: Interpolate a non-string constant into a regex

A variable interpolated into a regex took a fast path when it resolved to a constant, treating the value as a literal string via `nqp::unbox_s`. That only works for a string. A constant holding a list
  (`my constant @a = <foo bar>; / @a /`) or any other non-string died with
  "cannot unbox to a native string".
... (6 more lines)
18:08
rakudo/main: 405bc25d43 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: Register a Label's meta-object in the SC at declaration

A labeled statement declares a Label via a `static` lexical whose value is the Label meta-object. `RakuAST::Label.IMPL-QAST-DECL` built that QAST::Var without registering the Label in the serialization context, so a labeled block whose label is never referenced (only IMPL-QAST-DECL runs, never IMPL-LOOKUP-QAST) died at codegen with "Object of type Label in QAST::Var value, but not in SC". A labeled loop happened to work only because the label is also looked up.
Ensure-sc the meta-object in IMPL-QAST-DECL, as IMPL-LOOKUP-QAST already does.
18:17
rakudo/main: e54e709da9 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: don't run a parameter type's ACCEPTS when checking multi signatures

Defining a multi candidate checks whether its signature is equivalent to that of an existing candidate. The check smartmatches the two signatures, which runs each parameter type's ACCEPTS. A parameter carrying a where-clause constraint was already skipped. A parameter whose type has an ACCEPTS that comes from outside the setting, such as a value with a role mixed in, was not, so that ... (8 more lines)
18:20
[Coke] aaaaaargh 18:22
ok, we're 36% through the blin run.
Cancelling the blin run and starting a fresh one. :(
well, canceling, anyway. Let me know when it's safe to restart. 18:23
aborted, stopped vm.
lizmat but but these were all RakuAST chenges ?
ah, except the precomp store one 18:24
sorry
18:29 finanalyst left
Geth rakudo/main: 61cd0abc25 | (Nick Logan)++ (committed using GitHub Web editor) | 3 files
Give all package installers is-stub and defuse-stub

A compound named `enum` or `subset` such as `enum Foo::Bar` vivifies a stub package for the `Foo` prefix and records the installing node as its owner. Declaring `Foo` afterwards as a class or role merges into that stub and calls
  `is-stub` and `defuse-stub` on the owner. `RakuAST::Type::Enum` had no
  `defuse-stub` and `RakuAST::Type::Subset` had neither, so the merge died with
... (5 more lines)
18:46
rakudo/main: 3d5d76ac07 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: Allow adverbs on user-defined terms

A user-defined `term:<foo>` could not take colonpair adverbs, so `foo:bar(1)` died with "You can't adverb foo". `RakuAST::Term::Named` had no way to carry arguments. Give it an `ArgList` and an `add-colonpair` so the adverbs become named arguments to the term call, the way the legacy frontend handles them.
18:47
rakudo/main: ac637fa5de | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/compunit.rakumod
RakuAST: Also declare ::?PACKAGE at the compunit mainline (#6286)

The mainline of a compunit declared $?PACKAGE but not its ::? form. Declare ::?PACKAGE alongside $?PACKAGE.
18:48
rakudo/main: cc0ebd653d | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: Don't warn that a sunk {*} is a useless use

A `proto` body can place `{*}` before other statements, which sinks the dispatch. `RakuAST::OnlyStar` inherited the default expression check that reports "Useless use of {*} in sink context" for any sunk expression. The dispatch invokes the matching candidates, so it has an effect and is never useless. Override the check on `OnlyStar` to stay silent, as the legacy frontend does.
rakudo/main: f3c84660db | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/scoping.rakumod
RakuAST: Allow an anonymous package inside a role

The our-scope-in-role check rejected any `our`-scoped package installer in a role unless it had a non-installable name. A truly anonymous package (e.g.
  `role { }` used as a value) carries the RakuAST::Name type object rather than a
concrete empty name, so the isconcrete guard treated it as named and the check wrongly fired with "Cannot declare our-scoped role inside of a role". An anonymous package installs no symbol, so there is nothing ambiguous to reject.
Treat a name that is not a concrete installable Name as anonymous.
18:51
rakudo/main: 78f3649043 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: Allow a nested-scope constant to shadow an outer one

A bare `constant` is `our`, so one in a nested block found the outer same-named constant in the package and died with "already have an
  'our constant NAME' in the package", though it is a valid shadow.
This broke installing IO::Blob. A same-scope redeclaration is still caught by the lexical declaration check.
18:52
rakudo/main: 44d5887e25 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: Keep every post-constraint on a parameter

Previously only the first post-constraint of a parameter was kept. A parameter can have several. A sub-signature and one or more `where` clauses are all parsed as post-constraints, so a `where` after a sub-signature (`$x (*@a) where {...}`) was dropped, as were the second and later of multiple `where` clauses. ... (11 more lines)
18:53
rakudo/main: c9d0f81cca | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: Don't fatalize a flattening call argument

Under `use fatal`, `f(|%h)` or `f(|@a)` died with "Argument flattening array must be a concrete VMArray or MultiDimArray". The fatalize pass wrapped the synthetic FLATTENABLE_LIST/FLATTENABLE_HASH calls in FATALIZE, which moved the `:flat` flag onto the wrapper, so the callsite flattener received FATALIZE's boxed return value instead of the raw ... (5 more lines)
19:11
lizmat ugexe: those were the PRs I felt confident enough to merge now: for the rest I need some more quality time 19:12
ugexe 👍 19:13
[Coke] ok - let me know if anything else is going in, or if I can re-start blin? 19:50
lizmat I'm not planning on doing anything in rakudo until the release atm 19:51
except maybe some rakudoc sruff
(aka RakuAST)
afk& 19:54
[Coke] blin restarted 20:26
Geth setup-raku/dependabot/npm_and_yarn/undici-6.27.0: 72b81be899 | dependabot[bot]++ (committed using GitHub Web editor) | package-lock.json
Bump undici from 6.24.1 to 6.27.0

Bumps [undici](github.com/nodejs/undici) from 6.24.1 to 6.27.0.
  - [Release notes](github.com/nodejs/undici/releases)
  - [Commits](github.com/nodejs/undici/compare/v.....v6.27.0)
  ---
... (7 more lines)
21:26
setup-raku: dependabot[bot]++ created pull request #57:
Bump undici from 6.24.1 to 6.27.0
setup-raku: f788e4c0e7 | dependabot[bot]++ (committed using GitHub Web editor) | package-lock.json
Bump undici from 6.24.1 to 6.27.0 (#57)

Bumps [undici](github.com/nodejs/undici) from 6.24.1 to 6.27.0.
  - [Release notes](github.com/nodejs/undici/releases)
  - [Commits](github.com/nodejs/undici/compare/v.....v6.27.0)
  ---
... (8 more lines)
23:07