timotimo oh tadzik this is the imgur thing i wanted to show: imgur.com/R7T4Gzn 00:11
Geth perl6-pod-to-bigpage: samcv++ created pull request #7:
Set default directory as "."
00:39
Zoffix samcv: you have the commit bit for that repo. 01:07
samcv oh
nice. ok
Geth perl6-pod-to-bigpage: c3109bccb7 | (Samantha McVey)++ | bin/pod2onepage
Set default directory as "."

Otherwise since it is not a required parameter, we fail part way through the bulid process:
Cannot resolve caller dir(IO::Path: ); none of these signatures match:
   (IO::Path:D $: Mu :$test = { ... }, :$absolute, :$Str, :$CWD = { ... }, *%_)
   in block <unit> at
01:08
samcv success!
perl6-pod-to-bigpage: a29f524cfd | (Samantha McVey)++ (committed using GitHub Web editor) | bin/pod2onepage
Merge pull request #7 from samcv/master

Set default directory as "."
MasterDuke_ m: my $i; try say $i % 2 03:32
camelia Use of uninitialized value of type Any in numeric context
in code at <tmp> line 1
0
MasterDuke_ m: my int $i; try say $i % 2
camelia 0
MasterDuke_ m: my Int $i; try say $i % 2 03:33
camelia ( no output )
MasterDuke_ RT #121154
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=121154
MasterDuke_ the ticket thinks the first result (warn then "0") is correct, everyone else agree? 03:34
geekosaur at one point that was correct. dunno if it's still considered so 03:43
(I notice the ticket references both niecza and parrot...) 03:44
MasterDuke_ yeah, that's why i wasn't sure it was still expected 03:45
dogbert11 notices test failures in t/04-nativecall/11-cpp.t and t/04-nativecall/15-rw-args.t 09:03
dogbert11 does a complete rebuild 09:04
Zoffix . 10:01
yoleaux 08:23Z <samcv> Zoffix: docs still mention slurp-rest for Proc objects docs.perl6.org/type/Proc
Zoffix It's fine, for now I think. There are still users who won't have .slurp on Pipes and .slurp-rest will still exist for several years 10:02
samcv i mean it should mention .slurp too righ? atm it doesn't mention slurp period 10:14
can use it fine though
|Tux| sorry, forgot to run timings. running now 11:49
This is Rakudo version 2017.04.3-206-g20cfd6b7c built on MoarVM version 2017.04-57-g8d8a09b9 12:01
csv-ip5xs 2.930
test 12.522
test-t 4.256 - 4.275
csv-parser 12.785
Zoffix buggable: speed 10 12:06
buggable Zoffix, ā–ƒā–‚ā–‚ā–ƒā–‚ā–ƒā–ā–ā–ā– data for 2017-05-05ā€“2017-05-09; range: 4.247sā€“4.376s; 3% faster
Zoffix MasterDuke_: this all really going back to the "Undef is 0" issue which is abjectly broken 12:11
dogbert11 it's blindingly fast 12:12
test-t that is :)
MasterDuke_ Zoffix: my understanding was that only undef native ints are 0 12:18
Zoffix MasterDuke_: here's my last adventure to fix it: irclog.perlgeek.de/perl6-dev/2016-...i_13767071 that didn't got well. IMO it's one Perl 5 "feature" that should've been left to Perl 5. We have proper types and multiple numeric types so "undefs are zero" concept doesn't work at all, because you don't know at all times WHICH numeric should the undef be used as.
MasterDuke_: that's a completely different issue; there's no undef native ints, so you get a zero automatically. 12:19
In Perl 5 and in some areas in Perl 6, using an undefined value as a numeric makes it a zero + issues a warning
m: say quietly +Num 12:20
camelia 0
Zoffix m: say +Num
camelia Use of uninitialized value of type Num in numeric context
in block <unit> at <tmp> line 1
0
Zoffix m: say 42 + Any
camelia Use of uninitialized value of type Any in numeric context
in block <unit> at <tmp> line 1
42
jnthn I think anywhere that does a .Numeric coercion, no?
Zoffix I see + was fixed since december, but I'm sure there are more cases where it's not handled right 12:21
jnthn Same for trying to stringify a type object, except that gives the empty string
m: say 42 - Any
camelia Use of uninitialized value of type Any in numeric context
in block <unit> at <tmp> line 1
42
jnthn m: say 42 * Any
camelia Use of uninitialized value of type Any in numeric context
in block <unit> at <tmp> line 1
0
jnthn m: say 42 / Any
camelia Use of uninitialized value of type Any in numeric context
in block <unit> at <tmp> line 1
Attempt to divide 42 by zero using div
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
jnthn Seems OK in all those at least 12:22
Zoffix jnthn: right. That's concept has the same issue.
m: Str.contains: 42
camelia Cannot resolve caller contains(Str: Int); none of these signatures match:
(Str:D $: Cool:D $needle, *%_)
(Str:D $: Str:D $needle, *%_)
(Str:D $: Cool:D $needle, Cool:D $pos, *%_)
(Str:D $: Str:D $needle, Int:D $pos, *%_)
in blā€¦
Zoffix Just as broken
m: say cos 0 12:23
camelia 1
Zoffix m: say cos Num
camelia Cannot resolve caller cos(Num: ); none of these signatures match:
(Num:D $: *%_)
in block <unit> at <tmp> line 1
jnthn Yeah, I'm not sure whether the synopses have somewhere a clear rule on where the "warning + 0" and "warning + ''" should apply/not. 12:24
Zoffix m: quietly say (+Rat).^name;
camelia Int
nine Haha! I weiss jetzt, warum t/ovc_transfer.t auf jenkins und beta failed. 12:26
Zoffix Ya! Ya! 12:27
Shprehen ze Dauch
MasterDuke_ maybe i'll give that RT a pass for now 12:28
nine oops :) 12:29
Zoffix m: say quietly Int + 1
camelia Invocant of method 'Bridge' must be an object instance of type 'Int', not a type object of type 'Int'. Did you forget a '.new'?
in block <unit> at <tmp> line 1
Zoffix m: say Any + 1
camelia Use of uninitialized value of type Any in numeric context
in block <unit> at <tmp> line 1
1
jnthn D'oh 12:30
Zoffix m: say Int / 1
camelia Parameter 'nu' of routine 'DIVIDE_NUMBERS' must be an object instance of type 'Int', not a type object of type 'Int'. Did you forget a '.new'?
in block <unit> at <tmp> line 1
jnthn Yeah, that lot really could use a cleanup
Zoffix MasterDuke_++ # liking the method names in error messages 12:31
[Coke] (docs, adding --> Foo) - should only be done where the source has this annotation, IMO. 12:32
Zoffix [Coke]: of which implementation?
Or to rephrase: that requires having a preferred implementation and I thought the docs were meant to be neutral on that and the --> Foo merely indicates the type of return value per spec, not whether a particular implementation actually specified it as a return type constraint 12:33
I guess there's nothing stopping roast from enforcing return type constraints, but is there a benefit to doing so? 12:34
And having it in signatures in docs means I can just glance at the sig to know the type instead of raking through all the prose, trying to find it. 12:36
And the signatures in docs aren't 100% accurate anyway. Some methods have special extra candidates for optimization reasons that don't change the range of accepted arguments. 12:38
MasterDuke_ Geth: ver github.com/rakudo/rakudo/commit/33...d4efe221de 12:57
Geth MasterDuke_, version bump brought in these changes: github.com/perl6/nqp/compare/ # Load the specified byte buffer as if it was the contents of a... # precompiled file 12:58
Zoffix It currently can only handle sole commit bumps. github.com/perl6/geth/issues/6 12:59
MasterDuke_ oh ha, that commit i tried is even the example in the issue 13:00
Zoffix To make the URL you can just use github.com/perl6/nqp/compare/$OLD_...RSION_FILE
MasterDuke_ Geth: ver github.com/perl6/nqp/compare/2016....2-g77fa587 13:04
Zoffix heh, no I meant you'd visit that URL in github 13:05
That's the URL the bot would've given you
MasterDuke_ needs a way to make coffee that doesn't create loud noises that wakes up babies 13:06
huh, don't see anything obvious there 13:07
Zoffix shudders at the thought of having sleeping babies you fear waking up
ZofBot: you're the only baby I need!
ZofBot Zoffix, tap( { say "Thank you for your attention"; exit 0 } ); would catch Control-C, thank you, and then exit
Zoffix heh, what a scam. ISO's site offers the PDF spec for CAD$270: www.iso.org/standard/51502.html 13:30
So, hey, you gotta do what you gotta do, eh? But Adobe actually offers that spec for free from: wwwimages.adobe.com/www.adobe.com/c...0_2008.pdf 13:31
:)
nine Zoffix: usually one can also find release candidates of spec documents for free online 13:32
Zoffix sheesh. 756 pages 13:34
ZofBot: ain't no body got time for that!
ZofBot Zoffix, 'Ļ‰Ļ‰Ļ‰' that will take any given sequence and use it as the universe of incrementation for any matching characters in the string
jnthn "universe of incrementation"? :D
Zoffix :)
[Coke] is glad he doesn't usually have to worry about PDF guts these days 13:41
[Coke] remembers having to generate PDFs by hand uphill both ways
jnthn w/in 31
d'oh :)
[Coke] thinks that should be manually entered into the drawing. ;) 13:48
jnthn is still getting used to the keyboard at his new office :) 13:50
Zoffix always buys keyboards in pairs: one for home and same another one for office 13:52
buggable: draw 13:53
buggable Zoffix, The next Accidental /win Lottery draw will happen in 4 weeks, 2 days, 10 hours, 6 minutes, and 7 seconds. Currently have 5 ballots submitted by 5 users!
Zoffix Geth: uptime 13:54
Geth Zoffix, 2 days, 19 hours, 26 minutes, and 39 seconds
Zoffix NeuralAnomaly: status
NeuralAnomaly Zoffix, [āœ˜] Next release will be in 1 week and 4 days. Since last release, there are 23 new still-open tickets (10 unreviewed and 0 blockers) and 231 unreviewed commits. See perl6.fail/release/stats for details
Zoffix 1 week :o
buggable: author zoffixznet 14:05
buggable Zoffix, Found 38 dists for zoffixznet. See temp.perl6.party/buggable/95318128...38741.html
Zoffix I had a gist somewhere with `[]` on Str doing substr. I can make it a module, I guess. 14:06
And then make a module that makes Str + Str do concatenation :P 14:08
jnthn buggable: author jnthn 14:14
buggable jnthn, Found 18 dists for jnthn. See temp.perl6.party/buggable/33369862...39251.html
jnthn Waaay behind Zoffix++ :)
Geth rakudo/nom: 6bb1b5b409 | (Zoffix Znet)++ | src/core/Instant.pm
Remove argument forwarding from Instant.DateTime coercer

  - Our coercers generally don't take any args
  - Just forwarding args leaks implementation detail by coupling the
   args taken to DateTime.new
  - The :timezone arg can simply be replaced with .in-timezone method
   call anyway.
14:17
[Coke] buggable: author coke 14:18
buggable [Coke], Found 2 dists for coke. See temp.perl6.party/buggable/03427737...39542.html 14:19
[Coke] oh, I have something else I could probably distify.
Zoffix m: say (-64+0i)**(1/3) 14:30
camelia 2+3.46410161513775i
Zoffix That's really wrong :/
m: say (-64+0i)**(333333333333333e-15) 14:31
camelia 2+3.46410161513775i
MasterDuke_ wolframalpha seems to agree 14:33
www.wolframalpha.com/input/?i=(-64...)**(1%2F3)
dogbert11 notes that Zoffix has managed to find a SEGV
Zoffix That's because wolframalpha is also wrong 14:34
But the wrongness is due to limited precision in 0.33333333333333 14:35
I think 14:36
Yeah
(-64) ** (1/3) in Google gives right answer, but swapping 1/3 to 0.333333333333 gives the same bogus 2+blahi result 14:37
But I guess that answers why we always give NaN instead of computing real results for odd roots when possible :)
(when `i` is not used) 14:38
m: say 2+3.46410161513775i ā‰… -4 14:39
camelia False
Zoffix doesn't know about complex numbers enough to know why slight imprecision in a power results in wildly different real and imaginary parts :/ 14:41
m: (2+3.46410161513775i).abs.say 14:42
camelia 4
Zoffix Ahhh
cool
moritz internally, power calculations happen in the (angle, magnitude) zylinder coordinates 14:43
so it's cartesian -> zylinder, then the actual calculation, and then back
and calculating a power in zylinder coordinates is applying the power to the magnitude, and mupltiply the angle by the powser 14:44
Zoffix Sounds like ā‰… could use more love for complex numbers
moritz m: say (2+3.46410161513775i).polar[1] 14:45
camelia 1.0471975511966
moritz m: say (2+3.46410161513775i).polar[1] / pi * 180
camelia 60
Zoffix m: say (-4+0i).polar[1] / pi * 180
camelia 180
moritz a complex number has multiple roots, with equally spaced angles (and the same magnitude) 14:46
and ** just picks one of them 14:47
not necessarily the one closest to the real axis (0 or 180 degrees) which we'd find intuitive
which is fine, for a math point of view
Zoffix m: sub infix:<ā‰…>(\a,\b) { a.polar[0] ā‰… b.polar[0] and (my $n = ([max] (a, b)Ā».polar[1]) / [min] (a, b)Ā».polar[1])) ā‰… $n.floor } say 2+3.46410161513775i ā‰… -4+0i 14:50
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3 b)Ā».polar[1]) / [min] (a, b)Ā».polar[1])7ā5) ā‰… $n.floor } say 2+3.46410161513775i
expecting any of:
statement end
statement modifā€¦
Zoffix m: sub infix:<ā‰…>(\a,\b) { a.polar[0] ā‰… b.polar[0] and (my $n = ([max] (a, b)Ā».polar[1]) / [min] (a, b)Ā».polar[1]) ā‰… $n.floor } say 2+3.46410161513775i ā‰… -4+0i
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3 / [min] (a, b)Ā».polar[1]) ā‰… $n.floor }7ā5 say 2+3.46410161513775i ā‰… -4+0i
expecting any of:
infixā€¦
Zoffix m: sub infix:<ā‰…>(\a,\b) { a.polar[0] ā‰… b.polar[0] and (my $n = ([max] (a, b)Ā».polar[1]) / [min] (a, b)Ā».polar[1]) ā‰… $n.floor }; say 2+3.46410161513775i ā‰… -4+0i 14:51
camelia No such method 'polar' for invocant of type 'Num'
in sub infix:<ā‰…> at <tmp> line 1
in sub infix:<ā‰…> at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix bah
Ah, doh. I still need core ops :) 14:52
m: sub infix:<ā‰…>(\a,\b) { a.polar[0] =~= b.polar[0] and (my $n = ([max] (a, b)Ā».polar[1]) / [min] (a, b)Ā».polar[1]) =~= $n.floor }; say 2+3.46410161513775i ā‰… -4+0i 14:53
camelia False
Zoffix boo
dogbert11 Zoffix: here's what gdb has to say about your SEGV in RT #131264 14:54
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131264
moritz you can't cover that case with a smarter comparison op
dogbert11 gist.github.com/dogbert17/9537aa39...1ad0d2d5be
Zoffix moritz: why can't?
moritz because depending on the operation you're looking at, that angle difference might or might not be very relevant 14:55
Zoffix hm
Zoffix is a bit annoyed with 131264 14:56
moritz and then depending on the operation, some integer-multiples might be OK, and others might not
Zoffix The problem is with OpenSSl but I have like 2 or 3 people sending me messages about it, for me to just be the messenger and keep all correspondence together :/
moritz which is why, in general, you'd look at $complex_number.roots($n) instead of just using **
Zoffix moritz: the operation is ā‰… 14:57
m: say <2+3.46410161513775i>.roots
camelia Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1
Zoffix dogbert11: here's a reply from original author of the ticket: gist.github.com/zoffixznet/012a835...330eaa1275 14:58
Which for some reason didn't get onto the ticket, presumably because the author doesn't have an account on RT
jnthn I'm pretty sure IO::Socket::SSL isn't thread-safe, or at least from the reading I did when implement IO::Socket::Async::SSL it sure looked that way 15:00
Zoffix Ahh
[Coke] notes that .roots on an Int makes it go through complex, so you can't do "(-64).roots(3)" either.
Zoffix m: (-64).roots(3) 15:01
camelia ( no output )
Zoffix m: say (-64).roots(3)
camelia (2+3.46410161513775i -4+4.89858719658941e-16i 2-3.46410161513775i)
[Coke] m: say 64.roots(3); say (-64).roots(3);
camelia (4+0i -2+3.46410161513775i -2-3.46410161513775i)
(2+3.46410161513775i -4+4.89858719658941e-16i 2-3.46410161513775i)
[Coke] interesting that the positive one is exact but the negative one isn't.
Zoffix Ah yeah, here are the two numbers. The -4 and the 2+blah
moritz yes, .roots is an inheritly complex operation
[Coke]: working with an angle of 0 is generally easier on the error bars
whereas not being a computer algebra system, an angle of pi generally has a numerical error 15:02
Zoffix dogbert11: I rejected 131264. It does look to be due to OpenSSL not being thread safe and there's even an Issue on it for it: github.com/sergot/openssl/issues/31 15:13
dogbert11 Zoffix: cool 15:15
Zoffix m: use MONKEY; augment class Str { method AT-POS {} } 15:38
camelia ( no output )
Zoffix erm
Ah, nevermind. Misread my error
$ perl6 -Ilib -MPythonic::Str -e 'my $i; $i++ for "foobar"; say $i' 15:39
6
:) that's rather perverrted :)
Seems to interfere with loading of modules tho... lol. Just hangs 15:43
Zoffix gives up with `AT-POS` approach and goes for postcircumfix:<[ ]> 16:06
Doesn't look like we have a method to do ranged AT-POS; e.g. method AT-POS (Range $x) {} or whatever; basically something that gets called whenever more than 1 index is asked for
Oh, and making Str Positional seems to explode .split due to now-ambiguous candidates :) 16:07
timotimo right, AT-POS is really just about a single position 16:08
Zoffix I see 16:09
timotimo postcircumfix:<[ ]> is what handles ranges and lists and multidimensional slices and all that jazz
(though there is an AT-POS-MULTIDIM, but that's only for a single position)
Zoffix Which really sucks, I think 16:10
s/Which//
m: &postcircumfix:<[ ]>.candidates.elems.say
camelia WARNINGS for <tmp>:
Useless use of constant value [ ] in sink context (lines 1, 1)
65
Zoffix .o( useless?? ) 16:11
But yeah, basically to make my own proper iterable, I have to define 65 multies and then pray Rakudo doesn't add more
maybe a bit fewer, since named args don't have to be replicated and can be merely forwarded 16:12
Because sub postcircumfix:<[ ]> (Str:D, |c) {} isn't specific enough to go before all the other candidates :/ 16:13
Unless... I shadow ALL the core candidates with two multies: one that handles Str and other that just forwards to core :P 16:14
m: dd &CORE::postcircumfix:<[ ]>([42, 72], 1) 16:15
camelia WARNINGS for <tmp>:
Useless use of constant value [ ] in sink context (lines 1, 1)
Int <element> = 72
Zoffix mc: dd &CORE::postcircumfix:<[ ]>([42, 72], 1)
committable6 Zoffix, Ā¦2015.12: Ā«Int <element> = 72Ā»
Zoffix bisect: dd &CORE::postcircumfix:<[ ]>([42, 72], 1) 16:16
bisectable6 Zoffix, Bisecting by output (old=2015.12 new=6bb1b5b) because on both starting points the exit code is 0
Zoffix, bisect log: gist.github.com/ed50b929382d5f8e80...8116451fdb
Zoffix, (2017-03-07) github.com/rakudo/rakudo/commit/12...6772ba4bf2
TimToady Perl 6 goes to great lengths to prevent accidental genericity in syntax, but there's only so much it can do to prevent accidental genericity in semantics... 16:18
Zoffix .tell TimToady this commit made `m: say postcircumfix:<[ ]>(1)` issue a useless `useless use` warning for the colonpair. Any idea how to fix that? github.com/rakudo/rakudo/commit/12...6772ba4bf2
yoleaux Zoffix: I'll pass your message to TimToady.
Zoffix Oh
TimToady you end up running into the problem described in The Search for the Perfect Language, by Umberto Eco 16:19
yoleaux 16:18Z <Zoffix> TimToady: this commit made `m: say postcircumfix:<[ ]>(1)` issue a useless `useless use` warning for the colonpair. Any idea how to fix that? github.com/rakudo/rakudo/commit/12...6772ba4bf2
TimToady well, typically I turn on RAKUDO_OPTIMIZER_DEBUG to find out where the code that marked it as sunk is (or failed to mark it as wanted) 16:21
but usually you can just inspect that action code for the construct and see where there is a missing wanted() 16:22
Zoffix huggable: ping 16:23
Zoffix must be lagging... no response from any bots...
huggable Zoffix, nothing found
Zoffix huggable: ping 16:24
huggable Zoffix, nothing found
Zoffix yey
TimToady: ok, then I'll try to fix it
TimToady it's kind of odd that extending void context to comma arguments would cause that in a construct that has no commas, but the compiler uses implicit infix:<,> in lots of places, so I guess it's not that surprising 16:25
the hardest part of adding a wanted is remembering to put the second argument, which is a tag to identify where it was marked wanted :)
Zoffix doesn't seem to be a way to silence it from user-land either
m: $ = postcircumfix:<[ ]>(1)
camelia WARNINGS for <tmp>:
Useless use of constant value [ ] in sink context (lines 1, 1)
Zoffix m: quietly { $ = postcircumfix:<[ ]>(1) }
camelia WARNINGS for <tmp>:
Useless use of constant value [ ] in sink context (lines 1, 1)
TimToady quietly is runtime 16:26
also, I'd note that postcircumfix should take two arguments 16:28
Zoffix Ah, there is: 16:34
m: say CORE::{q|&postcircumfix:<[ ]>|}(<a b>, 1)
camelia b
Zoffix m: multi foo (Str:D, |c) {say "here"}; multi foo (|c) { say "there" }; foo "foo" 16:38
camelia Ambiguous call to 'foo'; these signatures all match:
:(Str:D $, |c is raw)
:(|c is raw)
in block <unit> at <tmp> line 1
Zoffix One day I'll figure out the specificity rules... One day! 16:39
But, my approach with two multies for postcircumfix:<[ ]> worked: 16:40
$ perl6 -Ilib -MPythonic::Str -e 'say "foobar"[3..6]; '
bar
:)
TimToady you got away with it this time, but eventually you get to the point where you really need different types to support different semantics :) 16:43
Zoffix :)
m: multi foo (Int $x) {}; multi foo (|c) {}; foo 42, :meow 17:20
camelia Unexpected named argument 'meow' passed
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix :(
One day! :) 17:21
(I'll learn the rules)
Like named don't participate in dispatch or whatever
jnthn Only as tie-breakers 17:24
That one just comes down to the arity rules
Zoffix m: multi foo (Int $x) { say "oooh" }; multi foo (Int $x, *%_) { say "here" }; multi foo (|c) {say "there"}; foo 42, :meow
camelia Ambiguous call to 'foo'; these signatures all match:
:(Int $x)
:(Int $x, *%_)
in block <unit> at <tmp> line 1
Zoffix But not slurpies? 17:25
m: multi foo (Int $x, *%_) {nextsame if %_; say "here";}; multi foo (|c) {say "there";}; foo 42; foo 42, :meow
camelia here
there
Zoffix I ended up with that ^
jnthn m: m: multi foo (Int $x) { say "oooh" }; multi foo (Int $x, *%_) { say "here" }; foo 42, :meow 17:26
camelia Ambiguous call to 'foo'; these signatures all match:
:(Int $x)
:(Int $x, *%_)
in block <unit> at <tmp> line 1
jnthn m: m: multi foo (Int $x) { say "oooh" }; multi foo (Int $x, :$meow, *%_) { say "here" }; foo 42, :meow
camelia here
jnthn Hmm
That one surprises me a bit
Ohh
But :/
Methods all have a *%_ 17:27
So that'd mean that *every method* could become tie-broken
Which would be a near promise of bustage. 17:28
Zoffix Yeah
jnthn wanders off to see if eating dinner will be an easier problem :)
Zoffix m: <a b c>[0]:delete 17:33
camelia Can not remove elements from a List
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
Zoffix m: <a b c>[*]:delete
camelia ( no output )
Zoffix (the latter is a list of Failures)
huh 17:35
m: dd <a b c>[*][0]
camelia "a"
Zoffix m: dd <a b c>[*]:exists[0]
camelia (Bool::True, Bool::True, Bool::True)
Zoffix I'd expect the second one to give 1 True, not a whole list
m: dd (<a b c>[*]:exists)[0]
camelia Bool::True
Zoffix Like this
Ah 17:36
Precedence. The [0] is on the :exists
m: dd <a b c>[*](:exists[0])
camelia Invocant of method 'CALL-ME' must be a type object of type 'List', not an object instance of type 'List'. Did you forget a 'multi'?
in block <unit> at <tmp> line 1
Zoffix well something or other
or maybe not
m: dd <a b c>[*]:exists[100000]
camelia (Bool::True, Bool::True, Bool::True)
Zoffix Filed it as rt.perl.org/Ticket/Display.html?id=131279 17:42
timotimo jnthn: liz has already multiple times wished for something to write into the signature that'd mean "and no further named arguments" 17:46
Zoffix m: dd 'foobar'.comb.[^*-3].grep(*.defined).join
camelia "foo"
Zoffix wonders if that's a feature or a bug... 17:47
that == the above construct returning a list of stuff and Failures, so that you can grep out the Failures and get a usable result...
starecat.com/content/wp-content/upl...design.jpg 17:48
shiet... another bug 17:52
m: dd ("a".."z")[(3, (4, (5,)))]
camelia ("d", ("e", ("f",)))
Zoffix m: dd ("a".."z")[(3, (4, (5,)))]:p
camelia (3 => "d",)
Zoffix m: dd ("a".."z")[(3, (4, (5,)))]:k
camelia (3,)
Zoffix m: dd ("a".."z")[(3, (4, (5,)))]:kv
camelia (3, "d")
Zoffix Who know writing a silly module would be so useful :)
*knew
If only the log site were working so I could easily copy-paste this stuff off IRC logs when filing :/
And it started working as soon as I wrote that, of course! 17:53
Affects hashes too 17:56
timotimo good catch 17:58
Zoffix Filed as rt.perl.org/Ticket/Display.html?id=131280 17:59
m: ^5 .grep.say 21:29
camelia Cannot resolve caller grep(Range: ); none of these signatures match:
($: Bool:D $t, *%_)
($: Mu $t, *%_)
in block <unit> at <tmp> line 1
Zoffix too bad that don't work :) 21:30
m: ^5 .grep({$_}).say # would've figured it'd do this
camelia (1 2 3 4)
lizmat m: (1,2,3).grep # there's just no .grep() candidate at all, afaik 21:33
camelia Cannot resolve caller grep(List: ); none of these signatures match:
($: Bool:D $t, *%_)
($: Mu $t, *%_)
in block <unit> at <tmp> line 1
jnthn What would such a candidate do? 21:35
lizmat Zoffix assumed nqp::istrue($_) 21:36
Zoffix Yeah 21:38
grep on truthiness by default
jnthn My other guess was "don't filter anything out"
Given .grep(?*) is all it takes to be explicit, it's probably not worth leaving people guessing
Zoffix What's the point of not filtering anything out? :) 21:39
I've just used *.so
jnthn That's what I wondered when I read it :P
Zoffix heh
jnthn Then realized the truthy interpretation 21:40
Geth rakudo/nom: 2df7060cad | (Elizabeth Mattijsen)++ | 3 files
Make BagHash.grab() an additional 30% faster

  - it was already profiting from .roll improvements
  - now uses the R:Q.BAG-ROLL logic
  - only needs one time .WHICH calculation now
  - tested on a 1-element BagHash where the element exhausted at the end
  - other situation will probably see a better improvement
  - an extra 20% to be had when we decontainerize BagHashes
22:24