[00:21] <Geth> ¦ rakudo: ugexe++ created pull request #6563: Box generic attributes, parameters and returns instantiated with native types

[00:21] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6563

[00:46] *** sergot left
[00:47] *** sergot joined
[01:28] <Geth> ¦ rakudo/main: c6ffb58161 | (Nick Logan)++ | 2 files

[01:28] <Geth> ¦ rakudo/main: RakuAST: give native copy parameters a native target for definite types

[01:28] <Geth> ¦ rakudo/main: 

[01:28] <Geth> ¦ rakudo/main: Previously an is copy parameter typed with a definite native type like

[01:28] <Geth> ¦ rakudo/main: int:D was handed a Scalar container whose descriptor carried the native

[01:28] <Geth> ¦ rakudo/main: base type, so every assignment to it failed its type check. The native

[01:28] <Geth> ¦ rakudo/main: copy test asked the raw declared type for its primitive spec, which a

[01:28] <Geth> ¦ rakudo/main: definite wrapper does not answer. Ask the nominal type instead, and

[01:28] <Geth> ¦ rakudo/main: point the target declaration at the native base type so it declares a

[01:28] <Geth> ¦ rakudo/main: plain native lexical like an undecorated native copy parameter does.

[01:28] <Geth> ¦ rakudo/main: Definedness stays with the binder, and a native value is always defined.

[01:28] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/c6ffb58161

[01:28] <Geth> ¦ rakudo/main: 8f24823578 | (Nick Logan)++ | 3 files

[01:28] <Geth> ¦ rakudo/main: RakuAST: lower native steps on copy parameters

[01:28] <Geth> ¦ rakudo/main: 

[01:28] <Geth> ¦ rakudo/main: Previously the native increment and compound assignment marks read the

[01:28] <Geth> ¦ rakudo/main: operand's type through its resolution, and a parameter target answers

[01:28] <Geth> ¦ rakudo/main: no type there, so a native copy parameter kept the operator call.

[01:28] <Geth> ¦ rakudo/main: Ask the parameter target's declaration directly. Only a writable

[01:28] <Geth> ¦ rakudo/main: non-rw parameter qualifies. A read-only parameter keeps the routine

[01:28] <Geth> ¦ rakudo/main: call, which reports the mutability error, and an rw parameter writes

[01:28] <Geth> ¦ rakudo/main: through a reference the raw ops do not follow.

[01:28] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/8f24823578

[01:28] <Geth> ¦ rakudo/main: c5fd738ecd | (Nick Logan)++ (committed using GitHub Web editor) | 5 files

[01:28] <Geth> ¦ rakudo/main: Merge pull request #6560 from ugexe/ugexe/rakuast-native-copy-param

[01:28] <Geth> ¦ rakudo/main: 

[01:28] <Geth> ¦ rakudo/main: RakuAST: fix native copy parameters with definite types

[01:28] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/c5fd738ecd

[01:28] <Geth> ¦ rakudo/main: bf5680381c | (Nick Logan)++ (committed using GitHub Web editor) | 4 files

[01:28] <Geth> ¦ rakudo/main: Merge pull request #6561 from ugexe/ugexe/rakuast-begin-value-container

[01:28] <Geth> ¦ rakudo/main: 

[01:29] <Geth> ¦ rakudo/main: RakuAST: keep containers in begin-time evaluated values

[01:29] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/bf5680381c

[03:00] <Geth> ¦ rakudo: ugexe++ created pull request #6564: RakuAST: type parameter reads in the compile time call analyses

[03:00] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6564

[03:51] <Geth> ¦ rakudo: ugexe++ created pull request #6565: Instantiate generic container descriptors for is copy parameters

[03:51] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6565

[06:19] *** kurahaupo left
[06:22] *** kurahaupo joined
[08:09] *** lizmat joined
[09:17] *** lizmat left
[09:45] *** [Coke] left
[09:45] *** [Coke] joined
[10:38] *** lizmat joined
[10:56] *** kurahaupo left
[10:59] *** lizmat left
[11:23] *** kurahaupo joined
[14:20] <Geth> ¦ rakudo: ugexe++ created pull request #6566: RakuAST: lower the implicit invocant to a frame local

[14:20] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6566

[14:24] <Geth> ¦ rakudo/main: 5 commits pushed by (Nick Logan)++

[14:24] <Geth> ¦ rakudo/main: cdb1364285 | Box the storage of generic attributes instantiated with native types

[14:24] <Geth> ¦ rakudo/main: 608b9373f8 | Give deferred attribute usages native reference access

[14:24] <Geth> ¦ rakudo/main: e8ba9b359a | RakuAST: access late declared native attributes through references

[14:24] <Geth> ¦ rakudo/main: 9d5255396d | Box generic parameter and return types instantiated with native types

[14:24] <Geth> ¦ rakudo/main: 68bd362741 | Merge pull request #6563 from ugexe/ugexe/generic-native-attribute-access

[14:24] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/compare/bf5680381c2d...68bd362741b6

[14:24] <Geth> ¦ rakudo/main: 5 commits pushed by (Nick Logan)++

[14:24] <Geth> ¦ rakudo/main: 06bf74b3e2 | RakuAST: lower native steps with a parameter read on the right

[14:24] <Geth> ¦ rakudo/main: a16ffdd58c | Stringify the signature list when formatting a dispatch failure

[14:24] <Geth> ¦ rakudo/main: 12502f4b16 | RakuAST: judge definite argument types by their base type

[14:24] <Geth> ¦ rakudo/main: e12f18e845 | RakuAST: diagnose impossible calls through parameter reads

[14:24] <Geth> ¦ rakudo/main: 95ab6ab948 | Merge pull request #6564 from ugexe/ugexe/rakuast-param-read-types

[14:24] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/compare/68bd362741b6...95ab6ab94893

[14:25] <Geth> ¦ rakudo/main: 4 commits pushed by (Nick Logan)++

[14:25] <Geth> ¦ rakudo/main: c702b7ccab | Instantiate generic descriptors when binding copy params

[14:25] <Geth> ¦ rakudo/main: 76361c8a83 | Instantiate generic copy param descriptors in lowered signatures

[14:25] <Geth> ¦ rakudo/main: 133bf8021b | RakuAST: instantiate generic copy param descriptors

[14:25] <Geth> ¦ rakudo/main: 831552e5c2 | Merge pull request #6565 from ugexe/ugexe/rakuast-generic-copy-param

[14:25] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/compare/95ab6ab94893...831552e5c29d

[14:31] <Geth> ¦ rakudo/main: dea999d622 | (Nick Logan)++ | 6 files

[14:31] <Geth> ¦ rakudo/main: Make loop controls work in hyper and race iteration

[14:31] <Geth> ¦ rakudo/main: 

[14:31] <Geth> ¦ rakudo/main: Previously a last inside a hyper or race operation was swallowed by

[14:31] <Geth> ¦ rakudo/main: the batch processing loop. It truncated the batch it happened in

[14:31] <Geth> ¦ rakudo/main: while the iteration itself carried on, and a labeled loop control

[14:31] <Geth> ¦ rakudo/main: escaped its worker thread as a "labeled last without loop construct"

[14:31] <Geth> ¦ rakudo/main: error. Passing a loop label to such a map also forced the sequential

[14:31] <Geth> ¦ rakudo/main: <…commit message has 13 more lines…>

[14:31] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/dea999d622

[14:31] <Geth> ¦ rakudo/main: 0e65100d45 | (Nick Logan)++ | 2 files

[14:31] <Geth> ¦ rakudo/main: RakuAST: attach a label on a prefixed for loop to the loop

[14:31] <Geth> ¦ rakudo/main: 

[14:31] <Geth> ¦ rakudo/main: Previously a label on a for loop carrying a statement prefix, such

[14:31] <Geth> ¦ rakudo/main: as FOO: hyper for @a { }, ended up on the expression statement that

[14:31] <Geth> ¦ rakudo/main: wraps the loop. Loop controls could not target the label and it was

[14:31] <Geth> ¦ rakudo/main: never passed along to the underlying map call, so last FOO died with

[14:31] <Geth> ¦ rakudo/main: "labeled last without loop construct".

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

[14:31] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/0e65100d45

[14:31] <Geth> ¦ rakudo/main: 6b8bdf7272 | (Nick Logan)++ (committed using GitHub Web editor) | 8 files

[14:31] <Geth> ¦ rakudo/main: Merge pull request #6547 from ugexe/backup/hyper-race-loop-control-pre-review

[14:31] <Geth> ¦ rakudo/main: 

[14:31] <Geth> ¦ rakudo/main: Make loop controls work in hyper and race iteration

[14:31] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/6b8bdf7272

[14:31] <Geth> ¦ rakudo/main: 270de1fe6b | (Nick Logan)++ | 3 files

[14:31] <Geth> ¦ rakudo/main: Complete the merged output supply on its last stream EOF

[14:31] <Geth> ¦ rakudo/main: 

[14:31] <Geth> ¦ rakudo/main: Previously the merged output supply of a Proc::Async completed when the

[14:31] <Geth> ¦ rakudo/main: first of its two streams reached EOF. A process that closed one stream

[14:31] <Geth> ¦ rakudo/main: while the other kept producing, such as a daemonizing child that closes

[14:31] <Geth> ¦ rakudo/main: stdout while a grandchild keeps writing to stderr, then delivered the

[14:32] <Geth> ¦ rakudo/main: remaining output into a completed sequencer. That kept the capture

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

[14:32] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/270de1fe6b

[14:32] <Geth> ¦ rakudo/main: 6bb3bb90c0 | (Nick Logan)++ | t/02-rakudo/supply-sequencer.t

[14:32] <Geth> ¦ rakudo/main: Add direct SupplySequencer delivery tests

[14:32] <Geth> ¦ rakudo/main: 

[14:32] <Geth> ¦ rakudo/main: The sequencer's reordered and post-completion shapes cannot be

[14:32] <Geth> ¦ rakudo/main: produced or observed through a real process. Drive it directly

[14:32] <Geth> ¦ rakudo/main: through the same calling contract Proc::Async uses.

[14:32] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/6bb3bb90c0

[14:32] <Geth> ¦ rakudo/main: 5ffcdf7364 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files

[14:32] <Geth> ¦ rakudo/main: Merge pull request #6545 from ugexe/ugexe/proc-async-merge-stream-completion

[14:32] <Geth> ¦ rakudo/main: 

[14:32] <Geth> ¦ rakudo/main: Complete the merged output supply on its last stream EOF

[14:32] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/5ffcdf7364

[14:34] *** guifa left
[14:36] <Geth> ¦ rakudo/main: 4 commits pushed by (Nick Logan)++

[14:36] <Geth> ¦ rakudo/main: 9362eded94 | Report exceptions that escape a Thread like any other

[14:36] <Geth> ¦ rakudo/main: 2bfbb0b629 | Report pool unhandled exceptions through the shared renderer

[14:36] <Geth> ¦ rakudo/main: 6ca938dfdd | Rethrow the actual secondary error when reporting fails

[14:36] <Geth> ¦ rakudo/main: 66002f3b31 | Merge pull request #6546 from ugexe/ugexe/thread-unhandled-exception

[14:36] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/compare/5ffcdf736405...66002f3b3150

[14:39] *** guifa joined
[18:24] *** lizmat joined
[19:13] *** lizmat left
[19:27] <Geth> ¦ rakudo/main: 90c0d3485b | (Nick Logan)++ | 2 files

[19:27] <Geth> ¦ rakudo/main: RakuAST: resolve self in a signature to the method's own declaration

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

[19:27] <Geth> ¦ rakudo/main: Previously the grammar declared a throwaway implicit self ahead of

[19:27] <Geth> ¦ rakudo/main: the signature parse, so an attribute parameter or a default reading

[19:27] <Geth> ¦ rakudo/main: self resolved to an instance the method's frame never declares, and

[19:27] <Geth> ¦ rakudo/main: its emission could not follow decisions made on the declaration the

[19:27] <Geth> ¦ rakudo/main: implicit list carries. The method now creates its self declaration

[19:27] <Geth> ¦ rakudo/main: once, the grammar declares that instance into scope, and the produced

[19:27] <Geth> ¦ rakudo/main: implicit list carries the same one, so every resolution of self in a

[19:27] <Geth> ¦ rakudo/main: method reaches the declaration its frame declares.

[19:27] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/90c0d3485b

[19:27] <Geth> ¦ rakudo/main: abe019988e | (Nick Logan)++ | 6 files

[19:27] <Geth> ¦ rakudo/main: RakuAST: lower the implicit invocant to a frame local

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

[19:27] <Geth> ¦ rakudo/main: Previously self stayed a by-name lexical, so the invocant binding and

[19:28] <Geth> ¦ rakudo/main: every self or attribute access in a method paid a lexical operation.

[19:28] <Geth> ¦ rakudo/main: The implicit self declaration now registers with the lowering walk as

[19:28] <Geth> ¦ rakudo/main: a candidate like a term parameter, and when nothing escapes it the

[19:28] <Geth> ¦ rakudo/main: frame declares a local, the invocant binding writes it through the

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

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

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

[19:28] <Geth> ¦ rakudo/main: Merge pull request #6566 from ugexe/ugexe/rakuast-lower-self

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

[19:28] <Geth> ¦ rakudo/main: RakuAST: lower the implicit invocant to a frame local

[19:28] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/2b05993c58

[20:09] <[Coke]> release next weekend

[20:09] <[Coke]> releasable6: next

[20:09] <releasable6> [Coke], Next release in ≈8 days and ≈22 hours. There are no known blockers. 94 out of 151 commits logged

[20:09] <releasable6> [Coke], Details: https://gist.github.com/c9a477c50a30cd5823ce2b515edaf294

[20:10] <[Coke]> ... that's a lot of commits since I checked like 2 days ago. :)

[20:16] *** lizmat joined
[20:25] *** lizmat left
[21:20] *** lizmat joined
[21:52] *** lizmat left
[22:40] <Geth> ¦ rakudo: ugexe++ created pull request #6567: Intern curried roles created by generic instantiation

[22:40] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6567

[22:44] <ugexe> $ raku -e 'sub f(Int @i) { }; my Int @j = ^10; f(@j); my $s = now; f(@j) for ^2_000_000; printf "%.1f ns/call\n", (now - $s) / 2e6 * 1e9'

[22:44] <ugexe> legacy:  21.4 ns/call   (was 931.6 on main)

[22:44] <ugexe> rakuast: 32.0 ns/call   (was 964.8 on main)

[23:01] *** [Coke] left
[23:01] *** [Coke] joined
