[02:41] *** Xliff joined [05:58] *** AlexDaniel joined [05:58] *** AlexDaniel left [05:58] *** AlexDaniel joined [06:17] *** AlexDaniel left [07:00] *** sena_kun joined [07:26] <[Tux]> Rakudo version 2020.09-8-g62a22d0fe - MoarVM version 2020.09-8-g60070970c [07:26] <[Tux]> csv-test-xs-20 0.392 - 0.392 [07:26] <[Tux]> csv-ip5xs 0.815 - 0.831 [07:26] <[Tux]> test-t --race 0.842 - 0.958 [07:26] <[Tux]> test-t 1.870 - 1.914 [07:26] <[Tux]> test 7.759 - 7.915 [07:26] <[Tux]> csv-ip5xs-20 7.968 - 7.970 [07:26] <[Tux]> test-t-20 --race 9.440 - 9.851 [07:26] <[Tux]> csv-parser 26.192 - 28.683 [07:26] <[Tux]> test-t-20 32.682 - 32.852 [08:17] anyone have an idea why https://github.com/rakudo/rakudo/blob/master/src/core.c/Numeric.pm6#L242-L260 (`multi sub infix:<%%>(Int:D \a, Int:D \b) {`) isn't in Int.pm6? [08:20] looks like there is an Int candidate for each of gcd and lcm that also belong in Int.pm6 [08:21] lizmat: just an oversight in https://github.com/rakudo/rakudo/commit/755e25bd575c681c2361749daa12977f93def3d3 ? [09:42] *** Altai-man joined [09:44] *** sena_kun left [10:08] *** codesections left [10:08] *** codesections joined [10:23] MasterDuke: pretty sure I just followed with whatever was there, so I have no idea why it lives there [10:23] MasterDuke: I'd say, move it and see what happens [10:24] generally, some things need to be done in a specific order in the setting, so there *could* be a reason it lives where it lives, then again, that reason can have disappeared since then [10:25] the setting *is* bootstrapping itself: e.g. a trait on a Routine needs to have been defined before it can be applied to a routine :-) [10:27] this is the reason for the weird src/core.c/precedence file: at the time the operators were defined, you could not apply the precedence trait yet because it didn't exist yet [10:27] so it happens at BEGIN time close to the end of setting compilation [11:04] ¦ rakudo/rakuast: 36a0bfa6c1 | (Elizabeth Mattijsen)++ | t/12-rakuast/regex.t [11:04] ¦ rakudo/rakuast: Source comment tweaks [11:04] ¦ rakudo/rakuast: review: https://github.com/rakudo/rakudo/commit/36a0bfa6c1 [11:04] ¦ rakudo/rakuast: 6d62abd2a7 | (Elizabeth Mattijsen)++ | t/12-rakuast/statementprefixes.t [11:04] ¦ rakudo/rakuast: Migrate remaining statement prefix tests [11:04] ¦ rakudo/rakuast: [11:04] ¦ rakudo/rakuast: These were held up because initially they seemed to indicate a bug [11:04] ¦ rakudo/rakuast: in the rakuast implementation. Turns out it is a bug / feature of [11:04] ¦ rakudo/rakuast: string EVAL in master as well: on successful execution, it does not [11:04] ¦ rakudo/rakuast: set $!, *or* it sets it to Any. Todoed related tests. [11:04] ¦ rakudo/rakuast: review: https://github.com/rakudo/rakudo/commit/6d62abd2a7 [11:11] ¦ rakudo/rakuast: 4dc741bab5 | (Elizabeth Mattijsen)++ | t/12-rakuast/package.t [11:11] ¦ rakudo/rakuast: Mark failing package name test as todo [11:11] ¦ rakudo/rakuast: review: https://github.com/rakudo/rakudo/commit/4dc741bab5 [11:19] lizmat: Can you tell me why my RakuAST samples don't run, but the test codes appear to run fine? [11:20] the rakuast branch is really two projects in one [11:20] And yes, I am setting RAKUDO_RAKUAST, but I am getting typed_panic exceptions [11:23] one is the building the RakuAST class hierarchy [11:24] the tests in t/12-rakuast test those, and that's what I've been working on [11:24] I know. [11:24] the other is replacing the src/Perl/Grammar|Actions|World with src/Raku/Grammar|Actions [11:25] that's what you activate with RAKUDO_RAKUAST [11:25] So why is it, when I copy code from t/12-rakuast, and try them in my sample code, they don't work? I figure I'm not in the right environment. [11:25] (sprry, just mentioning it for people less informaed) [11:25] And I JUST TOLD YOU that I set that variable. [11:25] And I am getting typed_panic exceptions. [11:25] Xliff: no need to shout [11:26] So if there is a bug, where do I report? [11:26] If there is something else I need to do, what is it? [11:27] Xliff: currently, only 200+ spectest files pass their tests, out 0f 1336 [11:27] so I think it's likely you're running into uncovered parts of the migration pretty quickly [11:27] Yes, and I am using code that passes in a different type of script. [11:27] with all sorts of ... interesting errors [11:28] Maybe code will help explain. [11:28] it probably will, it will allow me to double check the problems you're seeing [11:29] This is the script I am currently trying to run: https://repl.it/@Xliff/AshamedBeautifulBudgetrange#main.raku [11:30] ¦ rakudo/rakuast: 4dd89c5799 | (Elizabeth Mattijsen)++ | t/12-rakuast/strings.t [11:30] ¦ rakudo/rakuast: Remove DEPARSE test [11:30] ¦ rakudo/rakuast: [11:30] ¦ rakudo/rakuast: for code that currently does not have a proper source representation. [11:30] ¦ rakudo/rakuast: review: https://github.com/rakudo/rakudo/commit/4dd89c5799 [11:30] Much of this should look familiar. It's all in t/12-rakuast [11:30] When I invoke via: RAKUDO_RAKUAST=1 perl6 ~/test-ast.pl6 [11:31] I get: ===SORRY!=== [11:31] Cannot find method 'typed_panic' on object of type Raku::Grammar [11:31] ah.. but if you're doing that, you should *not* use the RAKUDO_RAKUAST=1 [11:32] Fair enough. If I don't, I get: "Too many positionals passed; expected 1 argument but got 2 [11:32] in block at /home/cbwood/test-ast.pl6 line 5" [11:32] yeah, that's because recently the interface for Expression has changed [11:32] from taking a single positional, to a named expression => parameter [11:32] So why are the tests working? [11:32] I mean, this is code lifted right out of a working test. [11:33] but from a few days ago ? [11:33] Currently active git code! [11:33] the current tests use expression => [11:33] I can go and run the script containing the active code in this script and it will work just fine. [11:33] since 0c81db7ae38aa06eead466b2 [11:34] I added "expression => " in two locations in your code, and it then runs fine [11:35] So ::Expression is now "expression =>" ? [11:35] ::Expression.new( expression => ... ) indeed [11:35] OK. Adjusting [11:37] OK. Works. Thank you! [11:37] you're welcome [11:37] glad to see more eyes on it [11:39] Xliff: BTW, you can now also do "dd $ast" to see a source representation of the AST [11:40] lizmat++ [11:40] Good to know, thanks! [11:40] Also, if I do run into bugs, where is the best place to report them? [11:41] I guess making an issue for it is best [11:42] I'll create tags for "if you're working on building code with RakuAST classes" and "using RAKUDO_RAKUAST=1" [11:45] Isn't RakuAST incomplete to get issues? [11:45] never too early to complain :) :) :) :) [11:45] well, the RAKUDO_RAKUAST=1 part definitely is [11:46] but the RakuAST:: class development (as far as it is developed) *should* work now, and works as far as tests are concerned now (apart from some minor todos) [11:46] I don't follow closely, but remember, hmm, "Try it out, break it, etc. (Please don't report things that are missing at this point. Most things are, so it's not that useful. :-))". I suspect it is not caused by a missing thing, so sorry for not backlogging enough. [11:46] again, running code with RAKUDO_RAKUAST=1 is definitely *NOT* ready for issue reporting yet [11:47] code that uses the RakuAST classes, like my re-implementation of sprintf, definitely is [11:48] has .assuming been attempted on rakuast yet? [11:48] How is that going, by the way?> [11:48] lizmat: ^^ # re sprintf [11:48] it's implemented using RakuAST in the rakuast branch now [11:48] * Xliff goes to check. [11:49] currently it's called zprintf for easier testing / comparison with sprintf [11:49] sourcebaby: 2.sprintf("%d") [11:50] sourceable: 2.sprintf("%d") [11:50] Xliff, https://github.com/rakudo/rakudo/blob/62a22d0/src/core.c/Cool.pm6#L391 [11:50] src/core.e/Formatter.pm6 [11:51] lizmat: Ah. Thanks. [11:51] only available with 'use 6.e.PREVIEW' [11:54] Xliff: if you really want to get into this, you could have a look at re-implementing "assuming" in RakuAST :-) [11:54] Ah, I just notice timotimo mentioned assuming [11:54] Heh. I may take a look. This is only my first day looking at it, and all [11:55] yeah... it may be rather steep [11:55] Nice thought, though. [11:55] yeah, it's one of the few places in core that uses STRING eval atm [11:55] I am trying to get some footing for the eventual Macro implementation [11:55] I am probably going to need it for my p6-GLib projects [11:56] *** Kaiepi left [11:58] *** Kaiepi joined [11:58] Xliff: without a macro implementation, I think you can already do quite some "damage" with creating your own custom AST's in a library and then EVALling them to get code to execute [11:59] Xliff: in any case, I'm first going to look at the use of EVAL in CURI, and then if nobody has beaten me to it, look at assuming [12:00] BTW, another one is src/core.c/INTERPOLATE :-) [12:02] OK, I will follow along, then. [12:03] ok, MAKE_REGEX is still no go, as it needs :context for the EVAL, and that is as yet unsupported in rakuast last [12:03] *land [12:08] *** Kaiepi left [12:11] *** leont joined [12:11] *** Kaiepi joined [12:14] Mmm: 0-cost sprintf! [12:14] lizmat: Is that why you called it zprintf? :) [12:15] lizmat: EVAL in CURI will usually want evaluation via the AST instead of full blown compilation as it's rather simple expressions that are only run once [12:16] Xliff: actually, no, just something phonetically close, but it's a nice idea [12:16] the DependencySpecification.new(...) blah? [12:16] nine: yeah, that was my thought as well [12:16] timotimo: yes [12:16] *** Kaiepi left [12:23] i wonder if most dependency specifications are simple enough to be parsed by a much simplified grammar without a need for compilation anyway, though of course RakuAST is so close that it could also be a waste of time [12:24] They are - it's what we do on JVM [12:24] But we only need to evaluate them when we need to re-scan dependencies, i.e. after anything changed in any repository [12:24] oh [12:26] So there are actually 3 stages: take forever as we need to compile, just check if any dependency changed, everything is the same as last time: just load this flat list of files and be done [12:30] *** Kaiepi joined [13:04] ¦ rakudo: MasterDuke17++ created pull request #3943: Move Int candidates from Numeric.pm6 to Int.pm6 [13:04] ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/3943 [13:09] *** Kaiepi left [13:09] *** Kaiepi joined [13:11] ¦ rakudo/Junction-collapse: 351070b6eb | (Elizabeth Mattijsen)++ | src/core.c/Junction.pm6 [13:11] ¦ rakudo/Junction-collapse: Add Junction.collapse method [13:11] ¦ rakudo/Junction-collapse: [13:11] ¦ rakudo/Junction-collapse: Inspired by Wim Vanderbauwhede's The strange case of the greedy junction [13:11] ¦ rakudo/Junction-collapse: [13:11] ¦ rakudo/Junction-collapse: https://gist.github.com/wimvanderbauwhede/85fb4b88ec53a0b8149e6c05740adcf8 [13:11] ¦ rakudo/Junction-collapse: [13:11] ¦ rakudo/Junction-collapse: The implementation is rather different from the one proposed, but this [13:11] ¦ rakudo/Junction-collapse: should perform a *lot* better. [13:11] ¦ rakudo/Junction-collapse: review: https://github.com/rakudo/rakudo/commit/351070b6eb [13:12] ¦ rakudo: lizmat++ created pull request #3944: Add Junction.collapse method [13:12] ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/3944 [13:42] *** sena_kun joined [13:44] *** Altai-man left [14:05] ¦ rakudo: bf799bae11 | (Daniel Green)++ | 2 files [14:05] ¦ rakudo: Move Int candidates from Numeric.pm6 to Int.pm6 [14:05] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/bf799bae11 [14:05] ¦ rakudo: 029094282c | MasterDuke17++ (committed using GitHub Web editor) | 2 files [14:05] ¦ rakudo: Merge pull request #3943 from MasterDuke17/move_Int_candidates_from_Numeric_to_Int [14:05] ¦ rakudo: [14:05] ¦ rakudo: Move Int multis from Numeric.pm6 to Int.pm6 [14:05] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/029094282c [14:20] ¦ rakudo: 51db5341a7 | (Stefan Seifert)++ | src/Perl6/World.nqp [14:20] ¦ rakudo: Fix stub packages in multi part declarations only knowing part of their name [14:20] ¦ rakudo: [14:20] ¦ rakudo: In package Foo { package Bar::Baz { } } the created stub package for Bar had [14:20] ¦ rakudo: only "Bar" as longname instead of the expected "Foo::Bar" like you'd get if the [14:20] ¦ rakudo: Bar package was created explicitly. Fix by using the target package's name as [14:20] ¦ rakudo: starting point when assembling the longname. [14:20] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/51db5341a7 [14:20] ¦ rakudo: 9fdc003ef1 | niner++ (committed using GitHub Web editor) | src/Perl6/World.nqp [14:20] ¦ rakudo: Merge pull request #3926 from rakudo/fix_name_of_stub_packages_in_multi_part_declarations [14:20] ¦ rakudo: [14:20] ¦ rakudo: Fix stub packages in multi part declarations only knowing part of the… [14:20] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/9fdc003ef1 [14:37] afk for a few hours& [14:43] ¦ rakudo/fix_possible_race_in_multi_threaded_precompilation: 12946210ea | (Daniel Green)++ | src/core.c/CompUnit/PrecompilationStore/File.pm6 [14:43] ¦ rakudo/fix_possible_race_in_multi_threaded_precompilation: Fix possible race in multi-threaded precompilation [14:43] ¦ rakudo/fix_possible_race_in_multi_threaded_precompilation: [14:43] ¦ rakudo/fix_possible_race_in_multi_threaded_precompilation: by changing $!lock-count to an atomicint and using atomic operations to [14:43] ¦ rakudo/fix_possible_race_in_multi_threaded_precompilation: interact with it. This code used to be inside a `.protect` call (and so [14:43] ¦ rakudo/fix_possible_race_in_multi_threaded_precompilation: didn't need to be atomic), but that was removed in [14:43] ¦ rakudo/fix_possible_race_in_multi_threaded_precompilation: ac87ea2ac84883bf701808485ac2da887f7496ed for other reasons. [14:43] ¦ rakudo/fix_possible_race_in_multi_threaded_precompilation: review: https://github.com/rakudo/rakudo/commit/12946210ea [15:01] *** domidumont joined [15:20] *** domidumont1 joined [15:22] *** domidumont left [16:24] *** hankache joined [16:51] *** hankache left [17:08] *** domidumont1 left [17:41] *** Altai-man joined [17:44] *** sena_kun left [17:50] *** domidumont joined [18:03] *** domidumont left [18:13] nine, lizmat: https://github.com/rakudo/rakudo/pull/3741 looks good to CI, mergeable? [18:42] *** Xliff left [20:38] *** Altai-man left [21:28] ¦ roast: d89e475eb2 | (José Joaquín Atria)++ | S04-phasers/in-loop.t [21:28] ¦ roast: Test FIRST statement in loop does not warn [21:28] ¦ roast: [21:28] ¦ roast: Closes R#1900 rakudo/rakudo#1900 [21:28] ¦ roast: review: https://github.com/Raku/roast/commit/d89e475eb2 [21:28] ¦ roast: f05caa0398 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S04-phasers/in-loop.t [21:28] ¦ roast: Merge pull request #675 from jjatria/raku_1900 [21:28] ¦ roast: [21:28] R#1900 [open]: https://github.com/rakudo/rakudo/issues/1900 [phasers][tests needed] Weird warning about sink context in loop phaser [21:28] ¦ roast: Test FIRST statement in loop does not warn [21:28] ¦ roast: review: https://github.com/Raku/roast/commit/f05caa0398 [21:28] RAKUDO#1900 [open]: https://github.com/rakudo/rakudo/issues/1900 [phasers][tests needed] Weird warning about sink context in loop phaser [21:28] ¦ roast: 9b0c91a9c7 | (Stoned Elipot)++ | S02-types/baghash.t [21:28] ¦ roast: Test BagHash.pick/pickpairs/grab/grabpairs(Callable) [21:28] ¦ roast: review: https://github.com/Raku/roast/commit/9b0c91a9c7 [21:28] ¦ roast: 9de1408d44 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S02-types/baghash.t [21:28] ¦ roast: Merge pull request #668 from Raku/baghash-picky-grabby-callable [21:28] ¦ roast: [21:28] ¦ roast: Test BagHash.pick/pickpairs/grab/grabpairs(Callable) [21:28] ¦ roast: review: https://github.com/Raku/roast/commit/9de1408d44 [21:33] ¦ roast: 062d1dbadc | (Zoffix Znet)++ | S12-subset/subtypes.t [21:33] ¦ roast: Improve where &-sigiled tests [21:33] ¦ roast: [21:33] ¦ roast: * Fix erroneous test https://github.com/Raku/roast/pull/677#discussion_r498638109 [21:33] ¦ roast: * Add multi dispatch tests [21:33] ¦ roast: * Add tests with Block and Whatever values in variable [21:33] ¦ roast: review: https://github.com/Raku/roast/commit/062d1dbadc [21:33] ¦ roast: 7b21ebfdd6 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S12-subset/subtypes.t [21:33] ¦ roast: Merge pull request #678 from zoffixznet/hacktoberfest-where-sub2 [21:33] ¦ roast: [21:33] ¦ roast: Improve where &-sigiled tests [21:33] ¦ roast: review: https://github.com/Raku/roast/commit/7b21ebfdd6 [21:41] ¦ roast: a8a52bf485 | (Elizabeth Mattijsen)++ | S04-phasers/in-loop.t [21:41] ¦ roast: Add missing 'use lib' [21:41] ¦ roast: review: https://github.com/Raku/roast/commit/a8a52bf485 [21:55] ¦ rakudo: 12946210ea | (Daniel Green)++ | src/core.c/CompUnit/PrecompilationStore/File.pm6 [21:55] ¦ rakudo: Fix possible race in multi-threaded precompilation [21:55] ¦ rakudo: [21:55] ¦ rakudo: by changing $!lock-count to an atomicint and using atomic operations to [21:55] ¦ rakudo: interact with it. This code used to be inside a `.protect` call (and so [21:55] ¦ rakudo: didn't need to be atomic), but that was removed in [21:55] ¦ rakudo: ac87ea2ac84883bf701808485ac2da887f7496ed for other reasons. [21:55] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/12946210ea [21:55] ¦ rakudo: acd95d7d41 | MasterDuke17++ (committed using GitHub Web editor) | src/core.c/CompUnit/PrecompilationStore/File.pm6 [21:55] ¦ rakudo: Merge pull request #3741 from MasterDuke17/fix_possible_race_in_multi_threaded_precompilation [21:56] ¦ rakudo: [21:56] ¦ rakudo: Fix possible race in multi-threaded precompilation [21:56] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/acd95d7d41 [23:08] *** leont left