samcv .tell pmuritas that is a little bit complex. simply see this table unicode.org/reports/tr10/#Comparis...able_Table 00:22
yoleaux samcv: I'll pass your message to pmuritas.
samcv .tell pmuritas the full definition is complex, but non-ignorable just means nothing is ignored except the baseline levels of the UCD spec 00:23
yoleaux samcv: I'll pass your message to pmuritas.
MasterDuke samcv: think you mean pmurias 00:25
samcv oh yes. that 00:26
.tell pmurias that is a little bit complex. simply see this table unicode.org/reports/tr10/#Comparis...able_Table the full definition is complex, but non-ignorable just means nothing is ignored except the baseline levels of the UCD spec
yoleaux samcv: I'll pass your message to pmurias.
Geth roast: ada9671c4a | usev6++ | 2 files
[jvm] Unfudge now passing tests
06:42
[Tux] Rakudo version 2017.11-7-gc9Rakudo version 2017.11-7-gc967cb6cc - MoarVM version 2017.11-2-g26ad7cc55
csv-ip5xs1.108 - 1.109
csv-ip5xs-2012.762 - 12.865
csv-parser12.282 - 12.306
csv-test-xs-200.441 - 0.468
test12.070 - 12.208
test-t3.203 - 3.208
test-t --race1.336 - 1.460
test-t-2058.590 - 59.463
test-t-20 --race20.050 - 20.712
07:50
67cb6cc - MoarVM version 2017.11-2-g26ad7cc55
sorry for the bounce 07:52
Geth rakudo: 79390147ac | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/Rakudo/Iterator.pm
Fix typo in comment; MasterDuke17++
09:01
nqp: 51ed31c20c | (Tom Browder)++ (committed using GitHub Web editor) | docs/ops.markdown
correct def and typo
12:55
tbrowder mornin, looking at the nqp/docs/ops.markdown: any thoughts on turning toc into a multicolumn table to save vertical whitespace? 13:13
lizmat so, thinking a bit more about While/Until iterators 15:14
I propose we have an "omit" as the opposite of grep
and add grep-while / grep-until / omit-while / omit-until 15:15
moritz I don't see the need to introduce 5 new methods
grep and omit are just a negation away from each other 15:16
and until is a negation away from while
lizmat no, if that's what you think, we need to rethink the name
MasterDuke we do already have if and unless... 15:17
moritz so just adding while and omit-while would give us the same power
lizmat .while you mean? jnthn already decided against that
moritz oh, I didn't know that 15:18
lizmat because we won't be able to have a sub version of that
jnthn moritz: It'll parse-conflict with the while keyword, and the sub forms are useful in conjunction with the ==> operator
lizmat ^10 .grep-while( * < 5 ) (0,1,2,3,4).Seq
moritz jnthn: fairy nuff
lizmat: then I'm fine with grep-while, but still don't see the need for grep-until 15:19
lizmat the difference with ordinary "grep" would be that the first False would stop the iterator and further checks
jnthn It feels a tad odd calling it grep
lizmat ^10 .grep-until( * > 5 ) (6,7,8,9).Seq
will ignore all values of the source iterator until True is returned, and then pass on all values of the source iterator without further checks 15:20
so, maybe "omit-until" would be a better name
jnthn Maybe this is overpowered, but I'm wondering if we could find something that lets you turn taking elements on/off, as a generalization and possibly allowing some further use-cases
moritz take-while 15:21
MasterDuke just gonna say, i think take-while is another clojure method
jnthn .some-nice-name-here(* < 5) # takes elements while they're < 5 15:22
.some-nice-name-here(False, * < 5) # Doesn't take anything, then switches taking things on once * < 5 matches 15:23
$mouse-move-evnets.some-nice-name-here(False, |($mouse-down-events, $mouse-up events) xx *) # Supply example: all the mouse move events while the mouse button is held down 15:24
None of that is quite right, but it might be worth considering if the various cases can fit into a (understandable) more general operation 15:25
MasterDuke both clojure and racket have a bunch of those types of functions/routines/methods, might be good to see what they've done 15:26
jnthn Indeed 15:28
lizmat afk again& 16:10
AlexDaniel releasable6: next 18:00
releasable6 AlexDaniel, Next release in 23 days and ≈0 hours. No blockers. 0 out of 8 commits logged
AlexDaniel, Details: gist.github.com/7e37699243993ef884...a9ea2c892b
AlexDaniel BUT WHAT'S THE DATE
AlexDaniel slaps releasable6
ok, 18th
no, wrong… 18:01
16th
AlexDaniel has to purge all “nom” links from his browser history
teatime m: say DateTime.now.later(:23days).utc 18:16
camelia 2017-12-16T18:16:57.522294Z
Zoffix tbrowder: it the format is changed, it'd be nice if it there were automatically generated, so we'd not have to painstakenly keep track all the changes get made in two places. The current one is made by github.com/zoffixznet/github-toc-maker 20:20
s/it/if/;
m: dd (^10).&[…^]: * !< 5 20:22
camelia (0, 1, 2, 3, 4).Seq
Zoffix shrugs
tbrowder zoffix: concur, thnx 20:23
Zoffix: concur 20:24
lizmat to get back to irclog.perlgeek.de/perl6-dev/2017-...i_15486864 21:20
I was wondering whether this could not also be handled by more named params to grep 21:21
:skip-until
:keep-while
?
otoh, it also feels like overloading too much on the poor little grep 21:22
jnthn Yeah, I'd say so
lizmat my initial worry would be that any unknown nameds would be silently ignored in earlier versions 21:25
but they won't be:
m: ^10 .grep( * > 5, :skip-until )
camelia Unexpected adverb 'skip-until' passed to grep on Range
in block <unit> at <tmp> line 1
lizmat so that aspect would be covered 21:26
mudman Yet-another-2c-from-a-random-warning: Once you do anything that involves the test/code *not* applying to each member, I wouldn’t call it grep 21:42
jnthn I think skip-while and skip-until, and something like take-while or take-until, are the best I've seen so far. 21:45
Though maybe drop-while for the first is nice in that it is a bit more "opposite" to take 21:46
Well, maybe :)
I thought also about @foo.upto(&test) but it doesn't quite work
I've found it hard to find a single word that feels like it communicates the semantics as well as a two-word name 21:49
And given we've gone this long without them...I mean, I can see the point of them or I'd be arguing against adding them...but it's not like we're in need of a really short name. 21:50
mudman If two words is ok, the the best I can think of are trigger-on, trigger-off and toggle-when. A bit long tho… 21:56
jnthn I pondered .toggle as a genralization of this 21:57
(1..15).toggle(* < 5, * > 10, * < 15) would give 1,2,3,4,11,12,13,14 21:58
Though it's not clear whether it starts on or off :)
lizmat perhaps a named to indicate that ? 22:02
:on to indicate starting with on?
or perhaps .on-toggle / .off-toggle 22:05
AlexDaniel sorry, what is this talk about?
m: <2 4 6 4 2>.grep({$_ > 5 ff False}).say
camelia (6 4 2)
lizmat fwiw, I like the generalization
AlexDaniel: how many times is the block called ?
AlexDaniel can be optimized to 3 times? 22:06
lizmat if it's 5 times, that's 2 too many
AlexDaniel: how ?
I'm not seeing it ?
AlexDaniel ff with False on the rhs can start giving True without any checks 22:07
or maybe not?
jnthn bbiab 22:08
lizmat yeah, but the point is really that it shouldn't have to 22:09
aka, the block shouldn't be called at all anymore
AlexDaniel m: <2 4 6 4 2>.grep({{say ‘tick’; $_ > 5} fff False}).say 22:16
camelia tick
tick
tick
(6 4 2)
AlexDaniel m: <2 4 6 4 2 1 0>.grep({{say ‘tick’; $_ > 5} fff False}).say 22:17
camelia tick
tick
tick
(6 4 2 1 0)
AlexDaniel so the block is really not called anymore, with fff at least
given that, is there really a good reason to have a separate feature that does the same? 22:18
if the concern is that the *outer* block is still running (with fff) operator, then IMO fff operators has to be optimized 22:19
fwiw, I am a real ff/fff noob and never actually used it in my code, but last time I said that there were others who told me that it is very useful and relatively common. ¯\_(ツ)_/¯
AlexDaniel attempts other variants 22:36
lizmat m: m: <2 4 6 4 2 1 0>.grep({say ‘tick’; $_ > 5 fff False}).say 22:41
camelia tick
tick
tick
tick
tick
tick
tick
(6 4 2 1 0)
lizmat m: m: <2 4 6 4 2 1 0>.grep({say ‘tick’; ($_ > 5) fff False}).say 22:42
camelia tick
tick
tick
tick
tick
tick
tick
(6 4 2 1 0)
AlexDaniel gist.github.com/AlexDaniel/98bef6e...e2c0441fd9 23:03
well, the proposal is indeed slightly more readable
“I propose we have an "omit" as the opposite of grep” 23:06
IIRC last time this was discussed we realized that there's none
and “grep none …” isn't any less readable, and as it turned out isn't any slower 23:07
in fact, we even documented it back then: docs.perl6.org/routine/grep#(List)_routine_grep 23:08
when grep-while was first mentioned I thought “cool, that'd make it easy to iterate half a Seq”. But then, it'd still have to pull that last value for a Falsy check? Meh 23:15
now I'm just rambling. Do we have an RFC ticket for the proposal?
jnthn AlexDaniel: Not that I'm aware of 23:21
Geth rakudo: eacf9b2776 | (Elizabeth Mattijsen)++ | src/core/set_difference.pm
Need to first make it a Set before making it a Mix

E.g. turning a Hash to a Mix assumes numeric values for the keys in the hash. We shouldn't do this. Spotted by Norman Gaywood++ on perl6-users.
23:22
roast: bb35ffca35 | (Elizabeth Mattijsen)++ | S03-operators/set_difference.t
Make sure we're testing for hashes without numerical values

To make sure we don't regress eacf9b27762fcd52eca35
23:27
lizmat goes off for some shuteye
jnthn 'night, lizmat o/ 23:28
timotimo we shouldn't be calling it anything with "take" unless it directly interacts with gather/take, though 23:37
oops, i'm a bit late