Geth rakudo: ugexe++ created pull request #6563:
Box generic attributes, parameters and returns instantiated with native types
00:21
00:46 sergot left 00:47 sergot joined
Geth rakudo/main: c6ffb58161 | (Nick Logan)++ | 2 files
RakuAST: give native copy parameters a native target for definite types

Previously an is copy parameter typed with a definite native type like int:D was handed a Scalar container whose descriptor carried the native base type, so every assignment to it failed its type check. The native copy test asked the raw declared type for its primitive spec, which a definite wrapper does not answer. Ask the nominal type instead, and point the target declaration at the native base type so it declares a plain native lexical like an undecorated native copy parameter does. Definedness stays with the binder, and a native value is always defined.
01:28
rakudo/main: 8f24823578 | (Nick Logan)++ | 3 files
RakuAST: lower native steps on copy parameters

Previously the native increment and compound assignment marks read the operand's type through its resolution, and a parameter target answers no type there, so a native copy parameter kept the operator call. Ask the parameter target's declaration directly. Only a writable non-rw parameter qualifies. A read-only parameter keeps the routine call, which reports the mutability error, and an rw parameter writes through a reference the raw ops do not follow.
rakudo/main: c5fd738ecd | (Nick Logan)++ (committed using GitHub Web editor) | 5 files
Merge pull request #6560 from ugexe/ugexe/rakuast-native-copy-param

RakuAST: fix native copy parameters with definite types
rakudo/main: bf5680381c | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
Merge pull request #6561 from ugexe/ugexe/rakuast-begin-value-container

RakuAST: keep containers in begin-time evaluated values
rakudo: ugexe++ created pull request #6564:
RakuAST: type parameter reads in the compile time call analyses
03:00
rakudo: ugexe++ created pull request #6565:
Instantiate generic container descriptors for is copy parameters
03:51
06:19 kurahaupo left 06:22 kurahaupo joined 08:09 lizmat joined 09:17 lizmat left 09:45 [Coke] left, [Coke] joined 10:38 lizmat joined 10:56 kurahaupo left 10:59 lizmat left 11:23 kurahaupo joined
Geth rakudo: ugexe++ created pull request #6566:
RakuAST: lower the implicit invocant to a frame local
14:20
rakudo/main: 5 commits pushed by (Nick Logan)++ 14:24
rakudo/main: 5 commits pushed by (Nick Logan)++
rakudo/main: 4 commits pushed by (Nick Logan)++ 14:25
rakudo/main: dea999d622 | (Nick Logan)++ | 6 files
Make loop controls work in hyper and race iteration

Previously a last inside a hyper or race operation was swallowed by the batch processing loop. It truncated the batch it happened in while the iteration itself carried on, and a labeled loop control escaped its worker thread as a "labeled last without loop construct" error. Passing a loop label to such a map also forced the sequential ... (13 more lines)
14:31
rakudo/main: 0e65100d45 | (Nick Logan)++ | 2 files
RakuAST: attach a label on a prefixed for loop to the loop

Previously a label on a for loop carrying a statement prefix, such as FOO: hyper for @a { }, ended up on the expression statement that wraps the loop. Loop controls could not target the label and it was never passed along to the underlying map call, so last FOO died with
  "labeled last without loop construct".
... (6 more lines)
rakudo/main: 6b8bdf7272 | (Nick Logan)++ (committed using GitHub Web editor) | 8 files
Merge pull request #6547 from ugexe/backup/hyper-race-loop-control-pre-review

Make loop controls work in hyper and race iteration
rakudo/main: 270de1fe6b | (Nick Logan)++ | 3 files
Complete the merged output supply on its last stream EOF

Previously the merged output supply of a Proc::Async completed when the first of its two streams reached EOF. A process that closed one stream while the other kept producing, such as a daemonizing child that closes stdout while a grandchild keeps writing to stderr, then delivered the remaining output into a completed sequencer. That kept the capture ... (8 more lines)
rakudo/main: 6bb3bb90c0 | (Nick Logan)++ | t/02-rakudo/supply-sequencer.t
Add direct SupplySequencer delivery tests

The sequencer's reordered and post-completion shapes cannot be produced or observed through a real process. Drive it directly through the same calling contract Proc::Async uses.
rakudo/main: 5ffcdf7364 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
Merge pull request #6545 from ugexe/ugexe/proc-async-merge-stream-completion

Complete the merged output supply on its last stream EOF
14:34 guifa left
Geth rakudo/main: 4 commits pushed by (Nick Logan)++ 14:36
14:39 guifa joined 18:24 lizmat joined 19:13 lizmat left
Geth rakudo/main: 90c0d3485b | (Nick Logan)++ | 2 files
RakuAST: resolve self in a signature to the method's own declaration

Previously the grammar declared a throwaway implicit self ahead of the signature parse, so an attribute parameter or a default reading self resolved to an instance the method's frame never declares, and its emission could not follow decisions made on the declaration the implicit list carries. The method now creates its self declaration once, the grammar declares that instance into scope, and the produced implicit list carries the same one, so every resolution of self in a method reaches the declaration its frame declares.
19:27
rakudo/main: abe019988e | (Nick Logan)++ | 6 files
RakuAST: lower the implicit invocant to a frame local

Previously self stayed a by-name lexical, so the invocant binding and every self or attribute access in a method paid a lexical operation. The implicit self declaration now registers with the lowering walk as a candidate like a term parameter, and when nothing escapes it the frame declares a local, the invocant binding writes it through the ... (8 more lines)
rakudo/main: 2b05993c58 | (Nick Logan)++ (committed using GitHub Web editor) | 7 files
Merge pull request #6566 from ugexe/ugexe/rakuast-lower-self

RakuAST: lower the implicit invocant to a frame local
[Coke] release next weekend 20:09
releasable6: next
releasable6 [Coke], Next release in ≈8 days and ≈22 hours. There are no known blockers. 94 out of 151 commits logged
[Coke], Details: gist.github.com/c9a477c50a30cd5823...515edaf294
[Coke] ... that's a lot of commits since I checked like 2 days ago. :) 20:10
20:16 lizmat joined 20:25 lizmat left 21:20 lizmat joined 21:52 lizmat left
Geth rakudo: ugexe++ created pull request #6567:
Intern curried roles created by generic instantiation
22:40
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
legacy: 21.4 ns/call (was 931.6 on main)
rakuast: 32.0 ns/call (was 964.8 on main)
23:01 [Coke] left, [Coke] joined