dalek p: 6f2993e | (Zoffix Znet)++ | tools/build/MOAR_REVISION:
Bump MoarVM Version

Bring in latest changes for latest tests
  irclog.perlgeek.de/perl6-dev/2016-0...i_13267048
00:39
kudo/nom: 8aa0aa1 | (Zoffix Znet)++ | tools/build/NQP_REVISION:
Bump NQP

Bring in latest changes for latest tests
  irclog.perlgeek.de/perl6-dev/2016-0...i_13267048
00:41
ast: 7dfe5a9 | (Zoffix Znet)++ | S17-procasync/stress.t:
Do only 100 runs instead of 10000

We don't need a test file that takes several times longer to run than the entire rest of the stresstest.
00:52
Zoffix Someone was feeling ambitious... 00:53
yoleaux2 23 Sep 2016 23:08Z <MasterDuke> Zoffix: i just realized why t/spec/S17-procasync/stress.t is failing for you (and lizmat i believe), nqp and rakudo haven't had their MOAR_REVISION and NQP_REVISION bumped to pick up jnthn's fix
Zoffix MasterDuke++ yeah, that makes it pass for me now. 00:55
travis-ci Rakudo build failed. Zoffix Znet 'Bump NQP 01:34
travis-ci.org/rakudo/rakudo/builds/162356167 github.com/rakudo/rakudo/compare/b...a0aa16cf01
MasterDuke t/04-nativecall/13-union.t 01:35
Zoffix: on one of my systems that test wouldn't consistently fail with only 100 iterations (pre jnthn's fix) 01:36
btw all, my bad on adding that test before the MoarVM bump, i forgot i had built a custom MoarVM 01:38
japhb .tell timotimo I believe you were asking about slowness of RenderQueue.enqueue in github.com/timo/cellular-automata-..._blocks.p6 -- Guesses: postincrements, using increment on a native int, wasting the last increment of $inspos, returning a value (instead of Nil), taking $rect as an object (thus accessing XYWH using methods) 05:45
yoleaux2 japhb: I'll pass your message to timotimo.
psch oh grr 09:06
so there's java.util.Arrays.asList 09:07
which you can throw an array into and get some List-implementing type back
it's a varargs sig
so with e.g. "Object[] objs = new Object[] { 1, 2.0, "foo" }; Arrays.asList(objs).get(0)" you get the original array back. that is, the returned List contains objs at position 0 09:08
the trick is to be explicit that you're already passing an array: Arrays.asList((Object[]) objs) 09:09
doing that, we get 1 from *.get(0)
which is a really, really weird way to implement argument flattening in my opinion
...not to mention i don't even know if i could still add elements afterwards, so it's probably not even real flattening
haha, no, it's not 09:10
if there's another arg after that you get that as *.get(1) and *.get(0) again has objs
ffs java
[Tux] This is Rakudo version 2016.09-36-g8aa0aa1 built on MoarVM version 2016.09-1-gdebb859 09:11
csv-ip5xs 9.254
test 17.681
test-t 7.352
csv-parser 17.937
dalek kudo/nom: 539a7d1 | peschwa++ | / (3 files):
Support marshalling of Positional to List<Object>

  ...as well as add a test.
Typing generic lists as Positional.of() needs a cleaner way to map types between Rakudo and Java than we have at the moment. Suggestions welcome.
09:19
psch too bad there's no associative analogue to java.util.Arrays :l 09:29
lizmat Files=1139, Tests=53043, 240 wallclock secs (13.26 usr 3.99 sys + 1450.70 cusr 138.57 csys = 1606.52 CPU) 10:04
Zoffix MasterDuke, on mine it failed nearly instantly. It's fine if 100 iterations is not consistently failing on some boxes, as stresstests are run many times and these would show up as a flapper. Making a test file run for 12 minutes when the entire rest of the stresstest finishes in just 2 minutes all for the same of consistently catching a possible regression is just not worth it. 10:13
s/same/sake/;
travis-ci Rakudo build passed. Pepe Schwarz 'Support marshalling of Positional to List<Object> 10:14
travis-ci.org/rakudo/rakudo/builds/162399103 github.com/rakudo/rakudo/compare/8...9a7d17ffce
dalek ast: 302947c | (Zoffix Znet)++ | / (2 files):
Do not rely on Perl 6 Implementation's auxiliary files
11:12
Zoffix Goddam windows update made Chrome's history links colors blue and it's driving me insane. Such a jarring sight to my black scheme and there's apparently no way to change it. 11:24
nine Zoffix: 12 minutes?? It's taking 4 minutes here. Which curiously is only 80 seconds more than the version reduced to 100 iterations 11:28
Zoffix nine, what OS are you on? The 100 iterations take 7 seconds on my box 11:29
nine, and I extrapolated the 7 seconds it takes to run to 700 seconds it would've taken it to run. I aborted it without waiting for it to complete.
Even with 4 minutes that 200% longer than the entire test suite (on my box) 11:30
nine Zoffix: Linux 11:32
Zoffix ¯\_(ツ)_/¯
Actually, it takes 2 seconds: gist.github.com/zoffixznet/f399ba3...b95c630e15 11:33
dalek ast: 92fb31d | (Zoffix Znet)++ | S17-procasync/stress.t:
Bump number of iterations by 4x
11:35
Zoffix oh wait wrong loop :P 11:36
dalek ast: 389e5e9 | (Zoffix Znet)++ | S17-procasync/stress.t:
Bump number of iterations by 4x
11:37
nine I'll try again once my backup's finished. Maybe that's causing it to be so slow 11:38
mst_ Zoffix: whose is ilbot3 ? 11:41
Zoffix mst, logger for irclog.perlgeek.de/perl6-dev/today
Oh, whose.... moritz's
mst moritz_: hey, ilbot3 is now the only thing other than my in the old #p6dev - disconnect it and I'll turn off the lights on the channel on my way out? :) 11:42
mst_ GROUP
gah
Zoffix heh
mst fucking computers, how do they work 11:43
dogbert17 Zoffix: wrt to #129321, there are more detailed docs of deepmap at design.perl6.org/S32/Containers.html#List 12:12
Zoffix is busy with other stuff 12:38
But maybe you can read those docs, figure out how it's supposed to behave and submit a PR? :) 12:44
dogbert17 Uh oh :-) I can at least give it a shot 12:45
dogbert17 hmm might have spoken to soon, this nqp code looks quite impenetrable :( 12:52
Zoffix :(
dogbert17 still, this part of the docs seems interesting "Elements that are not iterable are considered leaf values and mapped through the supplied expression." 12:53
dogbert17 wonders why he mentioned deepmap in the bug report when the problem is in duckmap, facepalm 13:00
Zoffix .classify-list and .categorize-list are odd ducks. Completely unspecced too 13:04
Especially the Baggy.categorize-list vs. Hash.categorize-list, 'cause the latter offers "more" features that the former can.
Zoffix sees a rather heated discussion about them in 2013... :) 13:07
dogbert17 wrote the docs for the Baggy ones (borrowing from design.perl6.org in the process) 13:10
Zoffix will be expanding them today 13:12
dogbert17 vaugely remembers not writing docs for all variants (3) 13:14
dogbert17 returns to the duckmap code, won't give up so easily
Zoffix dogbert17++ 13:15
dalek ast: c3393b6 | (Zoffix Znet)++ | S32-list/classify.t:
Remove fudged test

Subsumed by more comprehensive tests to be added today. The corresponding ticket will also be resolved at that time.
13:20
dogbert17 Zoffix: hmm, the doc in S32 is a bit vague as to what duckmap should do if 'expression' returns undef and the element in question doesn't contain subelements. Who do you think can clarify that, lizmat, moritz? 13:34
Zoffix ¯\_(ツ)_/¯
dogbert17 I'll jump over to #perl6 and see if moritz is around ... 13:35
timotimo i'd say TimToady should be able to clarify; if i remember correctly, he came up with duckmap and the other distinctions 13:36
yoleaux2 05:45Z <japhb> timotimo: I believe you were asking about slowness of RenderQueue.enqueue in github.com/timo/cellular-automata-..._blocks.p6 -- Guesses: postincrements, using increment on a native int, wasting the last increment of $inspos, returning a value (instead of Nil), taking $rect as an object (thus accessing XYWH using methods)
dogbert17 timotmo, thx 13:38
timotimo japhb: i've already tried changing the increments to pre-increments and then to just additions on top of the original. i haven't tried passing X and Y as simple ints yet (and of course i could leave W and H out, as they are program-constant) 13:39
Zoffix masak, I have a Q 13:43
dogbert17 .tell TimToady trying to do something about RT #129321. What should duckmap do/return if 'expression' returns undef and the element in question doesn't contain subelements? E.g. what should the following code return if anything? my @a = [1, "a"]; dd duckmap({ $_ ~~ Int ?? $_ !! Any }, @a);
yoleaux2 dogbert17: I'll pass your message to TimToady.
Zoffix masak, I plan to make the code in this ticket throw: rt.perl.org/Ticket/Display.html?id...et-history 13:44
masak looks
Zoffix masak, BagHash.classify-list list works, but since BagHash can't nest, multi-level classify can't be done on it.
m: BagHash.new.classify-list( {.comb}, 20..40 13:45
)
camelia rakudo-moar 539a7d: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> gHash.new.classify-list( {.comb}, 20..40⏏<EOL>␤»
Zoffix m: BagHash.new.classify-list( {.comb}, 20..40)
camelia rakudo-moar 539a7d: OUTPUT«Earlier failures:␤ Type Int does not support associative indexing.␤ in block <unit> at <tmp> line 1␤␤Final error:␤ Cannot resolve caller postfix:<++>(Failure); none of these signatures match:␤ (Mu:D $a is rw)␤ (Mu:U $a is rw)␤ (In…»
masak I... I never really grokked multi-level classify
it kinda seemed to me like an extra layer of complexity looking for a problem
Zoffix it just creates a new hash level for each item in the list returned in by the &mapper 13:46
m: dd % .classify-list( {.comb}, 20..40)
camelia rakudo-moar 539a7d: OUTPUT«Hash % = {"2" => ${"0" => $[20], "1" => $[21], "2" => $[22], "3" => $[23], "4" => $[24], "5" => $[25], "6" => $[26], "7" => $[27], "8" => $[28], "9" => $[29]}, "3" => ${"0" => $[30], "1" => $[31], "2" => $[32], "3" => $[33], "4" => $[34], "5" => $[35], "6"…»
Zoffix m: dd % .classify-list( {rand > .5 ?? <foo bar> !! <ber bor> }, ^10 )
camelia rakudo-moar 539a7d: OUTPUT«Hash % = {:ber(${:bor($[1, 2, 3, 4, 7, 8])}), :foo(${:bar($[0, 5, 6, 9])})}␤»
masak also, I've seen the name classify-list, but I haven't bothered learning what it is an how it differs from regular classify
(though apparently, I see in that RT, I've submitted bugs on it) 13:47
Zoffix classify takes List as an invocant and returns a classified Hash; classify-list takes a Hash/Baggy as an invocant and populates it by the provided list
masak huh 13:48
Zoffix feels like a bit of an overengineering to me, but I saw some heated debates about it in 2013, so I don't know if I want to bring it up again
masak it's... an oddly invocant-modification-y method
Zoffix Yeah, you mentioned that in 2013 too. :) 13:49
masak I'm not surprised to learn I did! :P
Zoffix :D
masak feels like diakopter, all reset and remembering nothing about previous discussions
anyway, I'm not sure I can help in this case. sorry. 13:50
Zoffix m: dd BagHash.new.classify-list( {rand > .5 ?? <foo bar> !! <ber bor> }, ^10 )
camelia rakudo-moar 539a7d: OUTPUT«Earlier failures:␤ Type Int does not support associative indexing.␤ in block <unit> at <tmp> line 1␤␤Final error:␤ Cannot resolve caller postfix:<++>(Failure); none of these signatures match:␤ (Mu:D $a is rw)␤ (Mu:U $a is rw)␤ (In…»
Zoffix ^ so this would throw
timotimo there used to be an :into argument for classify or something, no?
Zoffix I guess I didn't have a Q but an FYI :)
masak the RT seems to clearly describe a bug, but I don't know about the likely cause or reasonable fixes
timotimo that was seen as a design smell 13:51
masak timotimo: :into -- whatever happened to %h.=stuff ?
timotimo that was before you could call .classify-list on a hash or similar
in fact, classify-list was the solution to that smell
Zoffix masak, the cause is that BagHash cannot be nested. The code tries to nest it and instead of a nested Baggy gets an item count (Int) and it explodes when it tries to associative-index it.
hence why I'll make it throw on attempts to multi-level classify 13:52
timotimo yeah, better make it throw a helpful error than that
masak starts writing stuff, but realizes it constitutes bikeshedding three years after the fact, and so removes it
timotimo hehe 13:59
are there already inspirations for your next blog post for strangelyconsistent? :)
masak I have a list of such inspirations, yes 14:04
not a lot of tuits to write, though :/ 14:05
timotimo i understand ;(
Zoffix m: use nqp; say nqp::istype({['foo', 'ber']}(), Iterable) 14:11
camelia rakudo-moar 539a7d: OUTPUT«1␤»
Zoffix m: use nqp; say nqp::istype([['foo', 'ber']][0], Iterable)
camelia rakudo-moar 539a7d: OUTPUT«0␤»
Zoffix Why is it 0 in the second case?
timotimo single argument rule
m: say [['foo', 'ber']].perl 14:12
camelia rakudo-moar 539a7d: OUTPUT«["foo", "ber"]␤»
timotimo m: say [['foo', 'ber'],].perl
camelia rakudo-moar 539a7d: OUTPUT«[["foo", "ber"],]␤»
Zoffix m: use nqp; say nqp::istype([['foo', 'ber'],][0], Iterable)
camelia rakudo-moar 539a7d: OUTPUT«1␤»
timotimo m: say {['foo', 'ber']}.perl
camelia rakudo-moar 539a7d: OUTPUT«-> ;; $_? is raw { #`(Block|66833472) ... }␤»
timotimo oh, you're calling it
Zoffix m: use nqp; say nqp::istype(%( 1 => ['foo', 'ber'] ){1}, Iterable)
camelia rakudo-moar 539a7d: OUTPUT«1␤»
Zoffix m: use nqp; say nqp::istype(%( 1 => <foo ber> ){1}, Iterable) 14:13
camelia rakudo-moar 539a7d: OUTPUT«1␤»
Zoffix m: dd % .classify-list: %(1 => <foo ber>), 1
camelia rakudo-moar 539a7d: OUTPUT«Hash % = {"foo ber" => $[1]}␤»
Zoffix Hm, OK. bug is elsehwere. Thanks
timotimo YW 14:14
dalek kudo/nom: 9e4796d | (Zoffix Znet)++ | src/core/Hash.pm:
Remove trailing whitespace
14:47
kudo/nom: 3623490 | (Zoffix Znet)++ | / (2 files):
Fix broken multi-level Hash.classify-list with % or @ mappers

The multi-item lists received from % and @ mappers arrive to us as items, so the @keys contains a single item that gets used as a single hash classification key.
Coerce with @ to get correct number of keys.
14:49
Zoffix Actually, we don't have 129K tests in roast. We have more, because tests run in subtest()s are not reported in the count. 15:32
AlexDaniel Zoffix: how did you get this number? 15:37
Zoffix AlexDaniel, it's reported at the end by the harness
AlexDaniel ah
timotimo "how did you get this number? never call me again!"
AlexDaniel thought about going through the whole history to make a graph :)
travis-ci Rakudo build failed. Zoffix Znet 'Remove trailing whitespace' 15:39
travis-ci.org/rakudo/rakudo/builds/162434306 github.com/rakudo/rakudo/compare/5...4796de8d80
Zoffix t/04-nativecall/13-union.t 15:40
m: dd MixHash.new.classify-list: {$_}, lazy <a b b c> 15:46
camelia rakudo-moar 362349: OUTPUT«("a"=>1,"c"=>1,"b"=>2).MixHash␤»
Zoffix m: dd Hash.new.classify-list: {$_}, lazy <a b b c>
camelia rakudo-moar 362349: OUTPUT«Failure.new(exception => X::Cannot::Lazy.new(action => "classify", what => Any), backtrace => Backtrace.new)␤»
Zoffix I wonder what's the reasoning for adding... what looks to me as purely artificial... restriction. 15:47
timotimo we don't have lazy hashes, and they're kind of ... problematic :) 15:50
lazy is a synonym for "could very well be infinite" in rakudo
Zoffix ok 15:51
dalek kudo/nom: 72467f9 | peschwa++ | src/vm/jvm/runtime/org/perl6/rakudo/RakudoJavaInterop.java:
Rename a variable to be more self-documenting.
16:20
kudo/nom: 56c66ca | peschwa++ | / (4 files):
Add basic support for marshalling Hash to Java Map

and add a test. Only supports Map<String, Object> as target type.
kudo/nom: e4e8238 | (Zoffix Znet)++ | src/core/Exception.pm:
Add X::Invalid::ComputedValue exception

Purpose is to use it for conditions where argument values given to a method are correct, but produce some invalid condition during the method's operation.
Example:
X::Invalid::ComputedValue.new(
   :name<mapper> :method<classify-list> :value('an Iterable item')
   :reason('BagHash cannot be nested and so does not support multi-level classification')
  ).throw;
Produces: 8f2279b | (Zoffix Znet)++ | src/core/ (3 files): Improve Baggy.classify-list
  - Attempting to classify-list on immutable Baggies now throws useful error
  - Giving lazy (infinite) lists to classify-list now produces exception,
   instead of hanging
  - Attempting to multi-level classify Baggies now throws, explaining Baggies
   can't nest; Fixes RT#125923 [^1]
  [1] rt.perl.org/Ticket/Display.html?id=125923
16:36
pmurias is it expected that rakudo generates code that binds to a 'static' lexical? 17:52
timotimo i'm not sure what a static lexical's semantics exactly are 17:53
Zoffix <masak> timotimo: :into -- whatever happened to %h.=stuff ? 18:10
<timotimo> that was before you could call .classify-list on a hash or similar
Actually, turns out we still have :into
s: [], 'classify', \(:into, [])
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/e4e8...ny.pm#L125
Zoffix Which for some reason is now failing tests, after I fixed a bug :/ 18:11
japhb .ask timotimo Did you try `method enqueue(int $color, int $x, int $y --> Nil)` yet? If so, did it make any difference? 18:12
yoleaux2 japhb: I'll pass your message to timotimo.
Zoffix m: say <abc xyz>.classify( *.contains: any "a".."f" ) 18:20
camelia rakudo-moar e4e823: OUTPUT«{False => [abc xyz xyz xyz xyz xyz xyz], True => [abc]}␤»
Zoffix m: my %h{Any}; %h{ any ^2 }.push: 42 18:26
camelia rakudo-moar e4e823: OUTPUT«Cannot assign to a readonly variable or a value␤ in any at gen/moar/m-Metamodel.nqp line 3173␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: my %h; %h{ any ^2 }.push: 42
camelia rakudo-moar e4e823: OUTPUT«Cannot assign to a readonly variable or a value␤ in any at gen/moar/m-Metamodel.nqp line 3173␤ in block <unit> at <tmp> line 1␤␤»
Zoffix RT: rt.perl.org/Ticket/Display.html?id=129349 18:27
ast: 816b913 | (Zoffix Znet)++ | S32-list/classify-list.t:
Add tests for [Hash|Baggy].classify-list
19:27
kudo/nom: e8a61dc | (Zoffix Znet)++ | t/spectest.data:
Add S32-list/classify-list.t test file
japhb_ Zoffix__: In IRC::Client, it would be nice to be able to detect if a message was directly to my bot (irc-to-me) during later stages of the event cascade, because I'd like my bot to handle both directed queries ('bot, blerg?') and non-directed commands it recognizes ('.fluux'), but only give a fallback confusion message ("I don't know how to blerg!") in the former case. 19:58
Zoffix__ isn't following that 20:00
japhb_ Zoffix__: I can see two ways to do that, one very specific (set a flag on the event when it would have considered irc-to-me in the cascade), and one more generic (add a user-code-settable field to messages so that the bot can pass information between cascade layers). Do you have a preference?
Zoffix: Which part is confusing? 20:01
Zoffix the "fallback confusion message"
japhb_ I'm looking to create a bot that can respond to e.g. "bot, google foo" and ".google foo", but only indicate errors when it doesn't recognize a command directly addressed to it. 20:02
So that another bot in the channel can handle ".bing foo", for instance.
That way my bot doesn't pointlessly say "I don't know how to use bing; try 'help'" and then have another bot go and do it. 20:03
Zoffix multi method irc-to-me ($ where /^ 'google' \s+ $<what>=.+/) { ... handle google ... }; multi method irc-to-me ($e) { "Don't know how to handle $e.text()" }; multi method irc-privmsg-channel ($ where /^ '.google' $<what>=.+/ ) { ... handle google... }; 20:04
japhb_ Right, thought of that, but violates DRY
geekosaur would just factor out "handle google" 20:06
japhb_ geekosaur: Also considered that. That cleans up the contents of the event handlers, but not the duplication of the where clauses. 20:08
And the problem is that I'm expecting a lot of commands, it seems a bit silly to do all that duplicate event handling just because a true fallback like irc-all or irc-privmsg can't tell if the message originally was addressed directly to the bot, which seems generally useful. 20:09
Zoffix Well, it can. Just match .text() to .server.current-nick() or whatever is it 20:10
japhb_, there's also alias() you may try 20:11
.tell japhb Here's one way of doing it: gist.github.com/zoffixznet/c47f02f...e0be1f6dcd Feel free to open an Issue in the repo and I'll take a look at it. Will probably be just another subclass of IRC::Client::Message 20:55
yoleaux2 Zoffix: I'll pass your message to japhb.
ZoffixHack telnet test 22:28
Zoffix wtf... Can't connect my bots on hack.p6c.org, but telnet irc.freenode.net 6667 works fine :/ 22:29
geekosaur sees an ipv6 address. could your bots be trying ipv6 instead of ipv4? 22:47
or vice versa, some telnets do ipv6 22:48
Zoffix They're trying host 22:52
I don't know what IP they're trying
timotimo would strace tell you? 23:09
Zoffix ^ dalek joined
Zoffix tries again
\o/ 23:10
Hm. The speculation for classify says "Please note that all Lists must have the same number of elements." in regards to multi-level classifications. What's the reason for that limitation? 23:44
And same for categorize :/ 23:45
geekosaur and they used ipv6 23:46
which is what they have been using, so apparently freenode lost ipv6 connectivity for a bit 23:47
(hm, except I think I am using ipv6, don't recall how I set up the znc...)
Zoffix m: dd <a b c>.classify: sub ($) { return 'a' unless $++; <a b> } 23:53
camelia rakudo-moar e8a61d: OUTPUT«Type Array does not support associative indexing.␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
Zoffix God, what mess I got myself into.
Because my new .classify-list doesn't care if all mapper's values are of the same depth 23:54
m: dd % .classify-list: sub ($) { return 'a' unless $++; <a b> }, <a b c>
camelia rakudo-moar e8a61d: OUTPUT«Type Array does not support associative indexing.␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
Zoffix Oh
:}
wtf
m: my constant &m = { $^a == 1 ?? 'cat1' !! <cat2 sub2> }; dd % .classify-list(&m, [1, 2, 3]) 23:56
camelia rakudo-moar e8a61d: OUTPUT«Hash % = {:cat1($[1]), :cat2(${:sub2($[2, 3])})}␤»
Zoffix m: my constant &m = { $^a != 1 ?? 'cat1' !! <cat2 sub2> }; dd % .classify-list(&m, [1, 2, 3])
camelia rakudo-moar e8a61d: OUTPUT«Hash % = {:cat1($[2, 3]), :cat2(${:sub2($[1])})}␤»
Zoffix m: dd % .classify-list: sub ($) { $++ ?? 'a' !! <a b> }, <a b c> 23:57
camelia rakudo-moar e8a61d: OUTPUT«Trailing item in Hash.push␤ in block <unit> at <tmp> line 1␤Trailing item in Hash.push␤ in block <unit> at <tmp> line 1␤Hash % = {:a(${:b($["a"])})}␤»
Zoffix waaat
shit, 500 lines of tests and I still missed something 23:58
m: dd % .classify-list: sub ($x) { $x eq 'a' ?? 'a' !! <a b> }, <a b c>
camelia rakudo-moar e8a61d: OUTPUT«Type Array does not support associative indexing.␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: dd % .classify-list: sub ($x) { $x == 1 ?? 'cat1' !! <cat2 sub2> }, [1, 2, 3] 23:59
camelia rakudo-moar e8a61d: OUTPUT«Hash % = {:cat1($[1]), :cat2(${:sub2($[2, 3])})}␤»
Zoffix wtf is the difference :/