[00:26] *** Altai-man_ joined [00:29] *** sena_kun left [00:36] *** lucasb left [00:59] *** lichtkind left [02:14] *** maggotbrain left [02:27] *** sena_kun joined [02:29] *** Altai-man_ left [03:21] *** gugod joined [04:26] *** Altai-man_ joined [04:29] *** sena_kun left [04:37] *** ShimmerFairy left [04:37] *** ShimmerFairy joined [06:27] *** sena_kun joined [06:30] *** Altai-man_ left [07:16] Files=1306, Tests=111304, 213 wallclock secs (28.56 usr 8.34 sys + 2992.91 cusr 275.25 csys = 3305.06 CPU) [07:30] *** evalable6 left [07:30] *** linkable6 left [07:30] *** linkable6 joined [07:32] *** evalable6 joined [08:24] *** lichtkind joined [08:26] *** Altai-man_ joined [08:29] *** sena_kun left [08:41] ¦ rakudo: becb85ebef | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Sorting.pm6 [08:41] ¦ rakudo: Fix sorting 2 element native arrays [08:41] ¦ rakudo: [08:41] ¦ rakudo: This did not work at all! Wonder why this was never reported by anybody. [08:41] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/becb85ebef [08:41] ¦ roast: a5d6a6031a | (Elizabeth Mattijsen)++ | 3 files [08:41] ¦ roast: Add tests for sorting native arrays [08:41] ¦ roast: review: https://github.com/Raku/roast/commit/a5d6a6031a [09:14] *** lichtkind_ joined [09:14] `is looser(&infix:<:>)` seams not to work. Is that one implemented with grammar magic? [09:16] *** lichtkind left [09:17] i ran into this bizarre bug while working on the solution for problem-solving #111 [09:18] i'm mostly done the work on IO::Address and IO::Resolver themselves for v6.c, i'm now making IO::Socket::INET and IO::Socket::Async use them [09:18] IO::Socket::INET's !initialize method looks like this atm http://fpaste.scsys.co.uk/589036 [09:19] if you look at the second &*CONNECT call, it takes a sub instead of a block [09:20] when i make it a block like &*CONNECT($addresses, { nqp::connect($PIO, nqp::getattr($_, .WHAT, '$!VM-address')) }) i get "Too few positionals passed; expected 3 arguments but got 1 [09:20] " when &*CONNECT tries to call the callback [09:20] where is it getting the idea that the block takes 3 arguments? [09:26] ¦ rakudo: 8dc58abfaa | (Elizabeth Mattijsen)++ | src/core.c/IO/Spec/Unix.pm6 [09:26] ¦ rakudo: Make IO::Spec::Unix.path about 3.5x as fast [09:26] ¦ rakudo: [09:26] ¦ rakudo: - don't use gather / take [09:26] ¦ rakudo: - use simpler algorithm to check for empty entries [09:26] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/8dc58abfaa [09:32] ¦ roast: 1a03dcba5a | (Christian Bartolomäus)++ | 2 files [09:32] ¦ roast: [JVM] Unfudge now passing tests [09:32] ¦ roast: [09:32] ¦ roast: https://github.com/rakudo/rakudo/issues/3707 has been fixed. [09:32] ¦ roast: review: https://github.com/Raku/roast/commit/1a03dcba5a [09:32] ¦ rakudo: ad9b9f4fa0 | (Elizabeth Mattijsen)++ | src/core.c/IO/Spec/Unix.pm6 [09:32] ¦ rakudo: Remove dead code [09:32] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/ad9b9f4fa0 [09:39] Kaiepi: did you try a pointy? [09:46] i did, same issue [09:57] weekly: https://perlmonks.org/?node_id=11116980 [09:57] lizmat, Noted! (weekly) [10:27] *** sena_kun joined [10:29] *** Altai-man_ left [10:42] ¦ rakudo: 1a8e07c27b | (Elizabeth Mattijsen)++ | src/core.c/IO/Spec/Win32.pm6 [10:42] ¦ rakudo: Make IO::Spec::Win32.path about 2x as fast [10:42] ¦ rakudo: [10:42] ¦ rakudo: - don't use gather / take [10:42] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/1a8e07c27b [11:33] hi all. just heard from damian, he thinks a [11:36] all declarator comments should be preserved as they exist including the whitespace as it is (no normalization or skipping of blank lines as we do at present). [11:37] i will add his comments and example prog to the rakudo docs dir. [11:39] ¦ rakudo: 700b74329d | (Elizabeth Mattijsen)++ | 2 files [11:39] ¦ rakudo: Make dir() about 15% faster [11:39] ¦ rakudo: [11:39] ¦ rakudo: - by providing more directed candidates [11:39] ¦ rakudo: - had to disable signature check for dir() because it gave a false positive [11:39] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/700b74329d [11:46] ¦ rakudo: d09cf9d84f | (Tom Browder)++ (committed using GitHub Web editor) | docs/pod6-declarator-notes-from-damian-conway.md [11:46] ¦ rakudo: Create pod6-declarator-notes-from-damian-conway.md [11:46] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/d09cf9d84f [12:11] ¦ rakudo: 1bcc5d73e3 | (Tim Smith)++ | src/core.c/Str.pm6 [12:11] ¦ rakudo: Add :$chomp to Str.lines() [12:11] ¦ rakudo: [12:11] ¦ rakudo: Behaves like :$chomp in IO::Handle.new. To keep the hot path as fast as [12:11] ¦ rakudo: possible, some code is duplicated rather than factored out. [12:11] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/1bcc5d73e3 [12:11] ¦ rakudo: 96c3c532a3 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Str.pm6 [12:11] ¦ rakudo: Merge pull request #3628 from softmoth/str-lines-chomp [12:11] ¦ rakudo: [12:11] ¦ rakudo: Add :$chomp to Str.lines() [12:11] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/96c3c532a3 [12:15] ¦ roast: 9d90d6ccd3 | (Elizabeth Mattijsen)++ | S32-str/lines.t [12:15] ¦ roast: Add tests for Str.lines(:chomp) [12:15] ¦ roast: review: https://github.com/Raku/roast/commit/9d90d6ccd3 [12:26] *** Altai-man_ joined [12:29] *** sena_kun left [13:02] *** domidumont joined [13:24] *** zostay joined [13:27] *** kawaii left [13:30] *** kawaii joined [13:40] *** lichtkind_ left [13:47] *** lichtkind joined [13:48] *** lichtkind left [14:10] when running latest spectest with TEST_JOBS=20 I'm getting reliable failures in S01-perl-5-integration/method.rakudo.moar and S32-io/IO-Socket-Async.t, can anyone confirm? [14:12] hmm... looks like github.com dropped out of DNS ??? [14:12] at least for me? [14:12] hmmm... it's back again [14:12] weird [14:13] ¦ rakudo: 9942ccc04d | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6 [14:13] ¦ rakudo: Simply pass on limit in Str.lines/words [14:13] ¦ rakudo: [14:13] ¦ rakudo: The extra check was not really necessary, as Masterduke++ pointed out [14:13] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/9942ccc04d [14:13] just now: $ git push [14:13] ssh: Could not resolve hostname github.com: nodename nor servname provided, or not known [14:27] *** sena_kun joined [14:27] <[Tux]> Rakudo version 2020.05.1-192-g96c3c532a - MoarVM version 2020.05-15-g644533ad1 [14:27] <[Tux]> csv-test-xs-20 0.377 - 0.386 [14:27] <[Tux]> csv-ip5xs 0.832 - 0.837 [14:27] <[Tux]> test-t --race 0.833 - 0.968 [14:27] <[Tux]> test-t 1.858 - 1.975 [14:27] <[Tux]> test 7.443 - 7.498 [14:27] <[Tux]> csv-ip5xs-20 8.277 - 8.282 [14:27] <[Tux]> test-t-20 --race 8.741 - 9.539 [14:28] *** domidumont left [14:28] <[Tux]> csv-parser 24.687 - 26.238 [14:28] <[Tux]> test-t-20 30.601 - 31.131 [14:29] *** Altai-man_ left [14:45] ¦ rakudo: tbrowder++ created pull request #3715: rename notes from Damian, add info received from him [14:45] ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/3715 [14:45] ¦ rakudo: 8a8f62ca70 | (Tom Browder)++ | 5 files [14:45] ¦ rakudo: rename notes from Damian, add info received from him [14:45] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/8a8f62ca70 [14:45] ¦ rakudo: 0c85432052 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 5 files [14:45] ¦ rakudo: Merge pull request #3715 from tbrowder/damian-decl-note [14:46] ¦ rakudo: [14:46] ¦ rakudo: rename notes from Damian, add info received from him [14:46] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/0c85432052 [14:46] .ask vrurg I thought we had a way to check in a core.c file if we did a "use v6.e.PREVIEW" ? [14:46] lizmat, I'll pass your message to vrurg [14:47] .tell vrurg I naively assumed something like CORE-SETTING-REV ge "e" would work :-( [14:47] lizmat, I'll pass your message to vrurg [14:47] ¦ rakudo: 8eb7214090 | (Tom Browder)++ (committed using GitHub Web editor) | docs/S26-declarator-block-notes-from-Damian-Conway.md [14:47] ¦ rakudo: add info [14:47] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/8eb7214090 [14:47] lizmat: I guess you're reading it via a github notification, but this might be of interest to you: https://github.com/rakudo/rakudo/issues/3706#issuecomment-633241723 [14:48] r: class Foo { method sink { say "sunk" } }; $ = Foo.new if True [14:48] rakudo-jvm 08b449e1a: OUTPUT: «Error while reading '/home/camelia/p6eval-token': Permission denied at /home/camelia/rakudo-j-inst/bin/eval-client.pl line 10.␤» [14:48] ..rakudo-moar 9942ccc04: ( no output ) [14:48] hmm, well [14:48] r: class Foo { method sink { say "sunk" } }; $ = Foo.new if True [14:48] rakudo-jvm 08b449e1a: OUTPUT: «sunk␤» [14:48] ..rakudo-moar 9942ccc04: ( no output ) [14:48] bartolin_: am about to go afk for a few hours [14:48] ¦ rakudo: e95eb3a93f | (Tom Browder)++ (committed using GitHub Web editor) | docs/S26-declarator-block-notes-from-Damian-Conway.md [14:48] ¦ rakudo: format reference [14:48] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/e95eb3a93f [14:48] will look at it when back [14:49] lizmat: no prob [14:49] o/ [14:53] raku: enum E (A => "1"); my $v = "A"; put E::«$v»; [14:53] gfldex, rakudo-moar 9942ccc04: OUTPUT: «1␤» [14:54] This form seams not to be in roast. Should it? [15:05] nqp-m: say(nqp::coerce_sn("4.2e1")) [15:05] nqp-moarvm: OUTPUT: «No registered operation handler for 'coerce_sn'␤ at gen/moar/stage2/QAST.nqp:1504 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/QAST.moarvm:compile_op)␤ from gen/moar/stage2/QAST.nqp:6142 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/QAST.moarvm:compile_no…» [15:05] What's funny about this is that this op is supposed to exist. [15:05] ¦ rakudo: a059373e70 | (Christian Bartolomäus)++ | src/core.c/IO/Handle.pm6 [15:05] ¦ rakudo: [JVM] Add workaround to avoid sinking failed Proc [15:05] ¦ rakudo: [15:05] ¦ rakudo: This fixes some failing spectest, as reported with [15:05] ¦ rakudo: https://github.com/rakudo/rakudo/issues/3706. [15:05] ¦ rakudo: [15:05] ¦ rakudo: The different behaviour between MoarVM and JVM backend needs [15:05] ¦ rakudo: further investigation. [15:05] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/a059373e70 [15:09] ¦ roast: ceb9003830 | (Christian Bartolomäus)++ | 3 files [15:09] ¦ roast: [JVM] Unfudge now passing tests [15:09] ¦ roast: [15:09] ¦ roast: Workaround has been added with [15:09] ¦ roast: https://github.com/rakudo/rakudo/commit/a059373e70. [15:09] ¦ roast: review: https://github.com/Raku/roast/commit/ceb9003830 [15:26] ShimmerFairy: any interest in revisiting you pod handling rewrite? [15:26] *your [15:28] Perhaps, though I'm a bit reluctant to add even more projects to the "totally planning on doing that soon" list. [15:28] Also, I don't know how well POD is implemented these days, so I don't know if it would really be a rewrite. [15:29] Also also, if RakuAST has any chance of interacting with POD, it might be best to hold off on huge changes until that comes in. [15:29] ShimmerFairy: the op does exist in the VM but it's not mapped to an nqp op. It's only used by QASTCompilerMAST's coercion method (which generates code for coercion) [15:30] I see. The ops.markdown file didn't mention that, so I was confused. [15:31] *** lucasb joined [15:36] Are there any specific issues with POD handling in rakudo, or is it just a general "this code is crummy and I hate it"? [16:26] *** Altai-man_ joined [16:28] ¦ roast: a6f9f42b5f | (Christian Bartolomäus)++ | 4 files [16:28] ¦ roast: [JVM] Tweak fudging [16:28] ¦ roast: [16:28] ¦ roast: With this, a spectest is nearly clean. (There are failing tests [16:28] ¦ roast: in S24-testing/11-plan-skip-all.t and S32-io/io-handle.t that [16:28] ¦ roast: don't occur when running those files separately.) [16:28] ¦ roast: review: https://github.com/Raku/roast/commit/a6f9f42b5f [16:29] bartolin_++ [16:29] *** sena_kun left [18:06] ¦ rakudo: 6f99017003 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6 [18:06] ¦ rakudo: Make IO::Path.child secure by default for 6.e [18:06] ¦ rakudo: [18:06] ¦ rakudo: You need to do a "use 6.e.PREVIEW" now to get the secure semantics of [18:06] ¦ rakudo: IO::Path.child, as copied from the IO::Path::ChildSecure module. [18:06] ¦ rakudo: [18:06] ¦ rakudo: Made possible by the language revision work of vrurg++ [18:06] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/6f99017003 [18:18] 2nd time today github.com dropped out of DNS for me [18:19] I've got a git question: there is this PR from Kaiepi++ that has a fix for the JVM backend: https://github.com/Raku/nqp/pull/514 It has a conflict caused by the perl6->raku rename. Now I wonder what's the best way to get that fix. (Apart from asking the author to rebase themselves. I'd like to know the different options.) [18:19] From a little experiment it looks like I could just do 'git pull https://github.com/Kaiepi/nqp.git async-sockets' on my local checkout of nqp (in the master branch). That's also what Github suggests on the PR page itself. [18:19] and there it's back again: just checked other site, so it was not a general DNS failure [18:19] From what I've read one could also get the patch and commit it with --author (and maybe --date) set to the values from the original commit. [18:19] What would you do to get the commit? [18:20] * lizmat 's git foo is insufficient for that, perhaps jnthn nine moritz have better ideas [18:23] m: dd "foo".IO.child("bar/baz") # do we think that's a proper use of IO::Path.child ? [18:23] rakudo-moar 6f9901700: OUTPUT: «IO::Path.new("foo/bar/baz", :SPEC(IO::Spec::Unix), :CWD("/home/camelia"))␤» [18:23] or should we check for a $!SPEC.dir-sep in whatever .child gets ? [18:24] .tell vrurg nvm, figured it out in https://github.com/rakudo/rakudo/commit/6f99017003 [18:24] lizmat, I'll pass your message to vrurg [18:27] *** sena_kun joined [18:29] *** Altai-man_ left [19:00] apparently, it is: from spectest: use lib $?FILE.IO.parent(2).child("packages/S11-modules/lib"); [19:00] so, how can we guarantee cross-platformness if we encode directory separators in strings [19:01] ? [19:33] ¦ rakudo: 41568cb73e | (Elizabeth Mattijsen)++ | src/core.c/Raku.pm6 [19:33] ¦ rakudo: Add Raku.revision and Raku.at-revision [19:33] ¦ rakudo: [19:33] ¦ rakudo: This encapsulates the nqp::getcomp("Raku").language_version logic [19:33] ¦ rakudo: into a method that just returns the letter (revision) and a method [19:33] ¦ rakudo: that takes a revision letter (at-revision) to returns True if the [19:33] ¦ rakudo: current language revision is at least at that level. [19:33] ¦ rakudo: [19:33] ¦ rakudo: Names are up for bike-shedding. [19:33] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/41568cb73e [19:47] ¦ rakudo: 1c94538e61 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6 [19:47] ¦ rakudo: Check language revision using new Raku.at-revision method [19:47] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/1c94538e61 [19:47] ¦ rakudo: lembark++ created pull request #3716: Perl wrapper shebang [19:47] ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/3716 [19:57] lizmat: I have commented the commit. Brief bottom line: things are more complicated when it comes to method behaviors. [19:57] 2020-05-23T22:44:48Z #raku vrurg RakuDist test for Vikna fails - https://gist.github.com/melezhik/627cac88f0bb9a8d26f019c4e66587a9 . HTH [19:57] 2020-05-24T14:46:19Z #raku-dev vrurg I thought we had a way to check in a core.c file if we did a "use v6.e.PREVIEW" ? [19:57] 2020-05-24T14:47:14Z #raku-dev vrurg I naively assumed something like CORE-SETTING-REV ge "e" would work :-( [19:57] 2020-05-24T18:24:44Z #raku-dev vrurg nvm, figured it out in https://github.com/rakudo/rakudo/commit/6f99017003 [19:58] lizmat: Oh, with regard to checking in particular core revisions: yes, but I'm afraid it only works for 6.e [20:00] ShimmerFairy: i was referring to your long ago shot at another approach to pod and wonder how you feel about that now. it looked to my naive eyes to have lots of potential to ease pod parsing. [20:01] 6e: say CORE-SETTING-REV; [20:02] e: say CORE-SETTING-REV; [20:02] vrurg, rakudo-moar 1c94538e6: OUTPUT: «d␤» [20:02] e.PREVIEW: say CORE-SETTING-REV; [20:02] heh, do we have a bot with 6.e default? [20:02] lizmat: anyway, 6.e PseudoStash supports CORE::v6? namespace. [20:03] use example? [20:08] sourceable6: help [20:08] tobs, Like this: sourceable6: 42.base(16) # See wiki for more examples: https://github.com/Raku/whateverable/wiki/Sourceable [20:08] lizmat: of CORE::v6? [20:08] yes [20:09] s: Match cmp Match [20:09] tobs, https://github.com/rakudo/rakudo/blob/1c94538/src/core.c/Order.pm6#L10 [20:09] lizmat: use v6.e.PREVIEW; say CORE::v6c::CORE-SETTING-REV # c [20:11] Ah, I see... so, for the time being, we could use "CORE::v6e" [20:12] not being Nil as a semaphore ? [20:13] lizmat: actually, revision() method is better be implemented as 'CLIENT::CLIENT::CORE-SETTING-REV' [20:13] why 2x CLIENT ? [20:14] To get caller's caller context. [20:14] * vrurg is thinking faster than writing... [20:14] ah, I see [20:14] ok [20:15] Most correct implementation though should be then `method reveision($skip=0)` to skip as many frames as needed. Just Raku.revision would then give our revision, Raku.revision(1) is caller's revision. [20:17] And sorry, it should be `CALLER::` for skip=0, `CALLER::CLIENT::` for skip=1. [20:20] but CALLER:: would be a bit non-sensical, no? [20:20] because if you call this method in a module, you'd want your caller's language revision [20:21] so you'd always want CALLER::CLIENT:: from within the revision method [20:22] lizmat: depends on the semantics. When you name it just `revision` I expect it to return my revision on a plain Raku.revision() call. That's why just CALLER:: [20:22] For `caller-revision` `CALLER::CLIENT::` makes more sense. [20:22] but in your own code, revision would just be CORE-SETTINV-REV anyway ? [20:23] *SETTING [20:23] lizmat: yes, but I'd keep this symbol closer to implementation detail thing than to a public interface. [20:23] ok [20:23] so maybe the default for skip should be 1 then [20:24] And now as I think of it, placing tests for CORE-SETTING-REV into roast is not that good idea. Perhaps we shall transfer them to Rakudo. [20:24] yeah, they shouldn't be in roast [20:24] lizmat: maybe rename the method? Make it less confusiing? [20:24] check for whatever methods we put in Raku would be in roast [20:25] sure... we still have a month before release :-) [20:25] caller-revision? [20:25] caller-revision-at ? [20:26] lizmat: client-revision for that matter is the best. [20:26] *** Altai-man_ joined [20:27] Say, it could be considered as `method revision(:$client)` when $client is True [20:29] * vrurg is away for a while. [20:29] *** sena_kun left [20:45] .tell vrurg perhaps it makes more sense to put the "at-revision" method on pseudo=stash ? [20:45] lizmat, I'll pass your message to vrurg [20:45] method foo() { if CALLER::.at-revision("e") { new semantics } else { old semantics } [20:47] ¦ rakudo: 800878a1b6 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6 [20:47] ¦ rakudo: Add a IO::Path.child(List) candidate [20:47] ¦ rakudo: [20:47] ¦ rakudo: For those cases like $?FILE.IO.parent(2).child(), so [20:47] ¦ rakudo: that we do not encode IO::Spec semantics into strings. [20:47] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/800878a1b6 [21:23] *** guifa2 joined [21:28] lizmat: It seems like we need one more problem solving on language revisions. With some extra experience on our hands, more questions needs resolving. [21:37] ¦ problem-solving: vrurg assigned to jnthn Issue More language revision related questions needs resolving. https://github.com/Raku/problem-solving/issues/199 [21:46] *** Altai-man_ left [22:15] *** Altai-man_ joined [22:21] *** Altai-man_ left [22:25] ¦ rakudo: lizmat self-assigned DateTime string parsed incorrectly https://github.com/rakudo/rakudo/issues/3717 [22:25] but that will be for tomorrow [22:25] sleep& [22:26] lizmat: o/ [22:29] .tell melezhik thanks! I overlooked a strange copy/paste issue. [22:29] vrurg, I'll pass your message to melezhik [22:36] *** lucasb left [23:34] *** guifa2 left