| Geth | rakudo/main: 6f843f5349 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files Map a container-held foreign value when binding a value parameter (#6388) HTML::Entity::Fast keeps nqp hashes in Raku scalars and passes them to its subroutines: my $w-encode = whitelist-in-encode("<", ">"); # Scalar holding an nqp hash encode-html-entities($str, $w-encode); ... (14 more lines) |
00:01 | |
| rakudo/main: 43b91c2bb7 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: allow a `*` slurpy on a callable parameter (#6389) `sub f(*&code) {}` died with "Parameter * quantifier not applicable to sigil '&'", while the legacy frontend accepted it. As with a `$` sigil, the slurpiness has no effect there: the parameter binds a single Callable, just as `&code` would. Treat a `*`-quantified `&` parameter the same as a `$` one, which the code already tolerates for the same reason. |
|||
| rakudo/main: dee0fd7cd8 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files RakuAST: allow binding to a topic call (#6392) Binding to a topic call such as `.<key> := $value` died with "Cannot compile bind to RakuAST::Term::TopicCall". Term::TopicCall inherited can-be-bound-to as False and had no bind path, so the bind operator refused it even though the explicit `$_<key> := $value` compiled fine. ... (10 more lines) |
|||
| rakudo/main: 6e21a50ba5 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files RakuAST: run a value-producing statement prefix for a constant value (#6393) A `constant` initialised from `gather { ... }` got the block as its value rather than the gathered sequence, so `my constant %RULES = gather {...}` died with "Cannot use a Callable as the only argument to store in a Map". This broke modules that build a constant lookup table from a gather, such as PublicSuffix. ... (8 more lines) |
|||
| rakudo/main: b74d0f85f0 | (Nick Logan)++ (committed using GitHub Web editor) | 5 files RakuAST: snapshot native arguments to non-rw parameters (#6394) Previously a native lexical or attribute compiled to a lexicalref or attributeref in argument position. When the callee bound it to a raw parameter and stored it, as `infix:«=>»` does when building a Pair, the stored reference remained a live view of the variable, so reading `.value` later saw mutations made after the Pair was built: ... (26 more lines) |
|||
| rakudo: ugexe++ created pull request #6404: RakuAST: resolve a symbolic stash lookup on a generic type-capture |
00:04 | ||
|
01:02
lizmat left
03:10
apogee_ntv left
03:12
apogee_ntv joined
|
|||
| Geth | rakudo: ugexe++ created pull request #6405: RakuAST: box native values produced by begin-time evaluation |
04:16 | |
|
06:37
ShimmerFairy left
06:38
ShimmerFairy joined
07:13
lizmat_ left
07:14
lizmat joined
09:36
sp1983 joined
09:53
sp1983 left
10:13
librasteve_ joined
11:52
guifa joined
11:58
rakkable left
11:59
rakkable joined
12:22
librasteve_ left
|
|||
| Geth | rakudo/main: 909e226992 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/Raku/ast/resolver.rakumod RakuAST: small refactor of ::Resolver.resolve-lexical-constant Since it felt like pretty hot code during compilation: - no return statement unless needed - no unneccesary intermediat variables |
13:44 | |
| rakudo/main: a5161642b7 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: Route a maybe-method call through raku-meth-call-me-maybe A maybe-method call `$obj.?meth` compiled to a `callmethod dispatch:<.?>`, which requires the invocant to carry the `dispatch:<.?>` method that lives on `Mu`. On an object that is not Mu-rooted, such as an NQP grammar cursor reached from a slang's action methods, that died with "dispatch:<.?> not found". ... (9 more lines) |
13:47 | ||
| rakudo/main: 5 commits pushed by (Nick Logan)++, (Elizabeth Mattijsen)++ | 13:48 | ||
| rakudo/main: 90191a1b34 | (Nick Logan)++ | 4 files RakuAST: Fatalize a try block's Failures without promoting its worries Previously a try block did not run with `use fatal` semantics, so a Failure produced inside it leaked out as a value instead of being thrown and caught. `try { return $v.Int }` returned the Failure rather than falling through after the try when the conversion failed, and a Failure returned into the block through a call, then sunk, went off nowhere. ... (15 more lines) |
14:06 | ||
| rakudo/main: 00db5426c4 | (Nick Logan)++ | 2 files RakuAST: lower a single-emit supply to SUPPLY-ONE-EMIT Previously `supply emit EXPR` (and the block form whose body is a single emit statement) compiled to the generic &SUPPLY, so a Failure produced while evaluating EXPR was emitted as an ordinary value. The legacy frontend rewrites such a body to just EXPR and routes it through &SUPPLY-ONE-EMIT, whose tappable emits the block's return value and quits ... (10 more lines) |
|||
| rakudo/main: dd68b072bd | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 5 files Merge pull request #6397 from ugexe/ugexe/rakuast-supply-one-emit RakuAST: fatalize try blocks and lower single-emit supplies |
|||
| rakudo/main: 34e08243cd | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: set a stub's yada bit before applying its traits (#6398) A trait can constrain on a routine being a stub. LibXML's `is dom-boxed` uses `where { .yada }`. Previously RakuAST set the yada bit while compiling the body, which runs after traits are applied, so `.yada` was False when the constraint ran and the trait was rejected as an unknown trait. Set it in PERFORM-BEGIN before apply-traits so the constraint sees the stub. |
14:07 | ||
| rakudo/main: 00685dc644 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: allow a bare Whatever `where` constraint A parameter `where *` (as in IUP's `Bool :$copy where *`) died with "Malformed double closure". A bare Whatever is not a WhateverCode, so it was wrapped in a synthetic `{ $where.ACCEPTS($_).Bool }` block, and the `*` inside re-curried; the double-closure check then ran on that wrapper and rejected it. Run the check in PERFORM-BEGIN on the original where, before the wrapper is built, so a bare Whatever is left alone while a user-written `where { * > 0 }` is still caught. |
14:17 | ||
| rakudo/main: d0e44ff43f | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: honor a custom declarator's companion attribute type A package declarator registered through `EXPORTHOW::DECLARE` may also register a companion attribute meta-object under `<declarator>-attr`. The legacy frontend resolves it for every `has` in the declarator's body through `$*PKGDECL ~ '-attr'`. RakuAST's `stub-package` never looked it up, so attributes were always built from the standard `Attribute` and the ... (12 more lines) |
14:18 | ||
| [Coke] | why do we have both github.com/rakudo/rakudo/commit/d8...72d0cd3d28 and github.com/rakudo/rakudo/commit/70...c054a63ea2 on main? | 15:42 | |
| It reads like one is a merge commit of the other, but it doesn't say it's a merge commit. | |||
| it looks like maybe d8e85d1 is a *SQUASH* of multiple commits? | 15:43 | ||
| I'm very confused. :| | |||
| (this from trying to keep the changelog draft up to date) | 15:44 | ||
| ugexe | yeah thats unfortunate. it has rakuast and nonrakuast commit. it should have been merged as individual commits | ||
| [Coke] | ok, looks like it *is* a merge, but that for some reason, it doesn't say "merge" in the whateverable setup. | 15:45 | |
| I think we've talked about this before, but in general, please don't squash. | 15:46 | ||
| (it does show as a merge in a git log) | |||
| guessing whateverable isn't smart enough to deal with squashes. | |||
| and so it's showing me the original commits AND the merge commit (as it does), but then doesn't tell me that the merge commit is a merge, so I have to check it by hand. :| | 15:47 | ||
| (if it says merge, I can easily say "what commits are in that merge" and put them all in a single entry in the changelog with the merge commit sha and the individual commit sha | 15:48 | ||
| (the squash also loses the title of the PR, which is a better changelog entry than "the first commit") | 15:57 | ||
|
15:59
finanalyst joined
|
|||
| [Coke] | hurm. this is weirder than that, found one of the commits referenced in a merge, but it's a single-commit PR. Ah well, that's enough archaeology here. | 16:01 | |
| lizmat | I thought I did a merge commit ? | 16:44 | |
|
16:45
finanalyst left
16:46
finanalyst joined
16:49
finanalyst left
|
|||
| Geth | rakudo/main: 294299f450 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: defer private method resolution when the package is composing A private method call resolves at compile time by looking the method up on its package. A trait applied at BEGIN wraps methods with closures that are compiled before the class composes, so the lookup found nothing and the call died with "Private method not found" (LibXML's `is reader-raw`). Only resolve at compile time once the package has composed, otherwise emit the runtime private-method dispatch, which finds the method once the class is in place. |
16:52 | |
| rakudo/main: 378bebbc2a | (Nick Logan)++ (committed using GitHub Web editor) | 3 files RakuAST: return Nil from a QUIT phaser when its when/default succeeds Previously a whenever block's QUIT phaser never intercepted the quit under the RakuAST frontend: the react or supply block died with the original exception even though a default clause matched. The supply machinery decides whether a QUIT phaser handled the exception by what the phaser returns, Nil when handled, and treats anything else as ... (10 more lines) |
16:53 | ||
| rakudo/main: 123df613fc | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: resolve a symbolic stash lookup on a generic type-capture `T::{$key}` in a role body, where `T` is the role's own type-capture parameter, resolves the leading `T` to the unbound generic while parsing. IMPL-STASH-HASH then read the generic's WHO, which is null, and reached into it with nqp::getattr, dying "Cannot look up attributes in a VMNull type object". The legacy frontend accepted it. ... (9 more lines) |
17:03 | ||
| japhb | All the ++ for Nick. Good on ya! | 17:32 | |
| [Coke] | lizmat: Maybe? could just be releasable (and therefore me) is confused. :) | 17:40 | |
| No worries. | |||
| ugexe | i mean it is weird. usually a merge commit mentions it is merging a given PR. this merge commit shows the same title and description that would be generated by squashing | 17:41 | |
| my guess is she copy pasted the text it shows when selecting squash and merge but then switched to regular merge and copied that text in. Alternatively github automatically populated that title/description when selecting squash first and then changing to merge | 17:42 | ||
| github.com/rakudo/rakudo/commit/58...952b635d0e | 17:43 | ||
| github.com/rakudo/rakudo/commit/d8...72d0cd3d28 | |||
| (shown to show the default merge commit title/description, and the confusing one) | 17:44 | ||
| [Coke] | (it is weird)++ | 17:45 | |
| ugexe | so my assumption is releasable is confused, i.e. it tries to match `Merge pull request ..` | ||
|
17:48
finanalyst joined
|
|||
| [Coke] | I think it reports the same way, it's *me* that gets confused when it doesn't say merge, because then I can't tell by looking at releasable output that it's a merge. | 17:56 | |
| ... and if I click on the "merge" commit, github isn't showing it as a merge - in the other cases, it shows me "this merges PR#xxx" and I can click on the PR #, and see the commit IDs in the UI | 17:57 | ||
| ... i never did start a point release for moarvm. | 18:19 | ||
| Will do that today | |||
| raku.land/cpan:JNTHN/JSON::Schema shows a copyright on alexander, but cpan author of JNTHN | 19:11 | ||
| ... it also fails to install on a recent rakudo. :( | |||
| is github.com/croservices/json-schema/issues the correct REPO still? | 19:12 | ||
| lizmat | yeah, looks like... | 19:16 | |
| guess we could transfer it to ramu community modules | 19:17 | ||
| [Coke] | github.com/croservices/json-schema/issues/9 | 19:19 | |
| do we "own" croservices now? or how does that work. | |||
| ugexe | wow, a bot trying to get you to download a virus or whatever | 19:23 | |
| lizmat | looks like it installs if you install ECMA262Regex separately first | 19:31 | |
| [Coke] | that module is already installed | 19:34 | |
| checking versions... | 19:35 | ||
| ugexe | you think its specific to windows though? | 19:36 | |
| [Coke] | It could be, I don't know. | ||
| Looks like I have ECMA262 installed at the latest version (1.2) | 19:37 | ||
| I reported that user for malware. | 20:17 | ||
| They did a passable job making something up to explain the link, I thought. | 20:18 | ||
| but probably triggered because I said "windows". :) | |||
| (the zip file has a single .exe in it) | |||
|
20:35
ShimmerFairy left,
ShimmerFairy joined
|
|||
| librasteve | yeah croservices is effectively raku community owned | 21:45 | |
| [Coke] | so we can just fix things there and push a new release if needed? | ||
| Also: what's our current stance on CPAN modules? eliminate in favor of fez? | |||
| Or leave in place and suggest future versions in fez? | 21:53 | ||
| ugexe | future versions will have to go in fez since only jnthn could upload to that cpan auth | 22:02 | |
| [Coke] | Sure, but let's say jnthn wanted to keep using cpan. | 22:04 | |
| and was still maintaining that. | |||
| we would still say "don't do that", right? | |||
| MoarVM 2026.06.1 has been cut | |||
| ugexe | yeah, it would be preferable if everything used fez | 22:05 | |
| [Coke] | el_che, timo, patrickb - Timo was concerned about that MoarVM bug being in the wild - Just like last month, if we can do a release that includes the 2026.05 versions of nqp/rakudo and this version of Moar... | ||
| Sorry | |||
| Do we want to start pinging folks who have pushed to cpan to delete their modules from cpan and push to fez? | |||
| IIRC, I can still go to pause and delete things I've uploaded to cpan for raku | 22:06 | ||
| Geth | rakudo: ugexe++ created pull request #6406: NativeCall: enforce definiteness constraints on native signatures |
22:11 | |
| rakudo: ugexe++ created pull request #6407: RakuAST: produce a once's state declaration when reached first |
22:28 | ||
|
23:01
apogee_ntv left
23:02
apogee_ntv joined
23:36
djinni` left
|
|||
| [Coke] | ugexe: I deleted the virus comment | 23:52 | |