AlexDaniel Kaiepi: hello 00:01
Kaiepi: maybe you want to join the Raku org on github… :) 00:02
I've sent the invitation again 00:03
Kaiepi joined
thanks
Geth roast: d8a70faf14 | (Ben Davies)++ | S14-roles/mixin.t
Add test for typechecking of mixins of routines against Callable
00:14
MasterDuke jnthn: lizmat++ found a nice fix for the shaped native array issue, but the new github.com/rakudo/rakudo/issues/3560 bisects to a big moarvm merge you did back in 2017 00:36
lizmat Files=1305, Tests=111218, 205 wallclock secs (28.26 usr 8.37 sys + 2880.88 cusr 272.63 csys = 3190.14 CPU) 09:28
Geth rakudo: 0fba27d746 | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/SEQUENCE.pm6
Streamlining Rakudo::SEQUENCE.iterator (1/N)

  - use binding where possible
  - use nqp::eqaddr instead of =:= or ===
  - use nqp::istype instead of ~~
  - check for Failure, instead of letting .self do the throwing
  - use topic inside worker subs
09:45
rakudo: d68fe5eb02 | (Elizabeth Mattijsen)++ | src/core.c/IterationBuffer.pm6
Add IterationBuffer.Slip

Turns out this will become very handy in streamlining Rakudo::SEQUENCE
09:59
lizmat tyil: looks like the module announcer is awol again 10:11
tyil ack 10:12
tellable6 2020-03-16T11:10:51Z #raku <chloekek> tyil: I heared you’re on Mastodon. Can I follow you?
2020-03-18T09:17:27Z #raku <patrickb> tyil Do you need help with the rakudo star docker image? jjatria is willing to help!
tyil heh
.tell chloekek of course, I'm @tyil@soc.fglt.nl 10:13
tellable6 tyil, I'll pass your message to chloekek
tyil .tell patrickb sure thing,
tellable6 tyil, I'll pass your message to patrickb
tyil '
wops
.tell patrickb you can refer jjatria to [email@hidden.address] if he wants to contact me, or reach out on irc :> 10:14
tellable6 tyil, I'll pass your message to patrickb
tyil I was wondering how I missed messages, since its not like me to miss highlights on irc, but I see the .tell is shared across the raku channels 10:18
v convenient tbh
MasterDuke nqp: my @a := nqp::list_i(0,1,2,3,4,5,6,7,8,9); my $b; my int $c := 0; my num $s := nqp::time_n(); while $c++ < 100_000_000 { $b := $c if @a }; say(nqp::sub_n(nqp::time_n(), $s)); say($b) 11:24
camelia 2.0757856369018555
100000000
MasterDuke nqp: my @a := nqp::list_i(0,1,2,3,4,5,6,7,8,9); my $b; my int $c := 0; my num $s := nqp::time_n(); while $c++ < 100_000_000 { $b := $c if nqp::elems(@a) }; say(nqp::sub_n(nqp::time_n(), $s)); say($b)
camelia 1.2959961891174316
100000000
MasterDuke nqp: my @a := nqp::list_i(); my $b; my int $c := 0; my num $s := nqp::time_n(); while $c++ < 100_000_000 { $b := $c if @a }; say(nqp::sub_n(nqp::time_n(), $s)); say($b)
camelia 1.2075092792510986
MasterDuke nqp: my @a := nqp::list_i(); my $b; my int $c := 0; my num $s := nqp::time_n(); while $c++ < 100_000_000 { $b := $c if nqp::elems(@a) }; say(nqp::sub_n(nqp::time_n(), $s)); say($b)
camelia 0.39176368713378906
lizmat nqp: my @a := nqp::list_i(); my $b; my int $c := -1; my num $s := nqp::time_n(); while ++$c < 100_000_000 { $b := $c if nqp::elems(@a) }; say(nqp::sub_n(nqp::time_n(), $s)); say($b) 11:25
camelia 0.36582326889038086
lizmat prefix increment faster still :) 11:26
MasterDuke true, but i was really comparing `if @a` vs `if nqp::elems(@a)`
lizmat oki :-) 11:35
looks like you've found another winner :-)
fwiw, spectest was down significantly, which may well have been caused by faster parsing
MasterDuke these are really pico-optimizations though, less than 1s difference for 100m calls 11:37
lizmat they're not so pico if I see results in make spectest 11:39
Geth rakudo: 1d57d17da0 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/MethodContainer.nqp
Hide methods that are an implementation detail

  - add a :implementation-detail parameter to ^methods
  - if set, will *also* show methods that are implementation details
  - by default, will not produce such methods
13:04
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Streamlining Rakudo::SEQUENCE.iterator (1/N) 13:06
travis-ci.org/rakudo/rakudo/builds/665138020 github.com/rakudo/rakudo/compare/a...ba27d74685
lizmat hmmm.. 3 jobs failed to run the build script 13:07
MasterDuke yeah, happened on a commit or two of mine. travis seems to be acting up more than usual 13:08
lizmat maybe overload... so many home workers :-)
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Streamlining Rakudo::SEQUENCE.iterator (1/N) 13:13
travis-ci.org/rakudo/rakudo/builds/665138020 github.com/rakudo/rakudo/compare/a...ba27d74685
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Add IterationBuffer.Slip 13:37
travis-ci.org/rakudo/rakudo/builds/665139571 github.com/rakudo/rakudo/compare/0...8fe5eb02cb
lizmat same 3 jobs: An error occurred while generating the build script. 13:37
seems the MacOS backend is borked 13:39
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Hide methods that are an implementation detail 13:54
travis-ci.org/rakudo/rakudo/builds/665173679 github.com/rakudo/rakudo/compare/d...57d17da09c
lizmat again, all MacOS builds 13:55
being on MacOS myself, and seeing that a re-configure works fine, going to assume that Travis is borked
m: m: use v6.c; say "foo" # looks like this is borked also 14:13
camelia 5===SORRY!5=== Error while compiling <tmp>
Too late to switch language version. Must be used as the very first statement.
at <tmp>:1
------> 3m: use v6.c7⏏5; say "foo" # looks like this is borke
lizmat m: use v6.c; say "foo" # looks like this is borked also
camelia Don't know setting RESTRICTED
at gen/moar/ModuleLoader.nqp:257 (/home/camelia/rakudo-m-inst-2/share/perl6/lib/Perl6/ModuleLoader.moarvm:previous_setting_name)
from gen/moar/ModuleLoader.nqp:261 (/home/camelia/rakudo-m-inst-2/share/perl6/lib/…
lizmat bisectable6: use v6.c # probably ok 14:26
bisectable6 lizmat, On both starting points (old=2015.12 new=1d57d17) the exit code is 0 and the output is identical as well
lizmat, Output on both points: «»
sena_kun hmm, I just did all spec tests (master, 6.c, 6.d) and it was fine? 14:27
s/just/a couple of hours ago/
lizmat sena_kun: it's related to the RESTRICTED setting 14:28
Geth rakudo: 0c36feb07d | (Elizabeth Mattijsen)++ | src/core.c/PseudoStash.pm6
PseudoStash introspection omits implementation detail

  - applies to .keys, .values, .kv, .pairs and .elems
  - specify :implementation-detail to include *all* entries
14:36
rakudo: 8fe30b9c9f | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/SEQUENCE.pm6
Streamlining Rakudo::SEQUENCE.iterator (2/N)

  - use &producer instead of $code
  - to improve readability
  - to improve pre-inlining performance
  - also remove some unneeded .defined tests
15:11
lizmat afk for a few hours&
nine releasable6: status
releasable6 nine, Next release in ≈7 days and ≈3 hours. 2 blockers. Changelog for this release was not started yet
nine, Details: gist.github.com/ca47dfe8b3da48e47c...d59810488d
sena_kun Release is next week. So fat it looks pretty ok, though we as usual have a number of regressed modules. The previous ticket was not resolved, so I'll update the blin data soon (hmm, why not start it right now instead of waiting evening). Resolving regressed modules and giving moarvm is in shape for a release, it's a wrap time then. 15:15
nine Why is github.com/rakudo/rakudo/issues/3559 a blocker for rakudo when it's apparently an issue with rakudo star's build system? 15:17
sena_kun s/fat/far/
travis-ci Rakudo build errored. Elizabeth Mattijsen 'PseudoStash introspection omits implementation detail 15:20
travis-ci.org/rakudo/rakudo/builds/665200174 github.com/rakudo/rakudo/compare/1...36feb07d8a
Altai-man_ re blocker: We should move the ticket to star repo, I think. But given our "once in a three month" release is broken for some system, I'd say we want to make a hotfix next month (this one) instead of leaving BSD with a break for another months. 15:21
Of course, if that's possible to do such a "hotfix" for star.
Altai-man_ As in, if there are volunteers with enough time on hands. 15:22
vrurg Altai-man_: theoretically, it is possible to stick to make on *BSD. It was rather problematic at some point due to OpenBSD make erh... specific. 15:24
But I'd rather not as use of GNU make is better for consistency. 15:25
Altai-man_ vrurg, I mean, if there is a doable workaround, we can suggest it and that's fine. Otherwise we broke a thing and why not find a solution this release and wrap in a star instead of leaving a ticket hanging around thinking "Star is released not so often, can fix it later". 15:27
vrurg Altai-man_: I understand. My point is that it could be fixed on rakudo side if we always use bsd make on *BSD. 15:28
I wouldn't be really happy with this way, but it's possible. 15:29
Altai-man_ I (one can argue for another point of view, of course) consider building issues ("It does not build _at all_") a critical bug, as well as reliable segfaults and stuff like that. More than some added technical debt (sadly). 15:30
Geth rakudo: 4c026ab83c | (Ben Davies)++ | src/Perl6/Metamodel/BUILDPLAN.nqp
Fix exception when mixing in roles that use `is built` at runtime

In this case, Metamodel::BUILDPLAN.create_BUILDPLAN would attempt to look up Mu through $*W when it no longer exists. Instead, HLLize a VMNull to get it.
15:38
Geth roast: 073986a8f5 | (Ben Davies)++ | S14-roles/mixin.t
Add test for mixins of roles that use "is built" at runtime
15:41
vrurg Altai-man_: I'll be afk. Too overloaded lately, but keeping my eye on that ticket. Maybe will have a few minutes later today to comment on it. 15:45
Altai-man_ vrurg, good luck! No really hurry yet, we have a week ahead.
travis-ci Rakudo build errored. Ben Davies 'Fix exception when mixing in roles that use `is built` at runtime 16:12
travis-ci.org/rakudo/rakudo/builds/665217106 github.com/rakudo/rakudo/compare/8...026ab83c24
[Tux] Rakudo version 2020.02.1-223-g1d57d17da - MoarVM version 2020.02.1-47-g3c3ad0678
csv-ip5xs0.695 - 0.696
csv-ip5xs-206.075 - 6.103
csv-parser23.748 - 24.774
csv-test-xs-200.360 - 0.362
test7.430 - 7.599
test-t1.919 - 1.949
test-t --race0.968 - 0.974
test-t-2031.141 - 32.389
test-t-20 --race9.811 - 9.862
16:36
Geth rakudo: 58fa99b2ae | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/SEQUENCE.pm6
Streamlining Rakudo::SEQUENCE.iterator (3/N)

  - use binding where possible
  - make lambda's use the default signature and $_
  - use WhateverCode where possible
20:59
Geth rakudo: cf6177efa7 | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/SEQUENCE.pm6
Streamlining Rakudo::SEQUENCE.iterator (4/N)

  - use ternaries in lambda's where possible
21:26
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Streamlining Rakudo::SEQUENCE.iterator (3/N) 21:27
travis-ci.org/rakudo/rakudo/builds/665304117 github.com/rakudo/rakudo/compare/4...fa99b2aeb6
lizmat MacOS still borked :-( 21:27
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Streamlining Rakudo::SEQUENCE.iterator (4/N) 22:01
travis-ci.org/rakudo/rakudo/builds/665312085 github.com/rakudo/rakudo/compare/5...6177efa7fe
Geth rakudo: 75c6ac349b | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/SEQUENCE.pm6
Streamlining Rakudo::SEQUENCE.iterator (5/N)

  - use "until" instead of "while !"
  - use nqp::eqaddr instead of =:=
  - use nqp::not_i instead of not
  - use && instead of and
  - use b.ACCEPTS(a) instead of a ~~ b
  - more binding instead of assigning
22:06
rakudo: 500dc6627b | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/SEQUENCE.pm6
Streamlining Rakudo::SEQUENCE.iterator (6/N)

  - use native int for stop / looped semaphores
22:23
Geth nqp: 6239081e95 | (Daniel Green)++ | 14 files
Convert `nqp::istrue` into `nqp::elems`

In the same vein as 75735628a16ba1c2243696623d679ff99c86e8bd, `if %hash` or `if @array` just ends up checking the number of elems in the hash or array, so doing it manually in places that get called a lot skips a lot of calls to MVM_coerce_istrue.
23:10
tyil a (reasonable) while ago, someone referred me to a very minimal (40 lines or so) sample of Raku code to install a module 23:12
Geth rakudo: 87226876a2 | (Daniel Green)++ | src/Perl6/World.nqp
Convert `nqp::istrue` into `nqp::elems`

See github.com/Raku/nqp/commit/6239081...9b0cd1fcbe for context.
tyil does that someone still know the link and could you please share it again :>
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Streamlining Rakudo::SEQUENCE.iterator (6/N) 23:13
travis-ci.org/rakudo/rakudo/builds/665324442 github.com/rakudo/rakudo/compare/7...0dc6627b0a
MasterDuke those two commits (the `nqp::istrue` related ones) reduce the number of MVM_coerce_istrue calls by 8 million when building rakudo 23:18
MasterDuke timotimo: any suggestions for that MVM_frame_find_lexical_by_name problem? 23:29
travis-ci Rakudo build errored. Daniel Green 'Convert `nqp::istrue` into `nqp::elems` 23:58
travis-ci.org/rakudo/rakudo/builds/665335989 github.com/rakudo/rakudo/compare/5...226876a2d0