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, ShimmerFairy joined 06:27 sena_kun joined 06:30 Altai-man_ left
lizmat Files=1306, Tests=111304, 213 wallclock secs (28.56 usr 8.34 sys + 2992.91 cusr 275.25 csys = 3305.06 CPU) 07:16
07:30 evalable6 left, linkable6 left, linkable6 joined 07:32 evalable6 joined 08:24 lichtkind joined 08:26 Altai-man_ joined 08:29 sena_kun left
Geth rakudo: becb85ebef | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Sorting.pm6
Fix sorting 2 element native arrays

This did not work at all! Wonder why this was never reported by anybody.
roast: a5d6a6031a | (Elizabeth Mattijsen)++ | 3 files
Add tests for sorting native arrays
09:14 lichtkind_ joined
gfldex `is looser(&infix:<:>)` seams not to work. Is that one implemented with grammar magic? 09:14
09:16 lichtkind left
Kaiepi i ran into this bizarre bug while working on the solution for problem-solving #111 09:17
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 fpaste.scsys.co.uk/589036
if you look at the second &*CONNECT call, it takes a sub instead of a block 09:19
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
where is it getting the idea that the block takes 3 arguments?
Geth rakudo: 8dc58abfaa | (Elizabeth Mattijsen)++ | src/core.c/IO/Spec/Unix.pm6
Make IO::Spec::Unix.path about 3.5x as fast

  - don't use gather / take
  - use simpler algorithm to check for empty entries
roast: 1a03dcba5a | (Christian Bartolomäus)++ | 2 files
[JVM] Unfudge now passing tests

  github.com/rakudo/rakudo/issues/3707 has been fixed.
rakudo: ad9b9f4fa0 | (Elizabeth Mattijsen)++ | src/core.c/IO/Spec/Unix.pm6
Remove dead code
gfldex Kaiepi: did you try a pointy? 09:39
Kaiepi i did, same issue 09:46
lizmat weekly: perlmonks.org/?node_id=11116980 09:57
notable6 lizmat, Noted! (weekly)
10:27 sena_kun joined 10:29 Altai-man_ left
Geth rakudo: 1a8e07c27b | (Elizabeth Mattijsen)++ | src/core.c/IO/Spec/Win32.pm6
Make IO::Spec::Win32.path about 2x as fast

  - don't use gather / take
tbrowder hi all. just heard from damian, he thinks a 11:33
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:36
i will add his comments and example prog to the rakudo docs dir. 11:37
Geth rakudo: 700b74329d | (Elizabeth Mattijsen)++ | 2 files
Make dir() about 15% faster

  - by providing more directed candidates
  - had to disable signature check for dir() because it gave a false positive
rakudo: d09cf9d84f | (Tom Browder)++ (committed using GitHub Web editor) | docs/pod6-declarator-notes-from-damian-conway.md
Create pod6-declarator-notes-from-damian-conway.md
rakudo: 1bcc5d73e3 | (Tim Smith)++ | src/core.c/Str.pm6
Add :$chomp to Str.lines()

Behaves like :$chomp in IO::Handle.new. To keep the hot path as fast as possible, some code is duplicated rather than factored out.
rakudo: 96c3c532a3 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Str.pm6
Merge pull request #3628 from softmoth/str-lines-chomp

Add :$chomp to Str.lines()
roast: 9d90d6ccd3 | (Elizabeth Mattijsen)++ | S32-str/lines.t
Add tests for Str.lines(:chomp)
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
Altai-man_ 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:10
lizmat hmm... looks like github.com dropped out of DNS ??? 14:12
at least for me?
hmmm... it's back again
Geth rakudo: 9942ccc04d | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Simply pass on limit in Str.lines/words

The extra check was not really necessary, as Masterduke++ pointed out
lizmat just now: $ git push
ssh: Could not resolve hostname github.com: nodename nor servname provided, or not known
14:27 sena_kun joined
[Tux] Rakudo version 2020.05.1-192-g96c3c532a - MoarVM version 2020.05-15-g644533ad1
csv-ip5xs0.832 - 0.837
csv-ip5xs-208.277 - 8.282
csv-parser24.687 - 26.238
csv-test-xs-200.377 - 0.386
test7.443 - 7.498
test-t1.858 - 1.975
test-t --race0.833 - 0.968
test-t-2030.601 - 31.131
test-t-20 --race8.741 - 9.539
14:28 domidumont left
14:29 Altai-man_ left
Geth rakudo: tbrowder++ created pull request #3715:
rename notes from Damian, add info received from him
rakudo: 8a8f62ca70 | (Tom Browder)++ | 5 files
rename notes from Damian, add info received from him
rakudo: 0c85432052 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 5 files
Merge pull request #3715 from tbrowder/damian-decl-note

rename notes from Damian, add info received from him
lizmat .ask vrurg I thought we had a way to check in a core.c file if we did a "use v6.e.PREVIEW" ?
tellable6 lizmat, I'll pass your message to vrurg
lizmat .tell vrurg I naively assumed something like CORE-SETTING-REV ge "e" would work :-( 14:47
tellable6 lizmat, I'll pass your message to vrurg
Geth rakudo: 8eb7214090 | (Tom Browder)++ (committed using GitHub Web editor) | docs/S26-declarator-block-notes-from-Damian-Conway.md
add info
bartolin_ lizmat: I guess you're reading it via a github notification, but this might be of interest to you: github.com/rakudo/rakudo/issues/37...-633241723
r: class Foo { method sink { say "sunk" } }; $ = Foo.new if True 14:48
camelia Error while reading '/home/camelia/p6eval-token': Permission denied at /home/camelia/rakudo-j-inst/bin/eval-client.pl line 10.
( no output )
bartolin_ hmm, well
r: class Foo { method sink { say "sunk" } }; $ = Foo.new if True
camelia sunk
( no output )
lizmat bartolin_: am about to go afk for a few hours
Geth rakudo: e95eb3a93f | (Tom Browder)++ (committed using GitHub Web editor) | docs/S26-declarator-block-notes-from-Damian-Conway.md
format reference
lizmat will look at it when back
bartolin_ lizmat: no prob 14:49
gfldex raku: enum E (A => "1"); my $v = "A"; put E::«$v»; 14:53
evalable6 1
gfldex This form seams not to be in roast. Should it? 14:54
ShimmerFairy nqp-m: say(nqp::coerce_sn("4.2e1")) 15:05
camelia 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…
ShimmerFairy What's funny about this is that this op is supposed to exist.
Geth rakudo: a059373e70 | (Christian Bartolomäus)++ | src/core.c/IO/Handle.pm6
[JVM] Add workaround to avoid sinking failed Proc

This fixes some failing spectest, as reported with
The different behaviour between MoarVM and JVM backend needs further investigation.
roast: ceb9003830 | (Christian Bartolomäus)++ | 3 files
[JVM] Unfudge now passing tests

Workaround has been added with
tbrowder ShimmerFairy: any interest in revisiting you pod handling rewrite? 15:26
ShimmerFairy 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.
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
nine 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)
ShimmerFairy I see. The ops.markdown file didn't mention that, so I was confused. 15:30
15:31 lucasb joined
ShimmerFairy Are there any specific issues with POD handling in rakudo, or is it just a general "this code is crummy and I hate it"? 15:36
16:26 Altai-man_ joined
Geth roast: a6f9f42b5f | (Christian Bartolomäus)++ | 4 files
[JVM] Tweak fudging

With this, a spectest is nearly clean. (There are failing tests in S24-testing/11-plan-skip-all.t and S32-io/io-handle.t that don't occur when running those files separately.)
MasterDuke bartolin_++ 16:29
16:29 sena_kun left
Geth rakudo: 6f99017003 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6
Make IO::Path.child secure by default for 6.e

You need to do a "use 6.e.PREVIEW" now to get the secure semantics of IO::Path.child, as copied from the IO::Path::ChildSecure module.
Made possible by the language revision work of vrurg++
lizmat 2nd time today github.com dropped out of DNS for me 18:18
bartolin_ I've got a git question: there is this PR from Kaiepi++ that has a fix for the JVM backend: 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 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.
lizmat and there it's back again: just checked other site, so it was not a general DNS failure
bartolin_ 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.
What would you do to get the commit?
lizmat 's git foo is insufficient for that, perhaps jnthn nine moritz have better ideas 18:20
m: dd "foo".IO.child("bar/baz") # do we think that's a proper use of IO::Path.child ? 18:23
camelia IO::Path.new("foo/bar/baz", :SPEC(IO::Spec::Unix), :CWD("/home/camelia"))
lizmat or should we check for a $!SPEC.dir-sep in whatever .child gets ?
.tell vrurg nvm, figured it out in github.com/rakudo/rakudo/commit/6f99017003 18:24
tellable6 lizmat, I'll pass your message to vrurg
18:27 sena_kun joined 18:29 Altai-man_ left
lizmat 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
Geth rakudo: 41568cb73e | (Elizabeth Mattijsen)++ | src/core.c/Raku.pm6
Add Raku.revision and Raku.at-revision

This encapsulates the nqp::getcomp("Raku").language_version logic into a method that just returns the letter (revision) and a method that takes a revision letter (at-revision) to returns True if the current language revision is at least at that level.
Names are up for bike-shedding.
rakudo: 1c94538e61 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6
Check language revision using new Raku.at-revision method
rakudo: lembark++ created pull request #3716:
Perl wrapper shebang
vrurg lizmat: I have commented the commit. Brief bottom line: things are more complicated when it comes to method behaviors. 19:57
tellable6 2020-05-23T22:44:48Z #raku <melezhik> vrurg RakuDist test for Vikna fails - gist.github.com/melezhik/627cac88f...c4e66587a9 . HTH
2020-05-24T14:46:19Z #raku-dev <lizmat> vrurg I thought we had a way to check in a core.c file if we did a "use v6.e.PREVIEW" ?
2020-05-24T14:47:14Z #raku-dev <lizmat> vrurg I naively assumed something like CORE-SETTING-REV ge "e" would work :-(
2020-05-24T18:24:44Z #raku-dev <lizmat> vrurg nvm, figured it out in github.com/rakudo/rakudo/commit/6f99017003
vrurg lizmat: Oh, with regard to checking in particular core revisions: yes, but I'm afraid it only works for 6.e 19:58
tbrowder 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:00
vrurg 6e: say CORE-SETTING-REV; 20:01
e: say CORE-SETTING-REV; 20:02
evalable6 d
heh, do we have a bot with 6.e default?
lizmat: anyway, 6.e PseudoStash supports CORE::v6? namespace.
lizmat use example? 20:03
tobs sourceable6: help 20:08
sourceable6 tobs, Like this: sourceable6: 42.base(16) # See wiki for more examples: github.com/Raku/whateverable/wiki/Sourceable
vrurg lizmat: of CORE::v6?
lizmat yes
tobs s: Match cmp Match 20:09
sourceable6 tobs, github.com/rakudo/rakudo/blob/1c94...er.pm6#L10
vrurg lizmat: use v6.e.PREVIEW; say CORE::v6c::CORE-SETTING-REV # c
lizmat Ah, I see... so, for the time being, we could use "CORE::v6e" 20:11
not being Nil as a semaphore ? 20:12
vrurg lizmat: actually, revision() method is better be implemented as 'CLIENT::CLIENT::CORE-SETTING-REV' 20:13
lizmat why 2x CLIENT ?
vrurg To get caller's caller context. 20:14
vrurg is thinking faster than writing...
lizmat ah, I see
vrurg 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:15
And sorry, it should be `CALLER::` for skip=0, `CALLER::CLIENT::` for skip=1. 20:17
lizmat 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
so you'd always want CALLER::CLIENT:: from within the revision method 20:21
vrurg 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.
lizmat but in your own code, revision would just be CORE-SETTINV-REV anyway ?
*SETTING 20:23
vrurg lizmat: yes, but I'd keep this symbol closer to implementation detail thing than to a public interface.
lizmat ok
so maybe the default for skip should be 1 then
vrurg 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
lizmat yeah, they shouldn't be in roast
vrurg lizmat: maybe rename the method? Make it less confusiing?
lizmat check for whatever methods we put in Raku would be in roast
sure... we still have a month before release :-) 20:25
caller-revision-at ?
vrurg lizmat: client-revision for that matter is the best. 20:26
20:26 Altai-man_ joined
vrurg Say, it could be considered as `method revision(:$client)` when $client is True 20:27
vrurg is away for a while. 20:29
20:29 sena_kun left
lizmat .tell vrurg perhaps it makes more sense to put the "at-revision" method on pseudo=stash ? 20:45
tellable6 lizmat, I'll pass your message to vrurg
lizmat method foo() { if CALLER::.at-revision("e") { new semantics } else { old semantics }
Geth rakudo: 800878a1b6 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6
Add a IO::Path.child(List) candidate

For those cases like $?FILE.IO.parent(2).child(<foo bar baz>), so that we do not encode IO::Spec semantics into strings.
21:23 guifa2 joined
vrurg 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:28
Geth ¦ problem-solving: vrurg assigned to jnthn Issue More language revision related questions needs resolving. github.com/Raku/problem-solving/issues/199 21:37
21:46 Altai-man_ left 22:15 Altai-man_ joined 22:21 Altai-man_ left
Geth ¦ rakudo: lizmat self-assigned DateTime string parsed incorrectly github.com/rakudo/rakudo/issues/3717 22:25
lizmat but that will be for tomorrow
vrurg lizmat: o/ 22:26
.tell melezhik thanks! I overlooked a strange copy/paste issue. 22:29
tellable6 vrurg, I'll pass your message to melezhik
22:36 lucasb left 23:34 guifa2 left