[00:15] *** oddp left
[00:43] *** leont left
[00:47] <vrurg> JVM build is broken again. :(

[00:47] <tellable6> 2020-07-22T06:47:44Z #raku-dev <Xliff> vrurg For you? Available always. Email me at [email@hidden.address] if I'm not active on IRC

[00:51] <timotimo> aw crap, the JVM doesn't have Uni

[00:54] <timotimo> so we'll need a big if !moar with the older version, since i imagine js might also not have the Uni type?

[00:54] <timotimo> i'm going to bed right now, perhaps someone else can get to it while i'm down

[00:57] <vrurg> Hope someone would do it. I don't want to merge in a PR without successful CIs.

[00:57] <timotimo> k maybe it'll only take a minute

[01:03] <timotimo> patch has this pretty cool flag that makes #ifdef blah and #ifndef bl??h for you

[01:05] <timotimo> actually that gives an unreadable mess as a result

[01:05] <timotimo> so maybe i'll just concatenate both versions

[01:07] *** nebuchadnezzar left
[01:10] <Geth_> ¦ rakudo: 43bd739ffc | (Timo Paulssen)++ | src/core.c/Rakudo/Internals/JSON.pm6

[01:10] <Geth_> ¦ rakudo: restore old from-json for backends without Uni (JVM)

[01:10] <Geth_> ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/43bd739ffc

[01:10] <timotimo> let's hope azure will give the result quickly

[01:11] <vrurg> timotimo: It's not that of an emergency! Take a rest!

[01:11] <timotimo> ha

[01:11] * vrurg is anyway busy trying to clean up some of our roast mess.

[01:12] <vrurg> Apparently, we have a bunch of passing tests outside of spectest.data.

[01:12] <timotimo> i'll go to bed and since it takes me a good bit to fall asleep anyway, i can look at the ci results later

[01:12] <timotimo> o/

[01:14] <vrurg> o/

[01:39] <Geth_> ¦ rakudo: vrurg++ created pull request #3818: Do some clean up related to roast

[01:39] <Geth_> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/3818

[02:44] <Geth_> ¦ roast/roast_654: 4a92caca23 | (Vadim Belman)++ | 3 files

[02:44] <Geth_> ¦ roast/roast_654: Improve documentation

[02:44] <Geth_> ¦ roast/roast_654: 

[02:44] <Geth_> ¦ roast/roast_654: - Extend CONTRIBUTING.md with information about problem-solving repo,

[02:44] <Geth_> ¦ roast/roast_654: correct references, and added more sanity to test examples. Got rid of

[02:44] <Geth_> ¦ roast/roast_654: more `perl6` notions.

[02:44] <Geth_> ¦ roast/roast_654: 

[02:44] <Geth_> ¦ roast/roast_654: - Cleaned up spectest.data header from all Rakudo-specific information.

[02:44] <Geth_> ¦ roast/roast_654: Replaced RT references with GitHub.

[02:44] <Geth_> ¦ roast/roast_654: 

[02:44] <Geth_> ¦ roast/roast_654: Fixes #654

[02:44] <Geth_> ¦ roast/roast_654: review: https://github.com/Raku/roast/commit/4a92caca23

[02:44] <Geth_> ¦ roast: vrurg++ created pull request #656: Improve documentation

[02:44] <Geth_> ¦ roast: review: https://github.com/Raku/roast/pull/656

[02:55] <vrurg> My time to give the eyes some break.

[03:04] *** Xliff joined
[03:12] <[Coke]> vrurg++

[04:10] *** Xliff left
[04:37] *** lucasb left
[04:52] *** nebuchadnezzar joined
[07:00] *** samcv left
[07:27] *** samcv joined
[07:28] <lizmat> timotimo: maybe we should drop the updated JSON::Fast in the core...  the idea is to remove it anyway?

[08:01] *** leont joined
[08:18] <lizmat> another thought: since the JVM doesn't have NFG, isn't it so that .ords on the JVM is basically .NFD ?

[08:18] <lizmat> or would that be .NFC ?  or undecided ?

[09:01] *** oddp joined
[10:42] <lizmat> m: class A:ver<1.2.3> { }; dd A.^ver   # nice

[10:42] <camelia> rakudo-moar 43bd739ff: OUTPUT: «v1.2.3␤»

[10:42] <lizmat> m: class A { ... }; class A:ver<1.2.3> { }; dd A.^ver    # huh ?

[10:42] <camelia> rakudo-moar 43bd739ff: OUTPUT: «Mu␤»

[10:42] <lizmat> looks like stubbing a class makes it lose meta-info 

[10:48] *** sena_kun joined
[10:52] *** Xliff joined
[10:57] <jnthn> lizmat: I think the info has to be on the stub

[10:58] <jnthn> Since that's the point the meta-object starts existing

[10:58] <jnthn> It's certainly lta that it's silently dropped later though

[10:58] <lizmat> I thought that was only necessary for the REPR ?

[10:59] <lizmat> anyways, why wouldn't ver / auth / api not be set if they weren't set on the stub yet ?

[10:59] <lizmat> *would

[10:59] <jnthn> Because they are arguments to .new on the meta-object, and that happens at the point it is stubbed

[11:00] <jnthn> I think they're currently then immutable from that point on

[11:00] <jnthn> Though I'm not totally sure

[11:00] <jnthn> Hm, name isn't actaully

[11:00] <jnthn> Anyway, it's fixable if so desired

[11:00] <jnthn> (The repr case isn't though)

[11:00] <lizmat> yeah, I'll make an issue

[11:07] <timotimo> lizmat: what do you mean?

[11:08] <timotimo> oh, now the JSON::Fast module will also not work on the jvm, huh

[11:08] <lizmat> timotimo: yeah, :-(

[11:08] <timotimo> d'oh

[11:08] <lizmat> so maybe just revert it and let the Internals parser die a slow death

[11:09] <timotimo> why is the plan to remove it?

[11:09] <lizmat> and perhaps change it so that the core will use JSON::Fast if it is installed ?

[11:09] <lizmat> why was it made Internals only ?

[11:09] <timotimo> it was deemed to be for module-space, but it's also needed to load modules?

[11:29] <moritz> because it's not part of the language?

[11:31] <lizmat> afk for a few hours&

[12:13] *** Altai-man_ joined
[12:16] *** sena_kun left
[13:23] *** Xliff left
[13:37] *** [Tux] left
[13:44] *** [Tux] joined
[13:47] *** MasterDuke joined
[14:00] *** maggotbrain left
[14:01] *** maggotbrain joined
[14:14] *** sena_kun joined
[14:16] *** Altai-man_ left
[14:22] *** Kaiepi left
[14:22] *** Kaiepi joined
[14:23] *** Kaiepi left
[14:24] *** Kaiepi joined
[14:25] *** Kaiepi left
[14:27] <tbrowder> lizmat: got error installing Hash2Class. couldn't find bin/skeleton. think yr meta file needs changing or create a resources/bin in yr tree and copy bin/skeleton there,

[14:27] <Geth_> ¦ roast: 4a92caca23 | (Vadim Belman)++ | 3 files

[14:27] <Geth_> ¦ roast: Improve documentation

[14:27] <Geth_> ¦ roast: 

[14:27] <Geth_> ¦ roast: - Extend CONTRIBUTING.md with information about problem-solving repo,

[14:27] <Geth_> ¦ roast: correct references, and added more sanity to test examples. Got rid of

[14:27] <Geth_> ¦ roast: more `perl6` notions.

[14:27] <Geth_> ¦ roast: 

[14:27] <Geth_> ¦ roast: - Cleaned up spectest.data header from all Rakudo-specific information.

[14:27] <Geth_> ¦ roast: Replaced RT references with GitHub.

[14:27] <Geth_> ¦ roast: 

[14:27] <Geth_> ¦ roast: Fixes #654

[14:27] <linkable6> ROAST#654 [closed]: https://github.com/Raku/roast/issues/654 spectest.data in roast needs some updates

[14:27] <Geth_> ¦ roast: review: https://github.com/Raku/roast/commit/4a92caca23

[14:27] <Geth_> ¦ roast: 38a907e027 | (Vadim Belman)++ (committed using GitHub Web editor) | 3 files

[14:27] <Geth_> ¦ roast: Merge pull request #656 from Raku/roast_654

[14:27] <Geth_> ¦ roast: 

[14:27] <Geth_> ¦ roast: Improve documentation

[14:27] <Geth_> ¦ roast: review: https://github.com/Raku/roast/commit/38a907e027

[14:28] <Geth_> ¦ rakudo/master: 5 commits pushed by (Vadim Belman)++

[14:30] <Geth_> ¦ rakudo/master: 1e20dfcad5 | Fix scripts to be compatible with the current build system

[14:31] *** Geth_ left
[14:32] *** Geth joined
[14:37] *** vrurg left
[14:38] *** vrurg joined
[14:45] <Geth> ¦ roast: 347f029402 | MasterDuke17++ (committed using GitHub Web editor) | spectest.data

[14:45] <Geth> ¦ roast: Some minor editing cleanup to comments

[14:45] <Geth> ¦ roast: review: https://github.com/Raku/roast/commit/347f029402

[14:53] <Geth> ¦ roast: efd6269bb7 | MasterDuke17++ (committed using GitHub Web editor) | CONTRIBUTING.md

[14:53] <Geth> ¦ roast: Some minor editing cleanup

[14:53] <Geth> ¦ roast: review: https://github.com/Raku/roast/commit/efd6269bb7

[14:56] <lizmat> tbrowder: interesting...

[15:02] *** eaterof joined
[15:02] <lizmat> .tell tbrowder A fixed version of Hash2Class is on its way to CPAN, thanks for the headsup!

[15:02] <tellable6> lizmat, I'll pass your message to tbrowder

[15:03] <tbrowder> yr wlcm, see name clash discussion on #raku, pls

[15:03] *** eater left
[15:08] <[Tux]> For twitter, how do I get more digits on «perl6 -e 'say τ'»

[15:08] <[Tux]> m: say τ

[15:08] <camelia> rakudo-moar 3843a1e89: OUTPUT: «6.283185307179586␤»

[15:09] * [Tux] will use "raku" instead of "perl6" on twitter

[15:11] *** MasterDuke left
[15:11] <[Tux]> Rakudo version 2020.07-41-g3843a1e89 - MoarVM version 2020.07-3-gb56e62f18

[15:11] <[Tux]> csv-test-xs-20      0.392 -  0.397

[15:11] <[Tux]> csv-ip5xs           0.788 -  0.799

[15:11] <[Tux]> test-t --race       0.835 -  1.019

[15:11] <[Tux]> test-t              2.100 -  2.147

[15:11] <[Tux]> test                7.711 -  7.839

[15:11] <[Tux]> csv-ip5xs-20        7.971 -  8.237

[15:11] <[Tux]> test-t-20 --race    9.106 -  9.503

[15:11] <[Tux]> csv-parser         25.064 - 26.640

[15:12] <[Tux]> test-t-20          33.637 - 34.055

[15:12] <[Coke]> the constant is defined as: my constant tau = 6.28318_53071_79586_476e0;

[15:13] <[Coke]> ... I can't get it to output the 476 at the end.

[15:13] <[Coke]> m: sprintf("%0.20f", tau).say

[15:13] <camelia> rakudo-moar 3843a1e89: OUTPUT: «6.28318530717958600000␤»

[15:17] <lizmat> [Tux]: 2.100 -  2.147   that feels rather high ?

[15:19] <[Tux]> me too, but there was no teams session.

[15:20] <[Tux]> https://twitter.com/m_ou_se/status/1285991222088208385 - feel free to add

[15:20] <[Tux]> I have to go now, sorry

[15:21] <[Coke]> tux++

[15:40] <timotimo> [Tux]: ideally, #rakulang if you tag it

[15:47] <[Coke]> I replied with #rakulang

[15:47] <[Coke]> not sure if that'll help or not. :)

[15:51] *** travis-ci joined
[15:51] <travis-ci> Rakudo build errored. Vadim Belman 'Merge pull request #3818 from vrurg/roast_654

[15:51] <travis-ci> https://travis-ci.org/rakudo/rakudo/builds/711116707 https://github.com/rakudo/rakudo/compare/43bd739ffcf5...09020c1ca4fd

[15:51] *** travis-ci left
[15:59] <lizmat> m: sub a() { }; &a.set_why("foo"); dd &a.WHY   # shouldn't this just work ?

[15:59] <camelia> rakudo-moar 3843a1e89: OUTPUT: «No such method 'set_docee' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»

[16:03] <[Coke]> why do we have a "set_why" that's all lowercase with an underscore?

[16:04] <lizmat> been that way for at least 5 years, according to git blame

[16:05] <[Coke]> (same with set_docee), guessing those are old. :)

[16:09] <[Coke]> looks like it's expecting a particular type of POD object. we should probably at least declare that set_why takes something that implements the role/class it's expecting.

[16:09] <[Coke]> (and maybe add a Str target that creates that object as if it were a small pod block)

[16:13] *** Altai-man_ joined
[16:14] <lizmat> R#3819

[16:14] <linkable6> R#3819 [open]: https://github.com/rakudo/rakudo/issues/3819 Classes with a stub silently ignore class adverb decorations

[16:14] <lizmat> R#3820

[16:14] <linkable6> R#3820 [open]: https://github.com/rakudo/rakudo/issues/3820 Cannot use simple string to set the WHY on a Block

[16:16] *** sena_kun left
[16:20] <[Coke]> should we have one for updating method names with underscores?

[16:26] <[Coke]> should r#3820 go through problem-solving? (new method?)

[16:26] <linkable6> R#3820 [open]: https://github.com/rakudo/rakudo/issues/3820 Cannot use simple string to set the WHY on a Block

[18:15] *** sena_kun joined
[18:16] *** Altai-man_ left
[18:51] *** Kaiepi joined
[19:12] <gfldex> make spectests fails consistantly with https://gist.github.com/gfldex/c473eae3eb09521a76767e69072abc19

[19:14] <sena_kun> gfldex, odd, CI is green. Can you please share some details about your system?

[19:15] <lizmat> maybe ETOOMANYFILEHANDLES ?

[19:16] <timotimo> oh, hm, theoretically we could check for ETOOMANYFILES or whatever everywhere we can see it and give a more helpful error message or warning or whatever directly from moarvm

[19:16] <gfldex> Linux dexhome 5.4.0-4-amd64 #1 SMP Debian 5.4.19-1 (2020-02-13) x86_64 GNU/Linux

[19:17] <gfldex> model name      : AMD Ryzen Threadripper 1900X 8-Core Processor

[19:18] <gfldex> I will try a different machine with a clean rakudo pull in a bit.

[19:26] *** sena_kun left
[19:27] *** sena_kun joined
[19:40] <bartolin> a quick question: do you see any problem with using NQP's gen-jvm-properties.pl to add more info to nqp::backendconfig for the JVM backend? For instance:

[19:40] <bartolin> r: use nqp; for <name osname osvers> { say nqp::backendconfig(){$_} }

[19:41] <gfldex> same result on a different box

[19:41] <camelia> rakudo-moar 3843a1e89: OUTPUT: «moar␤linux␤4.12.14-lp151.28.52-default␤»

[19:41] <camelia> ..rakudo-jvm 08b449e1a: OUTPUT: «(Any)␤(Any)␤(Any)␤»

[19:53] <bartolin> some things are available in nqp::jvmgetproperties, so there would be some redundancy

[19:54] <bartolin> j: use nqp; say nqp::jvmgetproperties()<os.name>

[19:54] <camelia> rakudo-jvm 08b449e1a: OUTPUT: «Linux␤»

[19:59] <ugexe> j: say $*KERNEL.name

[19:59] <camelia> 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.␤»

[19:59] <ugexe> (for jvm that shells out to uname)

[20:01] <ugexe> m: say $*KERNEL.version

[20:01] <camelia> rakudo-moar 3843a1e89: OUTPUT: «v1.SMP.Fri.Dec.6.13.50.27.UTC.2019.8.f.4.a.495␤»

[20:01] <ugexe> m: say $*KERNEL.release

[20:01] <camelia> rakudo-moar 3843a1e89: OUTPUT: «4.12.14-lp151.28.36-default␤»

[20:02] <ugexe> although if you are just trying to track those items at build time then adding other properties sounds reasonable

[20:08] <bartolin> I thought it would be possible to remove some special cases in rakudo (like this one: https://github.com/rakudo/rakudo/blob/3843a1e893/src/core.c/VM.pm6#L110 )

[20:10] <bartolin> *be possible and simplifies things

[20:11] <ugexe> i wonder why it acts one way for :U and another for :D... that seems off

[20:13] * bartolin didn't even spot that (it was just one result from grep)

[20:13] *** Altai-man_ joined
[20:16] *** sena_kun left
[20:16] <bartolin> it was introduced with https://github.com/rakudo/rakudo/commit/e79d749864 (the commit message talks about the difference)

[20:17] <ugexe> yeah i saw it was intentional. however it still seems off to do that unless its some hack for the build to work

[20:21] <bartolin> anyway, thanks for looking. I think, I'll prepare a PR to add a few items to nqp::backendconfig.

[20:37] *** Altai-man_ left
[20:38] *** sena_kun joined
[20:40] <Kaiepi> i'm working on porting my moarvm changes for problem-solving #111 to the jvm now

[20:40] <Kaiepi> once i'm certain the api i have atm will work there as well, the solution should be pr-ready

[20:58] <tbrowder> ugexe: does zef warn about bin files overwriting an existing file?

[21:00] <tbrowder> if not, what do you recommend doing about the problem of dup bin files being installed by different host modules?

[21:12] <ugexe> zef doesn't overwrite anything

[21:16] <ugexe> as for dupe bin files being installed by different modules... how would you do it for programs outside of raku? because PATH isn't owned by raku

[21:18] <ugexe> remember all files are sha1-d, including the original bin scripts. CURI installs a shim for a given bin name (so two dists with a bin/foo there is only one `foo` shim), and that shim loads whatever bin script sha1 file has the highest version

[21:19] <ugexe> even then, thats just at a single CURI and you can have many CURIs. so even though can shadow each other

[21:19] <ugexe> and as mentioned earlier -- all sorts of stuff outside of raku-land can shadow it

[21:21] <ugexe> As for the unofficial don't dont this answer -- the shims add in parsing for `--auth` and `--ver` so you can theoretically get a specific version or auth instead of highest version. HOWEVER that needs to go away because it means any raku program cant have --ver or --auth in their bin scripts

[21:22] <ugexe> https://github.com/rakudo/rakudo/blob/3843a1e893211d82349f98f1f30d85c98276d372/src/core.c/CompUnit/Repository/Installation.pm6#L54-L56

[21:23] <ugexe> but honestly we need to get rid of that and use a ENV variable or something

[21:27] <ugexe> or perhaps just call them --rakudo-bin-version --rakudo-bin-auth etc (to free up stuff users will actually call their variables like `:$ver`)

[22:03] *** squashable6 left
[22:05] *** squashable6 joined
[22:06] *** Xliff joined
[22:13] *** Altai-man_ joined
[22:16] *** sena_kun left
[22:45] *** leont left
[22:56] <tbrowder> ugexe: thanks.

