| Geth | rakudo: ugexe++ created pull request #6814: RakuAST: throw when use lib is inside a package |
00:14 | |
| japhb | ugexe: Is the MoarVM branch "ugexe/jit-x64-interp-parity" about bug fixes or speed or both? | 00:17 | |
|
00:46
MasterDuke joined
|
|||
| MasterDuke | bisectable6: use Test; sub word(Str $g, Str $m, Str $f, Str $u --> Str) { $g eq 'M' ?? $m !! $g eq 'F' ?? $f !! $u }; my @g = <M F U>; my %want = M => 'm', F => 'f', U => 'u'; my $wrong = 0; for ^20000 -> $i { my $g = @g[$i % 3]; $wrong++ if word($g, 'm', 'f', 'u') ne %want{$g}; }; is $wrong, 0, 'an inlined ternary chain returns the right | 00:48 | |
| bisectable6 | MasterDuke, Will bisect the whole range automagically because no endpoints were provided, hang tight | ||
| MasterDuke | parameter'; | ||
| bisectable6 | MasterDuke, More than 3 changes to bisect, please try a narrower range like old=2026.08 new=HEAD | 00:49 | |
| MasterDuke, Output on all releases: gist.github.com/d280ebbf94d061e3bc...f6a61983f8 | |||
| MasterDuke | m: sub word(Str $g, Str $m, Str $f, Str $u --> Str) { $g eq "M" ?? $m !! $g eq "F" ?? $f !! $u }; my @g = <M F U>; my %want = M => "m", F => "f", U => "u"; my $wrong = 0; for ^20000 -> $i { my $g = @g[$i % 3]; $wrong++ if word($g, "m", "f", "u") ne %want{$g}; }; say $wrong == 0 | 00:51 | |
| camelia | False | ||
| MasterDuke | bisectable6: sub word(Str $g, Str $m, Str $f, Str $u --> Str) { $g eq "M" ?? $m !! $g eq "F" ?? $f !! $u }; my @g = <M F U>; my %want = M => "m", F => "f", U => "u"; my $wrong = 0; for ^20000 -> $i { my $g = @g[$i % 3]; $wrong++ if word($g, "m", "f", "u") ne %want{$g}; }; say $wrong == 0 | ||
| bisectable6 | MasterDuke, Will bisect the whole range automagically because no endpoints were provided, hang tight | ||
| MasterDuke, Output on all releases: gist.github.com/125089b6b2b307de61...335e8e7d2b | 00:52 | ||
| MasterDuke, Bisecting by output (old=2021.09 new=2021.10) because on both starting points the exit code is 0 | |||
| MasterDuke, bisect log: gist.github.com/2989939f03ae752567...922aea6830 | 00:53 | ||
| MasterDuke, (2021-10-22) github.com/rakudo/rakudo/commit/6d...b80870a72d | |||
| MasterDuke, Output on all releases and bisected commits: gist.github.com/37df4c7c494fc6a293...866ff242ce | |||
| MasterDuke | ^^^ prints `False` normally, but `True` with `MVM_SPESH_INLINE_DISABLE=1` | ||
| on both my M2 laptop and my Zen 2 desktop | 00:54 | ||
| github.com/MoarVM/MoarVM/issues/2054 | 01:05 | ||
|
01:26
MasterDuke left
|
|||
| ugexe | japhb: bug fixes only | 01:40 | |
| tellable6 | 2026-10-08T00:17:37Z #moarvm <japhb> ugexe: Is the MoarVM branch "ugexe/jit-x64-interp-parity" about bug fixes or speed or both? | ||
| japhb | ugexe: Ah OK, thank you | 01:50 | |
| [Coke] | back home, that blin run is 83% done | 01:55 | |
| Geth | rakudo: ugexe++ created pull request #6815: Ugexe/loop condition value |
02:43 | |
| ShimmerFairy | About the discussion of a protected main from earlier: personally, I think just locking off main and leaving it there would be a bad idea, simply because I find the creation of PRs for every little change to be very clunky. I do like the idea of a more stable 'main' though, so maybe a workflow with an unstable 'develop' branch would be appropriate. | 03:45 | |
| Geth | rakudo: ugexe++ created pull request #6816: RakuAST: match legacy pod for X<>/D<> meta and table captions |
03:57 | |
| rakudo: ugexe++ created pull request #6817: RakuAST: only take a | or + between whitespace as a column divider |
04:23 | ||
| [Coke] | 73a8872 is clean | 04:46 | |
| ugexe | nice | 04:47 | |
| [Coke] | c: 5136581fd1 e | 04:48 | |
| committable6 | [Coke], ¦5136581: «» | ||
| Geth | rakudo/main: 74b7282e15 | (Nick Logan)++ | 8 files RakuAST: declare a package's body with the block it sits in Previously a package other than a role emitted its body as an immediate block in the code evaluating the package. Code that only takes the type of a package never compiles that expression, so the body never reached the program and serializing the methods of the type died with "QAST::Block with cuid N 'POPULATE' ... has not appeared". This happened ... (18 more lines) |
||
| rakudo/main: 11978c3ac7 | (Nick Logan)++ | 14 files RakuAST: declare what a package's header declares with its body Previously the declarations in the traits of a package, e.g. `my class C is foo(my constant K = 5) { method m { K } }`, belonged to the package's scope, which produced no code. Nothing declared them at runtime, so the body saw `(Mu)` for a variable or constant, and a sub or an enum value was `VMNull`. ... (23 more lines) |
|||
| rakudo/main: 9aff06144e | (Nick Logan)++ (committed using GitHub Web editor) | 17 files Merge pull request #6808 from ugexe/ugexe/rakuast-package-trait-args RakuAST: declare a package's body where it is evaluated and its header with its body |
|||
| rakudo/main: cb4cc2ee89 | (Nick Logan)++ (committed using GitHub Web editor) | 3 files RakuAST: report a value a native return cannot take as a return type check failure (#6811) Previously a routine with a native return type unboxed the value it ends with directly, so a value of the wrong type died with whatever its representation says about unboxing. A method declared `--> int32` that returns `self` died with `This representation (CStruct) cannot unbox to a native int (for type Foo)`, which says nothing about the return type. ... (11 more lines) |
|||
| rakudo/main: cab77c1bb9 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: throw when use lib is inside a package (#6814) Previously `use lib` inside a class, role, module or grammar built an `X::Package::UseLib` exception but never threw it. The pragma was then silently ignored, i.e. the repository was not added and no error was reported. The legacy frontend reports "Cannot 'use lib' inside a class". This throws the exception so RakuAST reports the same error. |
|||
rakudo/main: 5 commits pushed by (Nick Logan)++
|
04:50 | ||
|
05:01
vrurg_ left
05:07
vrurg joined
|
|||
| [Coke] | so, the pings on tickets are probably NOT a scam, but instead a bunch of students whose teacher is sending them to x number of open source projects looking for open tickets, and pinging the person who opened the ticket in a comment asking if they can work on it | 05:41 | |
| I've only seen me tagged so far, but that probably makes sense given how notifications work - please speak up here if you're getting tagged on other tickets by (apparently) Indian students asking to work on a ticket with no other details. | 05:42 | ||
| Someone have a "here's how to contribute" wiki page lying about I can forward these folks to? (I gave some details on github.com/Raku/roast/issues/892#i...6053001946 but will probably revert to just linking a wiki page.) | 05:43 | ||
| Looks like we started a while ago with github.com/rakudo/rakudo/wiki/cont...troduction and friends. I'll update those tomorrow in a way that is helpful for this situatio | 05:53 | ||
| n | |||
| (need to update the $$ donation link there, anyway) | |||
|
09:33
finanalyst joined
10:48
finanalyst left
13:02
vrurg_ joined
13:04
vrurg left
|
|||
| [Coke] | updated github.com/rakudo/rakudo/wiki/cont...inancially | 13:31 | |
| Geth | rakudo: ugexe++ created pull request #6818: RakuAST: parse the source of a for loop once |
13:49 | |
| rakudo: ugexe++ created pull request #6819: RakuAST: make interpreted method calls match compiled ones |
13:52 | ||
| rakudo: ugexe++ created pull request #6820: RakuAST: report the program's location from callframe at BEGIN time |
13:53 | ||
| rakudo: ugexe++ created pull request #6821: RakuAST: apply a condition modifier inside the loop modifier's body |
14:05 | ||
| rakudo/main: 2771bf5dc1 | (Nick Logan)++ | 13 files Implement partially dimensioned views of shaped arrays Previously indexing a shaped array of more than one dimension with fewer indices than its dimensions, as in `@a[1]` of `my @a[2;3]`, or with a `*`, range, list or `*-1` in a dimension of a multidimensional subscript, as in `@a[*;0]`, was reported as not yet implemented, as was an adverb on a multidimensional slice of an array in 6.c, as in ... (35 more lines) |
15:08 | ||
| rakudo/main: 70ed52aaa2 | (Nick Logan)++ | 14 files Implement jagged array shapes Previously a shape of several dimensions that leaves the length of one unset, as in `my @calendar[12;*;24]`, was reported as not yet implemented. This gives an array whose first dimension holds an array of the ... (36 more lines) |
|||
| rakudo/main: 1eead3c83b | (Nick Logan)++ (committed using GitHub Web editor) | 19 files Merge pull request #6807 from ugexe/ugexe/multidim-shaped-array Implement shaped array views and jagged array shapes |
|||
| rakudo/main: aff83215dd | (Nick Logan)++ (committed using GitHub Web editor) | 2 files Handle a Slip from a loop body the same in every loop iterator (#6812) Previously three of the iterators behind `Seq.from-loop` mishandled a Slip returned by the loop body. `Rakudo::Iterator.Loop` ended the loop on an empty Slip and dropped the values of any other Slip, so `(do while True { last if ++$i > 3; Empty })` stopped after one run of the body and `(do while True { last if ++$i > 2; slip($i, $i) })` gave ... (9 more lines) |
|||
| rakudo/main: 7c74b992f9 | (Nick Logan)++ | 2 files Read next and last payloads through control-payload in IterateMoreWithPhasers Previously `Rakudo::IterateMoreWithPhasers`, which runs a loop block that has phasers and takes several values at a time, read the payload of a `next` or `last` itself. For a 6.e `next` with an empty Slip payload it dropped a final set of values shorter than the block takes, so `(for ^7 -> $a, $b?, $c? { NEXT { }; next Empty if $a == 3; $a })` ... (6 more lines) |
|||
| rakudo/main: 5614812a11 | (Nick Logan)++ | 5 files Don't give the label of a labeled next or last as a loop value Previously a labeled `next` or `last` in a loop whose values are used gave its label as one of those values, so `(L: for ^5 { next L if $_ == 2; $_ })` gave `(0, 1, Label.new(...), 3, 4)`. MoarVM matches a labeled control exception to its handler by the payload, which is why `Label.next` and ... (7 more lines) |
|||
| rakudo/main: 7a79feefc4 | (Nick Logan)++ (committed using GitHub Web editor) | 7 files Merge pull request #6813 from ugexe/ugexe/labeled-control-payload Don't give the label of a labeled next or last as a loop value |
|||
| rakudo/main: 1a3fbf8741 | (Nick Logan)++ | 2 files RakuAST: split the meta of X<> and D<> like legacy pod does Previously `RakuAST::LegacyPodify` passed the meta of `X<>` and `D<>` through as a single string, so `X<items|defining, a term>` gave a meta of `["defining, a term"]`. The legacy pod grammar splits the meta of `X<>` into index entries at semicolons and each entry into its levels at commas, i.e. `[["defining", " a term"],]`, and splits the synonyms ... (8 more lines) |
|||
| rakudo/main: be7cfed7ff | (Nick Logan)++ | 2 files RakuAST: give the legacy caption of a table as a string Previously `=begin table :caption<Test Caption>` gave `Pod::Block::Table.caption` the list `("Test", "Caption")`, which Pod::To::HTML renders as `TestCaption`. The legacy pod grammar gives every config value as a string. The config itself keeps the list, as documented for `:key<a b>`, however the caption attribute only exists for display, so this joins its words like legacy pod does. |
|||
| rakudo/main: a95b60d839 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files Merge pull request #6816 from ugexe/ugexe/legacypodify-meta-caption RakuAST: match legacy pod for X<>/D<> meta and table captions |
|||
| rakudo/main: 4609b58b50 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: only take a | or + between whitespace as a column divider (#6817) Previously the pass that parses a table with virtual column dividers took any unescaped `|` or `+` in a row as a visible column divider. A row such as `plus 1+2` or `foo L<a|b>` after a row without dividers died with "Table has a mixture of visible and invisible column-separator types", and a table with such a character in every row was parsed as a ... (5 more lines) |
|||
| rakudo/main: 74596b7a3b | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: parse the source of a for loop once (#6818) Previously the check for a C-style `for (;;)` loop parsed a source that starts with a parenthesis in a lookahead before the source was parsed for real. The actions ran for both parses, so whatever the source declared was declared twice. The second declaration of a variable deferred to the first, which never made it into the tree. That made ... (14 more lines) |
|||
rakudo/main: 5 commits pushed by (Nick Logan)++
|
|||
| [Coke] | Let me know if any of these should have a blin run. | 15:17 | |
| (otherwise I'll kick one off at some point to catch up) | 15:18 | ||
|
15:36
japhb left
16:55
coleman left,
apogee_ntv left
16:59
coleman joined,
apogee_ntv joined
17:22
hurufu joined
|
|||
| [Coke] | c: 531838fc6d e | 17:50 | |
| committable6 | [Coke], ¦531838f: «» | 17:51 | |
| [Coke] ponders hooking up "sensors" output to the blin monitoring. :| | 17:54 | ||
| (see if the machine is overheating) | 18:21 | ||
|
18:32
hurufu left,
hurufu joined
|
|||
| Geth | rakudo/main: ec20784453 | (Nick Logan)++ | 4 files RakuAST: annotate a thunk compiled at BEGIN time with its location Previously the thunk that BEGIN time evaluation compiles for a constant or trait argument had no file or line annotation, since only a statement carries one. As such `constant C = (callframe(0).line, 1)[0]` gave line 1, and `.file` an empty file. This annotates the code of such a thunk with the start of its origin. A node whose origin has no source, as one built by hand may have, is now left without a location rather than failing to compile. |
18:40 | |
| rakudo/main: 04ffbfbeaf | (Nick Logan)++ | 4 files RakuAST: compile rather than interpret a call to callframe at BEGIN time Previously the BEGIN time interpreter called `callframe` itself, so the frame it reported was the interpreter's own. As such `constant C = callframe(0).file` gave `src/Raku/ast/call.rakumod`, and `.line` a line in it, as did a call through `&callframe` or `CallFrame.new`, and one in a trait argument. This has the interpreter leave a call to the `callframe` of the setting, or to `CallFrame.new`, to compiled code, which reports a location in the program rather than in the compiler. |
|||
| rakudo/main: f7e50a72b0 | (Nick Logan)++ (committed using GitHub Web editor) | 7 files Merge pull request #6820 from ugexe/ugexe/rakuast-callframe-begin-time RakuAST: report the program's location from callframe at BEGIN time |
|||
| rakudo/main: 6a3feeac14 | (Nick Logan)++ (committed using GitHub Web editor) | 3 files RakuAST: apply a condition modifier inside the loop modifier's body (#6821) Previously a statement with both a condition modifier and a loop modifier went wrong in several ways. With a while or until modifier in value context the condition was applied inside the thunk of the loop body and again around that thunk, so `1 + 2 if False while $x++ < 3` handed `Empty` to `Seq.from-loop` as its body and died. With a block, a ... (23 more lines) |
|||
| ugexe | [Coke]: yeah we're primed for another run now | ||
| Geth | rakudo: ugexe++ created pull request #6822: RakuAST: map the result of the dotty infix and of .= initializers into Raku land |
19:00 | |
| rakudo: ugexe++ created pull request #6823: RakuAST: make any bare item of an enum list a key |
19:01 | ||
| rakudo: ugexe++ created pull request #6824: RakuAST: evaluate the shape of an inline array as an expression |
|||
| rakudo: ugexe++ created pull request #6825: RakuAST: keep the condition of an until loop as written |
19:13 | ||
|
19:13
japhb joined,
hurufu left
19:30
hurufu joined
|
|||
| [Coke] | c: 6a3feeac14 e | 19:36 | |
| committable6 | [Coke], ¦6a3feea: «» | ||
| [Coke] | started | 19:37 | |
|
20:25
hurufu left
|
|||
| [Coke] | c: HEAD return false | 20:27 | |
| committable6 | [Coke], ¦HEAD(6a3feea): «===SORRY!=== Error while compiling /tmp/LEfmwPRm83Undeclared routine: false used at line 1. Did you mean 'alse'? «exit code = 1»» | ||
| [Coke] | c: HEAD return alse | ||
| committable6 | [Coke], ¦HEAD(6a3feea): «===SORRY!=== Error while compiling /tmp/zsvTUzfSUNUndeclared routine: alse used at line 1. Did you mean 'alse'? «exit code = 1»» | ||
| [Coke] | There's some LTA bug | ||
|
20:29
hurufu joined
21:04
hurufu left
|
|||
| [Coke] | (opened tx) | 22:04 | |
|
22:18
vrurg_ left
22:19
vrurg joined
|
|||