El_Che | New 2017.11 Linux packages: github.com/nxadm/rakudo-pkg/releas...g/v2017.11 | 00:17 | |||||||||||||||||||||||||||||||||||||
samcv | interesting testing related problem semi humorous unix.stackexchange.com/questions/4...me-at-0030 | 01:06 | |||||||||||||||||||||||||||||||||||||
looks like a `man` easter egg caused someones tests to fail but only at 00:30 | |||||||||||||||||||||||||||||||||||||||
ugexe | i dont think it occured under valid flag/arg combinations | 01:07 | |||||||||||||||||||||||||||||||||||||
heh maybe it did | 01:08 | ||||||||||||||||||||||||||||||||||||||
ilmari[m] | ugexe: it wasn't meant to, but accidentally did under -w. fixed in git master now | 01:44 | |||||||||||||||||||||||||||||||||||||
See the reply/comment from Colin Watson | |||||||||||||||||||||||||||||||||||||||
samcv | i personally think time based easter eggs that are not identical each run are a bad idea | 02:20 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 0a24efc32d | usev6++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java [jvm] Throw X::Parameter::InvalidConcreteness and give better error messages. This follows the code for MoarVM in src/Perl6/Metamodel/BOOTSTRAP.nqp |
06:53 | |||||||||||||||||||||||||||||||||||||
lizmat | Files=1228, Tests=75867, 313 wallclock secs (14.50 usr 5.18 sys + 2164.05 cusr 212.16 csys = 2395.89 CPU) | 07:20 | |||||||||||||||||||||||||||||||||||||
afk for most of the rest of the day& | |||||||||||||||||||||||||||||||||||||||
[Tux] | I stopped my browser(s) before running tests this time. I see no diff: | 07:27 | |||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||
and something broke HP-UX: smoke.procura.nl/ | 07:34 | ||||||||||||||||||||||||||||||||||||||
|Tux| | that last line is obviously in the wrong channel | 10:42 | |||||||||||||||||||||||||||||||||||||
pmurias | in docs/op.markdown should we also mention the return type of the op? | 15:57 | |||||||||||||||||||||||||||||||||||||
yoleaux | 20 Nov 2017 17:57Z <samcv> pmurias: you want "ducet" for co | ||||||||||||||||||||||||||||||||||||||
[Coke] | pmurias: yes, probably | 16:45 | |||||||||||||||||||||||||||||||||||||
pmurias | samcv: thank you | 17:13 | |||||||||||||||||||||||||||||||||||||
samcv: what is that shifter vs non-ignorable stuff we have a test for? | 17:15 | ||||||||||||||||||||||||||||||||||||||
Geth | nqp/master: 5 commits pushed by pmurias++ | ||||||||||||||||||||||||||||||||||||||
El_Che | 20:06 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: f40c381811 | usev6++ | tools/build/Makefile-JVM.in [jvm] Don't pass --nqp-lib=blib in 'make install' This unbreaks the installed versions of perl6 and perl6-j. |
21:10 | |||||||||||||||||||||||||||||||||||||
nqp: 3927afb302 | pmurias++ | docs/ops.markdown Add more return types to op docs, fix some signatures |
21:43 | ||||||||||||||||||||||||||||||||||||||
lizmat | . | 22:39 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 2c1a2860b8 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm Add While/Until iterators - While: pass on values until the first false value returned by block - Until: don't pass values on until the first true value returned by block |
22:43 | |||||||||||||||||||||||||||||||||||||
rakudo: 76fcea1e18 | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm Expose new R:I:While/Until in .head/.tail - .head taking a Callable:D: block should return trueish while values should be passed on. The first falsish value will end the iterator. - .tail taking a Callable:D: block should return falsish while values are being skipped. The first trueish value will start passing on values until iterator is exhausted. ... (7 more lines) |
22:49 | ||||||||||||||||||||||||||||||||||||||
jnthn | star: dd (1..10).head(*-2) # curious | 22:51 | |||||||||||||||||||||||||||||||||||||
camelia | (1, 2, 3, 4, 5, 6, 7, 8).Seq | ||||||||||||||||||||||||||||||||||||||
jnthn | star: dd (1..10).head({ $_ -2 }) # curious | ||||||||||||||||||||||||||||||||||||||
camelia | (1, 2, 3, 4, 5, 6, 7, 8).Seq | ||||||||||||||||||||||||||||||||||||||
jnthn | Ah, that was in the bit of the commit message I had to follow the link to see. | 22:52 | |||||||||||||||||||||||||||||||||||||
lizmat | yup | ||||||||||||||||||||||||||||||||||||||
jnthn | Yeah, I'm a bit uneasy about that | ||||||||||||||||||||||||||||||||||||||
head-while and head-until are a little long but workable | 22:53 | ||||||||||||||||||||||||||||||||||||||
.while and .until don't let us have a subroutine form | |||||||||||||||||||||||||||||||||||||||
Which in turn don't let us use them with ==> | |||||||||||||||||||||||||||||||||||||||
Took me a while to realize that conflict was why I was so uneasy about those names | |||||||||||||||||||||||||||||||||||||||
Naming aside, I'm in agreement we want methods that do this, though | 22:54 | ||||||||||||||||||||||||||||||||||||||
Plus they're desirable on Supply | |||||||||||||||||||||||||||||||||||||||
MasterDuke | skip-while and skip-until (with reversed meaning)? | 22:57 | |||||||||||||||||||||||||||||||||||||
lizmat | well, actually, I see .skip as the reverse of .grep | 22:58 | |||||||||||||||||||||||||||||||||||||
a bit like .split and .comb | |||||||||||||||||||||||||||||||||||||||
with grep you specify what you want, with .skip you specify what you don't want | |||||||||||||||||||||||||||||||||||||||
but that's for later... | 22:59 | ||||||||||||||||||||||||||||||||||||||
jnthn | .skip is culturally a bit awkward in that it's typically been used for .skip($number-of-elements) | 23:01 | |||||||||||||||||||||||||||||||||||||
And .skip(2) would, like grep(2), "work" by smart-matching against 2...which will probably give people some headaches | 23:02 | ||||||||||||||||||||||||||||||||||||||
Actually skip-while and skip-until, with skip($n) being the numeric thing, could work I guess | 23:10 | ||||||||||||||||||||||||||||||||||||||
lizmat | I see 4 types of semantics: | 23:13 | |||||||||||||||||||||||||||||||||||||
1. pass on values while condition is true, end iterator on first false | |||||||||||||||||||||||||||||||||||||||
2. pass on values while condition is false, end iterator on first true | 23:14 | ||||||||||||||||||||||||||||||||||||||
3. skip values while condition is true, pass on rest of iterator on first false | 23:15 | ||||||||||||||||||||||||||||||||||||||
4. skip values while condition is false, pass on rest of iterator on first true | |||||||||||||||||||||||||||||||||||||||
or do you think 2 and 4 should not be possible and should be handled by the developer negating the condition? | 23:16 | ||||||||||||||||||||||||||||||||||||||
jnthn | Well, if we decide that the developer should negate the conditions, then we get .grep, .initial (which probably needs a better name), and .skip | 23:19 | |||||||||||||||||||||||||||||||||||||
Oh no, .skip can't really if it should do the numeric thing | |||||||||||||||||||||||||||||||||||||||
Hmm | |||||||||||||||||||||||||||||||||||||||
I guess an interesting question would be: do people find the lack of negative grep and having to negate a pain point? | 23:20 | ||||||||||||||||||||||||||||||||||||||
lizmat | well, apparently not :-) | ||||||||||||||||||||||||||||||||||||||
or not a lot anyway | |||||||||||||||||||||||||||||||||||||||
jnthn | Yeah, I haven't personally felt it alot | 23:21 | |||||||||||||||||||||||||||||||||||||
m: say (1, 1.5, 2, 2.5).grep(* !~~ Int) | |||||||||||||||||||||||||||||||||||||||
camelia | (1.5 2.5) | ||||||||||||||||||||||||||||||||||||||
lizmat is tired though after getting up waaay to early, then being on the road for ~7 hours, and then doing some shopping to top it off | |||||||||||||||||||||||||||||||||||||||
jnthn | Since that worked, it's been less annoying | ||||||||||||||||||||||||||||||||||||||
timotimo | opposite-of-grep could be called ĘɹĒd | ||||||||||||||||||||||||||||||||||||||
jnthn | /o\ | 23:22 | |||||||||||||||||||||||||||||||||||||
jnthn revokes timotimo's language design license :P | |||||||||||||||||||||||||||||||||||||||
timotimo | it's not hard to use grep(none(blah)) to get the negative of grep(blah) | ||||||||||||||||||||||||||||||||||||||
it's not very performant, of course :) | |||||||||||||||||||||||||||||||||||||||
jnthn | ah, the junction approach...I'd forgotten that one | ||||||||||||||||||||||||||||||||||||||
lizmat | yeah, that's not the opposite, that's the upsidedownite | ||||||||||||||||||||||||||||||||||||||
jnthn | Well, true | ||||||||||||||||||||||||||||||||||||||
Lots to think about, anyway :) | 23:23 | ||||||||||||||||||||||||||||||||||||||
lizmat | yup | ||||||||||||||||||||||||||||||||||||||
meanwhile, I'll revert that last commit as we appear to agree it's too magic, right ? | |||||||||||||||||||||||||||||||||||||||
jnthn | I think it's too surprising, yeah | ||||||||||||||||||||||||||||||||||||||
MasterDuke | i seem to recall a couple people asking how to negate a grep in #perl6, but i could be imaging it (don't really remember any details) | 23:24 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: c967cb6cc8 | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm Revert "Expose new R:I:While/Until in .head/.tail" This reverts commit 76fcea1e18455fac9e71ab4ecc2ef42789d7035e. irclog.perlgeek.de/perl6-dev/2017-...i_15484290 |
23:25 | |||||||||||||||||||||||||||||||||||||
jnthn | If we do decide we want an inverse grep, omit would be a nice name | 23:28 | |||||||||||||||||||||||||||||||||||||
Though I'm not convinced we do | 23:29 | ||||||||||||||||||||||||||||||||||||||
Discovered that while trying to figure out something better than .initial(&cond) | |||||||||||||||||||||||||||||||||||||||
Best I found so far is .leading(&cond) | |||||||||||||||||||||||||||||||||||||||
timotimo | omit is fantastic, especially because it's just "timo" backwards | ||||||||||||||||||||||||||||||||||||||
MasterDuke | clojure has some good names | 23:31 | |||||||||||||||||||||||||||||||||||||
drop-while, drop-last | |||||||||||||||||||||||||||||||||||||||
jnthn | Does it have drop taking an integer number to drop too? | 23:32 | |||||||||||||||||||||||||||||||||||||
timotimo | if you decide upon it based on "is it integer?" that can lead to surprises when you change your calculation to accidentally give a Rat and suddenly you're smartmatching against Rats rather than taking the first $n | 23:33 | |||||||||||||||||||||||||||||||||||||
MasterDuke | that's nthnext | ||||||||||||||||||||||||||||||||||||||
jnthn | That's almost got jnthn in it :P | 23:34 | |||||||||||||||||||||||||||||||||||||
MasterDuke | oO(have Rick Hickey and jnthn ever been seen in the same room?) | 23:35 | |||||||||||||||||||||||||||||||||||||
lizmat goes to bed& | 23:39 |