00:05 hungrydonkey joined 01:53 pamplemousse joined 02:14 tejr left 02:15 pamplemousse left 02:16 pamplemousse joined 02:20 pamplemousse left 02:26 pamplemousse joined, AlexDani` joined 02:28 AlexDaniel left 04:02 ggoebel__ left 04:13 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined 04:18 pamplemousse left 05:50 hungryd85 joined 05:53 hungrydonkey left 05:55 hungrydonkey joined 05:57 hungryd85 left 06:25 hungryd23 joined 06:28 hungrydonkey left 06:36 hungrydonkey joined 06:39 hungryd23 left 07:07 Kaiepi left 07:08 Kaiepi joined 07:27 hungryd47 joined, hungrydonkey left 08:27 sena_kun joined 08:56 Altai-man_ joined 08:58 sena_kun left 08:59 Geth left, Geth joined
SmokeMachine m: “.”.IO.watch.tap: &say; “./bla”.IO.open(:w); sleep 1 09:00
camelia Failed to open file /home/camelia/bla: Permission denied
in block <unit> at <tmp> line 1
SmokeMachine m: “/tmp”.IO.watch.tap: &say; “/tmp/bla”.IO.open(:w); sleep 1
camelia /tmp/bla: FileRenamed
<tmp>: FileChanged
SmokeMachine should it be working on MacOS?
sorry.. it is working... 09:01
09:09 unclechu joined 09:30 AlexDaniel` joined 10:09 lizmat_ joined 10:11 lizmat left
Geth rakudo: 063bfa057d | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Iterator.pm6
R:I.ReifiedList returns a PredictiveIterator
10:19
rakudo: fcda03ba4d | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Iterator.pm6
Remove unneeded boxing from count-onlys
10:23 lizmat_ is now known as lizmat
Kaiepi so a term i see a lot in Perl6::Actions and Perl6::Optimizer is "lowered". what exactly does this mean? 10:51
a pr i want to make has to do with variables not being lowered when i assume they should be, which i'm assuming isn't a good thing, but that's a lot of assumptions to be making 10:52
10:57 sena_kun joined
timotimo lowered is either a) when instead of a general implementation being called with some options, we generate some code in place of the call or b) what used to be a lexical variable turns into a much cheaper local variable 10:57
i guess you could say something is moved from a "more powerful" to a "less powerful" construct 10:58
10:58 Altai-man_ left 11:08 ggoebel__ joined
[Tux] Rakudo version 2020.02.1-357-g5610416c8 - MoarVM version 2020.02.1-159-g5863b0235
csv-ip5xs0.916 - 0.965
csv-ip5xs-209.616 - 10.123
csv-parser26.052 - 26.684
csv-test-xs-200.385 - 0.387
test8.127 - 8.150
test-t2.773 - 2.871
test-t --race1.159 - 1.169
test-t-2048.250 - 49.441
test-t-20 --race13.544 - 13.959
11:11
Kaiepi the latter i assume would make the pr be worth making then, i think timotimo 11:18
timotimo depends on the circumstances under which they currently are prevented from being lowered 11:21
we have to be careful, since any possibility of accessing a lexical from an inner block or closure means we can not lower it, otherwise it'd be a bug 11:22
Geth rakudo: 3ca380224d | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Iterator.pm6
Add R:I.ReifiedListReverse

An iterator that produces the elements from a reified list from the end rather than from the beginning.
11:43
rakudo: 270cc27559 | (Elizabeth Mattijsen)++ | src/core.c/List.pm6
List.reverse now uses R:I.ReifiedListReverse

This saves one (potentially large) IterationBuffer allocation, plus a lot of needless work copying values over.
rakudo: cea0fc78d1 | (Elizabeth Mattijsen)++ | src/core.c/Seq.pm6
Give Seq its own .reverse using R:I.ReifiedListReverse

This bypasses the ordinary List creation with all of its overhead and just create an IterationBuffer directly and then iterate from the end.
timotimo cool 11:46
Geth rakudo: 4025ca4377 | (Elizabeth Mattijsen)++ | src/core.c/Seq.pm6
Make sure Seq.reverse fails on lazy iterators

That was one thing the previous Seq.list.reverse path did do, but now we check without trying to reify.
12:06
12:08 evalable6 left, linkable6 left 12:09 evalable6 joined 12:10 linkable6 joined
nine Looks like repl.t and 03-errors.t are consistently failing now build.opensuse.org/package/live_bu...5.2/x86_64 12:31
lizmat: CircleCI seems to think so, too: circleci.com/gh/rakudo/rakudo/5897 12:32
12:49 pamplemousse joined 12:56 Altai-man_ joined, ggoebel__ left
AlexDaniel nine: have you tried installing Inline::Perl5 on 2020.02.1 ? 12:56
nine Certainly, why?
12:57 ggoebel joined
AlexDaniel nine: gist.github.com/AlexDaniel/0f80236...6ef917f8a2 12:57
12:58 sena_kun left
nine Odd...it should get that attribute from Perl6::Metamodel::C3MRO: github.com/rakudo/rakudo/blob/mast...MRO.nqp#L3 13:01
AlexDaniel nine: I think it's fine on master, so I'll just switch back to that, but just wanted to let you know 13:04
13:12 ggoebel left 13:17 ggoebel joined
lizmat argh. /me forgot to do make test 13:54
14:12 [Tux] left 14:42 [Tux] joined 14:57 sena_kun joined 14:58 Altai-man_ left
Geth rakudo: 447b396f8a | (Elizabeth Mattijsen)++ | src/core.c/List.pm6
Check reified before sending it off to R:I

Turns out, something in the bowels of the module loader is creating an empty String object without setting the $!reified attribute, and calls .reverse on it. In the old code, this would be caught by the conditional: the new code didn't do that, assuming it would be handled inside R:I. Restored the old situation, but still calling the new ReifiedListReverse iterator.
This fixes test failures as seen in CircleCI and friends.
16:20
16:27 cognomin_ joined 16:30 cognominal left
Geth rakudo: Kaiepi++ created pull request #3649:
Add a parents metamethod to Metamodel::ParametricRoleGroupHOW
16:33
16:56 Altai-man_ joined 16:58 sena_kun left 17:07 hungryd47 left 17:22 Geth left 17:24 travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Check reified before sending it off to R:I 17:24
travis-ci.org/rakudo/rakudo/builds/681573952 github.com/rakudo/rakudo/compare/4...7b396f8a28
17:24 travis-ci left, Geth joined 18:27 cognominal joined 18:30 cognomin_ left 18:35 squashable6 left 18:38 squashable6 joined 18:56 sena_kun joined 18:58 Altai-man_ left
Geth rakudo: 48d3a7f8f9 | (Elizabeth Mattijsen)++ | src/core.c/Lock/Async.pm6
Fix grammo in comment
19:37
rakudo: e0336d52ab | (Elizabeth Mattijsen)++ | src/core.c/Supply-coercers.pm6
Make Supply.grab a few percent faster

Use an IterationBuffer as the cache, and nqp::push rather than HLL push. Saves 1 Scalar and 1 BOOThash per value emitted.
19:53
rakudo: 4339073baf | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Use .skip instead of [1..*]

The [1..*] first caches the Seq, then creates a List out of the given indices, and the creates a Seq out of that. .skip just loses one value from the Seq while returning it, so that's much more efficient.
20:13
20:16 finsternis left 20:17 finsternis joined
Geth rakudo: cfc6cc3c6f | (Elizabeth Mattijsen)++ | src/core.c/Supply-coercers.pm6
Use ever so slightly more efficient WhateverCodes

And actually improve the readability
20:33
rakudo: 33f41966cf | (Elizabeth Mattijsen)++ | src/core.c/Supply-coercers.pm6
Use a smarter semaphore in Supply.squish

Since foo.WHICH can never produce an nqp::null, use nqp::null as a semaphore to indicate the first value has not yet been seen. Removes the need for a native integer (check) for each received value.
20:54
20:56 Altai-man_ joined 20:58 Kaiepi left, sena_kun left, Kaiepi joined
Geth ¦ problem-solving: Kaiepi assigned to jnthn Issue A better MOP API for wrapper kinds could exist github.com/Raku/problem-solving/issues/180 21:03
21:14 pamplemousse left 22:40 Kaiepi left 22:49 Altai-man_ left 23:15 Kaiepi joined 23:54 guifa2 joined