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] |
|
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 |