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
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
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
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
[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
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
AlexDaniel nine: have you tried installing Inline::Perl5 on 2020.02.1 ? 12:56
nine Certainly, why?
AlexDaniel nine: gist.github.com/AlexDaniel/0f80236...6ef917f8a2 12:57
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
lizmat argh. /me forgot to do make test 13:54
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
Geth rakudo: Kaiepi++ created pull request #3649:
Add a parents metamethod to Metamodel::ParametricRoleGroupHOW
16:33
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
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
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
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