| [Coke] | there is an argument that none of the advent code snippets should be in roast. I think that's my fault from pre-xmas | 03:03 | |||||||||||||||||||||||||||||||||||||
|
04:46
hurufu joined
|
|||||||||||||||||||||||||||||||||||||||
| [Tux] |
|
08:54 | |||||||||||||||||||||||||||||||||||||
| csv-test-xs 0.014 - 0.014 | |||||||||||||||||||||||||||||||||||||||
| tux.nl/Talks/CSV6/speed4-20.html / tux.nl/Talks/CSV6/speed4.html tux.nl/Talks/CSV6/speed.log | |||||||||||||||||||||||||||||||||||||||
|
10:08
ShimmerFairy left,
ShimmerFairy joined
13:19
hurufu left
14:13
finanalyst joined
15:29
finanalyst left
|
|||||||||||||||||||||||||||||||||||||||
| Geth | rakudo/main: 883770dd7f | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.e/Formatter.rakumod Properly support %g in 6.e sprintf The previous implementation had several errors *and* erroneously assumed that the precision indication was for number of digits after the period. The "standard" requires that the precision is to be interpreted as "number of significant digits", a subtle difference! |
18:50 | |||||||||||||||||||||||||||||||||||||
| roast: f5003f6cfc | (Elizabeth Mattijsen)++ | 2 files Update 6.e tests of sprintf %g formatting |
18:52 | ||||||||||||||||||||||||||||||||||||||
|
20:08
apogee_ntv left
20:18
apogee_ntv joined
22:06
ShimmerFairy left
22:07
ShimmerFairy joined
|
|||||||||||||||||||||||||||||||||||||||
| Geth | rakudo/main: 300deefb40 | (Nick Logan)++ | 4 files RakuAST: fix compound metaop assignment Z+=, X+=, <<+=>> These silently no-opped because codegen produced a lazy Seq that never got iterated in sink context. Emit the legacy element-wise METAOP_ZIP(METAOP_ASSIGN(+)) shape so per-element mutation fires during the call and native typed arrays survive. |
22:21 | |||||||||||||||||||||||||||||||||||||
| rakudo/main: 7309b8077e | (Nick Logan)++ (committed using GitHub Web editor) | 4 files Merge pull request #6188 from ugexe/ugexe/rakuast-compound-metaop-assign RakuAST: fix compound metaop assignment Z+=, X+=, <<+=>> |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 0fb07e5ced | (Nick Logan)++ | 2 files RakuAST: fix BEGIN/CHECK-time compilation of inner thunks Two coupled defects in RakuAST::Code::IMPL-COMPILE-DYNAMICALLY caused BEGIN- and CHECK-time compiled wrappers to fail across both frontends. 1. Hardcoded `:from<qast>` broke EVAL of any BEGIN-wrapped AST under the legacy Perl6 frontend, which registers an `optimize` stage instead of ... (40 more lines) |
22:22 | ||||||||||||||||||||||||||||||||||||||
| rakudo/main: e6683add7b | (Nick Logan)++ | 2 files RakuAST: drop obsolete BEGIN-thunk VMNull workarounds in tests The previous commit fixes the underlying VMNull crash for setting-symbol lookups inside BEGIN-compiled wrappers, so the `todo` marker in t/12-rakuast/var.rakutest and the CATCH/skip block in t/12-rakuast/statement-phaser.rakutest no longer mask any failure. Both subtests now pass cleanly in both legacy and RakuAST modes. |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: e0a7c54222 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files Merge pull request #6189 from ugexe/ugexe/rakuast-begin-enum RakuAST: fix BEGIN/CHECK enum declarations |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 09e68b907e | (Nick Logan)++ | src/core.c/RakuAST/Literalize.rakumod RakuAST: propagate CannotLiteralize sentinel through every literalize multi Warnings started showing up after c1d292bbc ("RakuAST: literalizing subroutine calls will never work"), which added a Call.literalize multi that always calls alas. The proto's CATCH then converts that to the CannotLiteralize sentinel return (introduced earlier in 5e353bcdf). Bootstrap now routes more nodes through that sentinel path because ... (21 more lines) |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: dfe8a85d0c | (Nick Logan)++ (committed using GitHub Web editor) | src/core.c/RakuAST/Literalize.rakumod Merge pull request #6191 from ugexe/ugexe/rakuast-literalize-cannot-sentinel RakuAST: propagate CannotLiteralize sentinel through every literalize multi |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 79251365e2 | (Nick Logan)++ | src/Raku/ast/regex.rakumod RakuAST: skip the lexical &name lookup for non-capturing <.name> Mirror the legacy frontend, which gates the same lookup on whether the preceding source character is a `.` (see assertion:sym<name> in Perl6/Actions.nqp). RakuAST has the same information available structurally via $!capturing, so use that instead of a source-character lookbehind. ... (8 more lines) |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 668786987a | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/regex.rakumod Merge pull request #6192 from ugexe/ugexe/rakuast-fix-dot-lexical-token-regex RakuAST: skip the lexical &name lookup for non-capturing <.name> |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: b7d25b8853 | (Nick Logan)++ | 2 files RakuAST: stop using non-method packages as implicit invocant types The implicit invocant type for a Methodish declaration in a package context came from `$!method-package.stubbed-meta-object`, regardless of whether that package was actually method-capable. When the enclosing package is a plain `package` or `module` (not class/role/grammar), the resulting type fails `X::Parameter::BadType` ("Package 'P' is ... (27 more lines) |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 7deef18973 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files Merge pull request #6193 from ugexe/ugexe/rakuast-fix-qualified-regex-assertion RakuAST: stop using non-method packages as implicit invocant types |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 07642cdce7 | (Nick Logan)++ | 2 files RakuAST: apply :D/:U smiley outside the parameterization wrapper For `Foo:D[Int]` the actions built `Parameterized(Definedness(Foo), [Int])`, which lost the Definedness wrapper at PRODUCE-META-OBJECT time because `Type::Parameterized` uses `IMPL-BASE-TYPE` to fetch the type to parameterize, and that recursively unwraps Derived wrappers down to the underlying `Type::Simple`. The result was that `my Positional:D[Int] $x` ... (24 more lines) |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: f4b2566c6c | (Nick Logan)++ (committed using GitHub Web editor) | 2 files Merge pull request #6194 from ugexe/ugexe/rakuast-fix-definite-smiley-on-parameterized RakuAST: apply :D/:U smiley outside the parameterization wrapper |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 907a23acfa | (Nick Logan)++ | src/Raku/ast/code.rakumod RakuAST: detect duplicate `our multi method` declarations `class C { our multi method m(Int) {}; our multi method m(Str) {} }` silently compiled in RakuAST, leaving the second method unreachable. Two existing duplicate-detection paths skip the case: - Routine.PERFORM-BEGIN's package-stash install is gated on ... (36 more lines) |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 61f6f85598 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/code.rakumod Merge pull request #6195 from ugexe/ugexe/rakuast-fix-our-multi-method-redeclaration RakuAST: detect duplicate `our multi method` declarations |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: c08667c4f0 | (Nick Logan)++ | 3 files Fix infinite recursion in Hash::Typed/Object INSTANTIATE-GENERIC Composing a parametric role whose body declared a typed-hash attribute with a generic type-capture as the value type hung the compiler: role A[::T = Int] { has T %h }; class B does A {} # spins forever role R[::T] { has %h{Int} of T }; class C does R[Str] {} # ditto ... (18 more lines) |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: d845850a94 | (Nick Logan)++ | 2 files Break self-resolution loop in GenericHOW.instantiate_generic A parametric role whose type-capture name collides with a core role's internal capture name (e.g. user `role R[::TValue]` versus `Array::Typed[::TValue]` or `Hash::Typed[..., ::TValue, ...]`) spun the compiler forever: ... (28 more lines) |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 427f1f1db9 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files Merge pull request #6198 from ugexe/ugexe/fix-role-typed-hash-attr-hang Fix two compiler hangs composing parametric roles with typed attrs |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 3abd2ae3fc | (Nick Logan)++ | 2 files RakuAST: emit proper SORRY exceptions for invalid feed-operator stages `RakuAST::Feed.IMPL-LIST-INFIX-QAST` validated each non-source stage against the legal QAST shapes and fell through to an error path that called `$_.PRECURSOR.panic($error)`. That line was lifted from `make_feed` in `src/Perl6/Actions.nqp` where `$_` is a Match (which has `PRECURSOR`); in RakuAST `$_` is a QAST node, which doesn't, so ... (14 more lines) |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: da62ae237d | (Nick Logan)++ (committed using GitHub Web editor) | 2 files Merge pull request #6201 from ugexe/ugexe/rakuast-fix-feed-validation RakuAST: emit proper SORRY exceptions for invalid feed-operator stages |
|||||||||||||||||||||||||||||||||||||||
| rakudo/main: 4 commits pushed by (Nick Logan)++ | |||||||||||||||||||||||||||||||||||||||
| ugexe | alright we're at the point where we need to find rakuast issues from the ecosystem itself. i'm not sure we can do Blin yet... probably need to manually install more upstream dependencies to work out any issues with those first | 22:31 | |||||||||||||||||||||||||||||||||||||
| japhb | ugexe++ # Wow | 22:36 | |||||||||||||||||||||||||||||||||||||
| ugexe: What kind of ecosystem testing would be useful? I own a number of modules, so I can test whether they `zef install` and work ... | 22:38 | ||||||||||||||||||||||||||||||||||||||
| What do I need to do so that zef uses RakuAST codepaths when installing? | 22:39 | ||||||||||||||||||||||||||||||||||||||
| ugexe | i think `RAKUDO_RAKUAST=1 zef install Foo` should mostly be sufficient. I'm not sure when it would matter if rakudo itself was also built with RAKUDO_RAKUAST=1 | 22:40 | |||||||||||||||||||||||||||||||||||||
| JSON::Fast does have an issue | |||||||||||||||||||||||||||||||||||||||
| but basically if i know of test cases that fail (preferably with as much test output as possible) i can try to find the root cause for them and potentially fix them | 22:42 | ||||||||||||||||||||||||||||||||||||||