Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-01-15

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:24 aindilis joined #perl6
00:26 CurtisOvidPoe joined #perl6
00:29 pierre-vigier joined #perl6
01:07 yeahnoob joined #perl6
01:14 pierre-vigier joined #perl6
01:24 cpage_ joined #perl6
01:31 pierre-vigier Any way to uninstall a module?
01:31 yoleaux 14 Jan 2016 07:21Z <nine> pierre-vigier: panda does not yet support versioned requires
01:33 protium joined #perl6
01:38 BenGoldberg joined #perl6
01:41 woodruffw joined #perl6
01:44 pierre-vigier joined #perl6
01:46 pecastro joined #perl6
02:02 adu joined #perl6
02:03 xpen joined #perl6
02:06 pdcawley_ joined #perl6
02:16 pierre-vigier joined #perl6
02:24 harrison_ joined #perl6
02:25 cognominal joined #perl6
02:27 pecastro joined #perl6
02:29 azawawi joined #perl6
02:32 pecastro joined #perl6
02:46 Actualeyes joined #perl6
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
03:02 maybeyes joined #perl6
03:03 maybeyes p6: my @ls = qx "ls"; @ls.elems.say
03:03 camelia rakudo-moar 3259ba: OUTPUT«qx, qqx is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in sub QX at src/RESTRICTED.setting line 11␤  in block <unit> at /tmp/tmpfile line 1␤␤»
03:03 timotimo hm. does zef do uninstall?
03:04 timotimo otherwise, allegedly it's only a few lines of patch once that one branch is merged ...
03:06 mspo so rakudostar has p6doc but is otherwise out of date; rakudobrew gets you up to date but is missing p6doc
03:09 sortiz mspo: panda can install p6doc
03:09 kid51_ joined #perl6
03:10 mspo oic
03:14 azawawi timotimo: nope
03:14 azawawi and hi :)
03:16 mspo if only the dependencies built ;)
03:17 mspo URI:ver<v0.1.1>:auth<>:api<> already installed
03:17 azawawi i have been researching opencv + perl6 for a while... apparently https://github.com/Itseez/opencv_contrib/pull/15 is our only route atm for latest c++ api support otherwise it is plain legacy c api
03:19 azawawi given nativecall not being able to do std::string c++ name mangling
03:19 mspo Unhandled exception: Method 'IO' not found for invocant of class 'Any'
03:19 mspo ugh
03:25 sortiz mspo: I guess I'm lucky ;)
03:44 mspo something
03:45 skids .tell Zoffix I pushed some ramblings to user-experience
03:45 yoleaux skids: I'll pass your message to Zoffix.
03:47 xpen joined #perl6
03:53 noganex joined #perl6
03:56 autarch how can I get the exit status of something run via qqx?
03:57 autarch actually, maybe I should use run
03:59 deepika__ joined #perl6
04:04 autarch m: my $proc = run( 'echo', 'hello', :out, :merge );say $proc.out.slurp-rest;
04:04 camelia rakudo-moar 3259ba: OUTPUT«run is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in sub run at src/RESTRICTED.setting line 14␤  in block <unit> at /tmp/_tN2tbICEr line 1␤␤»
04:04 autarch that core dumps for me on my machine
04:05 autarch ah, it's the :merge that does it
04:07 autarch https://rt.perl.org/Ticket/Display.html?id=127273
04:10 ugexe https://rt.perl.org/Public/​Bug/Display.html?id=125756
04:16 autarch argh
04:17 autarch I searched for core dumb
04:17 autarch dump*
04:17 Actualeyes joined #perl6
04:17 autarch I'd merge the tickets if I could
04:28 colomon joined #perl6
04:37 grassass joined #perl6
04:40 MadcapJake joined #perl6
04:52 MadcapJake hello everybody! I thought I'd take my own advice and try designing a more sleek perl6 logo: just some simple gimp hacking but still looks kind of nice, https://twitter.com/MadcapJa​ke/status/687859550397976578
04:53 MadcapJake Probably won't quell any logo naysayers, but I saw python had a logo like this and I wanted to make things balanced in the world ;)
04:56 MadcapJake The angle of camelia really makes me feel the text is off-center, but i used a vertical guide so ¯\_(ツ)_/¯
04:59 mtj_ joined #perl6
05:03 pierre-vigier joined #perl6
05:15 autarch cute
05:15 autarch I don't know why people freak out over the logo - the logo is _way_ down on the list of things that will make or break perl 6
05:18 yurivish joined #perl6
05:19 MadcapJake agreed, it's definitely just an issue because people like to argue and they don't really know the langauge well enough to actually argue against anything meaningful :P  but still I like reading various programming language websites and many of them have sleek modern interfaces that I think camelia just doesn't mesh well with.  This took me all of 15 minutes to do so, nbd
05:22 linuxuser9000 joined #perl6
05:26 TEttinger MadcapJake: this would be fun as an exercise to make a completely-different-tone, same-idea version of camelia. I may hop on this bandwagon, I think I may start by making a pixel/voxel art butterfly with P 6 on the wings
05:27 MadcapJake Great idea!
05:28 MadcapJake I'd like to see a butterfly done in the vein of golang's gopher or plan 9's bunny
05:30 TimToady .oO(all your mascots are belong to us)
05:32 MadcapJake :D definitely, let's take every other language's icon/logo/mascot and reimagine them as butterflies
05:34 MadcapJake we'll then print them and create an art exhibit called "Metamorphosis or How I Learned To Love Perl 6" and tour the world creating a massive Perl 6 fervor!
05:34 autarch I do think the perl websites could be improved - I wanted to make doc better but I got hung up on my rewrite of Pod::To::HTML - said rewrite works great except that it uses massive amounts of memory for reasons no one can explain
05:34 autarch perl6 websites, to clarify (I mean p5 too, but that's OT)
05:38 bzipitidoo joined #perl6
05:38 bzipitidoo msg camelia p6: say "hi";
05:38 MadcapJake m: say "hi";
05:38 camelia rakudo-moar 3259ba: OUTPUT«hi␤»
05:50 _nadim joined #perl6
05:55 Cabanossi joined #perl6
06:04 bzipitidoo m: grammar Tst { rule TOP { ^ <blok>* $ }; rule blok { '(' ~ ')' [ <-[()]> | <blok> ]* }; }; say Tst.parse("((a) b)");
06:04 camelia rakudo-moar 3259ba: OUTPUT«「((a) b)」␤ blok => 「((a) b)」␤  blok => 「(a) 」␤»
06:04 bzipitidoo m: grammar Tst { rule TOP { ^ <blok>* $ }; rule blok { '(' ~ ')' [ <-[()]> | <blok> ]* }; }; say Tst.parse("((a)xb)");
06:04 camelia rakudo-moar 3259ba: OUTPUT«Nil␤»
06:06 pierre-vigier joined #perl6
06:11 bzipitidoo why doesn't this work?
06:11 bzipitidoo m: grammar Tst { rule TOP { ^ <blok>* $ }; rule blok { '(' ~ ')' [ <-[()]> | <blok> ]* }; }; say Tst.parse("(ab)");
06:11 camelia rakudo-moar 3259ba: OUTPUT«Nil␤»
06:11 bzipitidoo but this works:
06:11 bzipitidoo m: grammar Tst { rule TOP { ^ <blok>* $ }; rule blok { '(' ~ ')' [ <-[()]> | <blok> ]* }; }; say Tst.parse("(b)");
06:11 camelia rakudo-moar 3259ba: OUTPUT«「(b)」␤ blok => 「(b)」␤»
06:11 cpage_ joined #perl6
06:13 pat_js joined #perl6
06:17 MadcapJake TEttinger, TimToady: https://github.com/MadcapJake/metamorphosis
06:31 bzipitidoo left #perl6
06:43 pdcawley joined #perl6
06:44 telex joined #perl6
06:51 xargs joined #perl6
06:54 pierre-vigier joined #perl6
06:56 bartolin joined #perl6
06:57 xinming joined #perl6
07:10 sjoshi joined #perl6
07:10 domidumont joined #perl6
07:13 [Tux] csv-ip5xs            50000    18.452    12.835
07:13 [Tux] test                 50000    23.319    22.679
07:13 [Tux] test-t               50000    12.831    11.950
07:13 [Tux] csv-parser           50000    51.315     0.925
07:13 rfarr joined #perl6
07:15 lokien_ joined #perl6
07:17 domidumont joined #perl6
07:20 _nadim joined #perl6
07:26 bjz joined #perl6
07:31 _nadim joined #perl6
07:42 rurban joined #perl6
07:45 firstdayonthejob joined #perl6
07:56 frankjh joined #perl6
08:04 abraxxa joined #perl6
08:07 b10m joined #perl6
08:11 darutoko joined #perl6
08:15 TEttinger MadcapJake: bigger versions didn't look as good, but at icon size this isn't bad https://dl.dropboxusercontent.com/u/​11914692/Camelia_Isometric_Pixel.png
08:17 bjz joined #perl6
08:18 dalek doc: 48e04e2 | (Jim Davis)++ | doc/Language/glossary.pod:
08:18 dalek doc: two typos and a missing paren
08:18 dalek doc: review: https://github.com/perl6/doc/commit/48e04e2711
08:22 Helge joined #perl6
08:25 RabidGravy joined #perl6
08:28 RabidGravy marnin!
08:29 Helge Greetings
08:29 pierre-vigier joined #perl6
08:34 Helge left #perl6
08:35 zakharyas joined #perl6
08:43 rurban joined #perl6
08:45 rurban joined #perl6
08:45 dalek doc: 03d42fc | (Jim Davis)++ | doc/Language/ (4 files):
08:45 dalek doc: assorted spelling/typo errors
08:45 dalek doc: review: https://github.com/perl6/doc/commit/03d42fcb81
08:47 pat_js Yesterday TimToady said there was a thought that autothreading (of junctions) over if/given/when… blocks would be confusing. Is there some elaboration on that somewhere. Chatlogs would be fine.
08:48 masak good morning, #perl6!
08:49 masak pat_js: dunno about a written-down elaboration, but I know I'd be confused if, say, `if all(1, 2, 3) { ... }` ran the block three times
08:53 masak ditto given and while loops
08:53 masak actually, that's yet another reason a for loop is not exactly sugar for a .map :)
08:54 masak oh wait, it is...
08:54 masak &map (or rather, its callback) also doesn't autothread over a junction by default
08:54 pat_js hmm. But with that you have to be super paranoid if you want Conditions to be true inside an if block
08:54 masak m: map { say $_ }, 1, any(2, 3), 4'
08:54 camelia rakudo-moar 3259ba: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DasDIcSWmT␤Two terms in a row␤at /tmp/DasDIcSWmT:1␤------> 3map { say $_ }, 1, any(2, 3), 47⏏5'␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement …»
08:54 masak m: map { say $_ }, 1, any(2, 3), 4
08:54 camelia rakudo-moar 3259ba: OUTPUT«1␤any(2, 3)␤4␤»
08:55 masak m: map -> Any $_ { say $_ }, 1, any(2, 3), 4  # you'd have to do this
08:55 camelia rakudo-moar 3259ba: OUTPUT«1␤2␤3␤4␤»
08:55 rurban joined #perl6
08:55 masak pat_js: I don't understand what you mean -- could you elaborate with an example, p'haps?
08:57 El_Che .seen ovid
08:57 yoleaux I saw Ovid 7 Nov 2014 15:43Z in #perl6: <Ovid> Hello, timotimo.
08:57 El_Che .seen curtisovidpoe
08:57 yoleaux I saw CurtisOvidPoe 9 Jan 2016 23:19Z in #perl6: <CurtisOvidPoe> In fact, some companies have built in-house COBOL compilers with custom extensions due to the fear of COBOL providers going bankrupt.
08:57 CurtisOvidPoe /me waves
08:57 El_Che ahaha
08:58 El_Che silly me
08:58 El_Che CurtisOvidPoe: question
08:58 pat_js m: for 4,(0&3) { if $_ != 0 {say 4/$_} else { say "I don't divide here" }}
08:58 camelia rakudo-moar 3259ba: OUTPUT«1␤Attempt to divide 4 by zero using div␤  in block <unit> at /tmp/z6oVni3eQw line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/z6oVni3eQw line 1␤␤»
08:58 El_Che your blogpost about subset is kind of the only doc about it: http://blogs.perl.org/users/ovid/2015/02/avoi​d-a-common-software-bug-by-using-perl-6.html
08:58 CurtisOvidPoe Shoot.
08:58 masak CurtisOvidPoe: wow, that is some serious risk mitigation. (building your in-house COBOL compiler.)
08:58 pat_js now think about what happens if that isn't iside a loop, but somewhere in the coode
08:59 El_Che CurtisOvidPoe: maybe could the subset part be adapted and added to the doc?
08:59 pat_js s/cood/cod/
08:59 CurtisOvidPoe masak: COBOL fell so dramatically that there were major concerns. Scary.
08:59 pat_js for 4,(0&3) { if $_ != 0 && $_ !~~ Junction {say 4/$_} else { say "I don't divide here" }}
09:00 pat_js m: for 4,(0&3) { if $_ != 0 {say 4/$_} else { say "I don't divide here" }} # "save" variant
09:00 camelia rakudo-moar 3259ba: OUTPUT«1␤Attempt to divide 4 by zero using div␤  in block <unit> at /tmp/PHljYLSzFj line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/PHljYLSzFj line 1␤␤»
09:00 masak pat_js: yes, got it.
09:00 CurtisOvidPoe El_Che: if people want to use if for that, that’s perfectly fine with me.
09:00 RabidGravy amd then you had years of really, really ugly programs as all the cobol programmers cross trained to visual basic and delphi
09:01 masak pat_js: in my view, the concern isn't that junctions are somehow mis-designed (and that if/while etc should also autothread over them), but that passing junctions around as values in a program is not compatible with responsible programming.
09:01 masak pat_js: OMNSHO, use of junctions should be *very* local.
09:01 CurtisOvidPoe One company I ran away from retrained the COBOL team I was on to use C++. Gave ‘em a two-week crash course and let them loose without even experts to back them up.
09:01 masak IMNSHO*
09:01 masak CurtisOvidPoe: that's probably all too common.
09:02 masak CurtisOvidPoe: object-orinted design -- how hard can it be, right?
09:02 masak people even have prior experience with "objects" from real life!
09:03 FROGGS joined #perl6
09:04 CurtisOvidPoe masak: what’s worse, COBOL code is completely procedural and COBOL itself has no concept of scope. Thus, you variable names like GLJ-030R-SUBTOTAL-TAX to simulate namespaces. Calling a function? Set your global variables, call the function, and inspect the globals that it alters.
09:04 pat_js masak: I didn't assume that Junctions are mis-designed. I'm asking these questions to understand what they're designed for.
09:05 pat_js Now I begin to see, that the auto-threads in perl6 must be super-light.
09:05 CurtisOvidPoe El_Che: if you do use that code for docs, be aware that the subset example I gave is ultimately a synonym for UInt. I didn’t know about UInt when I wrote that.
09:06 CurtisOvidPoe left #perl6
09:06 CurtisOvidPoe joined #perl6
09:06 masak pat_js: https://perl6advent.wordpress.com/2​014/12/03/day-3-cap-your-junctions/
09:07 masak CurtisOvidPoe: sounds both very dreary and error-prone at the same time.
09:07 DrForr That's what it was like back in the Elder Days :)
09:08 CurtisOvidPoe masak: it was exciting when it was created because it was state of the art. And it wasn’t too error prone because COBOL is so limited that many programs are small utilities that can only do one thing and they’re joined together using something called JCL. In many ways, it looks remarkably like a unix pipeline.
09:08 andreoss joined #perl6
09:09 DrForr Oh, gawds, when I was doing punchcards JCL was something you copied from one card to another painstakingly, with no idea of what it was. It just worked, and if you were a character off you'd  be waiting another week for access to run your program.
09:10 El_Che CurtisOvidPoe: I'll try to find the time to rewrite it (generic). Maybe you could have a look afterwards? My subset knowledge originates from your post :)
09:11 pmurias joined #perl6
09:11 CurtisOvidPoe El_Che: I’d be happy to.
09:11 El_Che DrForr: what about the new Grammar + Actions tutorial rewrite you considered writing?
09:11 El_Che CurtisOvidPoe: thx!
09:12 DrForr El_Che: Doing that for FOSDEM.
09:12 CurtisOvidPoe DrForr: when I was doing JCL in the late 90s, even the senior COBOL devs didn’t know JCL. They would do exactly what you were describing, but using dumb terminal emulators on our PCs.
09:12 pat_js ah, okay.
09:12 pat_js ah, okay.
09:12 El_Che DrForr: I would love to see some of it afterward in the regular perl6 doc. For me, the tutorials wasn't very clear at all :(
09:13 El_Che DrForr: looking forward to your talk
09:13 DrForr Oh, you're coming? Cool. I'm hoping it'll be practice for FOSDEM :)
09:13 DrForr Er, practice for OSCON. TDM conferences.
09:13 pat_js sorry, i don't know why I have a keyboard macrop for saying ah okay in the #perl6 buffer
09:13 andreoss m: say ().>>(1)
09:13 camelia rakudo-moar 3259ba: OUTPUT«()␤»
09:13 andreoss why this valid?
09:13 El_Che DrForr: I'll be the guy to rushing you out of the podium because you're time is up :)
09:14 DrForr Just use a cane. You can borrow mine.
09:14 El_Che CurtisOvidPoe: ah good times! I have fond memories of participating in a Mainframe+Cobol to Solaris+java+cobol migration
09:14 El_Che fond as "fond, now"
09:14 andreoss m: say (1,2,3).>>()
09:14 camelia rakudo-moar 3259ba: OUTPUT«Non-QAST node visited NQPMu␤Weird node visited: NQPMu␤===SORRY!===␤Unknown QAST node type NQPMu␤»
09:14 Actualeyes joined #perl6
09:15 DrForr (yes, I'm still bringing the damn thing - My leg got tweaked just walking down the street on my way home from work on Tuesday.)
09:16 El_Che DrForr: I'll try to reserve some non snow weather for FOSDEM
09:16 andreoss left #perl6
09:16 pmurias CurtisOvidPoe: was it your Perl 6 "killer app" idea to allow mixing cobol and perl 6 for migration? ;)
09:17 DrForr Thanks, I'd appreciate it. As long as it's not like 2013 was when I almost didn't make it due to drifting on the way to the Belgian border.
09:18 CurtisOvidPoe pmurias: Yes. There’s a lot of background for understanding why. There have been multipel attempts to solve the COBOL dlilemma and they face technical, social, and political probelms. With the Perl 6 migration hack, you can sidestep all of those problems.
09:18 El_Che I feel a Inline::COBOL coming
09:19 El_Che CurtisOvidPoe: shall I change the title of your talk? :)
09:20 CurtisOvidPoe El_Che: I want to, but no time right now :)
09:20 DrForr Gawd. COBOL support using Roman Numerals. I'm a bad, *bad* man :)
09:20 pmurias El_Che: I think what CurtisOvidPoe intended was more a cobol slang than just inline
09:21 RabidGravy DrForr++ # madness is the answer
09:21 DrForr . o ( "They *SUCK*." )
09:21 CurtisOvidPoe A slang would be better so that one could gradually replace the COBOL with Perl 6, one procedure at a time.
09:21 DrForr Sorry, that particular RHPS callback is virtually ingrained.
09:22 DrForr CurtisOvidPoe: I'm working on something almost equally evil, we need to talk :)
09:22 CurtisOvidPoe DrForr: See you in a couple of weeks in Brussels :)
09:22 andreoss joined #perl6
09:23 DrForr After a few stouts it could get ugly :)
09:25 salv0 joined #perl6
09:25 CurtisOvidPoe Nah, Brussels will always be lovely :)
09:26 El_Che pmurias: COBOL slang. And to think I used to like CurtisOvidPoe...
09:27 rindolf joined #perl6
09:27 * El_Che thing that CurtisOvidPoe and DrForr are laughing maniatically while petting a cat
09:27 El_Che ks
09:28 CurtisOvidPoe El_Che: if it works, it’s a hell of a business model to get companies out of their COBOL trap. They want to (hell, their devs are literally dying), but haven’t found a way. It’s a multi-billion euro industry that has repeatedly tried and failed to solve this problem.
09:28 _nadim joined #perl6
09:30 TEttinger CurtisOvidPoe: do eeeeet! this would be great for those businesses, for perl 6 as a community, and for the security of the customers of those businesses to not be running decades old cobol and instead be running perl 6!
09:31 andreoss is there plans for rakudo-star 6c?
09:31 g4 joined #perl6
09:31 g4 joined #perl6
09:32 moritz andreoss: yes, after the 2016.01 compiler rrelease
09:32 moritz CurtisOvidPoe: aren't there any successful Java <-> Cobol interop products that would enable a gradual migration?
09:32 CurtisOvidPoe TEttinger: started once, but with one company at home and another one the way, I’d need a major investor to step up to the plate for this one :)
09:33 RabidGravy when I've got this dBase thing I've got down the back of the sofa finished, I'll have a think about a dBase/Clipper slang
09:33 RabidGravy lots of that stuff about still too
09:33 _nadim Good morning all.
09:35 CurtisOvidPoe moritz: those haven’t been too popular that I’m aware of. Miuch of COBOL is “dump out this file and let something else read it.” Don’t need Java/COBOL interop for that. Direct Java/COBOL interop also doesn’t solve the migration strategy. There have been tools to auto-rewrite COBOL into Java, but those have largely been regarded as a disaster: rewriting procedural crap with all global variables in to Java
09:35 CurtisOvidPoe “classes” means you’ve created a bunch of incomprehensible Java code and are likely handing it over to people with less business knowledge than the COBOL devs.
09:36 moritz CurtisOvidPoe: makes sense; thanks for the explanation
09:36 RabidGravy yeah, there was also some thing that did Informix 4GL -> Java back in the day, generated the most awful code
09:37 * DrForr gets a nervous tic at the mention of Informix 4GL.
09:38 _nadim .see tadzik
09:38 _nadim .seen tadzik
09:38 yoleaux I saw tadzik 14 Jan 2016 23:34Z in #perl6: <tadzik> that'd be nice
09:38 masak CurtisOvidPoe: on the bright side, I can see the whole COBOL/JCL story working out quite well if managed well -- a bit like the now-popular "microservices"
09:38 RabidGravy for one period in 90s I was doing more I4GL than anything else, tapered off at the turn of the century
09:39 masak CurtisOvidPoe: I guess the key is to minimize damage by actually keeping each component small. (like you hinted at.)
09:39 * DrForr mutters something about NewEra, goes back to figuring out what he should be doing.
09:39 CurtisOvidPoe If I had the time or the money, I’d work on it, but I don’t right now :)
09:40 CurtisOvidPoe Also, the performance of Perl 6 would need to be DRAMATICALLY improved. Speaking of which, what’s the progress on that front?
09:41 leont joined #perl6
09:42 * masak .oO( too much drama, not enough improvement ) :P
09:44 tadzik _nadim: I'm around
09:44 RabidGravy well, it's fast enough to stream reasonably high bit-rate MP3 from disc (albeit with some NativeCall involved,) so I'm reasonably happy
09:44 masak RabidGravy: that sounds really nice
09:45 pmurias CurtisOvidPoe: I see commits with minor improvements for various things a lot, not sure if any major breakthroughs are comming soon
09:45 RabidGravy I ought to actually make a real application with that at some point
09:47 CurtisOvidPoe pmurias: Bummer. That and the existing bugs are the two major drawbacks for Perl 6 right now.
09:47 masak CurtisOvidPoe: if you have the tuits, putting together a list of those bugs somewhere would surely be helpful
09:47 masak (preferably with links to RT)
09:49 CurtisOvidPoe masak: Aside from the bugs I’ve posted via Rakudobug, they’re just general things people still keep stumbling on. One Pythonista I know has followed Perl 6 for a while with interest and he was complaining to me that he still regularly finds bugs. I do too, though with less frequency, so the general “not quite stable” sense seems to hold.
09:49 CurtisOvidPoe I expect that will improve, but the performance, that’s the killer.
09:50 _Gustaf_ joined #perl6
09:50 _nadim tadzik: Hi, I tried to Panda install --forced this morning and it did not work, "error: already installed" plus some crazy stuff. Let me get you an output.
09:51 nine _nadim: it's panda --force install
09:51 pmurias CurtisOvidPoe: jnthn++ is planning to focus on improving performance this year
09:51 nine _nadim: hence the "panda [options] <action> # OPTIONS GO IN FRONT!! Not like git." in panda --help
09:51 moritz stability and performance are the big topics for 2016, yes
09:52 DrForr As long as perl 6 doesn't become stable in the biological sense in the foreseeable future...
09:53 tadzik _nadim: yep, what nine says :)
09:53 _nadim nine:  bleahhh! and of course my screen is just big enough to scoll that out and show me the options indented under the command
09:53 masak CurtisOvidPoe: well, taking an 8-year perspective, bug count and frequency have both *definitely* gone down
09:54 masak CurtisOvidPoe: I used to *average* one rakudobug a day. now it's much lower than that
09:54 CurtisOvidPoe Yes, I’m happy to see that. And yes, I’m looking forward to seeing what will happen by the end of the year :)
09:54 RabidGravy maybe I'm not pushing the envelope much but I have only found one show-stopping (for me) bug in the last six months and that has gone away
09:54 _nadim tadzik: yes, works fine, although options in the same order as most other programs do is nice too. but as always, one doe it wrong twice and then can go on ;)
09:55 espadrine joined #perl6
09:55 tadzik _nadim: well, panda is not (anymore) trying to override Perl 6's default behaviour here
09:55 tadzik or MAINs rather
09:55 tadzik which only allows options before for some reason
09:56 tadzik hopefully if it annoys enough people we can make it work with both
09:57 moritz the main reason is that the option parser is the same that rakudo itself uses
09:57 moritz and for perl 6,   perl6 -c foo -x  parses the -c as an option for itself, and -x as an option for the program being called
09:57 moritz though we can special-cases that if necessary
09:59 masak http://perl6.org/compilers/features lists Niecza as not having `goto`, but I distinctly remember sorear using a `goto` in a Perl 6 program on Niecza.
10:00 El_Che masak: if niecza is abandoned, it is not better to remove it?
10:00 RabidGravy I had a think about making something more like Mono.GetOptions using traits or something to mark the targets for options
10:01 RabidGravy I'll probably won't get round to making it though
10:01 masak El_Che: there's a difference between "not actively developed" and "unusable"
10:01 El_Che masak: certainly
10:03 pmurias CurtisOvidPoe: re minor improvements for various things I don't want to downplay those optimalizations as it's likely they improved those things loads, the MoarVM guys also seem to have some JIT improvements being worked on in a branch
10:03 ChoHag joined #perl6
10:03 andreoss joined #perl6
10:05 El_Che question: while testing a class (from class.t), can I access private methods to test the as well? Or do I need to mock a subclass, etc?
10:05 kjs_ joined #perl6
10:05 yurivish_ joined #perl6
10:05 RabidGravy or insert accessors for the test
10:06 El_Che ok, pretty much what I thought. thx
10:06 pat_js m: sub de-thread (Junction $j, &test){my $b;(sub ($x, &y) {return unless y($x);$b=$x;})($j, &test);return $b};  (&all,&any,&one,&none).map({de-thread $_(3,4),4==*}).say; # doesn't recognize the type.
10:06 camelia rakudo-moar 3259ba: OUTPUT«(4 4 4 4)␤»
10:09 nine I think....the named argument thing is actually quite easy to fix
10:17 RabidGravy El_Che, 'ere you go
10:17 RabidGravy m: class Foo { method !bar() { "bar" }}; for Foo.^private_method_table.kv -> $name, $method { Foo.^add_method("public-$name", method (|c) { $method.(self,|c) })}; say Foo.public-bar
10:17 camelia rakudo-moar 3259ba: OUTPUT«bar␤»
10:18 pmurias CurtisOvidPoe: for the JavaScript backend I'm working on the performance is a big unknown as it will likely end up to be a complicated dance with the js JIT
10:18 jnthn El_Che: I wrote some things on testing private methods in my STOMP module series, fwiw.
10:18 El_Che RabidGravy, jnthn: thx, looking are both examples
10:19 jnthn (My overall advice being: don't.)
10:19 El_Che jnthn: as in "don't bother testing private methods"?
10:20 jnthn El_Che: As in "testing private methods makes your tests fragile in the face of what should be refactors completely scoped to the class, and so means your tests are less valuable than they should be for supporting refactoring"
10:21 pierre-vigier joined #perl6
10:21 El_Che jnthn: i see. It makes sense.
10:22 jnthn Yeah. I doubt I'll get everyone to agree with me on this point. :) But I know I've felt much better supported by my tests since I started viewing them as Just Another Client of the code under test.
10:22 dalek rakudo/main_named_params: 84862ee | (Stefan Seifert)++ | src/core/Main.pm:
10:22 dalek rakudo/main_named_params: Allow for named options to go after positionals for MAIN args
10:22 dalek rakudo/main_named_params:
10:22 dalek rakudo/main_named_params: Previously "panda install --force" would have panda's MAIN sub called with two
10:22 dalek rakudo/main_named_params: positional arguments: ("install", "--force")
10:22 dalek rakudo/main_named_params: With this patch, it's called as MAIN("install", :force) thus being more
10:22 dalek rakudo/main_named_params: consistent with how other CLI programs work.
10:22 dalek rakudo/main_named_params: review: https://github.com/rakudo/rakudo/commit/84862eef7d
10:22 nine There you go.
10:22 nine moritz: ^^^
10:22 nine tadzik: ^^^
10:23 RabidGravy nine++
10:23 arnsholt jnthn: The argument makes sense, I think
10:23 arnsholt And private methods aren't part of the API, which is what you really want the tests to validate
10:24 arnsholt Which is the same argument as "tests are just another client", I suppose
10:24 bjz_ joined #perl6
10:25 nine Testing private methods directly would be like trying to test some random block inside a sub directly. No one seems to be trying to do that either.
10:25 arnsholt Heh. I like that analogy =)
10:26 _nadim nine++
10:27 * RabidGravy ponders whether he should put the entire 100+ line synopsis from the README into the pod as well
10:28 pdcawley joined #perl6
10:28 pmurias RabidGravy: synopsis of what?
10:29 RabidGravy of this module
10:29 RabidGravy https://github.com/jonathansto​we/Tinky/blob/master/README.md
10:29 pmurias how long is it normal for a Hague grant application to take from being sent to being avalible for community review?
10:30 kjs_ joined #perl6
10:30 pmurias RabidGravy: a lot people don't read READMEs
10:32 RabidGravy true, I usually copy the synopsis and description README <-> pod, it was more the size thing, but I guess that it's not an issue when the thing is precompiled
10:33 pmurias RabidGravy: isn't the synopsis a bit large?
10:33 RabidGravy probably
10:34 jnthn pmurias: A week or two in my experience
10:35 _nadim RabidGravy: IMO README should be as short as possible, it's not documentation but a "path finder". the 100+ lines should go in the documentation not in the synopsis; way too long, way too intricate, and way not explained enough for anyone to dare trying to understand it.
10:36 dalek nqp: e08c31d | (Pawel Murias)++ | src/vm/js/ (3 files):
10:36 dalek nqp: [js] Make pop/push/shift work on objects with positional_delegate. Fix return value of unshift.
10:36 dalek nqp: review: https://github.com/perl6/nqp/commit/e08c31d989
10:36 dalek nqp: 51c92e5 | (Pawel Murias)++ | t/nqp/59-nqpop.t:
10:36 dalek nqp: Test return value of nqp::unshift.
10:36 dalek nqp: review: https://github.com/perl6/nqp/commit/51c92e56ec
10:36 dalek nqp: 4c29b0c | (Pawel Murias)++ | t/nqp/73-delegation.t:
10:36 dalek nqp: Test nqp::{pop,shift,unshift,push} working on an object with positional_delegate.
10:36 dalek nqp: review: https://github.com/perl6/nqp/commit/4c29b0c2d4
10:36 b10m left #perl6
10:36 zakharyas joined #perl6
10:39 RabidGravy _nadim, you seem to be assuming I'm using at as a replacement for the rest of the documentation
10:39 tadzik nine++ \o/
10:39 tadzik nine: so the previous behaviour was not spec(ulated), just implemented that way?
10:39 DrForr Re: Brussels were you mentioning https://www.public.nm.eurocontr​ol.int/PUBPORTAL/gateway/spec/ ?
10:40 _nadim RabidGravy: No I was not assuming that.
10:40 RabidGravy right
10:41 pierre-vigier joined #perl6
10:42 RabidGravy y'see IMNSHO the thing is sufficiently large that it merits a large synopsis, that covers a broad range of the functionality, the size of the synopsis is not at question
10:43 _nadim I disagree, large synopsis are not read which makes them moot
10:44 _nadim but there are different documentation styles, I am just sharing my thoughts.
10:44 cfedde joined #perl6
10:48 nine tadzik: the ugly truth is, that I don't actually read the spec all that much. Especially in cases where we don't have to speculate about what users are gonna need. We know that now.
10:48 tadzik :]
10:48 noganex joined #perl6
10:48 nine tadzik: FWIW this actually has been working before commit "Merge WIP snapshot 2 of main-usage" back in 2011
10:49 tadzik oh
10:49 Actualeyes joined #perl6
10:49 nine So it may have really been just a regression that was later codified into the spec tests
10:51 nine Yet the speculation says: "As usual, switches are assumed to be first, and everything after the first non-switch, or any switches after a --, are treated as positionals or go into the slurpy array (even if they look like switches). Other policies may easily be introduced by calling MAIN explicitly."
10:52 pmurias RabidGravy: imho the point of a synopsis is to offer a short "getting started" point
10:53 nine .tell TimToady what do you think about https://github.com/rakudo/​rakudo/commit/84862eef7d? It would fix the very frequent issues with panda allowing options only before command arguments (so no install --force) but violates your speculation from 2008)
10:53 yoleaux nine: I'll pass your message to TimToady.
10:56 pmurias RabidGravy: OTOH some popular CPAN moduls have fairly long ones
10:57 nine The synopsis is really the source for copy & paste ;)
10:57 nine It's also often pretty much everything you need and having it on top makes authors think about examples. Something that so much documentation is sorely lacking.
11:02 rurban1 joined #perl6
11:06 pmurias_ joined #perl6
11:13 abaugher joined #perl6
11:14 lokien_ joined #perl6
11:15 Humbedooh slightly off-regular-topic; who will be at FOSDEM? :)
11:15 DrForr Yo.
11:16 DrForr (kinda have to be, seeing as I'm on the schedule.)
11:16 Humbedooh ah, giving a talk?
11:16 DrForr perl6 grammars, yeah.
11:16 _nadim Good documentation is difficult. And it is not alwas the module author who is best at finding what is missing. As for the synopsis being the source for copy-paste, by now we should be using much better systems.
11:16 El_Che Humbedooh: these people will be there: https://fosdem.org/2016/schedule/track/perl/ :)
11:17 Humbedooh anyone gonna be manning the Perl stand? :)
11:18 * nine will attend, too
11:18 * Humbedooh will be manning a stand a few feet away from the perl stand :)
11:18 El_Che nine: great to hear
11:18 El_Che Humbedooh: sure!
11:18 DrForr *PYTHON INFILTRATOR*! *cough* Hi.
11:19 Humbedooh a little Python never hurt....much...or well, doesn't kill you ;)
11:19 El_Che sunday I will be manning the devromm 100% of the time, but I count on some booth time saturday
11:19 Humbedooh cool! I'll be at the ASF stand for most of the time :)
11:20 El_Che Humbedooh: asf?
11:20 Humbedooh Apache Software Foundation
11:20 El_Che ah ok
11:20 nine Humbedooh: yeah, it doesn't kill you. It only sucks the joy out of your life. Not quickly and obvious as PHP. No, slowly and devious so you won't notice.
11:21 * El_Che find it difficult to recognize people when only knowing their irc handle...
11:21 Humbedooh well, I answer to Humbedooh if you yell it out loud at FOSDEM ;)
11:22 Humbedooh it's been by nom de plume for the past 10 years
11:22 El_Che I am even sure I can pronounce it :)
11:22 DrForr I usually go by DrForr at conferences...
11:23 Humbedooh El_Che: it's easier to pronounce than my real name... :p
11:24 El_Che DrForr: luckily I know your face by now :)
11:24 DrForr Crap.
11:24 RabidGravy stuffed
11:24 El_Che That was my reaction as well :P
11:26 kaare_ joined #perl6
11:27 Psyche^_ joined #perl6
11:28 RabidGravy jnthn, will your STOMP stuff manifest as an actual module at some point, (or did it already and I didn't notice?)
11:28 DrForr Never got around to seeing them when I was in London...
11:29 ZoffixWin joined #perl6
11:29 ZoffixWin joined #perl6
11:29 RabidGravy :) I've been in London forever and never got around to it either
11:29 jnthn RabidGravy: Yes, that's the goal. Two modules that I created on the journey are already in the ecosystem. :)
11:29 El_Che jnthn: do you take requests? :)
11:29 jnthn (Test::IO::Socket::Async and Concurrent::Iterator)
11:30 jnthn El_Che: Sure; whether I issue responses is another matter ;)
11:30 El_Che hehe
11:32 RabidGravy coolio, I think it would be nicer to use in an example of what I am doing at the moment than a straight up AMQP thing (and I'm not convinced Net::AMQP is working at the moment)
11:33 RabidGravy actually I should test that
11:35 Dee22 joined #perl6
11:36 RabidGravy nope, totally b0rked by the Supply changes :-(
11:37 DrForr Is there a reasonable way to typecheck a parameter as either X or Y? Something like sub foo ( (Str|Whatever) $x ) { }
11:37 RabidGravy where X|Y
11:37 DrForr Ah, thanks. Checking...
11:37 DrForr That'd solve a combinatoric explosion.
11:38 DrForr s/solve/defuse/ # damn, missed one.
11:38 RabidGravy m: sub foo($x where Int|Str) { say "oke" }; foo(True);
11:38 camelia rakudo-moar 3259ba: OUTPUT«oke␤»
11:38 RabidGravy er
11:38 RabidGravy m: sub foo($x where Int|Str) { say "oke" }; foo(Num);
11:38 camelia rakudo-moar 3259ba: OUTPUT«Constraint type check failed for parameter '$x'␤  in sub foo at /tmp/LhPMaCfFOn line 1␤  in block <unit> at /tmp/LhPMaCfFOn line 1␤␤»
11:39 RabidGravy Bool being special in that regard I guess
11:39 DrForr And checking the types afterwoard would be $x.WHAT ~~ 'Str'? Or is there a better way...
11:40 jnthn $x ~~ Str
11:40 RabidGravy given/when should do the trick
11:40 jnthn You almost never need .WHAT
11:40 jnthn Except for debugging or doing weird things
11:40 DrForr Didn't think so, but there wasn't much guidance in docs. Something else to poke at this weekend.
11:40 RabidGravy or just like typing more than is natural
11:41 DrForr It felt like using WHAT wasn't the right approach, mostly because of the whole capital thing :)
11:43 RabidGravy off out shopping for a bit
11:57 gfldex m: sub outer(::T){ sub inner(-->T){ say T.^name; T }; inner() }; outer(Int);
11:57 camelia rakudo-moar 3259ba: OUTPUT«Int␤Type check failed for return value; expected T but got Int␤  in sub inner at /tmp/v0FyicXjJ_ line 1␤  in sub outer at /tmp/v0FyicXjJ_ line 1␤  in block <unit> at /tmp/v0FyicXjJ_ line 1␤␤»
11:57 gfldex should the type capture from &outer spill into &inner?
11:59 jnthn Don't know that can be made to work, or at least not easily.
12:00 jnthn Signatures are constructed at compile time.
12:00 gfldex if the inner would use it on a positions/named i could use a where clause
12:00 gfldex but for the return type i would have to do it by hand, what would kill introspection
12:05 dalek doc: be85e3d | (David Brunton)++ | doc/Language/operators.pod:
12:05 dalek doc: s/a/an/
12:05 dalek doc:
12:05 dalek doc: *an
12:05 dalek doc: review: https://github.com/perl6/doc/commit/be85e3d8dc
12:05 dalek doc: 716b84e | (Brock Wilcox)++ | doc/Language/operators.pod:
12:05 dalek doc: Merge pull request #352 from dbrunton/patch-2
12:05 dalek doc:
12:05 dalek doc: s/a/an/
12:05 dalek doc: review: https://github.com/perl6/doc/commit/716b84e311
12:06 moritz PSA: if you notice people repeatedly submitting PRs to repos under the perl6/ organization on github, please ping me so that I can give them direct access
12:09 FROGGS joined #perl6
12:09 Skarsnik joined #perl6
12:18 kid51 joined #perl6
12:19 zakharyas joined #perl6
12:21 lnrdo joined #perl6
12:30 timotimo is there any way for modules to react to different declared perl6 versions of the importing code?
12:30 timotimo actually, what i was wondering was: how do we handle changes in NativeCall now that we've released 6.c?
12:32 abraxxa1 joined #perl6
12:33 nine timotimo: the version issue is one reason why I'd like Test to be moved to the ecosystem. Because it allows for installing multiple versions of Test at the same time.
12:34 nine For NativeCall it's more complicated, because that's really tied tightly to rakudo
12:35 nine Maybe we should ship all versions of NativeCall and install them?
12:36 timotimo i don't see a reason why we couldn't, really :)
12:39 nine I just wonder if we can make "use NativeCall" pick the version matching to $*PERL.version automatically.
12:39 timotimo right
12:39 timotimo that seems a bit more difficult
12:39 timotimo unless we invent something like :perl6<...> for use and fill that automatically on use ...
12:40 nine Not if we use a CompUnit::Repository::Core for those two modules.
12:40 timotimo oh
12:40 timotimo then we could have that without any dirty hacks, eh?
12:40 nine I've already wondered if having an ::Installation repo for just a single dist is a bit of an overkill
12:40 c9874 joined #perl6
12:43 marmay joined #perl6
12:48 rurban joined #perl6
12:48 virtualsue joined #perl6
12:49 Skarsnik Maybe freeze NC to bug fix and added feature only?
12:51 timotimo no.
12:51 rurban1 joined #perl6
12:51 timotimo wait ...
12:51 timotimo how is NC freezed if we can add features? :)
12:52 Skarsnik Well NC is tricky, in it current state it's rather incomplete x)
12:53 nine Skarsnik: nothing is ever complete ;)
12:54 AlexDaniel joined #perl6
12:54 Skarsnik Freezed as you can't change something already there. Maybe like some C++ lib allow for the add of feature via virtual method, but you can't change the rest to stay abi compat
12:54 kjs_ joined #perl6
12:54 Skarsnik I realise that will make 'new' code not compatible with 6.c NC, but
12:55 nine I'd much rather use the same mechanism as for the core setting
12:55 timotimo background for these questions is i'd like to post "the first irregular Perl 6 Non-Changes" on the weekly
12:56 timotimo since i seem to have some difficulty writing up the weekly changes right now, i could do something different
12:56 rurban joined #perl6
12:56 timotimo that post would point out our stability strategy for the future of 6.c
12:58 Skarsnik for NC I rather have a document/test/spec that fix how stuff should be an aiming for a 'finished' version and otherwise considere the current one a Beta version x)
12:59 Skarsnik but that just my opinion
13:00 rurban joined #perl6
13:03 Actualeyes joined #perl6
13:03 rurban1 joined #perl6
13:03 masak .u 👀
13:03 yoleaux U+1F440 EYES [So] (👀)
13:04 nine timotimo: are you in #perl6-release?
13:04 timotimo oh
13:04 timotimo am not, but maybe i should be
13:04 nine It's certainly worth reading and backlogging. Very high signal to noise radio
13:04 timotimo on the other hand, the list of open channels at the bottom of my weechat was JUST made one line shorter when i closed a channel i didn't care much about
13:05 timotimo you mean i should join and post a few kitteh pictures?
13:05 nine timotimo: http://irclog.perlgeek.de/perl6-release/ ;)
13:06 timotimo i'm reading it right now
13:06 El_Che Can someone explain this to me: http://blogs.perl.org/users/ar​istotle/2016/01/perl6wow.html ?
13:07 El_Che (well know p5 hacker)
13:07 El_Che n
13:07 virtualsue El_Che: Um, he said "wow". :-)
13:08 nine Either it's just that or he accidentally published an unfinished post :)
13:08 timotimo hm.
13:09 timotimo well, he ended the sentence with a full-stop. so i suppose it's finished?
13:09 El_Che he waits for the rakudo star release to make it an appraisal or sarcastic :)
13:09 * masak likes that post
13:09 masak it's short, and to the point
13:09 timotimo so, would a good response be "I know, right?"
13:09 virtualsue also, it is the essence of plausible deniability
13:09 moritz though it does feel like it's more suited for twitter
13:10 masak timotimo: "didn't see that one coming, eh?"
13:10 El_Che are office quotes still a thing?
13:11 nine sure
13:12 El_Che "that what she said" (or he/it)
13:14 gfldex m: package P { sub () is export(:ALL) {} }
13:14 camelia rakudo-moar 3259ba: ( no output )
13:15 gfldex if i would be export i would complain
13:15 xpen joined #perl6
13:18 Ven joined #perl6
13:18 Ven hi, #perl6
13:18 yoleaux 11 Jan 2016 17:44Z <timotimo> Ven: SDL2 is stable enough to be used by students. the SDL2::Raw module ... not necessarily :P
13:18 yoleaux 11 Jan 2016 17:45Z <timotimo> Ven: also, only an SDL2 package isn't enough to make great stuff; you'd ideally also have OpenGL bindings
13:19 Ven m: my %h; %h{set("a", "b")}++; %h{set("a Str|b")}++; %h.values[0].say
13:19 camelia rakudo-moar 3259ba: OUTPUT«1␤»
13:19 timotimo oh it's le ven
13:19 Ven m: my %h; %h{set("a", "b")}++; %h{set("a Str|b")}++; say %h.perl
13:19 camelia rakudo-moar 3259ba: OUTPUT«{"a Str|b" => 1, "a b" => 1}␤»
13:19 Ven uh, so that's been fixed?
13:20 Ven timotimo: hi!
13:22 pierre-vigier joined #perl6
13:22 Ven oh, obviously
13:22 Ven m: my %h{Mu}; %h{set("a", "b")}++; %h{set("a Str|b")}++; say %h.perl
13:22 camelia rakudo-moar 3259ba: OUTPUT«(my Any %{Mu} = (set("a","b")) => 2)␤»
13:22 Ven that's a bit of a bummer :[
13:26 Ven timotimo: we'll see how they manage... I installed 'em the 6 (ah, the joy of teaching them options like --prefix), and they started writing some of their exercises with it instead
13:27 timotimo cool.
13:27 timotimo i hope it doesn't suck bigtime for them for some reason
13:27 timotimo i've not really put much care into making SDL2::Raw friendly to use, yet
13:28 timotimo i was hoping someone would build a module on top of that that gives users a nicer API
13:32 bpmedley joined #perl6
13:32 Ven timotimo: hey, for now, they're used to C and PHP, so.. they'll be happy even with a half-pony :-)
13:32 timotimo maybe it'd be interesting to show the cairo module, too ... though i'm not sure how well *that* one works!
13:34 Ven timotimo: they run mac :D
13:34 Skarsnik my small experience with cairo make want to not use it x)
13:35 timotimo oh lord
13:35 timotimo why macs everywhere?
13:36 Ven timotimo: school
13:37 timotimo :|
13:37 timotimo are you running a lab of your own or something?
13:37 Ven nope
13:37 Ven "programming" school, has macs.
13:38 timotimo er, what i meant was: how come you get to recommend perl6 and SDL2::Raw to your peers?
13:47 moritz 3/w 18
13:49 skids joined #perl6
13:50 ChoHag joined #perl6
13:50 _Vi joined #perl6
13:52 lokien_ joined #perl6
13:58 kjs_ joined #perl6
14:01 rurban joined #perl6
14:07 dj_goku joined #perl6
14:10 [Coke] (niezca) is unusable, or I'd be running tests on it daily.
14:12 * colomon feels a bit guilty about not having the tuits to get/keep niezca running
14:13 Ven talk about guilt..
14:13 moritz camelia: don't feel guilty; it's a large burden
14:13 moritz sorry, meant colomon
14:14 colomon maybe regret would be a better word for it.  at any rate, I don’t even vaguely have the time to do it.
14:14 [Coke] I would add (unmaintained) or something to the legend for niecza on the compiler features chart.
14:15 [Coke] Are LoLs still a thing?
14:15 moritz I don't think so
14:15 jnthn Not as a type, no
14:15 moritz [Coke]: I'd even remove it
14:15 [Coke] there's something that can be scratched off the features list.
14:15 [Coke] also shaped arrays are listed as not done
14:17 luiz_lha joined #perl6
14:21 RabidGravy joined #perl6
14:22 masak colomon: if I understand right, what "killed" Niecza was the ng/nom transition in Rakudo. before that, Niecza was ahead and more featureful in places. after it, it would have needed its own ng transition to stay current, and sorear didn't feel that was worth it.
14:23 colomon masak: I would have said it was MoarVM, but my memory may be fuzzy.
14:24 colomon or perhaps rather MoarVM/JVM
14:24 masak no, I don't think so
14:25 timotimo i think moarvm came quite a bit later than niecza dying
14:25 timotimo though after ng/nom happened, niecza lived on for a little bit
14:25 masak that's my recollection too
14:25 masak timotimo: oh, sure. it lived on.
14:25 pierre-vigier joined #perl6
14:25 timotimo i mean, still got patches for a little bit
14:25 masak but it got increasingly behind, blocked by lack of ng
14:27 [Coke] is nqp's TODO a list for nqp-js?
14:28 moritz [Coke]: ja
14:28 [Coke] can we kill nqp's doc/bootstrapping
14:28 [Coke] .ask pmurias if he can move nqp/TODO to nqp/docs/HACKING-js or something?
14:28 yoleaux [Coke]: I'll pass your message to pmurias.
14:29 Ven masak: lack of "ng"?
14:32 [Coke] jnthn, pmurias - how hard would it be to generate a "so you want nqp to target another compiler" doc for nqp? recent talk of niecza made me think it might be nice to have an outline for someone interested in .net
14:33 lucasb joined #perl6
14:35 pierre-vigier Hi all
14:35 timotimo greetings, pierre-vigier
14:36 pierre-vigier I am facing issue in installing Test::META, where it tries to install Could not find META6:ver<0.0.4..*>
14:36 Ven well met.
14:36 pierre-vigier however, at the same time, it's telling me it's not in the eco system :(
14:37 RabidGravy pierre-vigier, you may need to do a "panda update" first
14:37 virtualsue joined #perl6
14:38 pierre-vigier hum, all making sense now
14:38 Skarsnik hm, how I can know if a type Array is typed? @array.WHAT.can("of") give me 3 candidates for a typed and 2 for a non typed; but I can't call of on a non typed
14:38 pierre-vigier someone told me panda does not manage yet version number
14:38 pierre-vigier i had an old version of META6
14:38 jnthn m: my @a; say @a.of
14:38 camelia rakudo-moar 3259ba: OUTPUT«(Mu)␤»
14:38 Skarsnik Oh I was trying on WHAT
14:38 jnthn Seems like it can be?
14:38 pierre-vigier running panda --force install META6 furst worked
14:39 nine pierre-vigier: panda cannot install exact versions of modules, because we wouldn't know where to get that version from.
14:39 RabidGravy at the current time things don't respect a "Foo:ver<0.0.1>" in the META info unfortunately, *but* the Test::META does require the newer version of META6
14:39 Skarsnik m: my @tab; say @tab.WHAT.^can("of"); say @tab.WHAT.of;
14:39 camelia rakudo-moar 3259ba: OUTPUT«(of of)␤Cannot look up attributes in a type object␤  in block <unit> at /tmp/hBWsZxubeh line 1␤␤»
14:39 nine Though probably versions are branches or tags on the linked github repo
14:39 Skarsnik m: my @tab; say @tab.WHAT.^can("of"); try {say @tab.WHAT.of};
14:39 camelia rakudo-moar 3259ba: OUTPUT«(of of)␤»
14:40 pierre-vigier that was that indeed, updated META6 through a force install
14:41 Skarsnik Shoud the of on WHAT work? or fail with a better message? x)
14:41 RabidGravy I ought to put a note in the README
14:41 RabidGravy we don't have a very good story around versioned dependencies as nine points out
14:42 Skarsnik It will probably not mix well with class version (that should probably not exists)
14:42 Skarsnik It sounds like a tricky version to handle version in module that is not annoying for module author
14:43 RabidGravy well the version comes from the META.info
14:43 Skarsnik like DBIish has version for stuff
14:43 Skarsnik but I honestly don't want to update everyfile if I do a 'release'
14:44 jnthn [Coke]: I guess we could try to write up a very high level guide
14:44 skids The package version != the version of classes in it.
14:44 Skarsnik Yes, but what the meaning?
14:44 moritz Skarsnik: I want a 'p6-infra release --version=2.0.3' tool or so that creates a tarball, where each .pm6 file has this version, and all "use" statements within this module use the same version
14:45 Skarsnik Yes, that probably why without a authoring tool that handle this kind of stuff. it's a mess x)
14:45 RabidGravy yeah, the "use Foo:ver<0.1>" version is taken from the "Distribution" which is from the META.info
14:46 Skarsnik well DBIish is a weird case
14:46 Skarsnik Should version allowed in a role but not a class?
14:47 Skarsnik Probably make more sense
14:47 RabidGravy the "class Foo:ver<0.1>" version is (I think) only a available on Foo.^ver
14:47 skids Skarsnik: If someone is only using one class from a module, and another class changes, for example.  But we are just not there yet as far as panda goes.
14:48 RabidGravy I think the ver is on all sufficiently package like things: package, module, class, role and grammar
14:48 RabidGravy it's for the convenience of consumers
14:49 Skarsnik m: class Foo {has @.t}; say Foo.^attributes[0].type.of;
14:49 camelia rakudo-moar 3259ba: OUTPUT«(Mu)␤»
14:49 Skarsnik m: class Foo {has @.t}; say Bool(Foo.^attributes[0].type.of);
14:49 camelia rakudo-moar 3259ba: OUTPUT«False␤»
14:50 RabidGravy m: class Foo:ver<0.0.1> {};   say Foo.^ver;
14:50 camelia rakudo-moar 3259ba: OUTPUT«v0.0.1␤»
14:52 RabidGravy but that's probably only useful if you want to allow different versions of the class and deal appropriately
14:52 RabidGravy but useful nonetheless
14:54 rurban1 joined #perl6
15:01 rurban joined #perl6
15:02 Skarsnik is there a call to get the basename of a class? (like without her role and package name)
15:03 cdg joined #perl6
15:03 gfldex m: role R {}; class C does R {}; say C.new.WHAT;
15:03 camelia rakudo-moar 3259ba: OUTPUT«(C)␤»
15:04 gfldex m: role R {}; class C does R {}; put C.new.^name;
15:04 camelia rakudo-moar 3259ba: OUTPUT«C␤»
15:04 gfldex m: role R {}; class C does R {}; put C.^name;
15:04 camelia rakudo-moar 3259ba: OUTPUT«C␤»
15:05 Skarsnik m: role R {}; module D {class C does R is export {}}; put C.^name;
15:05 camelia rakudo-moar 3259ba: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GIu85CvRgU␤Undeclared name:␤    C used at line 1␤␤»
15:05 gfldex Skarsnik: ^^^, however, you may not get what you want
15:05 Skarsnik m: role R {}; module D {class C does R is export {}}; import D; put C.^name;
15:05 camelia rakudo-moar 3259ba: OUTPUT«D::C␤»
15:06 Skarsnik m: role R {}; module D {class C does R is export {}}; import D; put C.^shortname;
15:06 camelia rakudo-moar 3259ba: OUTPUT«C␤»
15:06 Skarsnik hm
15:06 rurban joined #perl6
15:07 bowtie joined #perl6
15:07 Skarsnik m: role R {}; module D {class C is export {}}; import D; my C $a .= new; $a does R; say $a.WHAT.^name;
15:07 camelia rakudo-moar 3259ba: OUTPUT«D::C+{R}␤»
15:07 Skarsnik That what I mean x)
15:07 Skarsnik m: role R {}; module D {class C is export {}}; import D; my C $a .= new; $a does R; say $a.WHAT.^shortname;
15:07 camelia rakudo-moar 3259ba: OUTPUT«C+{R}␤»
15:07 Ven m: module D{class C{}}; my D::C $a .= new; say $a.WHAT.^name;
15:07 camelia rakudo-moar 3259ba: OUTPUT«D::C␤»
15:07 nine skids: yes, classes can have completely different version than the dists. Yet I think using the dist's version as default for otherwise unversioned classes contained in the dist's comp units makes sense.
15:07 Ven omg, that's been "fixed"? amazing :D
15:08 Ven Skarsnik++ # now I can resume my work on Serialize::Tiny
15:08 skids nine: I agree, gradual versioning :-)
15:09 rurban1 joined #perl6
15:10 molaf joined #perl6
15:16 Zero_Dogg joined #perl6
15:17 Zero_Dogg Is there any quick way to know which adverbs can be applied to a core function? Specifically I'm looking for a way to use run from IO to capture stderr (:out captures stdout)
15:18 moritz Zero_Dogg: like, reading the docs? :-)
15:18 moritz m: say &run.signature.perl
15:18 camelia rakudo-moar 3259ba: OUTPUT«:(| is raw)␤»
15:18 moritz it accepts everything, because it passes them on to another routine
15:18 RabidGravy if the documentation omits the information then the documentation is faulty
15:18 Zero_Dogg moritz: yes, but I'm still new enough to p6 to not know quite where to look, It's not in the IO class docs, so I'm slightly stumped
15:19 skids m: &run.signature.say # Zero_Dogg
15:19 camelia rakudo-moar 3259ba: OUTPUT«(| is raw)␤»
15:19 skids Oh hey that's different.
15:20 skids m: &run.candidtates».signature.say
15:20 camelia rakudo-moar 3259ba: OUTPUT«Method 'candidtates' not found for invocant of class 'Sub'␤  in block <unit> at /tmp/0CG84QgSZw line 1␤␤»
15:20 moritz Zero_Dogg: http://doc.perl6.org/routine/run says "See Proc for more details, for example on how to capture output."
15:20 skids m: &run.candidates».signature.say
15:20 camelia rakudo-moar 3259ba: OUTPUT«((| is raw))␤»
15:20 moritz Zero_Dogg: where "Proc" is a link :-)
15:20 skids I actually get a good signature for that locally.  Oh --- restricted setting.
15:20 moritz Zero_Dogg: (and you get there by typing "run" in the search box on https://doc.perl6.org/)
15:21 RabidGravy I've concluded that Net::AMQP may be more knackered than it is my ability to fix right now if anyone else is willing to jump in
15:26 Zero_Dogg joined #perl6
15:26 Zero_Dogg joined #perl6
15:26 Zero_Dogg moritz: Thanks, still getting used to all the jumping around in the docs
15:29 Zero_Dogg interestingly, my perl6 coredumps when providing run with :merge
15:29 RabidGravy the documentation like everything else relies on volunteer input, so if you find them lacking then please either fix or report
15:30 RabidGravy it shouldn't coredump ever (unless you are doing something which it can't control with NativeCall)
15:30 Zero_Dogg RabidGravy: was more of me not knowing where to look, really, they seem understandable once I actually found the right one
15:30 RabidGravy what is the version of the perl6
15:30 Zero_Dogg This is Rakudo version 2015.12-44-g477830a built on MoarVM version 2015.12
15:30 RabidGravy :(
15:37 bpmedley joined #perl6
15:38 tadzik joined #perl6
15:40 grassass joined #perl6
15:40 felher joined #perl6
15:43 rurban joined #perl6
15:43 timotimo Zero_Dogg: there's already a bug filed about :merge causing a segfault; i think it got reported yesterday
15:43 timotimo sorry about that :(
15:44 Zero_Dogg timotimo: great. No worries, I got what I needed with :err anyway. :merge just sounded like a handy feature to try
15:45 rindolf joined #perl6
15:46 RabidGravy as a matter of interest does anyone use "#|" style documentation in modules?
15:46 [Coke] jnthn: if it's a time sink, don't bother; just wondering if having a guide like that might encourage any .net people hiding in the corners.
15:47 DrForr RabidGravy: I do in perl6-readline, I think. That or Marpa.
15:47 DrForr And I've started to use #`() comments, though I still kinda agree with Common Lisp's #(..#) :)
15:48 mspo #`() isn't very nice visually
15:48 DrForr The trailing ')' gets lost.
15:48 mspo DrForr: indeed
15:49 * DrForr rocks out to Kashmir.
15:49 mspo I think you can use something other than () but it has to be {} or []?
15:49 mspo like you can't use #`# #?
15:50 pmurias joined #perl6
15:50 moritz it needs to be a bracketing character
15:51 DrForr As in the Unicode property? /me goes looking.
15:51 DrForr (I think it got added in v6...)
15:53 pmurias [Coke] re TODO it's outdated , I'll move it when I get to my laptoo
15:53 yoleaux 14:28Z <[Coke]> pmurias: if he can move nqp/TODO to nqp/docs/HACKING-js or something?
15:53 Ven Btw, DrForr , a COBOL slang would allow me to learn more COBOL alongside the way.
15:53 Ven So it's a good idea :P.
15:54 DrForr There's 'open' and 'close' properties.
15:54 DrForr (since 3.2)
15:54 pmurias Is there much value in knowing COBOL beyond curiosity?
15:54 DrForr Billions in legacy code?
15:54 RabidGravy you want to learn COBOL?  Weirdo ;-)  I learned it a little more than thirty years ago, because it was still a thing
15:54 Ven pmurias: COBOL is amazing.
15:55 moritz there are lovers for everything :-)
15:56 Skarsnik RabidGravy, I don't know if the pod generator read the WHY of class/attribute x)
15:56 RabidGravy only if you write the code by hand on a coding sheet, hand it to a data entry clerk who makes punch cards which you get back at some point afterwards and then queue at the card hopper to get your program run
15:57 RabidGravy Skarsnik, perl6 --doc does but it's not very pretty
15:58 RabidGravy learning to program like that is arguably a good thing as it ensures you work it all out in your head before committing it to a computer rather than dicking around with hundreds of micro-protoypes
16:00 pmurias [Coke]:  re create new backend docs the hardest part will be figuring what the hard parts for new people are
16:04 c9874 left #perl6
16:04 * DrForr horribly abuses 'multi sub' and is amazed at how well it holds up.
16:06 PerlJam DrForr: I'd like to see that horrible abuse as my imagination is currently lacking.
16:06 * skids guesses many where clauses
16:06 DrForr Not really.
16:07 DrForr class Atom {}; constant foo = Atom.new; multi sub parent( foo, @x is raw ) { }
16:07 sftf joined #perl6
16:08 DrForr I'm using other parameter types as well, but that's an idea.
16:08 skids implicit where cluases then :-)
16:08 DrForr If that's how the internals work, sure.
16:08 skids m: class Atom {}; constant foo = Atom.new; multi sub parent( foo, @x is raw ) { }; &parent.signature.say;
16:08 camelia rakudo-moar 3259ba: OUTPUT«(;; Mu | is raw)␤»
16:08 jnthn That plus the fact that we infer a nominal type from the type of the constant.
16:08 jnthn &parent is the implicit proto, you need &parent.candidates[0] or so
16:09 skids m: class Atom {}; constant foo = Atom.new; multi sub parent( foo, @x is raw ) { }; &parent.candidates>>.signature.say;
16:09 camelia rakudo-moar 3259ba: OUTPUT«((Atom $ where { ... }, @x is raw))␤»
16:09 DrForr Yeah. I'm a bit surprised that you can get away with differentiating just on the constant name, I'm sure something is being done implicitly.
16:09 PerlJam DrForr: Is that behavior specced?  ;)
16:10 DrForr No idea, I'm just taking an idea and bending it into Perl.
16:10 skids It's differentiating on the WHICH of the Atom.new I would imagine.
16:10 jnthn It's defined in terms of ACCEPT
16:10 jnthn Yes, it's by design
16:11 jnthn It's why base cases like multi fib(0) { 1 } work out
16:11 jnthn *ACCEPTS
16:11 PerlJam DrForr: anyway, I wouldn't say that's horrible abuse; just a little weird
16:11 * DrForr checks to see if we're doing LTs at FOSDEM.
16:12 DrForr Well, that's just a sample :) Can't reveal the rest *too* early :)
16:12 DrForr No LTs, huh :(
16:13 * PerlJam predicts that someone will do a WAT-talk for Perl 6 this year.
16:15 * DrForr attempts to parse the acronym and fails.
16:15 PerlJam DrForr: https://www.youtube.com/watch?v=20BySC_6HyY
16:15 skids WAT is the anti-particle to DWIM. :-)
16:16 mspo oh I remember that
16:17 DrForr Ah.
16:17 kjs_ joined #perl6
16:18 mspo what language is perfectly consistent?
16:18 skids .oO(Not having a (b)acronym for it is rather appropriately frustrating)
16:18 Ven mspo: the Mu language
16:18 virtualsue i'd like to see someone try that with Go. "We have no WAT - we designed to be simple and consistent!!1!" "really? looky here" <brain melts>
16:19 DrForr Ddin't G\"odel prove that to be impossible for any useful language?
16:19 Ven virtualsue: Go is inconsistent by design, but they very well know which place they chose to be inconsistent
16:20 mspo I like golang but can't stand the trend-driven style and "idiomatic" mantra
16:20 mspo guess that's just immaturity
16:21 mspo I gave it up entirely after this: https://code.google.com/p/go/issues/detail?id=1435
16:22 virtualsue i know at least one another language which has adherents which like to torment people with the idiomatic stick
16:22 mspo that's a pretty major bug for a language for "building servers"
16:22 mspo idiomatic is a nice vocab word, though
16:24 mspo virtualsue: which?
16:24 bdmatatu joined #perl6
16:24 * virtualsue whistles quietly, looks away
16:24 RabidGravy there's a sort of idionatic -> elegant -> concise -> obfuscated road to hell
16:25 mspo oh python?
16:25 mspo well in go the definition of "idiomatic" changes with each blog post by rob pike
16:25 mspo all of a sudden $latestblog is *the way* to solve every problem
16:25 virtualsue RabidGravy++
16:26 geekosaur p5 has been known to combine that road to hell with parti-colored bikesheds
16:26 RabidGravy :)
16:26 virtualsue i think it often means "i would do x this way, you didn't, therefore your code wasn't idiomatic"
16:27 DrForr virtualsue: Joining us at FOSDEM?
16:27 virtualsue indeed, DrForr
16:27 DrForr (seeing as I didn't have much time to see people at YAPC...)
16:27 DrForr Or LPW for that matter,d ue to my own idiocy.
16:28 Hotkeys Hello all
16:30 Hotkeys I like idiomaticness to an extent
16:30 Hotkeys If there is a common way to do something I'll probably do it like that
16:31 virtualsue oh, me too. but with an expressive, flexible language it does become a way for some enthusiastic senior devs to wear out their code review victims ;-)
16:31 Hotkeys Yeah of course
16:31 RabidGravy why don't we use "vernacular" in place of "idiomatic" in some places, or "argot"
16:31 Hotkeys I like the look of "idiomaticity" over "idiomaticness"
16:31 RabidGravy it's a metaphor after all
16:31 Hotkeys I'm going to use that
16:32 Hotkeys Even if it isn't a thing
16:32 virtualsue idiomatic becomes another "useful" word with a minor transformation
16:33 jme` joined #perl6
16:34 MadcapJake What reasons would lead to a "Cannot modify an immutable Str"?
16:34 prammer joined #perl6
16:35 pat_js MadcapJake: a syntax error? Or you are trying to modify an immutable string ;-P
16:35 RabidGravy MadcapJake, in what context?
16:36 kjs_ joined #perl6
16:36 MadcapJake In a class, trying to change an attribute of an object with `$!object.text = ...` is that not okay?
16:36 jnthn MadcapJake: Is the attribute marked "is rw"?
16:36 MadcapJake no :P
16:36 RabidGravy m: use NativeCall;  class Foo is repr('CStruct') { has Str $.foo is rw; };  my $a = Foo.new(foo => "hshs");
16:37 camelia rakudo-moar 3259ba: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/m6SKxSPysZ line 1␤␤»
16:37 RabidGravy that will do it for instance
16:37 MadcapJake jnthn: thanks, can't believe i forgot about that
16:37 Hotkeys So are private attributes read only by default
16:37 Hotkeys ?
16:37 RabidGravy no
16:38 MadcapJake this is what happens when I don't program in perl6 for a bit.  gotta get my daily vitamins! Vitamin P6!
16:38 RabidGravy all attributes are rw, the accessors that make them "Public" are ro by default
16:38 Hotkeys Ah
16:39 nine ~/win 36
16:41 khw joined #perl6
16:41 jme` joined #perl6
16:43 MadcapJake How come the String `split` method needs an empty string argument?  Would be nice to just write `"abc".split`
16:44 jnthn You can do that with "abc".comb
16:45 MadcapJake jnthn: awesome!
16:45 RabidGravy I can see the attribute/accessor thing is going to become a thing that people beat neophytes with in years to come, like the signature of "main()" in comp.lang.c back at the dawn of time
16:46 masak m: say 1 ≤ 2
16:46 camelia rakudo-moar 3259ba: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wGv_W5ZgMk␤Confused␤at /tmp/wGv_W5ZgMk:1␤------> 3say 17⏏5 ≤ 2␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifie…»
16:46 Skarsnik RabidGravy, what is main good signature? int main(int ac, char *ag[])?
16:47 Skarsnik well if you forget **env
16:48 RabidGravy I think the canonical one is "int main(int argc, char **argv)" yeah, only some systems pass the env
16:49 RabidGravy I still type just "main()" if I don't care about the arguments, as much as the compiler may bitch about it
16:50 Hotkeys I need to figure out a way to make znc give me scrollback more often than first connection
16:50 Skarsnik int main; is the smallest sigseg you can do I think
16:50 Hotkeys but less often than all the time
16:51 Skarsnik the main symbole is here!
16:51 masak m: constant R = rx/(..)(..)/; say so "abcd" ~~ R; say ~$0; say ~$1
16:51 Hotkeys like first connection per machine
16:51 camelia rakudo-moar 3259ba: OUTPUT«True␤ab␤cd␤»
16:51 masak \o/
16:51 Hotkeys woo
16:51 Hotkeys regex
16:52 RabidGravy I'm not sure I've written any C that someone paid me for this century
16:52 Hotkeys me either
16:52 Hotkeys then again before this century I was barely a person
16:53 mspo why use a constant R ?
16:53 RabidGravy oh wait, yeah I made a rather "special" adaptation to the I4GL runtime to incorporate some SOAP functionality ;-)
16:53 RabidGravy in around 2001 or something
16:53 Hotkeys No SOAP
16:54 Hotkeys Radio
16:54 Hotkeys * all laugh *
16:54 Hotkeys * roll curtain *
17:02 hankache joined #perl6
17:03 bowtie joined #perl6
17:04 hankache good * #perl6
17:05 * geekosaur sees i4gl, has flashbacks
17:06 RabidGravy hahahahahahaha
17:07 geekosaur (let's just say, I ended up with the direct contact number of one of the developers for reporting bugs)
17:07 RabidGravy yeah, prior to the IBM takeover they were quite good to deal with
17:08 * geekosaur 's experience with them goes back to pre-sql informix
17:08 RabidGravy I still love the database
17:09 RabidGravy yeah, I started with it in the early 90s so just pre-Online and stuff
17:10 RabidGravy this was at the point you could still use the C-ISAM stuff against the database files
17:13 _Vi joined #perl6
17:15 domidumont joined #perl6
17:18 rindolf joined #perl6
17:22 RabidGravy what was I doing again?
17:24 dalek doc: 694dd77 | (John Gabriele)++ | doc/Language/faq.pod:
17:24 dalek doc: update link to glossary in faq. Closes #353
17:24 dalek doc: review: https://github.com/perl6/doc/commit/694dd77254
17:26 TimToady .tell MadcapJake note that camelia has a lot of intentional asymmetry, in particular her left eye is not supposed to be quite centered; in addition to artistic reasons, there's a small pun on 'wall-eyed' there :)
17:26 yoleaux 10:53Z <nine> TimToady: what do you think about https://github.com/rakudo/​rakudo/commit/84862eef7d? It would fix the very frequent issues with panda allowing options only before command arguments (so no install --force) but violates your speculation from 2008)
17:26 yoleaux TimToady: I'll pass your message to MadcapJake.
17:30 Hor|zon joined #perl6
17:33 mkz joined #perl6
17:33 RabidGravy is there a way of distinguishing a role from a normal class in a TypeConstraint?  I want to store a role in a thing and can't tell if it is defined or not
17:34 RabidGravy an anonymous role I might add
17:34 Skarsnik look if it does RoleHOW comparing to ClassHOW?
17:35 Skarsnik *trow random idea*
17:36 RabidGravy I don't think there is a single "RoleHOW" there are a bunch of different ones, like ParametricRoleHOW and so on
17:37 RabidGravy and I'm too scared to look at the code long enough to work out which I need ;-)
17:37 TimToady .tell MadcapJake I like the high-heel shoes, though :)
17:37 yoleaux TimToady: I'll pass your message to MadcapJake.
17:38 jnthn RabidGravy: .HOW.archetypes is often a better bet
17:38 jnthn RabidGravy: Taking one of the properties on there
17:39 RabidGravy Oooh
17:39 rurban1 joined #perl6
17:39 Skarsnik m: my $a = role {}; say $a.HOW.archetypes;
17:39 camelia rakudo-moar 3259ba: OUTPUT«Method 'gist' not found for invocant of class 'Perl6::Metamodel::Archetypes'␤  in block <unit> at /tmp/71fmU46ZGk line 1␤␤»
17:40 jnthn Yeah, you'll need to access one of the properties on it
17:40 jnthn It's pretty low level.
17:40 jnthn Unlikely to change significantly though.
17:40 perl6newbee joined #perl6
17:41 Skarsnik m: my $a = role {}; say $a.HOW.archetypes.name;
17:41 camelia rakudo-moar 3259ba: OUTPUT«Method 'name' not found for invocant of class 'Perl6::Metamodel::Archetypes'␤  in block <unit> at /tmp/PYBRTSwipn line 1␤␤»
17:41 RabidGravy composalizable
17:41 RabidGravy crack monkeys
17:41 jnthn "Can be turned into something composable" :)
17:42 jnthn English has such boring inflectional morphology, might as well harness the derevational :P
17:43 RabidGravy :) but composable is the puppy, cheers!
17:43 RabidGravy and surely you mean "derivisational"
17:44 RabidGravy ;-)
17:48 bowtie joined #perl6
17:49 leont joined #perl6
17:51 RabidGravy but yeah, that works nicely, apart from the "applying the same role twice" bug I seem to have made
17:54 RabidGravy "f not ?$!role.HOW.archetypes.composable {                $!role = role { }; }" is  what I'm going with
17:55 AlexDaniel .u 🌛🌜🌝🌞
17:55 yoleaux U+1F31B FIRST QUARTER MOON WITH FACE [So] (🌛)
17:55 yoleaux U+1F31C LAST QUARTER MOON WITH FACE [So] (🌜)
17:55 yoleaux U+1F31D FULL MOON WITH FACE [So] (🌝)
17:56 AlexDaniel and of course
17:56 AlexDaniel .u 🌚
17:56 yoleaux U+1F31A NEW MOON WITH FACE [So] (🌚)
17:57 TimToady where's my SMILEY NEW MOON WITH FACE?
17:57 mkz joined #perl6
17:58 TimToady .oO(and the one with the rocket in its eye?)
17:58 dfcarpenterak joined #perl6
17:59 TimToady maybe we should allow people to make up their own glyphs for Perl 6, and then get them all incorporated into Unicode
17:59 RabidGravy That's a great movie
17:59 TimToady we could get a whole plane to ourselves if we worked at it hard enough
17:59 RabidGravy well nobody else would want to get on
17:59 RabidGravy ;-)
18:00 SCHAAP137 joined #perl6
18:00 AlexDaniel hmm @😊̋@
18:00 firstdayonthejob joined #perl6
18:00 AlexDaniel or even @🐛@
18:00 * TimToady coins the term "unimosh"
18:02 TimToady as in, unicode characters that squish in too tight on my terminal
18:02 AlexDaniel TimToady: by the way, somewhat unimosh related: https://rt.perl.org/Ticket/Display.html?id=127048
18:03 RabidGravy yeah, there are definitely some characters I can't read, maybe it's a bad display, maybe it's a bad font, maybe it's my eyes
18:04 RabidGravy or a combination of all through
18:04 RabidGravy er
18:04 RabidGravy three
18:05 RabidGravy Is "🐛" bug thing or a pine cone?
18:05 AlexDaniel .u 🐛
18:05 yoleaux U+1F41B BUG [So] (🐛)
18:05 TimToady looks like a centipede here...
18:05 jvcakg joined #perl6
18:05 TimToady or maybe a decipede...
18:06 AlexDaniel yeah, looks like a centipede here too… I was hoping that authors of other fonts are a bit less radical when it comes to drawing bugs
18:06 RabidGravy well it's an indistict blob with maybe some leg things round the outside with my eyes
18:06 jvcakg left #perl6
18:07 TimToady actually, it appears to have 22 appendages in my font, though presumably two of those might be antennae
18:08 AlexDaniel “Guess what character is that” game: https://files.progarm.org/2016​-01-15-200444_13x17_scrot.png
18:08 RabidGravy I might add that beer may be a contributing factor in my inability to discern the character
18:09 ZoffixW joined #perl6
18:09 ZoffixW m: my \list1 = |"a".."h"; my \list2 = <x y>; say list1 »Z||» list2
18:09 RabidGravy TimToady, you either have a massive screen or a microscope
18:09 ZoffixW Fun, eh?
18:09 camelia rakudo-moar 3259ba: OUTPUT«(timeout)»
18:10 ZoffixW m: my \list1 = "a".."h"; my \list2 = <x y>; say list1 »Z||» list2
18:10 camelia rakudo-moar 3259ba: OUTPUT«This Seq has already been iterated, and its values consumed␤(you might solve this by addding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤  in block <unit> at /tmp/uWQdUstN5O line 1␤␤»
18:10 ZoffixW Any way to make that result in <a x b y c d e f g h> ?
18:11 TimToady RabidGravy: I just hit CTRL-+ till it's big enough to see
18:11 RabidGravy :)
18:11 * ZoffixW is looking at some Python Stack Overflow answers and finds shorter Perl 6 versions http://stackoverflow.com/questions/3469273​8/merge-lists-in-python-by-placing-every-n​th-item-from-one-list-and-others-from-an
18:12 AlexDaniel m: my @list1 = |"a".."h"; say @list1
18:12 AlexDaniel m: my @list1 = |("a".."h"); say @list1
18:12 camelia rakudo-moar 3259ba: OUTPUT«[a b c d e f g h]␤»
18:12 camelia rakudo-moar 3259ba: OUTPUT«(timeout)»
18:12 Hotkeys Rip
18:12 AlexDaniel ZoffixW: ↑ here's your problem I think
18:12 ZoffixW m: |"a"
18:12 camelia rakudo-moar 3259ba: ( no output )
18:13 ZoffixW AlexDaniel, it is my problem or a rakudo problem?
18:13 ZoffixW s/it is/is it/;
18:13 ZoffixW I guess even if it's wrong, it should show an error and not loop forever
18:13 * ZoffixW rakudobugs
18:14 ZoffixW Oh wow
18:14 ZoffixW m: .say for |"a".."h";
18:14 AlexDaniel ZoffixW: it would be great to understand what is happening with it
18:15 camelia rakudo-moar 3259ba: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤1​2␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤​26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39​␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤5…»
18:15 RabidGravy :-\
18:15 ZoffixW m: .say for |"g".."z";
18:15 camelia rakudo-moar 3259ba: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤1​2␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤​26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39​␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤5…»
18:16 AlexDaniel m: .say for (|"g") .. "z"
18:16 skids m: .say for ('a',)..'h' # probably is what is happening
18:16 camelia rakudo-moar 3259ba: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤1​2␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤​26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39​␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤5…»
18:16 camelia rakudo-moar 3259ba: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤1​2␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤​26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39​␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤5…»
18:16 Hotkeys m: (|"a").perl.say
18:16 camelia rakudo-moar 3259ba: OUTPUT«slip("a",)␤»
18:17 Hotkeys Yeah
18:17 ZoffixW m: .say for |"g"..42;
18:17 camelia rakudo-moar 3259ba: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15​␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29​␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤»
18:17 Hotkeys skids++
18:17 Hotkeys ?p6> (|"a").succ
18:18 Hotkeys Oops
18:18 Hotkeys Syntax
18:18 Hotkeys m: (|"a").succ
18:18 camelia rakudo-moar 3259ba: OUTPUT«Method 'succ' not found for invocant of class 'Slip'␤  in block <unit> at /tmp/jYy69ukVpK line 1␤␤»
18:18 Hotkeys Darn
18:18 * skids makes a mental note to add a "precedence around ranges" item to the "traps" doc page.
18:18 AlexDaniel skids: yeah! perl6critic!
18:19 ZoffixW m: .say for |10..5
18:19 camelia rakudo-moar 3259ba: OUTPUT«1␤2␤3␤4␤5␤»
18:19 ZoffixW ^_^
18:19 rurban joined #perl6
18:20 Hotkeys m: slip("a",).Int
18:20 camelia rakudo-moar 3259ba: ( no output )
18:20 Hotkeys Why is it starting at 1
18:21 ZoffixW 1 item list
18:21 skids m: &infix:<..>.candidates>>.signature.say # Hrm it does not admit to coercion
18:21 camelia rakudo-moar 3259ba: OUTPUT«(($min, $max))␤»
18:21 nemo TimToady: yeah. terminals and unicode are kind of a problem
18:21 nemo TimToady: that's why I pad my unicode terminal games for readability
18:21 AlexDaniel m: my @list1 = ‘a’..‘h’; my @list2 = <x y>; say flat @list1 Z @list2
18:21 camelia rakudo-moar 3259ba: OUTPUT«(a x b y)␤»
18:22 AlexDaniel ZoffixW: yeah, well. Z just stops when one of the lists ends
18:22 ZoffixW m: my \list1 = "a".."h"; my \list2 = <x y>; say (list1 Z|| list2)
18:22 camelia rakudo-moar 3259ba: OUTPUT«(a b)␤»
18:22 ZoffixW I thought I saw some sort of "zip" operator.. that looked something like Z||
18:23 ZoffixW m: my \list1 = 0, "a".."h"; my \list2 = <x y>; say (list1 Z|| list2)
18:23 camelia rakudo-moar 3259ba: OUTPUT«(x "a".."h")␤»
18:23 AlexDaniel ZoffixW: unless you make both lists equal in length I don't think that it is going to work
18:24 AlexDaniel ah
18:24 ZoffixW Rakudobugged: https://rt.perl.org/Ticket/Display.html?id=127279
18:24 nemo TimToady: http://m8y.org/tmp/testcase353.xhtml  one of the silly things we were screwing around w/ in terminals
18:24 nemo TimToady: I never actually got this sort of thing to render right in anything *but* a terminal
18:26 ZoffixW AlexDaniel, there gotta be a way! :)
18:27 RabidGravy I think I just need to go back to using an actual vt220 or Wise-50 or something
18:27 ZoffixW m: my \list1 = "a".."h"; my \list2 = <x y>; say list1 Z list2[0..list1.elems].map: *//''
18:27 camelia rakudo-moar 3259ba: OUTPUT«Cannot call map(List: Whatever); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/jUCas_51NU line 1␤␤»
18:27 ZoffixW -_-
18:27 rurban1 joined #perl6
18:28 ZoffixW m: my \list1 = "a".."h"; my \list2 = <x y>; say flat grep { .chars }, list1 Z list2[0..list1.elems].map: {$_//''}
18:28 camelia rakudo-moar 3259ba: OUTPUT«5===SORRY!5=== Error while compiling /tmp/whWNxSjg1k␤Missing comma after block argument to grep␤at /tmp/whWNxSjg1k:1␤------> 3t1 Z list2[0..list1.elems].map: {$_//''}7⏏5<EOL>␤    expecting any of:␤        postfix␤»
18:28 ZoffixW Missing comma? Another bug
18:28 RabidGravy I binned the last dumb terminal I had when I cleared my mum's house some ten years ago
18:29 TimToady you can't use Z there without parens
18:29 TimToady the left list will slurp up the block
18:30 ZoffixW Missing comma? LTA error
18:30 ZoffixW ^_^
18:30 AlexDaniel m: my @l1 = ‘a’..‘h’; my @l2 = <x y>; say (|(@l1[$_], @l2[$_]) for ^(max +@l1, +@l2))
18:30 ZoffixW m: my \list1 = "a".."h"; my \list2 = <x y>; say flat grep { .chars }, (list1 Z list2[0..list1.elems].map: {$_//''})
18:30 camelia rakudo-moar 3259ba: OUTPUT«(a x b y c (Any) d (Any) e (Any) f (Any) g (Any) h (Any))␤»
18:30 camelia rakudo-moar 3259ba: OUTPUT«(a x b y c  d  e  f  g  h )␤»
18:31 AlexDaniel now how do I say “nothing or element”
18:32 rurban joined #perl6
18:32 * ZoffixW leaves to deal with a crisis
18:32 TEttinger joined #perl6
18:33 * RabidGravy contemplates sacrificing some goats
18:33 leont joined #perl6
18:35 AlexDaniel ah
18:35 AlexDaniel there we go
18:35 AlexDaniel m: 'my @l1 = ‘a’..‘h’; my @l2 = <x y>; say (|(@l1[$_] if @l1[$_]; @l2[$_] if @l2[$_]) for ^max +@l1, +@l2)
18:35 camelia rakudo-moar 3259ba: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7lVE6bOOrW␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/7lVE6bOOrW:1␤------> 3@l2[$_] if @l2[$_]) for ^max +@l1, +@l2)7⏏5<EOL>␤    expecting any of:␤        sing…»
18:35 AlexDaniel m: my @l1 = ‘a’..‘h’; my @l2 = <x y>; say (|(@l1[$_] if @l1[$_]; @l2[$_] if @l2[$_]) for ^max +@l1, +@l2)
18:35 camelia rakudo-moar 3259ba: OUTPUT«(a x b y c d e f g h)␤»
18:36 AlexDaniel “if” is a bit wrong though, it should be “if defined” or something
18:36 Hotkeys m: my \list1 = "a".."h"; my \list2 = <x y>; say roundrobin(list1, list2)
18:36 camelia rakudo-moar 3259ba: OUTPUT«((a x) (b y) (c) (d) (e) (f) (g) (h))␤»
18:36 AlexDaniel Hotkeys: ok…
18:36 Hotkeys m: my \list1 = "a".."h"; my \list2 = <x y>; say flat roundrobin(list1, list2)
18:36 camelia rakudo-moar 3259ba: OUTPUT«(a x b y c d e f g h)␤»
18:37 AlexDaniel .tell ZoffixW “roundrobin is very similar to zip. The difference is that roundrobin will not stop on lists that run out of elements but simply skip any undefined value:” (Hotkeys++)
18:37 yoleaux AlexDaniel: I'll pass your message to ZoffixW.
18:37 Hotkeys :D
18:37 Hotkeys Woo I'm helping
18:38 AlexDaniel Hotkeys: how did you find it? :)
18:38 kjs_ joined #perl6
18:39 Hotkeys I looked at zip on docs.perl6.org :p
18:39 AlexDaniel
18:39 Hotkeys "If you just wish to skip missing entries in shorter sublists, use roundrobin instead"
18:42 Hotkeys I was actually looking for some kind of flag that could be passed to zip
18:42 Hotkeys But a whole other sub works too
18:42 AlexDaniel m: m: my \list1 = "a".."h"; my \list2 = <x y>; say flat list1.roundrobin(list2)
18:42 Hotkeys Like zip(@foo, @bar, :skip) or somethint
18:43 camelia rakudo-moar 3259ba: OUTPUT«Method 'roundrobin' not found for invocant of class 'Range'␤  in block <unit> at /tmp/0D4nLPjPr6 line 1␤␤»
18:43 AlexDaniel m: my \list1 = "a".."h"; my \list2 = <x y>; say flat list1.roundrobin(list2)
18:43 camelia rakudo-moar 3259ba: OUTPUT«Method 'roundrobin' not found for invocant of class 'Range'␤  in block <unit> at /tmp/0TGrkIPPDF line 1␤␤»
18:43 Hotkeys It isn't a method its a sub
18:43 AlexDaniel m: my \list1 = "a".."h"; my \list2 = <x y>; say flat list1.zip(list2)
18:43 camelia rakudo-moar 3259ba: OUTPUT«Method 'zip' not found for invocant of class 'Range'␤  in block <unit> at /tmp/XnHgBR7HS_ line 1␤␤»
18:43 AlexDaniel Hotkeys: sure. Why?
18:43 Hotkeys Idk
18:43 Hotkeys I didn't make it
18:43 Hotkeys :p
18:45 Hotkeys m: ("a".."h") R <x y> #I wish this would work as an alternative to Z
18:45 camelia rakudo-moar 3259ba: OUTPUT«5===SORRY!5=== Error while compiling /tmp/buEowbFsMO␤Missing infix inside R␤at /tmp/buEowbFsMO:1␤------> 3("a".."h") R7⏏5 <x y> #I wish this would work as an alt␤    expecting any of:␤        infix␤        infix stopper␤»
18:46 AlexDaniel Hotkeys: R is a different thing :)
18:47 Hotkeys Is it?
18:47 Hotkeys Apart from the language
18:47 AlexDaniel m: say 42 R, 69
18:47 camelia rakudo-moar 3259ba: OUTPUT«(69 42)␤»
18:47 Hotkeys Oh
18:47 Hotkeys What does it do
18:48 AlexDaniel reverses things
18:48 _nadim I see this behavior: I have a module, installed with panda install .; and a scrip using the module. I make a change to the module and do a panda --force install .  ;  the old module is still used by the script!
18:48 Hotkeys ah
18:48 _nadim I generate an exception in the modules sub, still does the old behavior.
18:48 AlexDaniel m: say 2 R** 8
18:48 camelia rakudo-moar 3259ba: OUTPUT«64␤»
18:49 _nadim tadzik: ^^.
18:57 Hotkeys AlexDaniel: that be crazy
18:57 AlexDaniel Hotkeys: ?
18:57 Hotkeys I like the reverse meta op
18:57 Hotkeys That's all
18:58 AlexDaniel yeah, I even used it a couple of times :)
18:58 AlexDaniel mainly when I didn't like the order of arguments…
18:58 Hotkeys m: 2, 3, * R** * ... * > 1000
18:58 camelia rakudo-moar 3259ba: ( no output )
18:58 Hotkeys Aw
18:59 Hotkeys What'd I do wrong
18:59 Hotkeys Oh
18:59 nine _nadim: does the module have a proper version? Does the script load a precise version of the module?
18:59 AlexDaniel m: say 2, 3, * R** * ... * > 1000
18:59 camelia rakudo-moar 3259ba: OUTPUT«(2 3 9 729 58149737003040059690390169)␤»
18:59 AlexDaniel m: say 2, 3, { $^b ** $^a } ... * > 1000
18:59 camelia rakudo-moar 3259ba: OUTPUT«(2 3 9 729 58149737003040059690390169)␤»
18:59 Hotkeys That's neat
19:00 Hotkeys Yeah
19:00 Hotkeys I knew the gross looking version
19:00 AlexDaniel so now that's a “gross looking version” :)
19:00 hankache joined #perl6
19:00 Hotkeys Yeah look at how nice * R** * looks
19:00 Hotkeys It's almost as nice as
19:01 TimToady .tell nine rather than just ignoring the order of arguments, I think it would be more powerful to allow for cascaded MAIN-like things, so that we can differentiate the options before a command from the options after
19:01 yoleaux TimToady: I'll pass your message to nine.
19:01 AlexDaniel as?
19:01 Hotkeys m: say 1, 2, * * * ... * > 50
19:01 camelia rakudo-moar 3259ba: OUTPUT«(1 2 2 4 8 32 256)␤»
19:01 Hotkeys Sorry I'm on my phonr
19:01 AlexDaniel what about this
19:01 AlexDaniel m: say 2, 3, -> $a, $b { $b ** $a } ... * > 1000
19:01 camelia rakudo-moar 3259ba: OUTPUT«(2 3 9 729 58149737003040059690390169)␤»
19:01 Hotkeys Oh no
19:01 Hotkeys Not anonymous functions
19:02 Hotkeys Am I using the right term
19:02 Hotkeys I'm bad at terminology
19:02 _nadim nine:  the script doesn't load a specific version. I even reinstalled the module with a new version, the script still uses an old version
19:02 AlexDaniel m: say 2, 3, sub ($a, $b) { $b ** $a } ... * > 1000
19:02 camelia rakudo-moar 3259ba: OUTPUT«(2 3 9 729 58149737003040059690390169)␤»
19:02 AlexDaniel Hotkeys: I think that this is anonymous function ↑
19:03 AlexDaniel and the previous one was a clojure or something
19:03 AlexDaniel though I usually don't care about the terminology, I just want it to dwim
19:03 Hotkeys Hmm
19:04 Hotkeys I just assumed pointy blocks were essentially lambdas on their own
19:04 AlexDaniel m: say 2, 3, sub hello-there($a, $b) { $b ** $a } ... * > 1000
19:04 camelia rakudo-moar 3259ba: OUTPUT«(2 3 9 729 58149737003040059690390169)␤»
19:04 Hotkeys Which they seem to be
19:04 AlexDaniel hm, what happens if you put a restriction there
19:04 Hotkeys It'll probably get mad if the type doesn't match
19:04 AlexDaniel m: say 2, 3, sub hello-there($a where * > 5, $b) { $b ** $a } ... * > 1000
19:05 camelia rakudo-moar 3259ba: OUTPUT«===SORRY!===␤Constraint type check failed for parameter '$a'␤»
19:05 Hotkeys Yeah
19:05 AlexDaniel LTA
19:05 Hotkeys LTA?
19:05 AlexDaniel yeah, no line number
19:06 TimToady and it could mention '* > 5' if it wanted to get fancy
19:07 TimToady it could conceivably even mention the 2
19:09 TimToady while we're at it, let's make backtraces print all the arguments to all the routines...
19:09 TimToady well, the short ones, anyway
19:09 AlexDaniel TimToady: oh, again!
19:09 AlexDaniel I remember that
19:10 nine TimToady: sounds like a bit of a redesign of the whole MAIN mechanism to gain proper support for subcommands. I'd be fine with that :) I just don't feel qualified to do that.
19:10 yoleaux 19:01Z <TimToady> nine: rather than just ignoring the order of arguments, I think it would be more powerful to allow for cascaded MAIN-like things, so that we can differentiate the options before a command from the options after
19:10 TimToady Hotkeys: Less Than Awesome
19:11 nine TimToady: OTOH I would still like to make it easier for plain normal CLI programs. Lots of tools don't care where the named arguments are in the command line and as a user I like that very much as it sames a lot of moving on the command line. Like "ack foo" -> "ack foo -A 5"
19:12 nine _nadim: what system are you on?
19:12 sena_kun joined #perl6
19:12 TimToady we can make option movement easy, but I wouldn't want it to be the default
19:13 hankache Hotkeys AlexDaniel it is called a "pointy block" or an "anonymous function" or a "lambda". Pointy block being the most perl6ish
19:13 TimToady actually, option movement can easily be done with a preprocessor on @*ARGS before we call MAIN
19:13 AlexDaniel hankache: ok, pointy block. Thanks!
19:14 hankache AlexDaniel yw
19:15 TimToady similarly, subcommands could be done by preprocessing into an array of captures, with one capture shifted off at each level
19:17 captain-adequate TimToady: At the risk of sounding like a dumb dumb... Are you by any chance Larry Wall?
19:17 mst right, making option movement the default has some serious disadvantages
19:17 mst esp. with subcommands
19:17 RabidGravy speaking of MAIN() is it just a "normal" sub in the top level package?  and is it called like some normal multi by some code in the core?
19:17 mst captain-adequate: he certainly claims to be.
19:17 TimToady captain-adequate: which one do you mean?  last I looked, there were 137 Larry Walls in the U.S., and I'm only two of them....
19:18 RabidGravy I have my doubts
19:18 captain-adequate Awesome!!
19:18 mst I'd verify it via email, but he never actually replies to that
19:18 mst and I'm not sure it counts if I get his wife to vouch instead ;)
19:18 azawawi joined #perl6
19:18 RabidGravy he looks like him, but there are all these clues as to his real identity
19:18 azawawi hi
19:19 azawawi DrForr: ping
19:19 hankache if it walks like Larry and Talks like Larry.......
19:19 TimToady my mom claims that's my name, but she's 91 now, so maybe she's starting to lose it :)
19:19 DrForr azawawi: aroo?
19:19 TimToady (actually, she's still quite sharp for 91)
19:19 azawawi DrForr: hi
19:19 _nadim joined #perl6
19:20 _nadim nine: suse
19:20 captain-adequate I'm hoping for happy crazy by the time I'm 91.
19:20 AlexDaniel it seems like TimToady is not identified by NickServ right now, so that could be anyone
19:20 azawawi DrForr: looking at the IRC logs, you were doing some OpenCV bindings... any update?
19:21 RabidGravy it's the white cat and bald head and threatening up secret agents wiith lasers that gave him away
19:21 DrForr Hrm. I can push what I have to github...
19:21 azawawi cool
19:22 DrForr Though it probably won't pass tests because it predates NC changes.
19:22 azawawi DrForr: any luck with c++ api... or just c api for opencv?
19:22 DrForr Just the C stuff at the moment.
19:23 DrForr Running the test suite right now, seems to be in a bit of flux.
19:23 azawawi DrForr: been trying to make it work for a couple of days... I am thinking of just wrapping the JNI Java shared lib
19:23 RabidGravy what is opencv anyway?
19:24 awwaiid RabidGravy: an open-source computer-vision library
19:24 DrForr I've got to get this done for my OSCON talk anyway, assuming I'm giving it.
19:24 awwaiid RabidGravy: has a bunch of image/video algos that you can compose together and do neat things
19:25 azawawi RabidGravy: basically a ton of video & image processing algorithm functions :)
19:25 awwaiid RabidGravy: individually the algos aren't super interesting
19:25 RabidGravy oh right, is that the thing that google acid trip thing uses?
19:25 DrForr Let me move to the kitchen table and I'll push what I have.
19:25 bowtie joined #perl6
19:25 azawawi DrForr: thanks
19:25 sena_kun Hi, guys. I have a C call and an 'if' statement. When I do something like "If $var { call }" I got an "unhandled kind 1" error. If I remove if statement code will be completly okay. Is it a known bug?
19:26 azawawi DrForr: Haskell is plagued with the same problem we have for NativeCall ... C++ interop... Please take a look at this https://github.com/arjuncomar/opencv​_contrib/tree/master/modules/haskell
19:26 TimToady joined #perl6
19:27 TimToady joined #perl6
19:27 azawawi DrForr: detailed description is in this pull https://github.com/Itseez/opencv/pull/1600/
19:27 RabidGravy the C++ interop sort of works, maybe the mangling needs some love but it basically works
19:28 alpha123 50% of the time, C++ interop works all the time
19:28 azawawi RabidGravy: even if it works, you cant use c++ objects... you need to re-wrap them in a sane p6 class
19:29 RabidGravy isn't that a "feature" ? ;-)
19:29 azawawi RabidGravy: also Str -> std::string may need special handling :)
19:30 RabidGravy dive in and fix the mappings, I added a load last week
19:30 azawawi RabidGravy: doing the c part is easy given that opencv has a python script that generates opencv function signature headers
19:31 DrForr Currently pushed as https://github.com/drforr/perl6-OpenCV2 - The test suite doesn't currently work, but it's got basic Array, Matrix, Scalar and Size interface classes.
19:31 azawawi DrForr++
19:31 jshy joined #perl6
19:32 sena_san joined #perl6
19:32 sena_san joined #perl6
19:32 azawawi DrForr: the reason i asked for this earlier is that i do not want to duplicate development efforts
19:34 zakharyas joined #perl6
19:34 DrForr Ah. Well, take a look at what's there, I'll take a few minutes now to see if what's broken is easily fixable.
19:34 Zero_Dogg joined #perl6
19:35 RabidGravy azawawi, if you're bored and liking NC stuff you could pick up the GDBM thing I couldn't get to work
19:36 azawawi well im bored that's for sure
19:36 geekosaur *everyone* has C++ interop problems
19:36 mspo skip GDBM and go straight to http://symas.com/mdb/
19:37 azawawi RabidGravy: i ordered the Arduino kit but did not get the soldering iron :(
19:38 azawawi RabidGravy: so now i have two Arduino Uno-s, an Ethernet shield (addon), and 433 Mhz transmitter/receiver along with a couple of sensors :)
19:39 yqt joined #perl6
19:40 muraiki joined #perl6
19:40 azawawi geekosaur: i noticed. C is way better in that aspect.
19:40 muraiki is there a good way to use Proc::Async with react blocks? the problem lies in the need to call $proc.start...
19:40 geekosaur C is only better because it doesn't try. you do interop from the C++ side, export "C" ...
19:41 RabidGravy mspo, please feel free to contribute a binding to that to the ecosystem :)
19:41 geekosaur (and those will be perfectly FFI-able, from any other language that has C interop)
19:41 jevin joined #perl6
19:41 mspo RabidGravy: it is the best k:v
19:42 mspo RabidGravy: it would be fun to try making a PP version that used similar methods (COW, etc)
19:42 RabidGravy as I say, carry on and make the binding and I'm sure it will be groovy
19:43 mspo RabidGravy: once I can get any module to install I might try :)
19:43 RabidGravy slacker
19:43 mspo I guess I'm on an esoteric platform (netbsd)
19:43 RabidGravy not particularly esoteric
19:43 mspo RabidGravy: slacking is definitely something I do
19:44 jme` joined #perl6
19:44 mspo I like to spend my free time reading LOTR to my infant son ;)
19:44 mspo I think he's liking it so far
19:44 azawawi DrForr: so which version are we going to be targeting 2.4.x or 3.x? :)
19:45 DrForr Well, in my case OpenCV2 should be a good hint there :)
19:46 nemo mspo: ah, captive audience ☺   yeah, I read Le Petit Prince to my daughter but that only worked until age 2 or so ☺
19:46 nemo now even the occasional pictures isn't enough
19:47 _Vi joined #perl6
19:47 DrForr Pushed fixes, the compile test passes. FWIW I don't mind working on both in parallel though once I see the C++ bindings I might change my mind :)
19:47 mspo nemo: yeah I read hitchicker's guide to my daughter until she could complain about it
19:47 mspo nemo: now I'm lucky to read the grinch for being "plot driven"
19:47 nine sena_san: I fear we're gonna have to see some more code to help you
19:48 nemo mspo: probably the most complex text she's willing to listen through in its entirety (repeatedly) is Horton Hears a Who
19:48 nine oops...stale backlog
19:48 nemo mspo: but I think that's due to the silly voices dad does
19:48 DrForr I'd probably make a horrible parent, as my first thought would be "Fear and Loathing in Las Vegas" :)
19:48 nemo
19:48 mspo nemo: same; I'm waiting until I can move onto winnie the pooh
19:49 RabidGravy luck be on you with the opencv thing, looks enormous with loads of namespaces
19:49 nemo DrForr: you know, it's weird what kids like. she looooves  https://www.youtube.com/watch?v=4voeUXDWKL0
19:50 sena_san nine, I already rewrite that part in different manner. I can't reproduce it in a small piece of code now, so I'll try to reproduce this error tomorrow and paste here a gist.
19:50 DrForr Of course I've got the Rifftrax version of The Hunger Games running in the background...
19:50 RabidGravy y'see I think all kids should be brought up on a constant diet of minimal techno https://www.youtube.com/watch?v=le-T9UDqOZw
19:51 DrForr RabidGravy: Nod, a lot of my time was spent tearing apart the existing .h files into different classes.
19:51 sena_san s/rewrite/rewrote/
19:52 nemo mspo: I get the feeling our kids are roughly the same age btw
19:53 leont Is there any advantage to declaring a return type to subs and methods?
19:53 DrForr Future optimization?
19:53 RabidGravy and introspection
19:54 rjbs Are those not checked?
19:54 _nadim leont: may be useful when multis return differnt types
19:54 TEttinger RabidGravy: raise your kids on a healthy diet of ziltoid the omniscient
19:54 RabidGravy yes
19:54 leont I think they're checked, but that's not much of an advantage most of the time since I know what I'm returning
19:54 rjbs It is checked.
19:54 nine Today I finally decided to move from rekonq to chromium. I dearly miss rekonq already :/
19:54 rjbs Heh, it's an advantage for me, because I make mistakes in return types once in a while.
19:55 RabidGravy m:  sub foo() returns Bool { return class Foo {} }; foo()
19:55 camelia rakudo-moar 3259ba: OUTPUT«Type check failed for return value; expected Bool but got Foo␤  in sub foo at /tmp/Rax83kJPqP line 1␤  in block <unit> at /tmp/Rax83kJPqP line 1␤␤»
19:55 rjbs I appreciate the compile-time checking of it in other languages.
19:55 rjbs runtime checking is somethin'
19:55 flussence nine: feels like I've used about a billion different browsers in the past few years. they all suck in unique ways :)
19:56 mspo I guess panda doesn't use a .packlist ?
19:56 AlexDaniel rt.perl.org is very slow today…
19:56 RabidGravy well, compile  time checking of return types is possible I guess but only if the routine body evaluates to a constant value
19:56 mspo nemo: almost 3 years and almost 3 months
19:56 nine flussence: I think my whole history has been: Netscape 4 -> Mozilla M15 to Seamonkey -> konqueror -> rekonq -> chromium
19:56 nemo mspo: pretty close!
19:56 TEttinger I was a big Firefox fan until some set of "improvements" in a major update made it use massively more memory and also crash with no warning on gif-heavy pages
19:57 nemo TEttinger: huh... how long ago was that?
19:57 TEttinger years
19:57 nemo ah
19:57 nemo TEttinger: 'cause these days the bloated one is chromium I think
19:57 mspo nemo: time for computer stuff outside of work is..... difficult :)
19:57 TEttinger this is known to crash FF http://tommyettinger.github.io/h​ome/PixVoxel/cu5/Explosions.html
19:58 nemo TEttinger: https://blog.mozilla.org/nnethercote/201​3/10/01/memshrink-progress-week-117-120/
19:58 TEttinger hm, when did I switch
19:58 nine _nadim: if the problem still persists, it would be cool if you could upload your rakudo/install/share/perl6 directory somewhere so I can have a look.
19:58 mspo yeah chrome isn't lightweight: https://groups.google.com/a/chromium.org/foru​m/#!msg/chromium-dev/EUqoIz2iFU4/kPZ5ZK0K3gEJ
19:59 nemo TEttinger: usinga fair amount of memory but seems fine
19:59 leont TEttinger: yeah, FF memory usage is ridiculous nowadays :-(
19:59 TEttinger I had hundreds of tabs open in firefox regularly, and some update made it impossible to load my previous set of tabs
19:59 leont I remember when they switched from refcounting to GC
19:59 nemo TEttinger: but, since the memshrink project firefox has been super aggressive at slashing memory.  It's the only browser than ran on my old android phone
19:59 mspo "In the course of optimizing SyzyASan performance, the Syzygy team discovered that nearly 25000 (!!) allocations are made for every keystroke in the Omnibox. "
19:59 leont If it goes into global GC and you're 2GiB into swap, good luck! :-(
19:59 dfcarpenterak joined #perl6
20:00 nemo TEttinger: anyway your page doesn't seem to be crashing *shrug*
20:00 TEttinger hm, might only be if memory is low
20:00 nemo TEttinger: must be really low
20:00 TEttinger I've had crash reports from a netbook running windows and on my own 12 GB RAM machine when most of that RAM is used
20:00 nemo TEttinger: used a total of 1.4GiB of ram
20:00 nemo which is a lot
20:01 nemo but nowhere near enough to crash even a 32 bit machine
20:01 flussence I knew people (plural!) who have upwards of 1000 tabs in either firefox and chrome(!)
20:01 TEttinger not the machine, just FF
20:01 nemo TEttinger: I know. didn't crash either
20:01 leont My FF regularly 3-4 GiB virt on a 2GiB RAM machine, deliberate crash and relaunch is sometimes faster than a GC run
20:01 nine flussence: you do know....strange people
20:01 nemo TEttinger: chrome is using 2GiB
20:01 nemo and  fair amount more CPU
20:02 nemo weird. what the heck is that page doing?
20:02 bowtie joined #perl6
20:02 nemo I guess a ton of large images is all. RGBA pixmaps can get big
20:02 * leont has seen it claim 20 GiB virt, that was "interesting"
20:02 TEttinger I'll check nmy response to you, nemo: http://i.imgur.com/qvglxXY.png
20:02 nemo TEttinger: the link to the about:crashes entry would be more helpful ☺
20:02 nemo but yeah. seems fine here. dunno
20:03 TEttinger it also doesn't load all the gifs by default
20:03 nemo ah. that could explain the significantly lower memory usage
20:03 DrForr awwaiid: Huh. t/02-OpenCV-Mat.t actually passes, it might actually be creating matrices.
20:03 TEttinger if I scroll, it loads more, and then it crashes for me
20:04 nemo TEttinger: yeah, that's probably related to that memshrink blog post I linked you to
20:04 flussence somehow I ended up stuck with Vivaldi on my netbook - basically a buggy, heavyweight UI wrapper around chromium like those things that existed for IE6 in the early 2000's. I used to be able to compile chromium itself on that thing... :(
20:04 nemo TEttinger: ok. some of them aren't loading at all. says they contain errors
20:04 nemo could be due to the size
20:04 nemo TEttinger: I know Firefox is pretty aggressive about rejecting "zipbomb" images
20:04 TEttinger they don't contain errors.
20:04 TEttinger they are large
20:04 nemo for example one of my Hedgewars maps doesn't load for that reason
20:04 mspo iirc chromium doesn't compile on 32bit machines
20:05 flussence it used to!
20:05 mspo like it's impossible to have enough memory to do the compile
20:05 nemo TEttinger: http://hg.hedgewars.org/hedgewars/raw-file/d44d2ab​7ce4a/share/hedgewars/Data/Maps/ClimbHome/mask.png
20:05 nemo TEttinger: that map "contains" errors but is just due to the dimensions
20:05 nemo TEttinger: but I get why they are doing it
20:05 TEttinger loads fine in chrome
20:05 nemo I know
20:05 nemo is just about sanity limits
20:05 nemo $ file mask.png
20:05 nemo mask.png: PNG image data, 2048 x 32768, 8-bit/color RGBA, non-interlaced
20:06 nemo TEttinger: that image requires 256MiB of RAM to represent which is bordering zipbomb
20:06 ziwix Better now no confusion with awwaiid  :)
20:06 dalek doc: 20d8f52 | (Zoffix Znet)++ | doc/Type/Supply.pod:
20:06 dalek doc: C<> should be L<>
20:06 dalek doc: review: https://github.com/perl6/doc/commit/20d8f522a3
20:06 nemo TEttinger: and that's not even counting the poor vRAM
20:07 flussence mspo: Firefox had the same problem at one point; some of their official build machines were using a 32-bit version of win/osx. I think their workaround was to just update the OS instead of fixing the bloat...
20:07 nemo TEttinger: but yeah, try this http://congressoamericano.blogspot.com/​p/fotos-do-congresso-americano-iii.html in both - it was from the memshrink blog
20:07 nemo some pathological site
20:08 nemo flussence: I can tell you I compile Seamonkey still on my 32 bit machine w/ a whole gig of ram.  it ain't fast tho 'cause it uses swap a fair amount ☺
20:10 spider-mario joined #perl6
20:11 TEttinger nemo: it seems not to use more than 250 MB of RAM, hovering around 230 MB in chrome
20:11 TEttinger hahaha
20:11 TEttinger I opened firefox and it re-opened the explosions page and crashed immediately
20:12 nemo TEttinger: seriously. can you link to the about:crashes entry ?
20:12 TEttinger I didn't submit one that time, it happens so often
20:13 nemo TEttinger: link me to any one of them then
20:14 TEttinger it isn't even giving me a crash report dialog
20:14 TEttinger this is exactly why I use chrome
20:14 nemo TEttinger: I opened that congressowhatever in chromium and it is using 500MiB of RAM
20:14 nemo not terrible
20:15 rindolf nemo: wow.
20:16 nemo Firefox 335
20:16 nemo both measurements made w/ their own internal measurement tools
20:17 nemo still a lot to be sure
20:17 arlenik joined #perl6
20:17 nemo TEttinger: you sent me a link to a crash report dialog? O_o
20:17 nemo TEttinger: so about:crashes has nothing in it?
20:18 nemo wonder if this is due to some extension or something
20:18 * nemo tries TEttinger's page on his wimpier laptop
20:19 flussence .oO( the only meaningful way to measure memory usage is to measure how much useful work a program gets done before it starts swap thrashing )
20:19 TEttinger https://crash-stats.mozilla.com/report/in​dex/f51b4971-12d6-4b8b-81e2-68cb42160115
20:19 arlenik noob here, how do i do 'generic' classes in Perl6?  say I want a Point class parameterized over dimension and numeric type.
20:19 RabidGravy so when panda says that is can't install something due to already installed it says "Foo:ver<blah>:auth<blah>:api<blah>"  but I can't find the api part decribed anywhere is it actually a thing?
20:20 RabidGravy arlenik, probably you want a parameterised role
20:20 nine RabidGravy: I'm not sure where that actually came from. I think there was some discussion in November about it
20:21 RabidGravy arlenik, http://doc.perl6.org/language​/objects#Parameterized_Roles
20:21 nemo TEttinger: weird. I can't get it to happen on my laptop either.  which obv has quite a bit less ram
20:21 nemo and a wimpier gfx card
20:21 TEttinger no idea what causes it other than scrolling
20:21 TEttinger there are larger gifs at the bottom
20:22 nemo 'course both are linux... hm  *goes to coworker's desk*
20:22 nemo yeah. I scrolled
20:23 RabidGravy nine, okay, it just sounds like a sensible thing given that one may want to alter the version for reasons of implentation details of something without changing the actual api
20:23 RabidGravy which is better than crude versioning
20:24 TEttinger under metadata there's a GraphicsCriticalError:
20:24 TEttinger |[0][GFX1]: [D2D1.1] 4CreateBitmap failure Size(640,360) Code: 0x8899000c format 0|[96][GFX1]: [D3D11] 2 CreateTexture2D failure Size(16,16) Code: 0x887a0005|[92][GFX1]: [D3D11] 2 CreateTexture2D failure Size(16,16) Code: 0x887a0005|[93][GFX1]: [D3D11] 2 CreateTexture2D failure Size(16,16) Code: 0x887a0005|[94][GFX1]: [D3D11] 2 CreateTexture2D failure Size(16,16) Code: 0x887a0005|[95][GFX1]: [D3D11] 2 CreateTexture2D failu
20:24 TEttinger seems like a DirectX thing
20:24 nemo TEttinger: strange. not crashing on coworker's crappy windows laptop, and he's running eclipse, oracle, IE and Firefox on that poor thing, not to mention AV
20:24 TEttinger it mentions D3D11
20:25 nemo hm
20:25 TEttinger might be my not-bad NVIDIA GPU
20:25 TEttinger GTX 765M 2GB
20:26 lokien joined #perl6
20:26 nemo TEttinger: aaaanyway. since you have a windows machine + chromium - does http://m8y.org/tmp/testcase429.xhtml  render smoothly these days now?
20:26 lokien heyy guys, firefox is great
20:26 nemo O_o
20:27 TEttinger to clojure with thee!
20:27 RabidGravy all browsers are crap, it's just some are more crap than others
20:27 TEttinger but perl 6 is pretty good
20:27 TEttinger nemo: not totally
20:27 TEttinger there's some bars
20:27 lokien perl6 is fun, but clojure is love and life
20:28 nemo TEttinger: ah. known
20:28 lokien firefox's getting a new engine, by the way, maybe it'll suck less
20:28 nemo TEttinger: hopefully should be fixed soon.  The FF guys submitted a patch
20:28 nemo TEttinger: I was wondering more about CPU
20:28 TEttinger http://i.imgur.com/nfDEv6X.png
20:29 nemo yeah. I ran into that
20:29 nemo TEttinger: my issue was more the CPU usage really
20:30 MadcapJake how can I make an object callable like a function?
20:30 yoleaux 17:26Z <TimToady> MadcapJake: note that camelia has a lot of intentional asymmetry, in particular her left eye is not supposed to be quite centered; in addition to artistic reasons, there's a small pun on 'wall-eyed' there :)
20:30 yoleaux 17:37Z <TimToady> MadcapJake: I like the high-heel shoes, though :)
20:31 flussence MadcapJake: define «method CALL-ME», iirc
20:31 travis-ci joined #perl6
20:31 travis-ci Doc build passed. Zoffix Znet 'C<> should be L<>'
20:31 travis-ci https://travis-ci.org/perl6/doc/builds/102680437 https://github.com/perl6/doc/com​pare/694dd772545c...20d8f522a3eb
20:31 travis-ci left #perl6
20:31 nine RabidGravy: or the other way round? Offer a module with two different APIs?
20:31 TEttinger nemo: yeah it starts at 50% (so maxing out 4/8 virtual cores), then quickly goes down to maxing out one including the GPU process
20:33 * flussence has that page open, using about 137% CPU
20:34 * lokien has that page open in firefox, 3% cpu, everything smooth
20:34 RabidGravy nine, indeed that could work :)
20:41 rindolf Hi all! panda install gives me this - http://www.shlomifish.org/Fi​les/files/text/panda-err.txt
20:42 dalek doc: 00e10d5 | (Christopher Bottoms)++ | doc/Language/terms.pod:
20:42 dalek doc: Updated π/pi and added τ/tau
20:42 dalek doc: review: https://github.com/perl6/doc/commit/00e10d51a9
20:42 dalek doc: b322bf7 | (Zoffix Znet)++ | doc/Language/terms.pod:
20:42 dalek doc: Merge pull request #354 from molecules/patch-1
20:42 dalek doc:
20:42 dalek doc: Updated π/pi and added τ/tau
20:42 dalek doc: review: https://github.com/perl6/doc/commit/b322bf765a
20:42 dalek ecosystem: 2dfc615 | Altai-man++ | META.list:
20:42 dalek ecosystem: Bzlib2 bindings.
20:42 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/2dfc615e3f
20:42 dalek ecosystem: 74bd14f | (Zoffix Znet)++ | META.list:
20:42 dalek ecosystem: Merge pull request #124 from Altai-man/master
20:42 dalek ecosystem:
20:42 dalek ecosystem: Bzlib2 bindings.
20:42 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/74bd14f6e2
20:46 domidumont joined #perl6
20:49 MadcapJake how come I can't seem to make a BUILD signature accept positional arguments?
20:54 muraiki http://doc.perl6.org/language​/objects#Object_Construction
20:54 muraiki MadcapJake: scroll down to "The third implication"
20:54 masak MadcapJake: what are you trying to accomplish? (I've known people to give .new positional parameters, but not .BUILD)
20:54 rindolf can anyone help me?
20:54 muraiki and note why that's considered a poor practice
20:54 rindolf <rindolf> Hi all! panda install gives me this - http://www.shlomifish.org/Fi​les/files/text/panda-err.txt
20:55 lnrdo joined #perl6
20:55 mspo rindolf: you probably need to try reinstalling panda
20:55 mspo rindolf: or getting your whole environment fixed up
20:55 rindolf mspo: ah.
20:55 mspo rindolf: after messing with it a bunch, last night I broke down and just used rakudobrew because that's what everyone in here uses
20:55 rindolf mspo: OK, let me see.
20:56 muraiki I also suggest simply using rakudobrew
20:56 rindolf mspo: I am using rakudobrew
20:56 mspo rindolf: rakudobrew build panda then :)
20:56 dalek doc: f8fa69e | (Shlomi Fish)++ | doc/Language/5to6-nutshell.pod:
20:56 dalek doc: Fix tense due to pluralization
20:56 dalek doc: review: https://github.com/perl6/doc/commit/f8fa69ec3c
20:56 dalek doc: 1a269ee | (Steve Mynott)++ | doc/Language/5to6-nutshell.pod:
20:56 dalek doc: Merge pull request #355 from shlomif/shlomif--typos-corrections
20:56 dalek doc:
20:56 dalek doc: Fix tense due to pluralization
20:56 dalek doc: review: https://github.com/perl6/doc/commit/1a269eed71
20:58 rindolf mspo: OK.
20:58 nine rindolf: please upgrade your rakudo and panda. Then it should work.
20:58 nine rindolf: your rakudo is severely out of date
20:58 marmay_ joined #perl6
20:59 nine FWIW I've never used rakudobrew and also never had problems like that ;)
21:00 rindolf nine: OK.
21:04 revhippie joined #perl6
21:04 masak same here.
21:07 Zero_Dogg Does .lines on .out of a Proc-object (ie. created with run) return lines until EOF, ie. until the subprocess exits?
21:07 dfcarpenterak joined #perl6
21:09 masak Zero_Dogg: ...as opposed to what? only returning some of them?
21:10 Zero_Dogg masak: as opposed to only returning whatever was pending at the time
21:10 b2gills It's lazy if thats what you mean
21:11 Zero_Dogg nod, not quite what I meant. I've got a subprocess returning way fewer lines than it's suppose to, so just trying to figure out if the problem is in my code or the subprocess, sounds like the subprocess has some problem then if .lines reads until eof
21:11 cdg joined #perl6
21:12 revhippie In perl6 terms, "eager" is the opposite of "lazy"?
21:12 masak Zero_Dogg: I would expect .lines to read until eof, even if the lines haven't been produced yet. i.e. I'd expect .lines to block in that case.
21:12 Zero_Dogg masak: right, that's what I was wondering. Thanks
21:12 lokien left #perl6
21:12 masak Zero_Dogg: if you have a genuine case of it not doing that, then it sounds like we might want to report a bug :)
21:13 MadcapJake What am I doing wrong here: http://hastebin.com/uqujayovum.txt
21:13 MadcapJake I get "useless use of constant string" for my description of the test
21:13 Zero_Dogg masak: it could very well be the subprocess acting up, so I'll need to verify that before jumping to that :)
21:13 MadcapJake I get `Cannot call is(Str)`
21:13 masak revhippie: "eager" and "lazy" are two modalities among at least four. there's also "hyper", and "race" (both of which are "more eager" than eager)
21:14 masak MadcapJake: accidental semicolon at last line
21:14 masak MadcapJake: after the `$buffer.text`
21:14 MadcapJake ooph! haha
21:14 bowtie joined #perl6
21:15 MadcapJake masak: thanks!
21:16 linuxuser9000 joined #perl6
21:17 timotimo o/
21:17 rindolf OK, after I did git clean -dxf on my rakudobrew install and rebuilt/reinstalled rakudo and panda, I am getting this again - http://www.shlomifish.org/Fi​les/files/text/panda-err.txt
21:17 zhmylove Is this a normal perl6 code to download args to 01.htm .. XX.htm ? : my $c = 1; for @ARGS {`curl -o $c++.fmt('%02d').htm $_.subst("'","\\'",:g)`}
21:17 rindolf zhmylove: Perl 6 should have an HTTP module.
21:17 timotimo rindolf: could it be you also have to nuke ~/.perl6/ ?
21:18 timotimo and also: how come these Download/unpack/... paths are in there?
21:18 rindolf zhmylove: and are you interested in capturing the output of the curl command?
21:18 rindolf timotimo: that's where I placed rakudobrew.
21:18 zhmylove rindolf: hmm, actually not. I'm going to read about perl6 http
21:19 timotimo rindolf: it could be that rakudobrew insists on ~/.rakudobrew, but i have no clue
21:19 masak zhmylove: that seems to have several errors in it.
21:19 rindolf timotimo: hmm...
21:19 masak zhmylove: have you actually tried running that?
21:19 masak zhmylove: there's no `` in Perl 6, for example.
21:19 rindolf timotimo: http://www.shlomifish.org/Fi​les/files/text/panda-err.txt - this is what I get after I nuke ~/.perl6
21:20 rindolf timotimo: fine, let me try with ~/.rakudobrew
21:20 timotimo :<
21:20 timotimo if it can't be found, how was panda able to get installed?
21:20 timotimo is "which perl6" the right one?
21:20 timotimo or "which panda" to be exact
21:21 zhmylove masak: nope, I hadn't tried this version. There was say "curl..."
21:21 timotimo (we're getting more and more fed up with rakudobrew causing difficulties, we may end up not recommending it any more in the future)
21:22 kjs_ joined #perl6
21:23 mst do we have a list of failure modes?
21:23 mst it definitely doesn't have to be ~/.rakudobrew
21:23 mst rindolf: what exact command are you running?
21:23 timotimo OK
21:24 mst I mean, how did you 'rebuild everything'
21:24 mst you've not actually told us what you did yet, which makes debugging difficult
21:25 rindolf mst: I placed bin in my PATH, and did "rakudobrew build moar" and "rakudobrew build panda" and then "panda install Pod::To::HTML".
21:25 timotimo dinner time!
21:26 mst rindolf: please show me exactly what commands you ran.
21:26 mst describing what you did is still not helpful
21:27 rindolf mst: OK.
21:27 rindolf mst: I'll use "script".
21:27 masak zhmylove: you might want to try qqx[] instead of ``
21:27 mst pasting the shell session in full would also be fine.
21:28 masak zhmylove: but even then, you can't just do $c++ inside of it like you do, you'd need something like { $c++ }
21:28 rurban1 joined #perl6
21:30 sena_kun joined #perl6
21:35 azawawi joined #perl6
21:35 azawawi DrForr: finally it is working :)
21:36 bdmatatu joined #perl6
21:36 azawawi DrForr: https://github.com/azawawi/scri​pts/blob/master/opencv_test.p6   # C++ API wrapper for reading/showing images in OpenCV :)
21:38 mspo http://doc.perl6.org/language/varia​bles.html#The_supersede_Declarator  should that be blank?
21:39 bdmatatu Hi folks: how can I print the Pod for a module from the command line (like perldoc module)?
21:39 tadzik p6doc may be what you want
21:39 bdmatatu I haven't been able to make it work..
21:40 stmuk_ p6doc only currently works with the core pod
21:42 bdmatatu I thought maybe I could look at $module.WHY in a one-liner..?
21:42 stmuk_ if anyone knows of any ecosystem modules which use pod that would help :)
21:42 bdmatatu DBIish for instance
21:44 skids Sum has exntensive POD, even if it is somewhat broken.  X::Protocol has some POD as well, and is not broken (last time I checked)
21:46 MadcapJake how come I can't seem to access a fellow module? The name is properly matching the path, but it still says "Could not find '&Edit'"
21:47 MadcapJake should i be using `use lib 'lib'`
21:47 rindolf mst: [and all]: OK, now after I did a rm -fr rakudobrew and a fresh git clone , then I can run panda install fine.
21:48 mst rindolf: which leaves us no wiser as to what went wrong originally, but at least it's working now
21:50 linuxuser9000 joined #perl6
21:50 rindolf mst: yes, well, previously I had an old install of rakudobrew, and I did "git clean -dxf" there (which didn't delete the inner repositories)  and then tried to run the build commands, as can be seen in the succeeding transcript here - http://www.shlomifish.org/Files/files/te​xt/rakudobrew-install--typescript.txt.xz .
21:53 cpage_ joined #perl6
21:54 zhmylove masak: thank you very much!
21:56 MadcapJake anyone have any help for modules? I have two files «lib/Command/Buffer.pm6» and «lib/Command/Edit.pm6» and they are both classes.  In my Buffer class, I call «Edit.new(...)» and I'm getting «Could not find symbol '&Edit'»
21:57 MadcapJake oops I call «Command::Edit.new(...)»
22:02 lnrdo joined #perl6
22:08 RabidGravy did you "use" the module?
22:08 MadcapJake yeah
22:09 nine How's Command::Edit declared?
22:09 RabidGravy does the Command/Edit actually define Command::Edit?
22:09 MadcapJake it's declared as `class Edit { ... }`
22:09 RabidGravy yeah, you need to fully qualify it
22:09 nine So it's called Edit, not Command::Edit
22:10 MadcapJake doh!  Thanks nine RabidGravy!
22:10 RabidGravy except then it shoud be lib/Edit.pm
22:10 MadcapJake ok cool
22:10 sortiz \o #perl6
22:10 RabidGravy I've taken to doing everything in one file until such time as it becomes unfeasibly large
22:11 sortiz .tell mspo I'm working in a p6-LMBD
22:11 yoleaux sortiz: I'll pass your message to mspo.
22:11 MadcapJake RabidGravy: that's where I was and then I split the files and got really confused! :P
22:11 RabidGravy right
22:12 ely-se joined #perl6
22:12 * leont tends to do a «unit package Foo;» at the top of compilation units with multiple classes
22:13 RabidGravy module works too
22:13 bzipitidoo joined #perl6
22:14 RabidGravy package however has the advantage of being able to be preent in multiple compilation units
22:15 perlawhirl joined #perl6
22:15 perlawhirl left #perl6
22:15 perlawhirl joined #perl6
22:16 perlawhirl hi perlers
22:16 perlawhirl o/
22:16 RabidGravy erp
22:17 perlawhirl was watching an old talk by lizmat which had 'rand.sleep', however that no longer seems to work and it seems it should
22:17 perlawhirl m: rand.sleep
22:17 camelia rakudo-moar 3259ba: OUTPUT«Method 'sleep' not found for invocant of class 'Num'␤  in block <unit> at /tmp/vaFDj5bSIY line 1␤␤»
22:17 RabidGravy no it doesn't not for a while
22:17 ely-se m: say set("a Str|b") === set("a", "b")
22:17 camelia rakudo-moar 3259ba: OUTPUT«True␤»
22:18 perlawhirl RabidGravy: but sleep rand works? so why not rand.sleep ?
22:18 RabidGravy m: say rand.WHAT
22:18 camelia rakudo-moar 3259ba: OUTPUT«(Num)␤»
22:18 flussence numeric objects don't have methods for OS-level sleep for the same reason they don't have a .listen method that sets up a UDP socket on the given port number
22:19 RabidGravy yeah
22:19 AlexDaniel similar question: why @a.zip(@b) is not there?
22:19 ely-se Z is an operator
22:20 perlawhirl ok, so i can't use .sleep as a method call at all?
22:20 ely-se @a Z @b
22:20 RabidGravy of course you can always make it yourself
22:20 AlexDaniel ely-se: oh really?
22:20 perlawhirl nah, all good... the reasoning makes sense... just wanted to make sure it wasn't a mistake
22:20 AlexDaniel m: .say for zip <1 2 3>, <a b c>;
22:20 camelia rakudo-moar 3259ba: OUTPUT«(1 a)␤(2 b)␤(3 c)␤»
22:20 ely-se AlexDaniel: yes! There's also X for cartesian product
22:21 RabidGravy m: role Boo { method sleep() { sleep(self) }; my $a = 1 but Boo; $a.sleep;
22:21 camelia rakudo-moar 3259ba: OUTPUT«5===SORRY!5=== Error while compiling /tmp/o1Gf6w9Uec␤Missing block␤at /tmp/o1Gf6w9Uec:1␤------> 3ep(self) }; my $a = 1 but Boo; $a.sleep;7⏏5<EOL>␤»
22:21 ely-se m: say(<1 2 3> Z~ <4 5 6>)
22:21 camelia rakudo-moar 3259ba: OUTPUT«(14 25 36)␤»
22:21 RabidGravy m: role Boo { method sleep() { sleep(self) }}; my $a = 1 but Boo; $a.sleep;
22:21 camelia rakudo-moar 3259ba: ( no output )
22:21 RabidGravy etc
22:21 perlawhirl thanks =)
22:22 RabidGravy if something feels natural to you, just make it
22:22 AlexDaniel ely-se: well, the question is why we have ‘zip’ sub but no ‘.zip’ method
22:22 ely-se You can already use Z operator for infix notation
22:23 AlexDaniel ely-se: hm. Good point
22:23 perlawhirl there is such a thing as 'there are too many ways to do it' :)
22:23 revhippie don't you blaspheme in here
22:23 * perlawhirl cowers
22:23 AlexDaniel cowers :D
22:24 ely-se cowards
22:24 sjn cow-has
22:24 sjn (moo)
22:25 RabidGravy zip doesn't seem to fit easily as a method of one array on another, it's an operation on two arrays
22:25 PerlJam perlawhirl: we do have a .zip method ... on Supply  :)
22:25 RabidGravy I want a zippidahdoodah method
22:27 sjn r: my method zippidahdoodah ($zippedid-dey) { ... }; # my-oh-my what a wonderful day
22:27 camelia rakudo-moar 3259ba, rakudo-jvm 6c0f93: ( no output )
22:30 ely-se .oO(CowHOW)
22:31 espadrine joined #perl6
22:35 ssotka joined #perl6
22:45 espadrine joined #perl6
22:45 AlexDaniel “Ruby To Perl6 – Nutshell” hmmm… what about having “Perl 6 To Python – Nutshell” just for fun? :)
22:46 firstdayonthejob joined #perl6
22:46 kaare_ joined #perl6
22:47 yurivish joined #perl6
22:48 kaare_ joined #perl6
22:52 dalek nqp: 1d08541 | (Pawel Murias)++ | TODO:
22:52 dalek nqp: Remove the nqp-js TODO, will be readded in a proper place once it's updated.
22:52 dalek nqp: review: https://github.com/perl6/nqp/commit/1d08541eaf
22:53 pmurias joined #perl6
22:55 pmurias [Coke]: do we have people who are intersted in adding new nqp backends but don't know where to start?
22:57 cpage_ joined #perl6
23:00 azawawi # Image de-noising is now working in Perl6 opencv prototype :) https://github.com/azawawi/scri​pts/blob/master/opencv_test.p6
23:03 azawawi num32 -> C float # Error: Cannot unbox to a native integer
23:12 pi1 joined #perl6
23:13 dalek doc: 22840f1 | (Jim Davis)++ | doc/Type/S (2 files):
23:13 dalek doc: typos/spelling errors
23:13 dalek doc: review: https://github.com/perl6/doc/commit/22840f1d32
23:15 skids joined #perl6
23:16 Skarsnik what does opencv?
23:16 Skarsnik +do
23:16 espadrine_ joined #perl6
23:16 Skarsnik well hwhatever he is gone x)
23:20 timotimo computer vision stuff
23:20 MadcapJake how do you destructure a hash (but not in a signature)?
23:21 timotimo what do you mean? signatures is exactly what you use to destructure stuff, no?
23:21 MadcapJake but i want to destructure a hash into some variables
23:21 azawawi joined #perl6
23:21 MadcapJake i.e., «my (% (:$replacement, :$from, :$to)) = $other;»
23:21 azawawi Skarsnik: im back :) i switched my linux dev vm off
23:22 timotimo use := there
23:22 azawawi Skarsnik: if you want to take a video feed from your web camera, and do some face/object detection, then opencv is the thing is to use
23:23 Skarsnik Oh ok
23:23 MadcapJake timotimo: with that i get a positional arg error
23:23 Skarsnik Did you try gptrixie on this?
23:23 azawawi Skarsnik: basically it has tons of ready made image processing algorithms
23:23 Skarsnik but you will need to add ref type first on it x)
23:26 timotimo ah
23:26 timotimo also use a % on the RHS
23:26 timotimo or perhaps \%$
23:26 azawawi Skarsnik: interesting stuff like this http://docs.opencv.org/2.4.11/
23:29 Skarsnik I have a look tomorrow x=
23:31 dalek doc: 28d006b | (Jim Davis)++ | doc/Language/objects.pod:
23:31 dalek doc: Change sample value to possibly minimize confusion
23:31 dalek doc:
23:31 dalek doc: It's not 100% clear with the `1, 2` example that `$!y` isn't being calculated from the `$!x`.
23:31 dalek doc: review: https://github.com/perl6/doc/commit/28d006bec0
23:32 MadcapJake m: class Game { has $.team1-score = 0; has $.team2-score = 0 }; my $game = Game.new; my (% ($team1-score)) := $game; say $team1-score;
23:32 camelia rakudo-moar 3259ba: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in block <unit> at /tmp/QhEDc0LDqY line 1␤␤»
23:32 MadcapJake timotimo: can you show me what you mean, there's the pattern I'm looking for
23:33 azawawi timotimo: that's one of things Perl 5 does have... The Cv on metacpan is basically old C API and unmaintained since 2013. So if we can make this happen, maybe we can convince Chris Marshall (PDL - Perl Data language) to make a Perl 6 version
23:35 RabidGravy Is PDL the one that also defines hundreds of different musical scales?
23:35 timotimo you forgot the : in there, MadcapJake
23:35 timotimo (% (:$team1-score))
23:37 timotimo m: class Game { has $.team1-score = 0; has $.team2-score = 0 }; my $game = Game.new; my (% (:$team1-score)) := $game; say $team1-score;
23:37 MadcapJake m: class Game { has $.team1-score = 0; has $.team2-score = 0 }; my $game = Game.new; my (% (:$team1-score)) := $game; say $team1-score;
23:37 camelia rakudo-moar 3259ba: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in block <unit> at /tmp/wtdIPwpymA line 1␤␤»
23:37 camelia rakudo-moar 3259ba: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in block <unit> at /tmp/OC_An2wbxm line 1␤␤»
23:37 timotimo lol.
23:37 timotimo m: class Game { has $.team1-score = 0; has $.team2-score = 0 }; my $game = Game.new; my (% (:$team1-score)) := \$game; say $team1-score;
23:37 camelia rakudo-moar 3259ba: OUTPUT«Potential difficulties:␤    To pass an array, hash or sub to a function in Perl 6, just pass it as is.␤    For other uses of Perl 5's ref operator consider binding with ::= instead.␤    Parenthesize as \(...) if you intended a capture of a single var…»
23:37 timotimo m: class Game { has $.team1-score = 0; has $.team2-score = 0 }; my $game = Game.new; my (% (:$team1-score)) := $game.Capture; say $team1-score;
23:37 camelia rakudo-moar 3259ba: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in block <unit> at /tmp/5aiJtglWJq line 1␤␤»
23:37 timotimo m: class Game { has $.team1-score = 0; has $.team2-score = 0 }; my $game = Game.new; my (:$team1-score) := $game.Capture; say $team1-score;
23:37 camelia rakudo-moar 3259ba: OUTPUT«Unexpected named argument 'team2-score' passed␤  in block <unit> at /tmp/fv9qCGDHsp line 1␤␤»
23:38 timotimo m: class Game { has $.team1-score = 0; has $.team2-score = 0 }; my $game = Game.new; my (*% (:$team1-score)) := $game.Capture; say $team1-score;
23:38 camelia rakudo-moar 3259ba: OUTPUT«Unexpected named argument 'team2-score' passed in sub-signature␤  in block <unit> at /tmp/j4Dtd7Ho9E line 1␤␤»
23:38 RabidGravy I've got a thing down the back of the sofa that defines the classical modes but not having anything to use it for makes it pointless to release atm
23:38 timotimo seems to force you to put all of them in there
23:38 stmuk_ /me wonders why Distribution has 'ver' and 'version'
23:38 stmuk_ -" "
23:38 z8 joined #perl6
23:39 RabidGravy stmuk_, "too much crack"
23:39 timotimo verdammt!
23:40 rurban joined #perl6
23:40 RabidGravy maybe a *% to sip up the unwanted args
23:41 MadcapJake RabidGravy: how would you do that?
23:42 RabidGravy m: class Game { has $.team1-score = 0; has $.team2-score = 0 }; my $game = Game.new; my (:$team1-score, *%) := $game.Capture; say $team1-score;
23:42 camelia rakudo-moar 3259ba: OUTPUT«0␤»
23:43 RabidGravy like that
23:43 Zero_Dogg joined #perl6
23:43 MadcapJake cool, so what's this Capture method?
23:44 MadcapJake neat, so it's like an argument list
23:44 RabidGravy m:  class Game { has $.team1-score = 0; has $.team2-score = 0 }; say Game.new.Capture
23:44 camelia rakudo-moar 3259ba: OUTPUT«\(:team1-score(0), :team2-score(0))␤»
23:44 RabidGravy no, it exactly is an argument list
23:44 MadcapJake wow, that's really cool
23:45 RabidGravy I'm not sure it's that cool but it's possible
23:45 masak 'night, #perl6
23:46 azawawi night
23:46 MadcapJake RabidGravy: well it means you can destructure outside of signatures :P
23:47 MadcapJake how can i write to these variables?
23:48 MadcapJake m: class Game { has $.team1-score = 0; has $.team2-score = 0 }; my $game = Game.new; my (:$team1-score, *%) := $game.Capture; say $team1-score; $team1-score += 1; say $team1-score;
23:48 camelia rakudo-moar 3259ba: OUTPUT«0␤Cannot assign to a readonly variable or a value␤  in block <unit> at /tmp/nlEPmuKFXd line 1␤␤»
23:49 timotimo ah. may need "is copy" there?
23:49 RabidGravy or an is rw on the attribute
23:50 MadcapJake where though, it won't let me put it inside the parentheses or lhs before the bind, is it after the Capture call?
23:50 RabidGravy which gets you into "weird action at a distance" territory
23:51 RabidGravy m: class Game { has $.team1-score is rw = 0; has $.team2-score = 0 }; my $game = Game.new; my (:$team1-score, *%) := $game.Capture; say $team1-score; $team1-score += 1; say $team1-score;
23:51 camelia rakudo-moar 3259ba: OUTPUT«0␤Cannot assign to a readonly variable or a value␤  in block <unit> at /tmp/vd0QZQjpM6 line 1␤␤»
23:51 RabidGravy ah, okay false understanding
23:51 RabidGravy thank goodness
23:52 MadcapJake o_0
23:52 RabidGravy m: class Game { has $.team1-score is rw = 0; has $.team2-score = 0 }; my $game = Game.new; my (:$team1-score is rw, *%) := $game.Capture; say $team1-score; $team1-score += 1; say $team1-score;
23:52 camelia rakudo-moar 3259ba: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wbDFsPFncc␤Cannot use 'is rw' on an optional parameter␤at /tmp/wbDFsPFncc:1␤»
23:52 RabidGravy m: class Game { has $.team1-score is rw = 0; has $.team2-score = 0 }; my $game = Game.new; my (:$team1-score is copy, *%) := $game.Capture; say $team1-score; $team1-score += 1; say $team1-score;
23:52 camelia rakudo-moar 3259ba: OUTPUT«0␤Cannot assign to a readonly variable or a value␤  in block <unit> at /tmp/4K0vX4sFO5 line 1␤␤»
23:52 RabidGravy nope
23:53 RabidGravy faith restored
23:53 MadcapJake so this is not possible then?
23:54 AlexDaniel m: say ‘✋’; say <✊ ✋ ✌>.pick
23:54 camelia rakudo-moar 3259ba: OUTPUT«✋␤✌␤»
23:54 AlexDaniel awww
23:54 AlexDaniel m: say ‘✌’; say <✊ ✋ ✌>.pick # ok let's try again
23:54 camelia rakudo-moar 3259ba: OUTPUT«✌␤✌␤»
23:54 AlexDaniel m: say ‘✊’; say <✊ ✋ ✌>.pick
23:54 camelia rakudo-moar 3259ba: OUTPUT«✊␤✋␤»
23:54 AlexDaniel camelia: :<

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo