»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:02 RabidGravy left 00:16 cdg left 00:18 jabus left 00:22 rickbike left 00:23 aindilis left 00:24 aindilis joined, CurtisOvidPoe left 00:26 CurtisOvidPoe joined 00:27 Actualeyes left 00:29 pierre-vigier joined 00:37 wollmers left 00:45 spider-mario left 00:55 yqt left 01:03 jme` left 01:07 yeahnoob joined, pierre-vigier left 01:09 lokien_ left 01:14 pierre-vigier joined 01:19 cpage_ left 01:22 pecastro left 01:24 cpage_ joined
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 01:36 leont left 01:38 BenGoldberg joined 01:40 pierre-vigier left 01:41 woodruffw left, woodruffw joined 01:44 pierre-vigier joined 01:46 pecastro joined 02:02 adu joined 02:03 xpen joined 02:04 adu left 02:05 pecastro left 02:06 pdcawley_ joined 02:07 pdcawley left 02:15 pierre-vigier left 02:16 pierre-vigier joined 02:24 harrison_ joined, harrison_ left, cognominal left 02:25 cognominal joined 02:27 pecastro joined 02:29 yurivish left, azawawi joined 02:32 pecastro left, pecastro joined 02:45 Actualeyes joined, ilbot3 left 02:47 ilbot3 joined 03:02 maybeyes joined
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␤␤»
timotimo hm. does zef do uninstall?
otherwise, allegedly it's only a few lines of patch once that one branch is merged ... 03:04
mspo so rakudostar has p6doc but is otherwise out of date; rakudobrew gets you up to date but is missing p6doc 03:06
sortiz mspo: panda can install p6doc 03:09
03:09 kid51_ joined
mspo oic 03:10
03:11 kid51 left, kid51_ is now known as kid51
azawawi timotimo: nope 03:14
and hi :)
mspo if only the dependencies built ;) 03:16
URI:ver<v0.1.1>:auth<>:api<> already installed 03:17
azawawi i have been researching opencv + perl6 for a while... apparently github.com/Itseez/opencv_contrib/pull/15 is our only route atm for latest c++ api support otherwise it is plain legacy c api
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'
ugh
03:22 dwarring left, M___ left 03:23 maybeyes left, mrons left 03:24 azawawi left
sortiz mspo: I guess I'm lucky ;) 03:25
03:28 kid51 left
mspo something 03:44
03:44 xpen left
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 03:53 noganex joined 03:56 noganex_ left
autarch how can I get the exit status of something run via qqx? 03:56
actually, maybe I should use run 03:57
03:59 deepika__ joined 04:00 grassass left 04:01 Actualeyes left 04:02 deepika__ left, colomon left
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␤␤»
autarch that core dumps for me on my machine
ah, it's the :merge that does it 04:05
rt.perl.org/Ticket/Display.html?id=127273 04:07
ugexe rt.perl.org/Public/Bug/Display.html?id=125756 04:10
autarch argh 04:16
I searched for core dumb 04:17
dump*
04:17 Actualeyes joined
autarch I'd merge the tickets if I could 04:17
04:28 colomon joined, _nadim left 04:37 grassass joined 04:40 MadcapJake joined, pierre-vigier left 04:50 skids left
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, twitter.com/MadcapJake/status/6878...0397976578 04:52
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:53
The angle of camelia really makes me feel the text is off-center, but i used a vertical guide so ¯\_(ツ)_/¯ 04:56
04:58 mtj_ left 04:59 mtj_ joined 05:03 pierre-vigier joined 05:07 lastAck99 left 05:12 BenGoldberg left
autarch cute 05:15
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
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:19
05:22 linuxuser9000 joined 05:26 pierre-vigier left
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:26
MadcapJake Great idea! 05:27
I'd like to see a butterfly done in the vein of golang's gopher or plan 9's bunny 05:28
TimToady
.oO(all your mascots are belong to us)
05:30
MadcapJake :D definitely, let's take every other language's icon/logo/mascot and reimagine them as butterflies 05:32
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
perl6 websites, to clarify (I mean p5 too, but that's OT)
05:38 bzipitidoo joined
bzipitidoo msg camelia p6: say "hi"; 05:38
05:38 cpage_ left
MadcapJake m: say "hi"; 05:39
camelia rakudo-moar 3259ba: OUTPUT«hi␤»
05:46 dj_goku left 05:50 _nadim joined 05:53 Cabanossi left 05:55 Cabanossi joined
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) 」␤»
bzipitidoo m: grammar Tst { rule TOP { ^ <blok>* $ }; rule blok { '(' ~ ')' [ <-[()]> | <blok> ]* }; }; say Tst.parse("((a)xb)");
camelia rakudo-moar 3259ba: OUTPUT«Nil␤»
06:06 pierre-vigier joined
bzipitidoo why doesn't this work? 06:11
m: grammar Tst { rule TOP { ^ <blok>* $ }; rule blok { '(' ~ ')' [ <-[()]> | <blok> ]* }; }; say Tst.parse("(ab)");
camelia rakudo-moar 3259ba: OUTPUT«Nil␤»
bzipitidoo but this works:
m: grammar Tst { rule TOP { ^ <blok>* $ }; rule blok { '(' ~ ')' [ <-[()]> | <blok> ]* }; }; say Tst.parse("(b)");
camelia rakudo-moar 3259ba: OUTPUT«「(b)」␤ blok => 「(b)」␤»
06:11 cpage_ joined 06:13 pat_js joined
MadcapJake TEttinger, TimToady: github.com/MadcapJake/metamorphosis 06:18
06:18 khw left 06:22 ParsonsNose left 06:31 bzipitidoo left 06:43 telex left, pdcawley joined 06:44 telex joined, pdcawley_ left 06:48 pierre-vigier left 06:51 xargs joined 06:53 bartolin_ left 06:54 pierre-vigier joined 06:56 bartolin joined 06:57 xinming_ left, xinming joined 06:58 xargs is now known as zmisc 06:59 zmisc is now known as zcm 07:10 sjoshi joined, domidumont joined
[Tux] csv-ip5xs 50000 18.452 12.835 07:13
test 50000 23.319 22.679
test-t 50000 12.831 11.950
csv-parser 50000 51.315 0.925
07:13 rfarr joined 07:14 rfarr is now known as REF 07:15 lokien_ joined 07:16 domidumont left 07:17 domidumont joined 07:20 _nadim left, _nadim joined 07:23 REF is now known as ref 07:25 _nadim left 07:26 bjz joined 07:31 _nadim joined 07:36 bjz left 07:42 rurban joined 07:45 firstdayonthejob joined 07:56 frankjh joined 07:57 _nadim left 08:04 abraxxa joined 08:07 b10m joined 08:11 darutoko joined 08:12 rurban left
TEttinger MadcapJake: bigger versions didn't look as good, but at icon size this isn't bad dl.dropboxusercontent.com/u/119146..._Pixel.png 08:15
08:17 bjz joined
dalek c: 48e04e2 | (Jim Davis)++ | doc/Language/glossary.pod:
two typos and a missing paren
08:18
08:22 Helge joined 08:25 RabidGravy joined 08:28 pierre-vigier left
RabidGravy marnin! 08:28
Helge Greetings 08:29
08:29 pierre-vigier joined 08:32 pierre-vigier left 08:34 Helge left 08:35 zakharyas joined 08:36 firstdayonthejob left 08:43 rurban joined, rurban left 08:45 rurban joined
dalek c: 03d42fc | (Jim Davis)++ | doc/Language/ (4 files):
assorted spelling/typo errors
08:45
08:46 rurban left
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:47
masak good morning, #perl6! 08:48
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:49
ditto given and while loops 08:53
actually, that's yet another reason a for loop is not exactly sugar for a .map :)
oh wait, it is... 08:54
&map (or rather, its callback) also doesn't autothread over a junction by default
pat_js hmm. But with that you have to be super paranoid if you want Conditions to be true inside an if block
masak m: map { say $_ }, 1, any(2, 3), 4'
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 …»
masak m: map { say $_ }, 1, any(2, 3), 4
camelia rakudo-moar 3259ba: OUTPUT«1␤any(2, 3)␤4␤»
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
masak pat_js: I don't understand what you mean -- could you elaborate with an example, p'haps? 08:55
08:55 Actualeyes left
El_Che .seen ovid 08:57
yoleaux I saw Ovid 7 Nov 2014 15:43Z in #perl6: <Ovid> Hello, timotimo.
El_Che .seen curtisovidpoe
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.
CurtisOvidPoe /me waves
El_Che ahaha
silly me 08:58
CurtisOvidPoe: question
pat_js m: for 4,(0&3) { if $_ != 0 {say 4/$_} else { say "I don't divide here" }}
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␤␤»
El_Che your blogpost about subset is kind of the only doc about it: blogs.perl.org/users/ovid/2015/02/a...erl-6.html
CurtisOvidPoe Shoot.
masak CurtisOvidPoe: wow, that is some serious risk mitigation. (building your in-house COBOL compiler.)
pat_js now think about what happens if that isn't iside a loop, but somewhere in the coode
El_Che CurtisOvidPoe: maybe could the subset part be adapted and added to the doc? 08:59
pat_js s/cood/cod/
08:59 rurban left
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" }}
08:59 linuxuser9000 left
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␤␤»
masak pat_js: yes, got it.
CurtisOvidPoe El_Che: if people want to use if for that, that’s perfectly fine with me.
RabidGravy amd then you had years of really, really ugly programs as all the cobol programmers cross trained to visual basic and delphi
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
pat_js: OMNSHO, use of junctions should be *very* local.
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.
masak IMNSHO*
CurtisOvidPoe: that's probably all too common.
CurtisOvidPoe: object-orinted design -- how hard can it be, right? 09:02
people even have prior experience with "objects" from real life!
09:03 FROGGS joined
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.
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, CurtisOvidPoe joined
masak pat_js: perl6advent.wordpress.com/2014/12/...junctions/ 09:06
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 :)
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
09:08 andreoss joined
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:09
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:10
09:11 pmurias joined
CurtisOvidPoe El_Che: I’d be happy to. 09:11
El_Che DrForr: what about the new Grammar + Actions tutorial rewrite you considered writing?
CurtisOvidPoe: thx!
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.
pat_js ah, okay.
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 :(
DrForr: looking forward to your talk 09:13
DrForr Oh, you're coming? Cool. I'm hoping it'll be practice for FOSDEM :)
Er, practice for OSCON. TDM conferences.
pat_js sorry, i don't know why I have a keyboard macrop for saying ah okay in the #perl6 buffer
andreoss m: say ().>>(1)
camelia rakudo-moar 3259ba: OUTPUT«()␤»
andreoss why this valid?
El_Che DrForr: I'll be the guy to rushing you out of the podium because you're time is up :)
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
fond as "fond, now"
andreoss m: say (1,2,3).>>()
camelia rakudo-moar 3259ba: OUTPUT«Non-QAST node visited NQPMu␤Weird node visited: NQPMu␤===SORRY!===␤Unknown QAST node type NQPMu␤»
09:14 Actualeyes joined
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:15
El_Che DrForr: I'll try to reserve some non snow weather for FOSDEM 09:16
09:16 andreoss left
pmurias CurtisOvidPoe: was it your Perl 6 "killer app" idea to allow mixing cobol and perl 6 for migration? ;) 09:16
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:17
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
CurtisOvidPoe: shall I change the title of your talk? :)
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 :)
pmurias El_Che: I think what CurtisOvidPoe intended was more a cobol slang than just inline
RabidGravy DrForr++ # madness is the answer 09:21
DrForr . o ( "They *SUCK*." )
CurtisOvidPoe A slang would be better so that one could gradually replace the COBOL with Perl 6, one procedure at a time.
DrForr Sorry, that particular RHPS callback is virtually ingrained.
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
DrForr After a few stouts it could get ugly :) 09:23
09:25 salv0 joined
CurtisOvidPoe Nah, Brussels will always be lovely :) 09:25
09:26 pdcawley left
El_Che pmurias: COBOL slang. And to think I used to like CurtisOvidPoe... 09:26
09:26 zakharyas left 09:27 rindolf joined
El_Che thing that CurtisOvidPoe and DrForr are laughing maniatically while petting a cat 09:27
ks
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
09:28 _nadim joined 09:29 lokien_ left
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:30
andreoss is there plans for rakudo-star 6c? 09:31
09:31 g4 joined, g4 left, g4 joined
moritz andreoss: yes, after the 2016.01 compiler rrelease 09:32
CurtisOvidPoe: aren't there any successful Java <-> Cobol interop products that would enable a gradual migration?
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 :)
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
lots of that stuff about still too
_nadim Good morning all.
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
“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.
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
DrForr gets a nervous tic at the mention of Informix 4GL. 09:37
_nadim .see tadzik 09:38
.seen tadzik
yoleaux I saw tadzik 14 Jan 2016 23:34Z in #perl6: <tadzik> that'd be nice
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"
RabidGravy for one period in 90s I was doing more I4GL than anything else, tapered off at the turn of the century
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.
CurtisOvidPoe If I had the time or the money, I’d work on it, but I don’t right now :)
Also, the performance of Perl 6 would need to be DRAMATICALLY improved. Speaking of which, what’s the progress on that front? 09:40
09:41 leont joined
masak .oO( too much drama, not enough improvement ) :P 09:42
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
masak RabidGravy: that sounds really nice
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:46 yeahnoob left
CurtisOvidPoe pmurias: Bummer. That and the existing bugs are the two major drawbacks for Perl 6 right now. 09:47
09:47 TEttinger left
masak CurtisOvidPoe: if you have the tuits, putting together a list of those bugs somewhere would surely be helpful 09:47
(preferably with links to RT)
09:48 Floyd-ATC left
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
I expect that will improve, but the performance, that’s the killer.
09:50 _Gustaf_ joined
_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:50
nine _nadim: it's panda --force install 09:51
pmurias CurtisOvidPoe: jnthn++ is planning to focus on improving performance this year
nine _nadim: hence the "panda [options] <action> # OPTIONS GO IN FRONT!! Not like git." in panda --help
moritz stability and performance are the big topics for 2016, yes
DrForr As long as perl 6 doesn't become stable in the biological sense in the foreseeable future... 09:52
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
masak CurtisOvidPoe: well, taking an 8-year perspective, bug count and frequency have both *definitely* gone down
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 andreoss left
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
tadzik _nadim: well, panda is not (anymore) trying to override Perl 6's default behaviour here 09:55
or MAINs rather
which only allows options before for some reason
hopefully if it annoys enough people we can make it work with both 09:56
moritz the main reason is that the option parser is the same that rakudo itself uses 09:57
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
though we can special-cases that if necessary 09:58
masak 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. 09:59
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
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"
El_Che masak: certainly
10:02 leont left
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
10:03 ChoHag joined 10:04 andreoss joined
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
10:05 kjs_ joined, yurivish_ joined
RabidGravy or insert accessors for the test 10:05
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.
camelia rakudo-moar 3259ba: OUTPUT«(4 4 4 4)␤»
10:07 yurivish left
nine I think....the named argument thing is actually quite easy to fix 10:09
RabidGravy El_Che, 'ere you go 10:17
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
camelia rakudo-moar 3259ba: OUTPUT«bar␤»
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.
El_Che RabidGravy, jnthn: thx, looking are both examples
jnthn (My overall advice being: don't.) 10:19
El_Che jnthn: as in "don't bother testing private methods"?
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:20
10:21 pierre-vigier joined
El_Che jnthn: i see. It makes sense. 10:21
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 kudo/main_named_params: 84862ee | (Stefan Seifert)++ | src/core/Main.pm:
Allow for named options to go after positionals for MAIN args

Previously "panda install --force" would have panda's MAIN sub called with two positional arguments: ("install", "--force") With this patch, it's called as MAIN("install", :force) thus being more consistent with how other CLI programs work.
nine There you go.
moritz: ^^^
tadzik: ^^^
RabidGravy nine++ 10:23
arnsholt jnthn: The argument makes sense, I think
And private methods aren't part of the API, which is what you really want the tests to validate
Which is the same argument as "tests are just another client", I suppose 10:24
10:24 bjz_ joined
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 =)
_nadim nine++ 10:26
10:26 bjz left
RabidGravy ponders whether he should put the entire 100+ line synopsis from the README into the pod as well 10:27
10:28 Actualeyes left, pdcawley joined
pmurias RabidGravy: synopsis of what? 10:28
RabidGravy of this module 10:29
10:29 kjs_ left
RabidGravy github.com/jonathanstowe/Tinky/blo.../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
pmurias RabidGravy: a lot people don't read READMEs 10:30
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:32
pmurias RabidGravy: isn't the synopsis a bit large? 10:33
RabidGravy probably
jnthn pmurias: A week or two in my experience 10:34
_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:35
10:36 ChoHag left
dalek p: e08c31d | (Pawel Murias)++ | src/vm/js/ (3 files):
[js] Make pop/push/shift work on objects with positional_delegate. Fix return value of unshift.
10:36
p: 51c92e5 | (Pawel Murias)++ | t/nqp/59-nqpop.t:
Test return value of nqp::unshift.
p: 4c29b0c | (Pawel Murias)++ | t/nqp/73-delegation.t:
Test nqp::{pop,shift,unshift,push} working on an object with positional_delegate.
10:36 b10m left, zakharyas joined
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/
nine: so the previous behaviour was not spec(ulated), just implemented that way?
DrForr Re: Brussels were you mentioning www.public.nm.eurocontrol.int/PUBP...eway/spec/ ?
10:40 pierre-vigier left
_nadim RabidGravy: No I was not assuming that. 10:40
RabidGravy right
10:41 pierre-vigier joined
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:42
_nadim I disagree, large synopsis are not read which makes them moot 10:43
10:43 cfedde left
_nadim but there are different documentation styles, I am just sharing my thoughts. 10:44
10:44 cfedde joined
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 left, noganex joined
nine tadzik: FWIW this actually has been working before commit "Merge WIP snapshot 2 of main-usage" back in 2011 10:48
tadzik oh 10:49
10:49 Actualeyes joined
nine So it may have really been just a regression that was later codified into the spec tests 10:49
10:49 pdcawley left
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:51
pmurias RabidGravy: imho the point of a synopsis is to offer a short "getting started" point 10:52
nine .tell TimToady what do you think about 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.
pmurias RabidGravy: OTOH some popular CPAN moduls have fairly long ones 10:56
nine The synopsis is really the source for copy & paste ;) 10:57
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. 10:58
11:02 rurban1 joined 11:05 pmurias left 11:06 pmurias_ joined 11:11 pmurias_ left 11:12 abaugher left 11:13 abaugher joined 11:14 lokien_ joined
Humbedooh slightly off-regular-topic; who will be at FOSDEM? :) 11:15
DrForr Yo.
(kinda have to be, seeing as I'm on the schedule.) 11:16
Humbedooh ah, giving a talk?
DrForr perl6 grammars, yeah.
_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.
El_Che Humbedooh: these people will be there: fosdem.org/2016/schedule/track/perl/ :)
Humbedooh anyone gonna be manning the Perl stand? :) 11:17
nine will attend, too 11:18
Humbedooh will be manning a stand a few feet away from the perl stand :)
El_Che nine: great to hear
Humbedooh: sure!
DrForr *PYTHON INFILTRATOR*! *cough* Hi.
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
Humbedooh cool! I'll be at the ASF stand for most of the time :)
El_Che Humbedooh: asf? 11:20
Humbedooh Apache Software Foundation
El_Che ah ok
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.
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 ;)
it's been by nom de plume for the past 10 years 11:22
El_Che I am even sure I can pronounce it :)
DrForr I usually go by DrForr at conferences...
Humbedooh El_Che: it's easier to pronounce than my real name... :p 11:23
El_Che DrForr: luckily I know your face by now :) 11:24
DrForr Crap.
RabidGravy stuffed
El_Che That was my reaction as well :P
11:27 kaare_ joined, Psyche^_ joined
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, ZoffixWin left, ZoffixWin joined
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. :)
El_Che jnthn: do you take requests? :) 11:30
jnthn (Test::IO::Socket::Async and Concurrent::Iterator)
El_Che: Sure; whether I issue responses is another matter ;)
El_Che hehe
11:31 Psyche^ left
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:32
11:33 ZoffixWin left
RabidGravy actually I should test that 11:33
11:35 Dee22 joined
RabidGravy nope, totally b0rked by the Supply changes :-( 11:36
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
DrForr Ah, thanks. Checking...
That'd solve a combinatoric explosion.
s/solve/defuse/ # damn, missed one. 11:38
RabidGravy m: sub foo($x where Int|Str) { say "oke" }; foo(True);
camelia rakudo-moar 3259ba: OUTPUT«oke␤»
RabidGravy er
11:38 AndyDee left
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␤␤»
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...
jnthn $x ~~ Str 11:40
RabidGravy given/when should do the trick
jnthn You almost never need .WHAT
Except for debugging or doing weird things
DrForr Didn't think so, but there wasn't much guidance in docs. Something else to poke at this weekend.
RabidGravy or just like typing more than is natural
DrForr It felt like using WHAT wasn't the right approach, mostly because of the whole capital thing :) 11:41
RabidGravy off out shopping for a bit 11:43
11:47 RabidGravy left 11:48 marmay left
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␤␤»
gfldex should the type capture from &outer spill into &inner?
11:59 FROGGS left
jnthn Don't know that can be made to work, or at least not easily. 11:59
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
but for the return type i would have to do it by hand, what would kill introspection
dalek c: be85e3d | (David Brunton)++ | doc/Language/operators.pod:
s/a/an/

  *an
12:05
c: 716b84e | (Brock Wilcox)++ | doc/Language/operators.pod:
Merge pull request #352 from dbrunton/patch-2

s/a/an/
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:06
12:09 FROGGS joined, Skarsnik joined 12:12 rimad left 12:18 kid51 joined 12:19 zakharyas left 12:20 zakharyas joined 12:21 lnrdo joined
timotimo is there any way for modules to react to different declared perl6 versions of the importing code? 12:30