»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
notviki That just reminds me of Karl Pilkington... 00:23
AlexDaniel samcv: 1.3GB space remaining :) 00:25
samcv heh 00:37
neewbie can i insert a char in a string giving the index where i want to put the char? 01:27
timotimo try for example substr-rw for that 01:28
neewbie thanks 01:29
but i want to add the char
TimToady you can assign to the substr-rw
garu where can I find the discussion for (or just the reasoning behind) the decision to remove the 'returns' form from the syntax (in the future)? 01:30
TimToady m: my $s = 'abc'; substr-rw($s,2,0) = 'd'; $s.say
camelia rakudo-moar 6703b4: OUTPUT«abdc␤»
garu not trying to push for or against it, I'm just curious
neewbie wow. thanks! 01:31
TimToady garu: see irclog.perlgeek.de/perl6/2016-12-03#i_13674580 for some of it 01:36
neewbie how can i make this code look more like perl 6 gist.github.com/anonymous/742781d1...b8821f8209 01:57
?
TimToady seems like perfectly fine p6 to me 02:04
TimToady if I was gonna recognize more than just ( or ), I might consider binding to $_ instead of $v and using "when '('" etc. instead 02:06
but if it works, then it's sufficiently like perl 6 :) 02:07
neewbie but how could i use $_ if i want to use the index too? 02:12
TimToady -> $i, $_ works fine 02:13
neewbie i see, but in this case you're just renaming the variable, right? $_ is nothing more special than $v
TimToady except that 'when' implicitly matches against $_
neewbie hmmmmmm 02:14
TimToady so you don't have to say 'eq'
neewbie I'll try to refactor tomorrow 02:15
thank you very much for helping me
and sorry for annoying with stupid questions
bye
astj Hi. I found loading modules dynamically using `require` sometimes doesn't work in recent version of MoarVM. Does anyone know about this behavior? 02:34
astj Here are codes to reproduce : github.com/skaji/Crust-issue (Thanks to skaji_ ) 02:34
geekosaur it's been mentioned but I haven 02:37
t seen a ticket go by yet
huggable: rakudobug
huggable geekosaur, [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs
geekosaur believed to be related to lexical module loading 02:38
astj I think so too < believed to be related to lexical module loading
Oh I forgot to mention, those codes above works fine in 2016.11.
astj Should I report it to rakudobug? 02:45
geekosaur yes 02:51
astj Ok, I'll do it. Thank you. 02:53
Geth osystem: dffeadfaee | faraco++ | META.list
update META.info to META6.json
03:13
astj Reported rt.perl.org/Public/Bug/Display.html?id=130535 03:34
geekosaur: Thank you for your advice! 03:35
garu TimToady: thanks! sounds very reasonable 03:43
on a completely unrelated subject, anyone knows a simple way to dynamically name a "has"? 03:45
TimToady you could probably do something with 'method FALLBACK' 03:50
garu for example, if I have class A { submethod BUILD(*%args) { ... }} I'd like to "my $a = A.new( foo => 42 ); say $a.foo" and have it print 42
TimToady or maybe use 'handles' to delegate to a hash 03:51
garu I think I'm missing some basic perl 6 principles yet, sorry :(
I know about self.^add_attribute() but I don't think it's doing it for me 03:52
TimToady is there some reason you don't just want to derive from a Hash?
or compose one with 'has', then delegate unrecognized methods via FALLBACK 03:53
garu ah, that would probably work! 03:54
would it be idiomatic?
I mean
the fact that I can add a "has" inside a condition made me wonder if it would be ok to do something like if $attr-name { has $.{$attr-name} is ...; } 03:56
TimToady that's probably not doing what you think it's doing
garu of course, $.{$attr-name} does not do what I mean, I just wanted to get the idea across :) 03:57
TimToady 'has' is pure declaration, so it's gonna ignore any surrounding conditional
garu ah
dammit :)
I didn't know that, thanks!
TimToady that's why it's called a 'declarator', like 'my' 03:58
garu I'll just resort to FALLBACK then
thanks!
BenGoldberg m: class Foo { has $.x = 3; has $.y = 4; method bar($attr-name) { self."$attr-name" } }; Foo.new.bar("x").say; 04:04
camelia rakudo-moar 6703b4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Quoted method name requires parenthesized arguments. If you meant to concatenate two strings, use '~'.␤at <tmp>:1␤------> 3thod bar($attr-name) { self."$attr-name"7⏏5 } }; Foo.new.bar("x").say;␤»
BenGoldberg m: class Foo { has $.x = 3; has $.y = 4; method bar($attr-name) { self."$attr-name"() } }; Foo.new.bar("x").say;
camelia rakudo-moar 6703b4: OUTPUT«3␤»
BenGoldberg m: class Foo { has $.x = 3; has $.y = 4; method bar($attr-name) { self."$attr-name"() } }; Foo.new.bar("y").say;
camelia rakudo-moar 6703b4: OUTPUT«4␤»
dalek Iish: 6b4bb97 | (Kaare Rasmussen)++ | / (7 files):
POC Dynamic types
05:04
Iish: 416b4db | (Kaare Rasmussen)++ | / (2 files):
Change sub to callable.
Iish: 6223169 | (Kaare Rasmussen)++ | / (6 files):
Change the type identifier to be a type object instead of a string.
Iish: c070886 | (Kaare Rasmussen)++ | / (7 files):
Change the type conversion to hash association.
Iish: 92abd9b | (Salvador Ortiz)++ | / (6 files):
Merge pull request #83 from kaare/master

Dynamic types handling
shellseek hi 05:48
shellseek h 05:48
AlexDaniel .tell MasterDuke pull request sent: github.com/MasterDuke17/Text-Diff-Sift4/pull/4 06:17
yoleaux AlexDaniel: I'll pass your message to MasterDuke.
AlexDaniel what was the module for “is cached”? 06:48
or… what was the actual problem with “is cached”…
samcv say(nqp::getstrbyname('Santa Claus: light skin tone')) #> 🎅🏻
i got it working :D
coming soon!
AlexDaniel found the module github.com/azawawi/perl6-memoize 06:49
samcv now just have to clean some things up
samcv can't believe I got it all working in a day but yey 06:49
lizmat_ clickbaits p6weekly.wordpress.com/2017/01/09/...erbotting/ 08:19
moritz lizmat_++
and lizmat++ too :-)
lizmat :-) 08:21
CIAvash lizmat++ 08:28
hchienjo m: say 'Test'; 08:59
camelia rakudo-moar 6703b4: OUTPUT«Test␤» 09:00
hchienjo Hello guys. Why I am getting different outputs when I do this...
m: ('a'...'z').combinations(2).join('')
camelia ( no output ) 09:01
hchienjo m: ('a'...'z').combinations(2).join('').say
camelia rakudo-moar 6703b4: OUTPUT«a ba ca da ea fa ga ha ia ja ka la ma na oa pa qa ra sa ta ua va wa xa ya zb cb db eb fb gb hb ib jb kb lb mb nb ob pb qb rb sb tb ub vb wb xb yb zc dc ec fc gc hc ic jc kc lc mc nc oc pc qc rc sc tc uc vc wc xc yc zd ed fd gd hd id jd kd ld md nd od pd qd…»
hchienjo and this
m: say ('a'...'z').combinations(2).map({ .join('') });
camelia rakudo-moar 6703b4: OUTPUT«(ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz de df dg dh di dj dk dl dm dn do dp dq …»
hchienjo The first form has an 'a' and a 'z' at the beginning and at the end respectively. I don't know how they come about. 09:02
moritz m: say ('a' ... 'c').combinations(2).eager.perl 09:04
camelia rakudo-moar 6703b4: OUTPUT«(("a", "b"), ("a", "c"), ("b", "c"))␤»
moritz hchienjo: the .join simply stringifies the inner lists, which adds a space in the middle
so it's really "a b" ~ "a c" ~ "a d" which becomes "a ba ca da..." 09:05
hchienjo moritz: You are right. Thanks. 09:11
AlexDaniel Geth: I have a gift for ya 10:47
AlexDaniel Geth: well… ok… 10:49
anyway, 15 commits: github.com/perl6/whateverable/commits/master ;)
AlexDaniel oh, I guess it wasn't json 10:55
AlexDaniel commit: post-glr say 42 10:56
committable6 AlexDaniel, ¦«post-glr»: Cannot find this revision (did you mean “pre-glr”?)
AlexDaniel ;)
samcv: ah! 10:57
samcv hi AlexDaniel
AlexDaniel samcv: it now only includes useful tags
samcv yay
AlexDaniel samcv: zzz say 42
oops
commit: zzz say 42
committable6 AlexDaniel, ¦«zzz»: Cannot find this revision (did you mean “Linz”?)
AlexDaniel commit: Linz say 42
committable6 AlexDaniel, ¦«Linz»: 42
AlexDaniel \o/
lucasb AlexDaniel: is your name spelled correct in the weekly post?
AlexDaniel lucasb: that's… that's some wordpress nickname I guess 10:58
lucasb AlexDaniel: ah, ok :)
AlexDaniel lucasb: I've actually tweaked it a bit on wordpress so that it appears as just “AlexDaniel” now (e.g. here perl6advent.wordpress.com/2016/12/...n-awesome/ ), but not sure what's up with that post 11:01
in any case it is hilarious :)
huggable: princess :is: irclog.perlgeek.de/perl6/2016-11-30#i_13657698 11:02
huggable AlexDaniel, Added princess as irclog.perlgeek.de/perl6/2016-11-30#i_13657698
notviki 15 commits you say... 11:09
Geth ateverable/master: 15 commits pushed by AlexDaniel++
review: github.com/perl6/whateverable/comp...79df620961
notviki <3 Geth 11:10
jnthn notviki: Just switched MoarVM to use Geth also :) 11:13
notviki++
faraco howdy 11:15
notviki jnthn: it seems to be glitching though? For some of the commits in #moarvm, I don't see it report a review link? 11:16
notviki hm... and I don't see any flood warnings from freenode in log :/ 11:17
jnthn notviki: Only the very latest report was from Geth 11:20
I changed it like 10 mins ago
So some in recent backlog will be dalek
I only see the glitch in the dalek output
notviki Oh hah 11:21
faraco quit
notviki *phew*
faraco oops
when look at this `->`, it reminds me to elixir anonymous function. 11:22
looking* 11:23
faraco Is Perl 6 generally ready in production use? At least, sysadmin work? 12:34
DrForr Sure. 12:37
raschip faraco: Yes.
faraco Awesome. 12:38
Woodi hi today :) 12:48
raschip o/
Woodi so now we need #perl6 own blockchain to easily share tuits via IRC... 12:49
m: my @tuits = 't' X~ 1..* # it needs to keep current state somehow ;) 12:50
camelia ( no output )
DrForr hmm. I was reading about blockchains a few weeks ago ina book sample... 12:53
azawawi hi 12:54
raschip oi!
azawawi :) 12:55
DrForr Local afternoon!
raschip faraco: perl6 is the best language for system admin today. It's a way better glue language, by far. 12:56
azawawi Been busy last year in Swift land and had not any time for perl6
github.com/azawawi/SwiftyZeroMQ :) 12:57
now im back
lizmat azawawi welcome back!
azawawi takes a look at Net::ZMQ 12:58
DrForr So what have you brought back for us from Swift? :)
azawawi perl6 is for fun. Swift is for work :)
arnsholt azawawi: Not much done 12:59
azawawi also the try statement in swift... i hate it :)
arnsholt There's a PR, but I got some weird errors with it (and then I ran out of time that day)
azawawi DrForr, lizmat: we should learn a thing or two from Swift's native bindings 13:00
arnsholt: libzmq 4.2.1 is up. I wonder how many distributions are using it. 13:02
arnsholt: packages.debian.org/sid/libzmq3-dev 13:03
arnsholt azawawi: The versioning for ZMQ was maddening 13:09
azawawi arnsholt: i know. Going to fix that :)
arnsholt Also: libzmq3-dev, depends on libzmq5 (which is apparently 4.2.1-2)???
El_Che azawawi: hi, good to see you 13:11
azawawi arnsholt: that's Debian for you :)
El_Che: thx
notviki faraco: what's the actual failures with IRC::Client? 13:14
raschip: why is it the best? 13:16
raschip: considering half the distros don't even have a recent enough version available in repos. 13:17
raschip Well, recent distros have recent versions. 13:18
notviki So it's not the best :P
raschip Better than P5, even. 13:19
Outdated software doesn't bother sysadmins.
notviki uhuh... my distro has rakudo 2011.07 in it... 13:21
raschip which distro are you using?
notviki LTS
Doesn't matter which.
raschip Mine has 2016.12-1 13:22
arnsholt azawawi: Also, what cool things have you discovered in Swift's FFI? 13:23
azawawi arnsholt: well, for one thing, you include zmq.h and get all function signature translated into swift on the fly 13:25
arnsholt Well, that's cool, but a *massive* amount of work
azawawi arnsholt: i.e. no need to write nativecall layer
arnsholt Not to mention: does that also handle #define constructs? 13:26
raschip azawawi: The problem with not having to write a nativecall definition is that the interfaces don't take advantage of P6's features then.
azawawi arnsholt: it seems to get that for free because of llvm
arnsholt ('cause getting those right is several kinds of hairy)
Sounds like something somewhere gets compiled to C first then (or Objective-C, I guess) 13:27
azawawi clang.llvm.org/docs/Modules.html#li...eclaration
raschip I can see it would be useful to have another interface that does it, but it's a lot of work and does not substitute nativecall. 13:28
[Coke] samcv: please don't add trailing whitespac to trigger a rebuild. it causes 'make xtest' to fail.
(docs)
arnsholt azawawi: That's a link thing. Not the same at all
notviki [Coke]: samcv the proper solution is to teach the build script to watch for updates in atom highlighter repo too github.com/perl6/doc/blob/master/u...d-sync#L16 13:30
[Coke] notviki: aye.
azawawi arnsholt: clang.llvm.org/docs/Modules.html#he...eclaration # my bad 13:31
notviki wonders what's this about: github.com/perl6/doc/blob/master/u...nd-sync#L5
Bug in rakudobrew? 13:32
Or someone forgot to run rehash...
azawawi arnsholt: also developer.apple.com/library/conten...CH8-XID_13 13:32
arnsholt: UnsafePointer<Type> is cool 13:33
notviki that path ain't even there no more
Geth c: 1f3eaf145b | (Zoffix Znet)++ | util/update-and-sync
Remove some sort of rakudobrew bug workaround

By what it does, sounds like there was never any bug but someone simply forgot to run `rakudobrew rehash`. The added path is no longer even there, so out this goes.
13:35
notviki
.oO( why doesn't rakudobrew run rehash automatically after installing any module... )
13:36
moritz because panda installs the modules, not rakudobrew
[Coke] notviki, samcv : I updated 'make xtest' to ignore that file for trailing whitespace for now.
notviki Ah right
moritz or zef, for that matter
Geth c: 535015c16d | (Will "Coke" Coleda)++ | doc/Language/5to6-perlvar.pod6
use non-breaking space
13:37
c: 9e9ad84e63 | (Will "Coke" Coleda)++ | xt/trailing-whitespace.t
Don't test file that specifically asks for trailing space.
notviki
.oO( why doesn't rakudobrew install a wrapper around panda/zef that would run rehash :P )
moritz it would be awesome if panda and zef had some kind of hooks where rakudobrew could subscribe to notifications of changed modules
arnsholt azawawi: That does look neat, but it's going to be really hard to implement
notviki sounds like overengineering.. From what I see, rakudobrew already installs zef as a wrapper 13:38
arnsholt And I'm pretty sure it doesn't use the LLVM module stuff, since it says this works for C in general
notviki with a comment "# I AM RAKUDOBREW. ALSO POSSIBLY SPARTACUS. OUTLOOK CLOUDY, ASK AGAIN LATER." in it ... :o
timotimo like everything it makes available through bin/, no?
DrForr I AM RAKUDOBREW, DESTROYER OF BUILDS. LOOK ON MY COREDUMPS O MIGHTY AND DESPAIR. 13:39
notviki suspects DrForr just finished making a Rakudobrew bomb... 13:40
timotimo I AM RAKUDOBUG
DrForr (crossing the streams a bit there, obviously Xanadu had some rocky waters.)
ufobat YAY, my company pays for my trip to the fosdem :) whee
notviki heh lucky
timotimo fantastic 13:41
ufobat i am looking forward for it. i need a perl6 sticker for my new notebook :)
DrForr So will I, come to think of it - At least I'm planning to acquire a new notebook whilst there. 13:42
notviki college ruled? :)
timotimo who rules the college? 13:43
DrForr "You *deserve* to be ruled." "Like five-subject college notebooks is what I'm saying."
azawawi any ideas how to exit from a blocking GTK::Simple app? # need it for writing tests for GTK::Scintilla 14:05
jnthn exit?
(exit does a real OS exit so should tear the process down fine enough...) 14:06
notviki faraco: I don't see any error messages in your update.... 14:07
just copy-pasted original text that describe the issue as "fails everywhere" 14:08
pmurias raschi: re having the FFI take a header you can combine both approaches use the tool to spit out something that you can tweak from the header
raschi pmurias: Yes, they're not mutually exclusive. 14:09
[Coke] so, doc building still basically broken here for me; anyone else building with a very recent rakudo seeing a slowdown on "Writing programs document for Perl 6" ? Seems like just me atm. 14:16
azawawi jnthn: i.e. on shown exit the app (for ci testing custom-made gtk widgets and stuff like that) 14:18
azawawi jnthn: got it... GTK::Simple::Scheduler.new.cue: {$app.exit} :) 14:24
jnthn Ah :)
notviki RabidGravy: are you around? 14:28
[Coke] I have a lookup hash. Is there a good way to have a MAIN arg declaratively be one of those keys? 14:30
notviki or ugexe, are you around? 14:32
moritz [Coke]: uhm, uhm, uhm, probably not
[Coke] ah. enum STUFF (%stuff.keys); # was missing the parens.
then I can use enum in the MAIN.
moritz that would have been my next attempt :-) 14:33
notviki m: say v0.0.9 before v0.0.11 14:33
camelia rakudo-moar ed5c86: OUTPUT«True␤»
notviki ugexe: RabidGravy for some reason `zef install Test::META` attempts to install META6:ver('0.0.9') instead of the latest META6:ver('0.0.11'): gist.github.com/zoffixznet/81fbd81...cce7522e8b 14:34
notviki I don't see where Test::META is req'ing any particular version... is zef incorrectly calculating latest version and thinks 0.0.11 is earlier thatn 0.0.9? 14:35
faraco guys, I try to install IRC::Client from zoffixznet repo with `zef`. However, I failed to do to. Is anyone installing it triggers the same error? 14:38
notviki faraco: just force install it 14:39
faraco is it supposed to failed with zef? 14:40
notviki faraco: it's not failing. it's Test::META that's failing.
faraco but..travis-ci.org/faraco/perl6-IRC-Client 14:41
panda and prove worked..?
notviki heh 14:42
raschi "just force install it" Oh, you're gonna have a lot of angy users because of that, if that's how it's supposed to work.
notviki refrains from making a mean response. 14:43
raschi You should, though.
notviki Yeah, if both of you read what I said 8 minutes ago you may avoid making dumb comments or spamming my GitHub Issues 14:45
timotimo m: say v0.0.11 cmp v0.0.9 14:45
camelia rakudo-moar ed5c86: OUTPUT«More␤»
timotimo right, it should consider 0.0.11 more than 0.0.9 14:45
i don't see the how testing actually fails there at all o_O 14:47
like ... "ok. failed!" 14:48
notviki right even zef install META6 tries to fetch 0.0.9
timotimo whoops. 14:50
time to release META6 0.1.0
notviki :}
faraco urm 14:51
is notviki == zoffixznet?
notviki Yes
faraco well, xD. I'm busted. 14:52
[Coke] aw, I thought we had better enum support for MAIN args. 14:58
notviki [Coke]: which version are you on?
Made a zef issue: github.com/ugexe/zef/issues/124
faraco: ^ I suspect when that is resolved, your issue with IRC::Client will resolve too 14:59
faraco notviki: I'm sorry for that dumb issue. and how do you actually view the subtest in each file? 15:00
because, I don't want to repeat what I just did last time, if I can in the future.
notviki faraco: I ran zef install . in IRC::Client and it aborted on Test::META. In your travis build, I see you're installing deps first with `panda` but then trying to install IRC::Client with zef. So that's why it likely didn't report an issue with Test::META, but I don't know why it still fails with IRC Client. 15:07
[Coke] notviki: head. 15:08
notviki faraco: hm, actually, even if I install all the prereqs `zef test .` fails, even though prove -e 'perl6 -Ilib' -vlr t/ succeeds.
Oh, I have a guess on why
[Coke] notviki: ish, anyway: 2016.12-266-ged5c866
faraco notviki: I actually ran 3 builds. first build, only add `placeholder` in the README.md passed, second, I add script: zef install . in .travis.yml, third, I add `panda install .` before zef install . to make sure if both failed. 15:09
notviki faraco: and zef test . actually fails due to a bug in TAP::Harness: rt.perl.org/Ticket/Display.html?id=130518 15:10
faraco oh, I see
notviki So seems you encountered two bugs...:) 15:10
notviki I guess I can fix TAP::Harness bug now... 15:11
[Coke]: what enum support is missing then? 15:12
IIRC we didn't do the enum guessing for slurpies 15:13
[Coke] sub MAIN (enumType $input) {} ... perl6 thing.pl not-an-enum-type; doesn't show the valid types.
[Coke] writes up a gist. 15:14
raschi Should show <enum1|enum2|enum3|...> 15:15
notviki [Coke]: right, ATM it only shows that for named args 15:16
faraco raschip: thanks, I think I need to learn perl6 regex grammar. :P5 option doesn't run 100% perl 5 regex unfortunately. 15:17
raschi Is there are a way to have muttually exclusive named args? 15:17
I have seen it do <namedarg1> <namedarg2> <namedarg3> ... 15:18
notviki m: sub (*% where :so) {}
camelia ( no output )
timotimo more like :!so, no?
well, :not
notviki raschi: yeah, I guess you could d ^ that and do checks in where
raschi But then it wouldn't show in usage, right? 15:19
notviki hm, right
raschi: then you could do two multies, I guess
raschi Multies will show up as multiple lines, which can be confusing, because users expect different enough modes of operation when that happens. 15:20
moritz then it's your job as an author to either implement similar behavior in the same multi, or supply your own sub USAGE 15:21
raschi Well, it would be very nice if enums showed up as mutually exclusive option in the usage.
options* 15:22
raschi E 15:23
notviki m: my class D {}; sub (:$foo where { $bar === D && $foo !=== D or $foo === D && $bar !=== D }= D, :$bar where { $foo === D && $bar !=== D or $bar === D and $foo !=== D } = D) {}(:42foo)
camelia rakudo-moar ed5c86: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$bar' is not declared␤at <tmp>:1␤------> 3my class D {}; sub (:$foo where { 7⏏5$bar === D && $foo !=== D or $foo === D ␤»
notviki all that typing...
m: my class D {}; sub (:$foo = D, :$bar = D, :@ where { $bar === D && $foo !=== D or $foo === D && $bar !=== D }) {}(:42foo) 15:25
camelia ( no output )
notviki m: my class D {}; sub (:$foo = D, :$bar = D, :@ where { $bar === D && $foo !=== D or $foo === D && $bar !=== D }) {}(:42foo, :44bar)
camelia rakudo-moar ed5c86: OUTPUT«Constraint type check failed for parameter '<anon>'␤ in sub at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
notviki m: my class D {}; sub (:$foo = D, :$bar = D, :@ where { $bar === D && $foo !=== D or $foo === D && $bar !=== D }) {}(:44bar)
camelia ( no output )
notviki huzzah?
ugexe notviki: can you real quick try with `--/cached`
i think its about time to make the cache disabled by default
notviki and IIRC the :@ won't show up in USAGE... and if it will, there's some named anon thing that doesn't (maybe :%) 15:26
ugexe otherwise it sees you're essentially asking for META6:ver<*> (e.g. META6), and the first thing it hits it will keep (which is the cache)
ugexe cache isn't working well with this model 15:26
[Coke] notviki: gist.github.com/coke/f9584108f0f50...1b24df4fee 15:27
notviki I'd say the "first thing it hits" isn't working with this module :P
*model
ugexe: yeah with --/cached it's installing 0.0.11
[Coke] notviki: (named args) ... ARG. that is actually what I wanted it for, but assumed that if it didn't work one way, it wouldn't work the other. 15:28
ugexe i switched to that because otherwise it has to make a network request for every 'zef install whatever'. which it *used* to do, but someone opened an issue that their network was slow and that it should use the cache first
raschi It would be very nice if it said: "Usage: foo.p6 <cat|dog|sheep>"
notviki ugexe: hehe :)
raschi: well volunteered!
raschi I will, but only at night. I'm at work behind a stupid firewll right now. 15:29
notviki raschi: this is the part that does it for named args, I suspect it's something similar for positionals: github.com/rakudo/rakudo/blob/nom/...#L122-L126 15:29
perlpilot_ raschi: while you're at it, make the generated usage available in $?USAGE too :)
raschi right. 15:30
notviki faraco: zef test . is now fixed on HEAD rakudo for those IRC::Client files that were full-file skipped... 16:20
faraco notviki: nice, gonna sync the repo and install again. 16:22
notviki faraco: and if you run zef with --/cached the other issue won't happen either 16:23
raschi ugexe: is there a command to invalidate the cache? Users are used to it: "apt update && apt upgrade". 16:25
ugexe raschi: --/cached will disable it, or `zef nuke StoreDir` will delete it 16:28
the cache isn't invalid in the proper brought up today, its just that it fulfills the request before it considers the ecosystem 16:29
s/proper/problem/
i.e. `zef install "META6:ver<0.0.11>"` would have worked
raschi You should change the documentation and tell users to nuke the cache before installing anything.
notviki :|
ugexe im just going to fix the cache
raschi OK. 16:30
ugexe the root of the problem is `use META6;` is the same as `use META6:ver<*>`, so when zef looks to see if `META6` is installed or available in an ecosystem/cache its asking 'is any version of META6 available?' 16:31
raschi It shouldn't try and rebuild it every time, that would be very painful.
I though you were goin g to just reverse the changes you made when you made using the cache the default. 16:32
ugexe nah, just that it should consider all "ecosystems" when searching (instead of stopping when it finds something that fulfills the request). Although at the moment this means repeatedly parsing an ever-growing json file from the ecosystem 16:34
so i'll problem end up mirroring the ecosystem using a format that can be parsed faster 16:35
(or a module that converts the ecosystem json to this faster format)
raschi and when are you going to fetch this?
notviki Where is it getting 0.0.9 META6 from tho? It's a fresh install 16:36
ugexe notviki: did you nuke ~/.zef ?
i know you usually do but thats what i would expect to cause this
notviki update-perl6 is aliased to `rm -fr ~/.perl6; rm -fr ~/.rakudobrew/; git clone github.com/tadzik/rakudobrew ~/.rakudobrew; rakudobrew build moar; rakudobrew build zef;'
And I just ran update-perl6; and then zef install . in IRC::Client's checkout 16:37
oh crap
Yeah, the update alias is missing rm -fr ~/.zef on this box
Too many boxes! :)
ugexe i renamed your issue to reflect the problem as I understand it btw 16:38
raschi what's the issue number?
ugexe github.com/ugexe/zef/issues/124
raschi Oh, I see, I thought it looked directly on what you called "ecosystem", which is the package list. 16:41
"the problem as I understand it btw". You aren't sure of it? 16:43
Or aren't sure of the solution? 16:45
loveperl ¿Cómo hacer una solicitud de ajax? 16:57
How to make an ajax request?
notviki hah 16:57
AlexDaniel hmmm… 16:58
notviki loveperl: api.jquery.com/jQuery.ajax/
loveperl: or you mean you want to simulate one from a Perl 6 script? 16:59
notviki loveperl: just use dev tools in the browser to see what HTTP request is being sent out and send the same one via HTTP::UserAgent or something similar 16:59
notviki (press F12) 17:00
loveperl_ ??
notviki loveperl: just use dev tools in the browser to see what HTTP request is being sent out and send the same one via HTTP::UserAgent or something similar 17:01
ugexe raschi: as I understand it meaning the current behavior could be considered correct by some (although probably not many) 17:20
raschi Define "correct"
It's not correct because it breaks expectations. 17:21
TimToady I've learned over the years that not everyone expects the same thing. :) 17:24
loveperl_ I do not understand ajax requests
raschi What software behaves like zef is doing right now?
notviki loveperl_: they're just regular HTTP requests
loveperl_: what are you trying to do exactly? 17:25
ugexe My::Module is the same as My::Module:ver<*>, which translates to "whatever version of My::Module" - and in this regard it currently accomplishes that
notviki Are you trying to make a request or respond to one?
raschi @a[*] sould behave like @a.pick, then? 17:28
ugexe use My::Module:ver<*>; should load all versions of My::Module then?
TimToady ugexe: well, the "whatever" concept isn't meant to imply "take a random guess", but "you figure out something smart", but I can see how some people would read it the other way 17:29
ugexe and while I agree it should instead treat it as 'get whatever is the newest' its current behavior is not without benefit - it allows you to order your module sources such that you can earlier sources can be considered as the 'main source' and later ones as fall backs
notviki the "whatever version" feels very wrong to me and I'd never intend it as such. To me, it's "latest available"
why the hell would I want whatever version? That's like asking for rakudo:ver<*> and getting teh 2011.07 release. 17:30
raschi "you figure out something smart" -> Exactly.
AlexDaniel .оО( use My::Module:ver<∞> :D )
raschi When installing, it should be the newest version, otherwise it's a security bug.
TimToady well, could be, if it's a security fix 17:31
loveperl_ I want to send variables from javascript to perl
TimToady I do agree that most recent is a reasonable default assumption 17:32
notviki loveperl_: ok. Try HTTP::Server::Tiny
buggable: eco HTTP::Server::Tiny
buggable notviki, HTTP::Server::Tiny 'a simple HTTP server for Perl6': github.com/tokuhirom/p6-HTTP-Server-Tiny
notviki loveperl_: the variables will be in $env<QUERY_STRING> and you can get them (roughly) with use URI::Encode; my %query = $_ ?? () !! .split(/<[=&]>/).map(*.&uri_decode) given $env<QUERY_STRING>; 17:33
loveperl_: or if it's a POST, then somewhere else in $env; just dump it; dd $env 17:34
loveperl_ $.ajax funciona? 17:35
raschi well, could be, if it's a security fix: If it isn't this one time, it will be in the future.
notviki loveperl_: si
raschi Installing outdated software without the user asking for it specifically is certainly a security bug, see the way Linux Mint does kernel updates. 17:37
ugexe i don't think anyone disagrees with you. i was merely explaining the rational behind its current behavior 17:38
TimToady If someone would figure out a way to monetize violent agreement, we'd all be rich. :) 17:40
raschi Well, it's called a cult. 17:41
TimToady If so, that's the point at which I kick our cult over on its ear, and hope it evolves into culture. :) 17:43
CIAvash[m] TimToady: Did you see my question? irclog.perlgeek.de/perl6/2017-01-07#i_13876301 17:44
raschi I didn't mean we're a cult, just that it's a way to monetize violent agreement.
I don't think we should monetize our violent agreement.
TimToady we're a bit of a cult, but mostly only in nice ways, so far
it's something I simultaneously encourage and discourage... 17:45
raschi I think we're using different definitions for cult.
TimToady sure, I have multiple definitions my own self 17:46
CIAvash[m]: yes, and was thinking about it
raschi Have you taken people away from their familes, punished them for questioning the truths of perl 6, taken their assets so that they have a hard time running away, etc? That's the definion I was using.
TimToady ranges can be destructured with named args representing methods, I suspect 17:47
CIAvash[m] TimToady: ok, just thought you might have missed the messages 17:47
notviki star: use LWP::Simple; dd LWP::Simple.post: "geth.perl6.party/?chan=%23perl6", {"X-GitHub-Event" => "push"}, '{"repository":{"name":"fakety-fake", "full_name":"fakety-fake"},"ref": "refs/heads/meows","commits":[{"message":"Zoffix was here", "id":"meowmeow", "added":["fakety.fake"],"author":{"name":"fake Zoffix"}}]}'
Geth kety-fake/meows: meowmeow | (fake Zoffix)++ | 2 files
Zoffix was here
camelia star-m 2016.10: OUTPUT«"OK"␤»
notviki giggles 17:48
TimToady seems like sequences oughta be destructuralable in a head/tail fashion
hankache hello #perl6 17:48
notviki \o
TimToady CIAvash[m]: when you ask hard questions, sometimes the silence means I'm thinking "hmm..."
and sometimes it means I'm asleep :) 17:49
notviki loveperl_: did you figure it out?
CIAvash[m] :) 17:49
loveperl_ Not yet is not that I have it very clear, but thanks for the answer 17:50
TimToady raschi: sure, but defining something by its most extreme forms can also be a way of not recognizing the tendencies, sort of the opposite of a slippery slope argument, as it were 17:53
raschi Does use My::Module:ver<0.1 < * < 1.0> works?
m: use URI::Encode:ver<0.1 < * < 1.0> 17:54
camelia rakudo-moar aee7af: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in quote words; couldn't find final '>'␤ ␤at <tmp>:1␤------> 3use URI::Encode:ver<0.1 < * < 1.0>7⏏5<EOL>␤ expecting any of:␤ pair value␤ q…»
TimToady m: use URI::Encode:ver(0.1 < * < 1.0)
camelia rakudo-moar aee7af: OUTPUT«WhateverCode object coerced to string (please use .gist or .perl to do that)␤ in any load_module at src/Perl6/World.nqp line 1194␤WhateverCode object coerced to string (please use .gist or .perl to do that)␤ in any load_module at src/Perl6/World.nq…»
TimToady that would be a better syntax, if supported
raschi TimToady: If i didn't use the most extreme definion, the joke wouldn't work.
TimToady m: use URI::Encode:ver(v0.1 < * < v1.0)
camelia rakudo-moar aee7af: OUTPUT«WhateverCode object coerced to string (please use .gist or .perl to do that)␤ in any load_module at src/Perl6/World.nqp line 1194␤WhateverCode object coerced to string (please use .gist or .perl to do that)␤ in any load_module at src/Perl6/World.nq…»
TimToady only with versions, not Rats :)
raschi: are you questioning my authority? ;) 17:55
raschi Why would I?
This is your playground, after all. 17:56
TimToady
.oO(You job is to question authority. My job is to authorize questions.)
*Your 17:57
raschi right 17:59
TimToady but yes, I agree that the nice thing about words is that they scale up and down in their destructive power; that's also the nasty thing about words. :)
raschi No, I mean. 18:00
CIAvash[m] TimToady: How would named args work for ranges?
TimToady m: sub foo($range (:$min, :$max)) { say "$min $max" }; foo ^10 18:01
camelia rakudo-moar aee7af: OUTPUT«0 10␤»
TimToady or are you looking for something more head/tail-y
?
[Coke] expected: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' got: '08x08x0x10fffd88x88x0x10fffd2Ex2Ex0x10fffd29x29x0x10fffd09x09x0x10fffd09x09x0x10fffd0Fx0Fx0x10fffdCDEFGHIJKLMNO08x08x0x10fffd4Dx4Dx0x10fffdRQSTUVWXYZ' 18:02
...huh
CIAvash[m] Yes
raschi m: sub foo($range (:$a, :$b)) { say "$a $b" }; foo ^10
camelia rakudo-moar aee7af: OUTPUT«2 unexpected named arguments passed (min,max) in sub-signature of parameter $range␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
ugexe m: use Test:ver(v0.*..v7.*) 18:03
camelia ( no output )
ugexe figured v6.* would catch 6.c too but I guess not
(at least as part of a range) 18:04
TimToady m: say v6.c ~~ v6.* 18:04
camelia rakudo-moar aee7af: OUTPUT«True␤»
TimToady seems like it oughta
ugexe right, use Test:ver(v6.*) works
notviki loveperl_: are you still around? 18:05
TimToady but smartmatch is a bit different from cmp semantics
v6.* isn't actually orderable
notviki loveperl_: here's a working version: gist.github.com/zoffixznet/1b34ed9...eda5e47f75
ugexe m: use Test:ver(v0.* < v6.*) 18:06
camelia ( no output )
notviki loveperl_: note that you'd need to decode <p6sgi.input> differently if you're using file uploads or GET form request
use Test:ver<whatever>
m:" use Test:ver<whatever>
m: use Test:ver<whatever>
camelia rakudo-moar aee7af: OUTPUT«===SORRY!===␤Could not find Test:ver<whatever> at line 1 in:␤ /home/camelia/.perl6␤ /home/camelia/rakudo-m-inst-1/share/perl6/site␤ /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤ /home/camelia/rakudo-m-inst-1/share/perl6␤ Comp…»
ugexe m: require Test:ver<whatever>; # :( 18:07
camelia ( no output )
loveperl_ ok tankyou novitike
novitiki 18:08
TimToady m: sub foo($range, @range ($a, *@b) = $range.list) { say "$a then @b[]" }; foo ^10
camelia rakudo-moar aee7af: OUTPUT«0 then 1 2 3 4 5 6 7 8 9␤»
TimToady CIAvash[m]: ^^^ there's a way to fake it
notviki m: sub foo($range, @range ($a, *@b) = $range.list) { say "$a then @b[]}; foo ^10, [] 18:09
camelia rakudo-moar aee7af: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in double quotes; couldn't find final '"' ␤at <tmp>:1␤------> 3.list) { say "$a then @b[]}; foo ^10, []7⏏5<EOL>␤»
notviki m: sub foo($range, @range ($a, *@b) = $range.list) { say "$a then @b[]"}; foo ^10, []
camelia rakudo-moar aee7af: OUTPUT«Too few positionals passed; expected at least 1 argument but got only 0 in sub-signature of parameter @range␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
notviki neat 18:10
TimToady sure, it's fragile
notviki m: sub foo(*@ ($a, *@b)) { say "$a then @b[]" }; foo ^10 18:11
camelia rakudo-moar aee7af: OUTPUT«0 then 1 2 3 4 5 6 7 8 9␤»
CIAvash[m] interesting :)
[Coke] www.web2generators.com/text-related...pside-down - look at the flipped char for "P" - (my cut and paste is borked in tmux, so I can't paste it in here, but if I do that char, .NFKD.list.say, I get: (1114109 120 68 52 1114109 120 56 48) 18:12
raschi u: Ԁ 18:13
unicodable6 raschi, U+0500 CYRILLIC CAPITAL LETTER KOMI DE [Lu] (Ԁ)
notviki m: "Ԁ".NFKD.say
camelia rakudo-moar aee7af: OUTPUT«NFKD:0x<0500>␤»
notviki m: "Ԁ".NFKD.list.say
camelia rakudo-moar aee7af: OUTPUT«(1280)␤»
notviki Is that the one?
[Coke] yes, if I cut and paste from here instead of the URL, i get the same listing. 18:14
[Coke] weird. 18:14
SmokeMachine if it resolves with the last version, how could some one do something like -Idir-with-old-version of the module on newer version is installed?
notviki m: "Ԁ".NFKD.list.say
camelia rakudo-moar aee7af: OUTPUT«(1280)␤»
notviki ^ c-p from site
[Coke] wonder if it's something about my terminal on macos 18:15
raschi m: " Ԁ".NFKD.list.say
camelia rakudo-moar aee7af: OUTPUT«(32 9 1280)␤»
CIAvash[m] TimToady: but it can't work with infinite ranges, can it? 18:16
TimToady m: sub foo($range is copy ($a, *@b) where <-> $_ { .=list }) { say "$a then @b[]" }; foo ^10 18:17
camelia rakudo-moar aee7af: OUTPUT«Parameter '$_' expected a writable container, but got Range value␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
TimToady m: sub foo(@range ($a, *@b)) { say "$a then ", @b }; foo 1..* 18:18
camelia rakudo-moar aee7af: OUTPUT«Too few positionals passed; expected at least 1 argument but got only 0 in sub-signature of parameter @range␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
ugexe SmokeMachine: yeah thats pretty much the rational behind zef's current behavior (acting like CUR where it takes the highest version *of the first CUR/ecosystem* that fulfills the request) 18:18
thanks for mentioning that
TimToady m: sub foo($range, @range ($a, *@b) = $range.list) { say "$a then ", @b }; foo 1..*
camelia rakudo-moar aee7af: OUTPUT«Too few positionals passed; expected at least 1 argument but got only 0 in sub-signature of parameter @range␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
TimToady m: sub foo($range, @range ($a, *@b) = $range.list) { say "$a then ", @b }; foo 1..10 18:20
camelia rakudo-moar aee7af: OUTPUT«1 then [2 3 4 5 6 7 8 9 10]␤»
TimToady weird
raschi m: (1..*).list
camelia ( no output )
raschi m: dd (1..*).list 18:21
camelia rakudo-moar aee7af: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10... lazy list)␤»
TimToady m: (1..*).list[^10]
camelia ( no output )
TimToady m: (1..*).list[^10].say
camelia rakudo-moar aee7af: OUTPUT«(1 2 3 4 5 6 7 8 9 10)␤»
TimToady would appear that subsig binding can't reify at that level
raschi It should warn about it, then. 18:22
SmokeMachine ugexe: Would be possible to -I and use lib means: search the modules on this dir if do not find it, do the normal, else use this one, do not try the others? 18:27
If so, :ver<*> would have no problem meaning the highest version... I think 18:28
ugexe SmokeMachine: thats how it currently works. -Ilib puts ./lib at the front of the repo chain - if a `use Module::Name` is found in that repo it will be chosen and no other repos will be looked at
notviki m: my ($range, @ ($a, *@b) = $range.list) = 1..*; say "$a then ", @b;
camelia rakudo-moar aee7af: OUTPUT«Cannot call method 'Stringy' on a null object␤ in block <unit> at <tmp> line 1␤␤»
SmokeMachine ugexe: yes, but it uses the first version it founds... 18:29
SmokeMachine I mean: :ver<*> search all versions and use the newest unless it founds it on a dir settled by -I... 18:30
raschi SmokeMachine: We're talking about installing modules, not about what to 'use'. We only test the "use" because zef should do the same thing as P6. 18:31
When using them, <*> should use the first one it founds, allowing the admin to manipulate the search path. 18:32
ugexe SmokeMachine: yes, thats what it does now for the most part. the "doesn't load the highest version" problem requires multilpe :auth<> to be used as well
SmokeMachine raschi: I know! I'm "trying" to change the use behavior to continue to do the same thinking when installing modules and don't loose the -I when use()ing... 18:33
I don't really want to try anything... I'm just wondering... 18:35
*to change
notviki :( organazier of Toronto Perl Mongers just stepped down... one of the reasons: "I'd been 18:38
hoping to do a maker themed thing this month but got no responses
notviki oh first draft of LP6 is available. 18:39
I guess we're not allowed to share it, right? 18:40
faraco hi 18:44
raschi o/
Geth albot: a0734fa4c1 | (Zoffix Znet)++ | evalbot.pl
Teach camelia to ignore Geth
faraco raschi: :D 18:45
raschi notviki: do you have a link to the log where what motivated that commit happened? 18:46
DrForr notviki: I wouldn't think so. <looks/>
notviki DrForr: :) 18:48
I guess I shouldve went for "friends and femily" reward :)
[Coke] notviki, samcv (others): gist.github.com/coke/6b627a81301d0...a7740e631b - here's my weird CYRICLLIC CAPITAL LETTER KOMI DE issues. 18:51
DrForr 'CYRICLLIC' has an extra 'C' assuming that's a direct copy :) 18:54
notviki [Coke]: I get 0000000 80d4 in od too 18:55
[Coke] DrForr: hand typed, sorry 18:56
notviki: does the cut and paste-o happen to you?
notviki m: dd "\x[80d4]"
camelia rakudo-moar aee7af: OUTPUT«"胔"␤»
notviki m: dd "\x[d4]"
camelia rakudo-moar aee7af: OUTPUT«"Ô"␤»
DrForr No need to be sorry, I was just thinking it might be one of those "caught by someone else" things.
[Coke] m: var $my-variable; say $my-variable; # wonder if this could give some love for our JS friends. 18:58
camelia rakudo-moar aee7af: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$my-variable' is not declared␤at <tmp>:1␤------> 3var 7⏏5$my-variable; say $my-variable; # wonder␤»
faraco m: my $sub = &foo; 18:59
camelia rakudo-moar aee7af: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ foo used at line 1␤␤»
RabidGravy notviki, I wasn't around but I am now :) 19:07
notviki RabidGravy: it's OK, turns out the issue is in zef not in Test::META :) 19:07
CIAvash[m] TimToady: My curiosity started with this question[stackoverflow.com/questions/392659...n-perl-6]. I wanted to try and see if it's possible to implement it the way it's done in Haskell. So I wrote it like this[gist.github.com/CIAvash/a02ea4c1c5...4d42f352], but it didn't work for (infinite) ranges and sequences. 19:13
RabidGravy Harr! 19:17
perigrin w 23 19:22
lucs wingo! 19:46
notviki $ perl6 -e '"Ԁ".uninames.say' 19:50
(<Plane 16 Private Use> LATIN SMALL LETTER X LATIN CAPITAL LETTER D DIGIT FOUR <Plane 16 Private Use> LATIN SMALL LETTER X DIGIT EIGHT DIGIT ZERO)
[Coke]: ^ that's what I get on copy-paste
notviki bisectable6: "Ԁ".uninames.say 19:56
bisectable6 notviki, On both starting points (old=2015.12 new=e182deb) the exit code is 0 and the output is identical as well
notviki, Output on both points: (CYRILLIC CAPITAL LETTER KOMI DE)
notviki what the...
weird 19:57
m: "Ԁ".uninames.say
camelia rakudo-moar e182de: OUTPUT«(CYRILLIC CAPITAL LETTER KOMI DE)␤»
AlexDaniel the one you pasted into IRC is different?
notviki is it?
They look identical to me 19:58
And I made it by 0x500.chr.print
AlexDaniel m: 0x500.chr.print
camelia rakudo-moar e182de: OUTPUT«Ԁ»
notviki m: 0x500.chr.uninames.say
camelia rakudo-moar e182de: OUTPUT«(CYRILLIC CAPITAL LETTER KOMI DE)␤»
notviki m: "Ԁ".uninames.say 19:59
camelia rakudo-moar e182de: OUTPUT«(CYRILLIC CAPITAL LETTER KOMI DE)␤»
notviki same copy-paste buffer..., but it gives me the weird private use stuff in another terminal
AlexDaniel maybe your terminal is adding it for its own purposes? 20:00
notviki though it's worth pointing out my locale is busted on this terminal. It keeps thinking it's chineese or something "LC_NAME=zh_CN.UTF-8"
AlexDaniel hmmm
notviki huggable: windows utf8 :is: chcp 65001 20:01
huggable notviki, Added windows utf8 as chcp 65001
AlexDaniel should bisectable run 「commit: 6c …」 with the same code if the output on 2015.12 and HEAD is identical?
notviki lmao... I copy-pasted that Ԁ into windows terminal and ran uninames on it and it tells me "(QUESTION MARK)" :P 20:04
char looks like a box tho
Well, and the other data point: $ perl6 -e '0x500.chr.say' | od -h 20:05
0000000 80d4 000a
0000003
is that normal? that it's 80d4?
m: "\x[80d4]".uninames.say
camelia rakudo-moar e182de: OUTPUT«(<CJK Ideograph>)␤»
[Coke] notviki: so you can duplicate my issues. it's weird, neh? 20:06
notviki [Coke]: yeah
[Coke]: what does echo $LC_NAME give you? 20:07
I got it as zh_CN.UTF-8
[Coke] notviki: not set.
notviki shrugs
gonna try it at home too
[Coke] got LANG=en_US.UTF-8 20:08
AlexDaniel m: 0x500.chr.say
camelia rakudo-moar e182de: OUTPUT«Ԁ␤»
AlexDaniel m: 0x500.chr.encode.say
camelia rakudo-moar e182de: OUTPUT«utf8:0x<d4 80>␤»
notviki my lang is the same
AlexDaniel++
AlexDaniel m: “\x[500]\n”.encode.say 20:09
camelia rakudo-moar e182de: OUTPUT«utf8:0x<d4 80 0a>␤»
notviki reads LP6 draft... 20:11
AlexDaniel wants to take a look too, but was not given the opportunity
notviki did a $50 kickstarter thing 20:12
Says "Do not share" on the copy
AlexDaniel sure-sure, I'm not asking for anything
DrForr has other ways :) 20:13
notviki I'll give you my rating of it when I'm done :P
AlexDaniel I'd just search for more rakudo bugs then rather than trying to review the book
which is a much better idea
notviki :)
Well, I'm not reviewing it. I'm merely trying to decide whether I should stfu about dissing that book :P 20:14
notviki :( well, it's already making me sad 20:21
[Coke] notviki: hey, um. 0x500 is working here now.
I'm so confused. :|
notviki Well, the 0x500 is also working for me here. But if I copy-paste that output into a string, the uninames gives me weird stuff 20:22
[Coke]: oh and as AlexDaniel showed above, the `od` output makes sense 20:23
notviki lol... LP6 says MoarVM has "fatest compile time, the fatest runtime 20:34
:P
tailgate it's tremoudously fast
tremendously. 20:35
notviki but is it fat?
:)
masak tremudiously 20:35
notviki Do we want rakudobrew mentioned in the book? 20:37
samcv i have the best VM, the greatest VM. A lot of really smart people are telling me, and believe me people, MoarVM is just tremendous, just tremendous
notviki samcv: are you in US?
samcv yes
:(
notviki haha :)
[Coke] notviki: #perl6 has steered people away from it; too complicated for the average user. 20:42
notviki maybe LP6 should too...
[Coke] I would, esp. since we'll end up having to support it. :) 20:43
samcv brb ~2 hour
notviki /o\ 20:44
AlexDaniel RT #130494 \o/ 21:10
u: onehusneoahu 21:11
unicodable6 AlexDaniel, Found nothing!
AlexDaniel actually, I no longer see any leaks on these bots 21:14
maybe a bit on statisfiable…
masak .oO( ironic that a bot called "satisfiable" keeps wanting more and more memory ) 21:24
Geth cosystem: 07099c41cd | (Jonathan Stowe)++ | META.list
rename meta on Sys::LastLog
21:25
lizmat cues "I can't get no satisfaction" 21:26
AlexDaniel hm, looks like there are some issues still… 21:28
but could be my fault too 21:29
RabidGravy there all but one of my modules green on travis again 21:35
RabidGravy and the last one may just be a big TODO as I don't fancy building the right dependency from scratch 21:44
[Coke] samcv: my problem with docs was because there is a new async parameter that isn't tied to the original parameter, and it's enabled by default. 21:51
samcv wait what?
problem with what? not sure why you're messaging me but it is something that i want to know about 21:52
but seems you're responding to something i said?
[Coke] I'm telling you because you added it. 21:54
just opened docs#1127
samcv oh ok 21:55
i edited the async page?
[Coke] *facepalm*
no, you added --no-proc-async as an option to htmlify 21:56
samcv oh. oooooooooooooooooooooooh
now it all makes sense
[Coke] when I run with --no-proc-async, I now get: 21:56
Highlights is reading /Users/williamcoleda/sandbox/perl6-doc
Error: EISDIR: illegal operation on a directory, read
samcv ah ok 21:57
samcv so i need to fix the --no-proc-async option. got it 21:57
will fix that today
[Coke] samcv: github.com/perl6/doc/issues/1128 21:59
notviki AlexDaniel: well, I give the book 8/10. Impossible for me to judge as I abhor absolute-beginner programming writing, but at least I never felt the need to shout "OH GOD! WHAT IS THIS GUY DOING!" :) 22:01
m: $_ = 'foo'; dd /'bar'/ 22:02
camelia rakudo-moar 9a11ea: OUTPUT«/'bar'/␤»
notviki m: $_ = 'foo'; dd m/'bar'/ 22:02
camelia rakudo-moar 9a11ea: OUTPUT«Nil $/ = Nil␤»
AlexDaniel 8/10! Wow!
notviki hm
In the book it says failed match returns Any :/
oh wait, in the REPL it does print an ANY
along with Nil 22:03
Well, I guess one challenge that I forsee it small changes like these showing up.
[Coke] notviki++ 22:04
RabidGravy that's always the problem with paper books 22:05
[Coke] samcv: I made you some tickets: github.com/perl6/doc/issues/assigned/samcv :) 22:07
SmokeMachine is there a way to create a multi sub that if I do, for example: my $i = 42; my-multi-sub($i); calls one function and if I do: my-multi-sub(42); calls the other one; like: multi my-multi-sub($a #`{its a var}) {...}; multi my-multi-sub($a #`{its a literal}) {...}; ? 22:17
lizmat m: 42++ 22:20
camelia rakudo-moar 9a11ea: OUTPUT«Cannot resolve caller postfix:<++>(Int); the following candidates␤match the type but require mutable arguments:␤ (Mu:D $a is rw)␤ (Int:D $a is rw)␤␤The following do not match for other reasons:␤ (Bool:D $a is rw)␤ (Bool:U $a is rw…»
faraco m: say "Perl 6".ords;
camelia rakudo-moar 9a11ea: OUTPUT«(80 101 114 108 32 54)␤»
lizmat m: multi a($a is rw) { say "writable" ); multi a($a) { say "constant" ); a my $; a 42 22:22
camelia rakudo-moar 9a11ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3multi a($a is rw) { say "writable" 7⏏5); multi a($a) { say "constant" ); a my ␤ expecting any of:␤ postfix␤ statement end␤ statemen…»
lizmat m: multi a($a is rw) { say "writable" }; multi a($a) { say "constant" }; a my $; a 42
camelia rakudo-moar 9a11ea: OUTPUT«writable␤constant␤»
SmokeMachine lizmat: thanks!
lizmat SmokeMachine: ^^^
Geth oc: d5cd240ad5 | faraco++ | doc/Type/Cool.pod6
changed int code

say "Perl 6".ords; # => (80 101 114 108 32 54)
notviki vaguelly recalls a bug with the above
lizmat wasn't that fixed about 2 months ago ? 22:23
notviki Was it?
It was an optimzier bug, I recall.
lizmat it's used in the core for postfix:<++> afaik
notviki Well, I guess this is a good excuse for me to bother to rebuild perl6.fail to find ticket :P
faraco argh, I want to pull request. accidentally direct edit. 22:24
notviki m: 160 .chr.uniname.say 22:25
camelia rakudo-moar 9a11ea: OUTPUT«NO-BREAK SPACE␤»
notviki faraco: it's probably best to change that string to something else. 22:25
faraco but what I did is wrong, or no?
faraco because, I don't really mess something up. 22:26
want*
notviki faraco: basically, currently our policy is to write "Perl 6" with non-breaking space (and I think there's even a test that checks for that) but having that in the string is confusing, as you've just encountered.
m: say "Camelia".ords
camelia rakudo-moar 9a11ea: OUTPUT«(67 97 109 101 108 105 97)␤»
notviki ¯\_(ツ)_/¯
faraco oh, so should I change it to that? I gonna pull request.
notviki faraco: just commit directly.
faraco ah okay. :)
let me check the return number first 22:27
faraco m: say "Camelia".ords; 22:27
camelia rakudo-moar 9a11ea: OUTPUT«(67 97 109 101 108 105 97)␤»
notviki FWIW some of those issues assigned to samcv looks like they can be fixed by anyone. 22:30
perlpilot_ And deprive samcv of her glory?!?
notviki I rather she hacks on all the fancy unicode stuff in rakudo :P
AlexDaniel bisect: multi a($a is rw) { say "writable" }; multi a($a) { $a = 99 }; a my $; a 42 22:31
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=9a11eac) because on both starting points the exit code is 1
AlexDaniel, bisect log: gist.github.com/a8b9fde5fa8def88f8...959f85b177
AlexDaniel, (2016-11-29) github.com/rakudo/rakudo/commit/39...7bf1c48b4d
notviki takes #1130 to put money where the mouth is or whatever that saying is
AlexDaniel nah that's not it 22:32
Geth oc: c3f1dadd54 | faraco++ | doc/Type/Cool.pod6
changed string and int code

Replaced "Perl 6" with "Camelia" and the returned int code.
22:32
notviki hm, something's up with RT... my db rebuild says "Found 0 total tickets" :(
notviki [Coke]: I get the same weirdness on my home box with 0x500 when copy-pasting the char into terminal and running .uninames on it :S 22:34
And it's a different OS/terminal
faraco a question. If almost 266 users given push access to the repositories, ain't that dangerous, if someone troll or abuse the power? 22:35
gfldex that's what git is for 22:36
faraco oh yeah, revert. 22:37
perlpilot_ faraco: mistakes are far more likely that abuse and that hasn't swamped us yet. 22:37
Geth oc: 2493a48e3b | (Zoffix Znet)++ | htmlify.p6
Remove unused var and conditional

Fixes #1130
22:38
faraco still standing strong 22:39
notviki faraco: the benefits outweight the risks. People are far more likely to contribute if they don't have to bother someone with PRs for every change. 22:40
Though that does bring up a point: the new policy gives users push to all repos in perl6/ but our bots watch only a few of them. 22:41
by new policy I mean the new default setting for new members (I don't even know if it's really new....)
faraco I agree with that too. I would want to contribute if I got direct access to the source too. 22:43
gfldex it's much easier to clean up behind one troll then to clean up loads of PRs every day 22:44
faraco you have a point.
that will take a lot of people to review them one by one. Slowing the development. 22:45
gfldex there are so many nice big target for vandals on the internet, it's unlikely they will ever spot us :) 22:46
sean` Is there a convenient way to collapse runs of the same element in a list? For example, to turn <a a a b c c> into (<a a a>, <b>, <c c>), or (a => 3, b => 1, c => 2), or some such? 22:54
raschip sean`: yes, a Bag
notviki sean`: does it need to remain ordered? 22:55
sean` Yes.
notviki sean`: and <c c c a a a b c c> would turn into <c c c> ... <c c> ? instead of them all being together 22:56
sean` Exactly.
Like Haskell's Data.List.group function.
raschip Yeah, a Bag loses the order. 22:57
SmokeMachine m: role Bla {}; multi infix:<||>(Bla $, Bla $) {"OK"}; say (42 but Bla) || (1 but Bla) 22:58
camelia rakudo-moar 9a11ea: OUTPUT«42␤»
SmokeMachine why isn't it using my sub?
notviki m: role Bla {}; multi infix:<zzz>(Bla $, Bla $) {"OK"}; say (42 but Bla) zzz (1 but Bla) 22:59
camelia rakudo-moar 9a11ea: OUTPUT«OK␤»
notviki prolly some magicks tucked on || to make it shortcurcuit
m: role Bla {}; multi infix:<||>(Bla $, Bla $) is default {"OK"}; say (42 but Bla) || (1 but Bla)
camelia rakudo-moar 9a11ea: OUTPUT«42␤»
notviki shrugs
SmokeMachine notviki: its happening with ||, &&, and and or 23:00
notviki ...and all of them shortcurcuit
SmokeMachine notviki: but should that happens? 23:01
raschip sean`: I don't think there's any builtin special way of doing it.
notviki sean`: the closest thing I can think of is .squish() maybe there's some trick that can be done with its :as{} param 23:03
sean` Bummer. Oh well, thanks. 23:05
raschip sean`: make a module so that other people can use it. 23:06
That takes a list and returns the list of pairs.
faraco say <80 101 114 108 160 54>.chrs; # Perl 6
chrs routine
should I edit this too? 23:07
notviki yes
faraco ah okay
samcv [Coke], ah this problem is caused by os x not using the #! in that file. will fix
raschip samcv: It's not os x anymore, apple now calls it MacOS 23:08
samcv it's still version 10 tho :\
oh well.
unless they came out with 11 and i wasn't paying attention
raschip The X didn't mean 10 for a long time already. 23:10
faraco m: say "Camelia".chrs 23:11
camelia rakudo-moar 9a11ea: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5Camelia' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
faraco m: say "Camelia".odr;
camelia rakudo-moar 9a11ea: OUTPUT«No such method 'odr' for invocant of type 'Str'␤ in block <unit> at <tmp> line 1␤␤»
faraco m: say "Camelia".odrs; 23:12
camelia rakudo-moar 9a11ea: OUTPUT«No such method 'odrs' for invocant of type 'Str'␤ in block <unit> at <tmp> line 1␤␤»
geekosaur did you mean .ords?
faraco oh
m: say "Camelia".ords;
camelia rakudo-moar 9a11ea: OUTPUT«(67 97 109 101 108 105 97)␤»
geekosaur (I think there's an open bug for having it suggest those the way it does for subs?)
faraco m: say say <67 97 109 101 108 105 97>.chrs 23:13
camelia rakudo-moar 9a11ea: OUTPUT«Camelia␤True␤»
faraco thanks geekosaur
raschip The True in the end is because you doubled "say". 23:14
SmokeMachine notviki: it the actual behavior of that code right or wrong?
Geth oc: 5bc6285938 | faraco++ | doc/Type/Cool.pod6
changed chrs routine input and returned string
23:15
notviki m: dd [<c c c a a a b c c>] Z&push [<c c c a a a b c c>]
camelia rakudo-moar 9a11ea: OUTPUT«(all("c", "c"), all("c", "c"), all("c", "c"), all("a", "a"), all("a", "a"), all("a", "a"), all("b", "b"), all("c", "c"), all("c", "c")).Seq␤»
notviki What's it doing? junctioning the return value of push? 23:16
SmokeMachine: the || thing? No idea
m: role Bla {};sub infix:<||>(Bla $, Bla $) is default {"OK"}; say (42 but Bla) || (1 but Bla)
camelia rakudo-moar 9a11ea: OUTPUT«42␤»
SmokeMachine I was going to ask about that push returning a junction...
notviki: for me, it looks like a bug... what do you think? 23:17
notviki m: role Bla {}; sub infix:<||>(Bla $ where :so, Bla $ where :so) is default {"OK"}; say (42 but Bla) || (1 but Bla) 23:19
camelia rakudo-moar 9a11ea: OUTPUT«42␤»
notviki s: &infix:<||> 23:20
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/9a11...ol.pm#L106
SmokeMachine whats :so?
notviki checks for turth
*truth
m: sub infix:<||>(42, 42) {"OK"}; say (42 || 42) 23:21
camelia rakudo-moar 9a11ea: OUTPUT«42␤»
notviki m: multi infix:<||>(42, 42) {"OK"}; say (42 || 42)
camelia rakudo-moar 9a11ea: OUTPUT«42␤»
notviki haha
SmokeMachine: yeah, I'd say it's a bug
SmokeMachine :)
notviki but no idea which "it's" it is :P 23:21
raschip SmokeMachine: It casts it to Bool, I'd say.
SmokeMachine ok so casts to Bool... but :so? 23:22
SmokeMachine is it like {.so} ? 23:22
notviki
.oO( casts to Bool? )
SmokeMachine: yeah
notviki m: say 42 ~~ :so 23:22
camelia rakudo-moar 9a11ea: OUTPUT«True␤»
notviki m: say (42 but False) ~~ :so
camelia rakudo-moar 9a11ea: OUTPUT«False␤»
SmokeMachine is it a special syntax or is a adverb?
notviki no idea 23:23
notviki s: &infix:<~~>, \(42, :so) 23:23
SourceBaby notviki, Something's wrong: ␤ERR: Could not find candidate that can do \(42, :so)␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 37␤ in block <unit> at -e line 6␤␤
notviki s: &infix:<~~>, \(42, "so" => True)
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/9a11...Mu.pm#L829
notviki s: &infix:<~~>, \("so" => True, 42)
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/9a11...Mu.pm#L829
notviki eh
m: dd :so
camelia rakudo-moar 9a11ea: OUTPUT«block <unit>␤»
notviki m: dd [:so] 23:24
camelia rakudo-moar 9a11ea: OUTPUT«[:so]␤»
notviki no idea 23:24
it parses just like any colonpair... 23:25
SmokeMachine :) 23:25
notviki So... anyone figured out how to squish <c c c a a a b c c> ? :)
raschip m: say 42 ~~ :not
camelia rakudo-moar 9a11ea: OUTPUT«False␤»
raschip (:not).perl 23:26
m: (:not).perl
camelia ( no output )
raschip m: say (:not).perl 23:26
camelia rakudo-moar 9a11ea: OUTPUT«:not␤»
raschip m: say (:so).perl
camelia rakudo-moar 9a11ea: OUTPUT«:so␤»
SmokeMachine m: sub by2 {.grep: * %% 2}; <1 3 5> ~~ :by2 23:27
camelia rakudo-moar 9a11ea: OUTPUT«No such method 'by2' for invocant of type 'List'␤ in block <unit> at <tmp> line 1␤␤»
SmokeMachine it calls a method!
notviki oh right 23:28
SmokeMachine++
s: &infix:<~~>, \("so" => True, 42)
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/9a11...Mu.pm#L829
notviki Oh right, I should've followed that along the method thing is on Pair.ACCEPTS
SmokeMachine m: use MONKEY-TYPING; augment class Int{ method by2 {.grep: * %% 2}}; <1 3 5> ~~ :by2 23:29
camelia rakudo-moar 9a11ea: OUTPUT«No such method 'by2' for invocant of type 'List'␤ in block <unit> at <tmp> line 1␤␤»
SmokeMachine m: use MONKEY-TYPING; augment class List{ method by2 {.grep: * %% 2}}; <1 3 5> ~~ :by2
camelia rakudo-moar 9a11ea: OUTPUT«Use of uninitialized value of type Any in numeric context␤ in whatevercode at <tmp> line 1␤»
notviki s: "by2" => True, 'ACCEPTS', \(<1 3 5>) 23:31
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/9a11...air.pm#L36
SmokeMachine m: use MONKEY-TYPING; augment class List{ method by2 {self.grep: * %% 2}}; <1 3 5> ~~ :by2
camelia ( no output )
SmokeMachine m: use MONKEY-TYPING; augment class List{ method by2 {self.grep: * %% 2}}; say <1 3 5> ~~ :by2
camelia rakudo-moar 9a11ea: OUTPUT«False␤»
SmokeMachine m: use MONKEY-TYPING; augment class List{ method by2 {self.grep: * %% 2}}; say <1 3 5 2> ~~ :by2
camelia rakudo-moar 9a11ea: OUTPUT«True␤»
notviki \o/
SmokeMachine that works!
notviki yeah, neat 23:31
raschip but why? 23:33
notviki raschip: 42
SmokeMachine raschip: because...
notviki m: say WHY 'Life, the Universe and Everything':
camelia rakudo-moar 9a11ea: OUTPUT«42␤»
SmokeMachine :)
raschip Is the question of Life, The Universe and Anything, "why?"? 23:34
SmokeMachine raschip: en.wikipedia.org/wiki/42_(number) 23:35
notviki Oh god... raschip questions even the ultimate question! :D
raschip Well, one of the premises of the books is that they want the answer to "The Question", and the answer is 42. But they don't actually know what the question is. 23:36
samcv m: say WHY 42 23:37
camelia rakudo-moar 9a11ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ WHY used at line 1␤␤»
samcv m: say WHY '42'
camelia rakudo-moar 9a11ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ WHY used at line 1␤␤»
notviki points to : at the end
samcv m: say WHY 'Life, the Universe and Everything':
camelia rakudo-moar 9a11ea: OUTPUT«42␤»
samcv m: say WHY 42:
camelia rakudo-moar 9a11ea: OUTPUT«(Any)␤»
samcv m: sub w ( $thing ) { 23:38
camelia rakudo-moar 9a11ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3sub w ( $thing ) {7⏏5<EOL>␤»
samcv oop
SmokeMachine notviki: how about the || problem?
notviki What about it?
I was still trying to figure out the squish thing
SmokeMachine do you think I should open a bug report? 23:39
notviki there gotta be some clever thing for it
sean` Hmm. If I have my list in a named array @a, I can do: @a.squish.map({ grep * eq $_, @a }). Might be the most concise way to do it.
notviki m: role Bla {}; sub infix:<||>(Bla $ where {True}, Bla $ where {True}) is default {"OK"}; say (42 but Bla) || (1 but Bla) 23:40
camelia rakudo-moar 9a11ea: OUTPUT«42␤»
notviki m: role Bla {}; sub infix:<||>(Bla $ where {True}, Bla $ where {True}) {"OK"}; say (42 but Bla) || (1 but Bla)
camelia rakudo-moar 9a11ea: OUTPUT«42␤»
notviki m: role Bla {}; sub infix:<||>(Bla $ where {True}, Bla $ where {True}) {"OK"}; say (0 but Bla) || (1 but Bla)
camelia rakudo-moar 9a11ea: OUTPUT«1␤»
notviki m: role Bla {}; sub infix:<||>($ where {True}, $ where {True}) {"OK"}; say (0 but Bla) || (1 but Bla)
camelia rakudo-moar 9a11ea: OUTPUT«1␤»
notviki m: role Bla {}; sub infix:<||>($ where {True}, $ where {True}) {"OK"}; say (0) || (1)
camelia rakudo-moar 9a11ea: OUTPUT«1␤»
notviki m: sub infix:<||>($ where {True}, $ where {True}) {"OK"}; say (0) || (1) 23:41
camelia rakudo-moar 9a11ea: OUTPUT«1␤»
notviki Ok, I misread one of my previous results.
m: sub infix:<||>($ where {True}, $ where {True}) {"OK"}; say (0) [||] (1) 23:42
camelia rakudo-moar 9a11ea: OUTPUT«1␤»
notviki m: sub infix:<||>($ where {True}, $ where {True}) {"OK"}; say (0) &[||] (1)
camelia rakudo-moar 9a11ea: OUTPUT«all(0, 1)␤»
notviki neat
SmokeMachine: yeah, open it. Thought I can see the answer "these are special and you can't define customs for them" as one possible answer.
m: sub infix:<||>($ where {True}, $ where {True}) {"OK"}; dd &infix:<||>(0, 1) 23:43
camelia rakudo-moar 9a11ea: OUTPUT«"OK"␤»
SmokeMachine !
worked!
notviki But I called it as a sub not like an op....
I suspect it'll also work in [] thing
SmokeMachine right...
notviki m: sub infix:<||>($ where {True}, $ where {True}) {"OK"}; dd [||] 0, 1 23:44
camelia rakudo-moar 9a11ea: OUTPUT«"OK"␤»
raschip Any Pair test object attribute ?."{X.key}" === ?X.value (e.g. filetests)
notviki screw it... 23:45
If anyone figures out a nice consice way to turn <c c c a a a b c c> into (c => 3, a => 3, b => 1, c => 2) ping me
TimToady m: say gather for <c c c a a a b c c>.rotor(2 => -1, :partial) -> ($a, $b = '') { state @s; push @s, $a; if $a !eqv $b { take @s; @s = () } } 23:46
camelia rakudo-moar 9a11ea: OUTPUT«([c c c] [a a a] [b] [c c])␤»
notviki oho
TimToady it's not very concise, so I didn't ping you :)
notviki :D
TimToady++
raschip "$ ~~ :so" is "if $.so === True" 23:47
TimToady Pair.ACCEPTS treats the key as a method name to be evaluated for Bool
notviki raschip: $.so.Bool === True 23:49
raschip: it's this one: github.com/rakudo/rakudo/blob/9a11...air.pm#L37
TimToady note $.so is not the same as ($).so 23:50
notviki ah, right :D
ugexe m: say <c c c a a a b c c>.categorize({$_}).map({.key => .value.elems}) 23:53
camelia rakudo-moar 9a11ea: OUTPUT«(a => 3 c => 5 b => 1)␤»
ugexe doh 23:53