Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-05-02

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:04 alx741 joined #perl6
00:07 tardisx joined #perl6
00:08 tardisx joined #perl6
00:19 mr-foobar joined #perl6
00:23 tardisx joined #perl6
00:24 mr-foobar joined #perl6
00:28 zeki joined #perl6
00:29 zeki left #perl6
00:30 sue joined #perl6
00:34 hotel joined #perl6
00:37 mr-foobar joined #perl6
00:41 TEttinger joined #perl6
00:45 mr-foobar joined #perl6
00:55 n0xff left #perl6
01:08 alx741 left #perl6
01:15 itcharlie left #perl6
01:19 sue joined #perl6
01:29 MadcapJake ugexe++ # zef's new upgrade command
01:37 mr-foobar joined #perl6
01:39 huggable joined #perl6
01:46 mr-foobar joined #perl6
01:48 Ben_Goldberg joined #perl6
01:54 sortiz tbrowder++ # Revived perl6-examples's travis-ci build \o/
02:06 diakopter psch: pong
02:20 noganex_ joined #perl6
02:22 zacts hi #perl6
02:23 Khisanth joined #perl6
02:26 sortiz \o zacts
02:33 pierre_ joined #perl6
02:35 mr-foobar joined #perl6
02:39 zacts :-)
02:39 zacts I wonder if there is a lojban module for Perl6 yet? (/me searches)
02:41 mr-foobar joined #perl6
02:57 mr-foobar joined #perl6
03:16 TEttinger joined #perl6
03:26 molaf joined #perl6
03:28 mrsolo joined #perl6
03:32 cibs joined #perl6
03:37 dalek DBIish: ca68436 | (Salvador Ortiz)++ | lib/DBDish/Pg (3 files):
03:37 dalek DBIish: Pg: Add a few connection status methods to $dbh
03:37 dalek DBIish:
03:37 dalek DBIish: Add pg-db, pg-user, pq-host, pq-port, pq-options methods.
03:37 dalek DBIish: These methods can be used to interrogate the status of an existing database
03:37 dalek DBIish: connection object.
03:37 dalek DBIish: review: https://github.com/perl6/DBIish/commit/ca68436d95
03:41 TreyHarris joined #perl6
03:43 pierre_ joined #perl6
04:01 mr-foobar joined #perl6
04:06 Cabanossi joined #perl6
04:11 TreyHarris joined #perl6
04:13 tardisx joined #perl6
04:22 molaf_ joined #perl6
04:33 TreyHarris joined #perl6
04:38 molaf joined #perl6
04:40 mr-foobar joined #perl6
04:47 javan joined #perl6
04:48 mr-foobar joined #perl6
05:05 Cabanossi joined #perl6
05:07 grondilu is there a way to know how much memory a given object consumes?
05:32 javan joined #perl6
05:36 pierrot joined #perl6
05:37 tardisx joined #perl6
05:39 huggable joined #perl6
05:39 TreyHarris joined #perl6
05:53 domidumont joined #perl6
05:56 rindolf joined #perl6
05:58 domidumont joined #perl6
06:05 masak morning, #perl6 :)
06:05 sno joined #perl6
06:05 masak going to teach Python 3 today. always interesting from a Perl 6 perspective ;)
06:05 masak &
06:06 domidumont joined #perl6
06:08 _nadim joined #perl6
06:14 rurban joined #perl6
06:21 tardisx joined #perl6
06:22 CIAvash joined #perl6
06:29 _mg_ joined #perl6
06:30 tardisx joined #perl6
06:34 xinming joined #perl6
06:35 grondilu m: my enum <foo bar>; say foo
06:35 camelia rakudo-moar a16f0a: OUTPUT«foo␤»
06:36 domidumont joined #perl6
06:36 firstdayonthejob joined #perl6
06:36 grondilu m: my enum <foo bar>; my $x = foo; say class { method foo { "hi" } }.new.$x()
06:36 camelia rakudo-moar a16f0a: OUTPUT«()␤»
06:36 grondilu m: my enum <foo bar>; my $x = foo; say class { method foo { "hi" } }.new."$x"()
06:36 camelia rakudo-moar a16f0a: OUTPUT«hi␤»
06:38 jjido joined #perl6
07:12 wamba joined #perl6
07:16 TreyHarris joined #perl6
07:22 tardisx joined #perl6
07:30 Ulti timotimo: you asked about spreading colours to not be confusing the answer is to use HSV colour space not RGB http://blog.mattoates.co.uk/2012/01/generating-perceptually-distinct.html
07:30 espadrine joined #perl6
07:30 Ulti I have a nicer version since that post, I can probably add it to one of the colour Perl 6 modules if they dont already have something
07:34 TEttinger also http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/ may be handy
07:36 rindolf joined #perl6
07:41 psch .tell diakopter 'twas about dalek, but moritz++ took care off that
07:41 yoleaux psch: I'll pass your message to diakopter.
07:43 abraxxa joined #perl6
07:44 daniel-s joined #perl6
07:59 nutshell joined #perl6
08:00 domidumont joined #perl6
08:01 RabidGravy joined #perl6
08:07 psch hah, i just noticed Zoffix++ "Canon in D" example for A::M::N is actually in C :P
08:08 jnthn C makes a good foot-canon...
08:09 * psch .oO( "fugue this!" )
08:11 darutoko joined #perl6
08:16 TreyHarris joined #perl6
08:16 sortiz I got another "Internal error: zeroed target thread ID in work pass", this time "frozen" by "panda install".
08:19 tardisx joined #perl6
08:31 jdv79 joined #perl6
08:31 RabidGravy MARNIN!
08:32 rindolf joined #perl6
08:36 domidumont joined #perl6
08:40 g4 joined #perl6
08:40 g4 joined #perl6
08:46 daniel-s joined #perl6
08:54 BooK given https://github.com/rakudo/rakudo/blob/nom/src/core/Version.pm#L155-L161 if I have a subclass of Version with none of those defined, will these get called?
08:55 brrt joined #perl6
08:58 pierre_ joined #perl6
08:58 RabidGravy yes
08:58 CIAvash joined #perl6
09:00 RabidGravy the type constraints are essentially smart matched against the actual parameter
09:07 Relsak joined #perl6
09:13 loren joined #perl6
09:21 TreyHarris joined #perl6
09:25 rurban left #perl6
09:28 brrt .ask jnthn i'd like some new ideas where to look with the reframe-jit branch
09:28 yoleaux brrt: I'll pass your message to jnthn.
09:39 huggable joined #perl6
09:41 wamba joined #perl6
09:42 sortiz A simple test case for "Cannot invoke this object" error: https://gist.github.com/salortiz/3ca2276bde035e690c22ea3b3810362c
09:43 brrt sortiz: probably not on reframe-jit?
09:43 jjido joined #perl6
09:44 brrt no, that is unlikely to be jitcompiled
09:45 lizmat sortiz: can you call $C2 inside the module ?
09:45 sortiz lizmat, yes.
09:46 ufobat joined #perl6
09:47 ufobat zostay++ :)
09:47 sortiz lizmat, ups, seems no.
09:47 RabidGravy sounds related to the category of "closures in pre-compiled things not working" which afflicts .wrap as well
09:50 lizmat yeah, adding "no precompilation' to the module, fixes the issue  :-(
09:50 lizmat well, bypasses, I guess
09:51 sortiz lizmat, $C1 can be called, $C2 no.
09:51 lizmat yeah, so it's not the export doing stuff
09:51 lizmat it's precomp doing stuff
09:51 RabidGravy https://rt.perl.org/Ticket/Display.html?id=127860 and others
09:51 lizmat and it doesn't depend on order
09:52 sortiz -ll-exception results in a long diagnose...
09:53 RabidGravy I think it boils down to "closures not surviving precomp under some circumstances"
09:54 RabidGravy in the wrap case it appears that the .candidates attribute winds up empty when precomped
09:54 sortiz RabidGravy, Yes, the interesting thing is that the 'say' method call survive, the 'say0 sub no.
09:57 TreyHarris joined #perl6
09:58 jnthn Well, method calls don't require any kind of lexical lookup to resolve, whereas the &say sub does, and only the latter would be affected by any closure serialization issues.
09:58 yoleaux 09:28Z <brrt> jnthn: i'd like some new ideas where to look with the reframe-jit branch
10:01 brrt oh, i'm off for lunch anyway :-)
10:01 lizmat hmm... it also doesn't seem to catch that I changed the source file sometimes  :-(
10:02 jnthn brrt: Yeah, I'm stuck in meetings for a bit at the moment
10:02 jnthn brrt: So will have to catch up on where you got to / got stuck after that :)
10:05 _notbenh joined #perl6
10:08 nowan joined #perl6
10:09 sortiz Well, at least is enough golfed.
10:10 Timbus joined #perl6
10:14 lizmat sortiz: did you take out the "is export" ?
10:14 lizmat did you try without "our" but with "my"
10:14 sortiz In my latest test, yes.
10:15 lizmat and only with $C2 in there ?
10:15 lizmat ok  :-)
10:16 RabidGravy AAARGH TO MANY TERMINAL WINDOWS
10:16 RabidGravy TOO
10:16 sortiz lizmat, My latest version is only:   "BEGIN { -> { say "In closure2" } }();"   :-)
10:17 lizmat could you try with just "note" in the block ?   :-)
10:17 lizmat also: without the outer curlies ?
10:18 espadrine joined #perl6
10:20 sortiz without the outer curlies pass: Noted
10:20 sortiz (BEGIN -> { note })();
10:21 sortiz BEGIN {-> { note }}();  # This fails
10:24 lizmat well, that's an interesting metric  :-)
10:24 dalek joined #perl6
10:26 d4l3k_ joined #perl6
10:27 bazzaar joined #perl6
10:27 TreyHarris joined #perl6
10:27 tokomer joined #perl6
10:34 dalek joined #perl6
10:37 bazzaar \o
10:37 JimmyZ joined #perl6
10:37 lucs joined #perl6
10:37 bazzaar m: token feline { <ctype=.'TOP'||'BOB'> \s+ 'CAT' }
10:37 camelia rakudo-moar a16f0a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ruDKhrMyNL␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/ruDKhrMyNL:1␤------> 3token feline { <ctype=.7⏏5'TOP'||'BOB'> \s+ 'CAT' }␤»
10:37 ZoffixWin joined #perl6
10:37 ZoffixWin joined #perl6
10:37 jnthn $<ctype>=[<.TOP>||<.BOB>]
10:37 jnthn Or did you want to match those as literal strings rather than subrules?
10:37 jnthn $<ctype>=< TOP BOB > if literals
10:37 jnthn (Which is short for $<ctype>=[TOP|BOB])
10:37 Timbus_ joined #perl6
10:37 nightfro` joined #perl6
10:37 bazzaar jnthn: many thanks, have been trying for last 30mins without luck :-)
10:37 ZoffixWin psch++ Good eye. The original actually was in D, but then I realized it was too big so I found another version :)
10:37 zhmylove_ joined #perl6
10:37 ZoffixWin m: BEGIN {-> { note }}();
10:37 camelia rakudo-moar a16f0a: OUTPUT«Noted␤»
10:37 araujo_ joined #perl6
10:37 ZoffixWin Seems online log isn't loggin/...
10:38 sortiz joined #perl6
10:38 lichtkind joined #perl6
10:38 sftp joined #perl6
10:38 lichtkind does anybody know how much influence tim had on Perl 5 posftix-deref design?
10:39 lichtkind thanks in advance
10:39 xiaomiao joined #perl6
10:39 ZoffixWin .oO( who's tim :P )
10:39 moritz lichtkind: do you mean Tim Bunce?
10:39 ZoffixWin And how do you measure the amount of influence :P
10:39 moritz lichtkind: and why don't you ask in #p5p, where this would be on topic?
10:40 lichtkind moritz: no timtowdi
10:40 lichtkind sure but i dont get to ask larr< in #pwel5 and besides my article is also a bit about perl 6
10:40 moritz lichtkind: well, postfix dereference is very much timtowtdi, because prefix derefence already exists :-)
10:41 ZoffixWin I think lich is asking how much influence Larry Wall had on the design.
10:41 lichtkind yes
10:42 ZoffixWin I don't think he's involved with P5 any more, is he?
10:42 ZoffixWin Which is why it's probably best to ask in #p5p :P
10:42 lichtkind as far as i know he at lesat ok's such decision so ther eis still some influence
10:43 araujo_ joined #perl6
10:43 llfourn does anyone know what the purpose of empty '{}' in the Perl6::Grammar is?
10:43 llfourn like | {} <.panic: "Bogus statement">
10:43 moritz llfourn: to terminate LTM
10:43 lizmat lichtkind: I don't think TimToady's opinion was asked about postfix deref syntax
10:43 llfourn moritz: thanks!
10:43 lichtkind lizmat thank you
10:44 psch llfourn: {} serves as a sequence point, which prevents backtracking over itself
10:44 moritz psch: {} does not prevent backtracking, I think
10:45 jnthn You can backtrack over a {}
10:45 psch ...did that change? o.O
10:45 moritz no
10:45 jnthn Though of course only if you're in a backtracking context.
10:45 psch oh, then i completely misremembered or misunderstood it
10:46 psch it does terminate LTM, though, doesn't it?
10:46 jnthn As moritz said, it makes anything after it invisible to LTM.
10:46 moritz and much of the Perl 6 grammar is made of token {}s, which don't backtrack
10:46 psch ohh, i didn't even see moritz++ reply
10:46 * psch goes back to grmbling at MIDI :S
10:47 llfourn so why would you want to terminate LTM before a panic? # still understanding regex concepts
10:47 llfourn I assume so the panic doesn't too eagerly happen
10:48 moritz right
10:48 llfourn there could be a zero width match elsewhere that could avoid... thanks I get it now
10:51 kaare_ joined #perl6
10:59 TreyHarris joined #perl6
11:00 brrt joined #perl6
11:01 rindolf joined #perl6
11:05 dalek specs: e094a61 | RabidGravy++ | S22-package-format.pod:
11:05 dalek specs: Bring META format closer to reality
11:05 dalek specs:
11:05 dalek specs:     * resource has been implemented differently
11:05 dalek specs:     * version literals should omit "v"
11:05 dalek specs:     * use proper JSON bool
11:05 dalek specs: review: https://github.com/perl6/specs/commit/e094a61055
11:06 brrt jnthn: np, eventually we'll get to the bottom of it :-)
11:06 brrt it seems to only happen in perl6 code, though
11:07 brrt which is why i was thinking about the extops, but that doesn't seem to be it
11:09 RabidGravy right, where was I?
11:09 domidumont joined #perl6
11:10 moritz ask your GPS? :-)
11:13 sortiz Talking about S22, is a ':ver<x.y.z>' part allowed in 'provides'?
11:19 sortiz As panda/zef can uses 'provides' to resolve install requests, I hope so.
11:22 _nadim morning all
11:22 _nadim jnthn: did you have a look at my patch or shall I create another module?
11:22 daniel-s joined #perl6
11:23 CIAvash joined #perl6
11:24 wamba joined #perl6
11:24 moritz PSA: Richard Hainsworth built http://finanalyst.github.io/ModuleCitation/ which tracks "citation" (reverse dependency) index of Perl 6 modules over time
11:25 jnthn _nadim: Didn't have time to fully look over it. I'm think I'm good with some aspects of it, sad to lose the tree though.
11:25 TreyHarris joined #perl6
11:26 jnthn _nadim: So if you feel strongly on that aspect you'll probably need to create your own :)
11:26 _nadim jnthn: I can make that optional when one uses the module.
11:26 jnthn People generally seem to like G::T so I'm not inclined to overly change its output.
11:27 jnthn Yeah, that's another option.
11:27 _nadim I also though about some stats about which part of the grammar fires the most. that could be a little hint for optimization.
11:28 brrt what is G::T?
11:28 moritz Grammar::Tracer or so?
11:29 _nadim Grammar::Tracer
11:29 jnthn _nadim: I think there's a Grammar::Profiler
11:29 _nadim jnthn: they may like it because they haen't seen anything else ;)
11:29 _nadim I'll check that
11:30 _nadim there is indeed https://github.com/perlpilot/Grammar-Profiler-Simple
11:36 bazzaar .oO is learning to construct grammars and 'stress testing' Grammar::Debugger :-)
11:52 ufobat ZoffixWin, have you noticed https://github.com/ufobat/Bailador/blob/master/lib/Bailador/Route/StaticFile.pm ? it might be similar to one of your modules you have recently developed
11:57 _notbenh joined #perl6
12:04 moritz http://finanalyst.github.io/ModuleCitation/ it seems that JSON::Fast is eating JSON::Tiny's lunch :-)
12:05 TreyHarris joined #perl6
12:06 domidumont joined #perl6
12:07 RabidGravy the fact that I switched JSON::Marshal (which is depended on indirectly by about seven modules) to JSON::Fast probably had some of that :)
12:07 moritz ah, cool
12:11 pmurias joined #perl6
12:13 pmurias is examples/rubyish meant to grow into a full ruby implementation?
12:14 pmurias ahh, it seems it was just unbitrotted
12:15 ZoffixW joined #perl6
12:17 ZoffixW ufobat, I saw it, but I found no documentation at all. Nor was it `used` anywhere else in Bailador. What is the similarity that you mention?
12:18 ufobat i just think it serves the same purpose
12:18 ufobat i updated the documentation yesterday
12:21 ZoffixW ufobat, yeah, it's pretty much the same. The only differences I see is mine takes no configuration and will return a 404 if the file is not there.
12:23 ufobat mine is not supposed to return a 404 because of my ideas for "nested routes" handling :-)
12:24 ZoffixW It kinda bugs me that Bailador sometimes uses kebob-case and sometimes the underscore_case... sessions-config/content_type,  cookie-expiration/add_route
12:24 ZoffixW ufobat, I didn't even know you could return a False until just now :) And I wrote ::Static while drinking at the bar :P
12:24 macsnowball joined #perl6
12:24 RabidGravy I hate flappy tests
12:25 ZoffixW ufobat, all this tells me is I need to actually sit down and read all the docs :)
12:25 ufobat ZoffixW, yeah! i was quite unhappy that i didnt write documentation nor a good test for it.. i started to write a "playground web app" to get a feeling whats missing in bailador..
12:26 ufobat to be honest i am just greedy for getting feedback :p
12:27 _notbenh joined #perl6
12:27 ZoffixW ufobat, my biggest "concern" is concurrency. I've seen someone comment on PSGI module that, say, when you .slurp a file it's all blocking.
12:27 ufobat yeah
12:27 ufobat absolutly
12:28 ufobat i am not sure, but i think first the webservers have a different understanding of the p6w / p6sgi draft
12:28 ufobat and 2nd the content can be a supply
12:28 jnthn If you're using IO::Socket::Async and tap that, the incoming requests are automatically processed across multiple threads anyway.
12:29 ufobat so in fact the staticfile should return a supply
12:29 RabidGravy well could
12:30 macsnowball joined #perl6
12:30 ufobat i shouldn't ever say should again, i know
12:31 ufobat but isn't it better if the staticfile thingy would return a supply instead of the Blob?
12:31 RabidGravy If there isn't a module that does async file I/O to a supply, I'd make that separately first
12:32 RabidGravy it may have a separate utility
12:32 ufobat i dont know, i was just thinking about the psgi spec so far. i dont know whats easy or available so far :-(
12:32 llfourn I think the idea of p6 IO is that you don't have to worry about blocking/non-blocking in situations like this?
12:33 llfourn (as long as the requests are being handled Async)
12:33 ZoffixW Well, I now mentioned Bailador::Route::StaticFile in Bailador::Plugin::Static. My only reservation against deleting it entirely is that I feel I shouldn't need to configure anything for my app to serve static files. It should come by default (with, say, using `public` dir to look for static files at, if all the routes fail). An app that doesn't use any static files ever is a rare beast.
12:33 sue joined #perl6
12:33 * ZoffixW & # work
12:34 RabidGravy I keep thinking it's Sunday
12:34 [Coke] sadly, nope
12:35 ufobat llfourn, i think the idea is that you webapp is slurping the file, responding to the http server, and while asyncronously reading the file the server could respond to the client
12:35 lizmat if it is a static file, why slurp the file in userland at all?
12:35 ufobat if you "slurp" the file first, then keep the promise and then the server responds it is not as good as it could be
12:36 lizmat isn't there a way to directly pipe a file to a handle ?
12:36 ufobat first you need to check if you use any kind of encoding.. URL encoding or form multipart thingy i think
12:36 timotimo there is in posix, yeah
12:36 llfourn ufobat: I don't think it matters. Unless you are trying to say that you want to return chunks of the file to client. When .slurp is called the whole webserver is not blocking.
12:37 timotimo i forgot what it's called, though
12:37 RabidGravy sendfile isn't it?
12:38 timotimo could be
12:38 _nadim Yo, anyone here that would like to share a bigger place in cluj for YAPC?
12:38 timotimo yeah, it is
12:38 ufobat https://github.com/zostay/P6SGI fyi
12:40 RabidGravy the Supply thing in the p6sgi response is more useful for streaming type thingies where you need to send the start of the response to the client and then carry on sending an unknown amount of data
12:41 pmurias _nadim: you mean share a room?
12:41 _nadim a room or rather an appartment
12:41 DrForr Oh, where are you staying?
12:41 _nadim I'm good for a room if we are not many
12:42 _nadim I aven't decided anything, there are appartments on rbnb, 3 rooms, and smaller ones too
12:42 ufobat a real world example is maybe when you compute something that takes its time and you'd like to transmit what you've done so far
12:42 ufobat ?
12:44 RabidGravy well a real, real world example is audio streaming where the output doesn't end until the client disconnects, but you need a response for the client to know what it is going to get
12:44 ufobat yes!
12:46 RabidGravy the only reason I implemented the streamthing server from scratch was that there is no way to do the reverse in any of the current implementations
12:46 _nadim DrForr: here's an example https://www.airbnb.com/rooms/12693204?checkin=08%2F23%2F2016&amp;checkout=08%2F27%2F2016&amp;guests=6&amp;s=N5l-eWp7
12:46 RabidGravy i.e. a connected client will keep sending data for ever but needs a response up front to know that it was accepted
12:48 brrt when exactly is YAPC in Cluj?
12:49 _nadim 24-26 August. I plan to come the day before and leave the day after
12:50 brrt hmm, hope i'll be able to come this year
12:50 brrt although i've already missed GPW and NLPW, which were closer by
12:51 DrForr That's probably just a mile or so from my place.
12:51 brrt DrForr: what is your place
12:52 DrForr Uh, my apartment? :)
12:53 brrt fair enough
12:54 Sgeo_ joined #perl6
12:56 jnthn var InvalidVersion = props =>
12:56 jnthn <Alert bsStyle="danger" className="padded-from-header-footer">
12:56 jnthn <strong>Sorry!</strong>  This tutorial format version, {props.version}, is not supported.
12:56 jnthn <strong>Supported version: </strong>{supportedVersion}
12:56 jnthn argh!
12:56 jnthn sorry
12:56 RabidGravy actually it just occurred to me that the "source client" connection for a streaming server could do what Websocket::PSGI does and respond but continue reading from the socket
12:56 brrt :-)
12:57 brrt do we have a pg client actually?
12:58 RabidGravy the DBIish pg thing works fine
12:58 brrt alpine perl workshop has switched datespace with YAPC this year
12:58 brrt pg <3
12:58 brrt well, postgresql, anyway
13:03 * pmurias needs to come up with a name for his rakudo.js YAPC::EU talk
13:05 jnthn "Anything that can be compiled to JavaScript will be compiled to JavaScript, Perl 6 edition" :P
13:07 molaf joined #perl6
13:09 sufrostico joined #perl6
13:11 sue joined #perl6
13:13 tadzik _nadim: (yapc) sounds good :)
13:14 macsnowball joined #perl6
13:18 RabidGravy tadzik, just invited you to the perl6-noise-gang "organisation"
13:19 tadzik yay!
13:19 RabidGravy anyone else?
13:22 macsnowball joined #perl6
13:27 RabidGravy ugh
13:28 RabidGravy everything has suddenly become really really slow
13:28 tadzik yes, I will get to finishing and publishing my music sheet editor:)
13:29 RabidGravy do it!
13:29 RabidGravy tadzik++
13:29 tadzik I guess I could also port my midi-to-musicsheets thing to perl 6
13:30 tadzik it may turn out to be a bit computationally heavy
13:31 daniel-s joined #perl6
13:36 sufrostico joined #perl6
13:38 TreyHarris joined #perl6
13:39 huggable joined #perl6
13:43 [Coke] (sixfix) ... that escalated quickly.
13:48 pierre_ joined #perl6
13:51 tadzik ...sixfix? :)
14:01 domidumont1 joined #perl6
14:01 RabidGravy google says it's some kind of diet/life style fad, I guess that's not what we're taling about here ;-)
14:02 mspo sounds like a mailing list
14:05 cdg joined #perl6
14:15 skids joined #perl6
14:15 loren joined #perl6
14:16 tharkun joined #perl6
14:16 pierre_ joined #perl6
14:18 itcharlie joined #perl6
14:20 khw joined #perl6
14:21 mcsnolte joined #perl6
14:25 TreyHarris joined #perl6
14:25 MadcapJake http://sixfix.nigelhamilton.com
14:29 RabidGravy ah yes
14:40 daniel-s joined #perl6
14:50 rindolf joined #perl6
14:57 sue joined #perl6
14:57 brrt slow day today
15:11 sergot_ joined #perl6
15:12 shmibs_ joined #perl6
15:13 remmie2 joined #perl6
15:13 shlomif joined #perl6
15:13 RabidGravy what's the canonical form of an IRC URI?
15:13 RabidGravy is it something like irc://server/channel ?
15:13 Tux__ joined #perl6
15:14 aindilis` joined #perl6
15:15 mspo https://www.w3.org/Addressing/draft-mirashi-url-irc-01.txt
15:15 [Coke]_ joined #perl6
15:16 _mg__ joined #perl6
15:16 PotatoGim_ joined #perl6
15:17 nowan_ joined #perl6
15:18 mrsolo_ joined #perl6
15:18 lichtkind_ joined #perl6
15:18 cosarara_ joined #perl6
15:19 Brock joined #perl6
15:20 hoelzro_ joined #perl6
15:20 sufrosti1o joined #perl6
15:20 ambs_ joined #perl6
15:21 teatime How does :sym<X> work on regexes... 1) can X be multiple characters, 2) does <sym> have to appear in the regex, 3) can the regex be more than just <sym>
15:21 teatime 4) can you arbitrarily-parameterize regexes, and/or are there any other :sym<>-like things
15:22 silug joined #perl6
15:22 damnlie joined #perl6
15:22 RabidGravy mspo, so yes
15:22 RabidGravy :)
15:22 TeamBlast joined #perl6
15:24 JimmyZ joined #perl6
15:24 psch m: grammar G { proto token foo {*}; token foo:sym<bar> { <?> } }; G.parse("anything", :rule<foo>)
15:24 camelia rakudo-moar a16f0a: ( no output )
15:24 perlpilot teatime: yes, no, yes, yes-ish  :)
15:25 psch i think 4 is yes/no..?
15:26 psch as in, any regexen can take an abritrary amount of parameters, but i at least don't know of anything else but :sym<> that works that way
15:26 perlpilot depends on exactly what is meant by ":sym<> like things"
15:27 psch i read it as "adverbs to the declaratee"
15:27 perlpilot but, "no" to that one is a very good approximation anyway.
15:27 teatime I think I read earlier that the 'regex foo { }' syntax cannot take a parameter list, or did I not?
15:27 jnthn It can take a paraemter list too
15:28 jnthn The :sym<foo> thing isn't about parameters though
15:29 jnthn It's about collecting candidates of a protoregex together
15:29 jnthn The choice of foo doesn't matter, unless you use <sym> in which case that is replaced with $<sym>=[foo] by the compiler
15:30 mspo RabidGravy: yes I think so too
15:30 mspo RabidGravy: but you can also use ,options it seems
15:30 teatime is it really [foo] and not ['foo'] ?
15:30 zacts joined #perl6
15:30 teatime nm, I don't actually care about that
15:30 RabidGravy it's close enough for jazz and I'm not sure any actual browsers support it without a plugin anyway
15:31 masak m: for ^Inf { .say if ($_ eq .flip given .base(2)) } # binary palindromes
15:31 masak m: for ^Inf { .say if $_ eq .flip given .base(2) } # binary palindromes, in binary
15:31 masak camelia: sorry about the Inf :/
15:31 camelia rakudo-moar a16f0a: OUTPUT«(timeout)0␤1␤3␤5␤7␤9␤15␤17␤21␤27␤31␤33␤45␤51␤63␤65␤73␤85␤93␤99␤107␤119␤127␤129␤153␤165␤189␤195␤219␤231␤255␤257␤273␤297␤313␤325␤341␤365␤381␤387␤403␤427␤443␤455␤471␤495…»
15:31 camelia rakudo-moar a16f0a: OUTPUT«(timeout)0␤1␤11␤101␤111␤1001␤1111␤10001␤10101␤11011␤11111␤100001␤101101␤110011␤111111␤1000001␤1001001␤1010101␤1011101␤1100011␤1101011␤1110111␤1111111␤10000001␤10011001␤10100101␤10111101␤11000011␤11011…»
15:32 masak those parens come out really nice. I hadn't really realized that you could do that, but I tried it, and it worked! \o/
15:33 psch m: for ^0b111111 { .say if .&[eq] .flip given .base(2) } # away with explicit topics!
15:33 camelia rakudo-moar a16f0a: OUTPUT«0␤1␤10␤11␤100␤101␤110␤111␤1000␤1001␤1010␤1011␤1100␤1101␤1110␤1111␤10000␤10001␤10010␤10011␤10100␤10101␤10110␤10111␤11000␤11001␤11010␤11011␤11100␤11101␤11110␤11111␤100000␤100001␤100010␤100…»
15:34 psch and minus the one extra space it's the same length too
15:34 psch oh, but it doesn't work... :/
15:34 masak :P
15:35 masak m: for ^0b111111 { .say if .&[eq]: .flip given .base(2) }
15:35 camelia rakudo-moar a16f0a: OUTPUT«0␤1␤11␤101␤111␤1001␤1111␤10001␤10101␤11011␤11111␤100001␤101101␤110011␤»
15:35 masak missing colon
15:35 psch yeah, i didn't really parse this right i guess :)
15:35 perlpilot nice.
15:35 masak very Perlonic :)
15:36 perlpilot too bad you can't use "with" instead of "given"  ;)
15:38 masak m: (.say if .&[eq]: .flip given .base(2)) for ^0b111111
15:38 camelia rakudo-moar a16f0a: OUTPUT«0␤1␤11␤101␤111␤1001␤1111␤10001␤10101␤11011␤11111␤100001␤101101␤110011␤»
15:40 jnthn teatime: $<sym>='foo' would be another way :)
15:40 jnthn Those forms all compile into the same thing anyway :)
15:41 psch m: grammar G { proto token foo {*}; token foo:sym<$x> { <sym> } }; say G.parse('$x', :rule<foo>)
15:41 camelia rakudo-moar a16f0a: OUTPUT«「$x」␤ sym => 「$x」␤»
15:41 psch m: say '$x' ~~ / [$x] /
15:41 camelia rakudo-moar a16f0a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8J16GL07DJ␤Variable '$x' is not declared␤at /tmp/8J16GL07DJ:1␤------> 3say '$x' ~~ / [7⏏5$x] /␤»
15:43 jnthn Well, of course you need quotes if the thing contains non-alphanumerics
15:43 teatime jnthn: $<sym>='foo'  !=  $<sym>=[foo]  if instead of foo you have something like +
15:44 masak m: enum Player (Player1 => +1, Player2 => -1); sub opponent(Player $p --> Player) { Player(-$p) }; say opponent(Player1); say opponent(Player2)
15:44 camelia rakudo-moar a16f0a: OUTPUT«Player2␤Player1␤»
15:44 teatime so would you do it as  regex foo:sym<'@non-alpha stuff'> ?
15:44 jnthn Well yeah, but this is all rather silly given the compiler transforms things using ASTs
15:44 jnthn Not text.
15:44 masak m: enum Player (Player1 => +1, Player2 => -1); sub opponent(Player $p --> Player()) { -$p }; say opponent(Player1); say opponent(Player2)
15:44 camelia rakudo-moar a16f0a: OUTPUT«Type check failed for return value; expected Player(Any) but got Int (-1)␤  in sub opponent at /tmp/DznC9f91X6 line 1␤  in block <unit> at /tmp/DznC9f91X6 line 1␤␤»
15:44 masak aww :)
15:44 teatime jnthn: I'm just trying to figure out how it works and/or what language feature it is an instance of.
15:44 nine_ jnthn: do we have atomic file rename support for Windows?
15:44 jnthn So it's a non-issue :) It just produces an AST node that literally matches whatever's in the :sym<...> :)
15:44 * masak wonders if implementing coercing return types would be within his ken
15:44 domm joined #perl6
15:45 teatime is the < > here the quote-words operator?
15:45 jnthn :sym<foo> is an adverb
15:45 jnthn The compiler recognizes it and treats it specially on token/rule/regex
15:47 jnthn nine_: "It's complicated"... http://stackoverflow.com/questions/167414/is-an-atomic-file-rename-with-overwrite-possible-on-windows has some info
15:48 teatime ok, it is quote words.. does that mean maybe you can do :sym「\」  ?
15:48 jnthn Think that'd work out OK
15:49 nine_ jnthn: ack turns up 0 results for ReplaceFile in our code base, so I guess the answer is very close to "no"
15:50 jnthn nine_: Oh, I interpreted the question more as "is it even possible on Windows" ;)
15:50 jnthn nine_: We use libuv, and *it* may end up calling ReplaceFile
15:50 nine_ Somehow search results for "flock() performance" are much more sheepish than I had anticipated...
15:50 nine_ jnthn: don't we bundle libuv?
15:51 teatime heh, :sym("\\") works but :sym「\」 and :sym(「\」) say malformed regex *shrug*
15:52 jnthn nine_: But I'm reading the MSDN docs on ReplaceFile and...it doesn't say anything about atomicity :/
15:53 jnthn nine_: Yes, MoarVM staticly links in libuv and implements most of its IO using it
15:53 teatime er, nm, :sym(「\」) works.. so that's not *as* weird
15:54 jnthn nine_: Reading around a bit, I see various indications that ReplaceFire is indeed not atomic.
15:56 kurahaupo joined #perl6
15:57 nine_ jnthn: ok, thanks! I guess I should first sit down and think through how much consistency I'm actually gonna need anyway.
15:57 prammer joined #perl6
15:58 perlpilot teatime: I wonder why there isn't a postfix 「」 like there is for <>
15:59 masak I thought 「」 was more like '' than like <>
16:00 teatime heh, I thought '' and <> were more alike than different :)
16:00 jnthn Hm...I guess the colonpair parsing is a little less liberal than I remembered :)
16:00 jnthn (As in, it's not "any opener/close will do"
16:00 jnthn )
16:00 perlpilot masak: see? even jnthn expected it to work :)
16:01 masak heh :)
16:01 jnthn heh
16:01 jnthn I'm frazzled from having to attend a couple of meetings today, though, so I'd not read too much into that :P
16:02 Xliff `<grondilu> is there a way to know how much memory a given object consumes?
16:02 MadcapJake <> is quoteword [post]circumfix and 「」 is raw quote construct (no escaping anything)
16:02 Xliff ^^ I would like to know this too.
16:03 Xliff (Afternoon #perl6)
16:03 perlpilot Xliff: Devel::SizeMe  (as soon as someone writes something like that for Rakudo  ;)
16:04 Xliff LOL!
16:04 Xliff Will that work with Inline::Perl5?
16:04 ptolemarch joined #perl6
16:04 perlpilot try it!  That could be interesting
16:05 perlpilot likely though, you'll get the size of the wrong things
16:05 perlpilot or not enough of the right things
16:05 Xliff I will! Can I dump any SEGVs in your inbox?
16:05 araujo joined #perl6
16:05 jnthn There's a heap profiler
16:05 jnthn That you can use to understand memory use
16:06 jnthn Fairly early, but already been good enough for me to hunt/fix leaks :)
16:06 Xliff jnthn, you mean "perl6 --profile" ?
16:07 Xliff I have used it. And it is nifty.
16:07 jnthn Xliff: That's the instrumenting profiler, which is good for working out what allocates memory etc.
16:07 Xliff Oh. My bad.
16:07 TreyHarris joined #perl6
16:07 perlpilot jnthn: you can't run the heap profiler from within a running program, can you?
16:07 jnthn Xliff: But less good at telling you actual sizes, and how memory is being retained
16:07 jnthn The heap profiler is --profile=heap
16:07 Xliff Right. But knowing size of objects in runtime can be useful.
16:07 jnthn Which spits out a huge file that you can analyze with App::MoarVM::HeapAnalyzer
16:08 jnthn Xliff: There's no way to do that right now
16:08 Xliff jnthn, gotcha.
16:08 Xliff Hence why I've just done "cpan install Devel::SizeMe". Time to see if something explodes. BBIAB.
16:09 Xliff And lo, something did! Namely SizeMe.o
16:09 jnthn :)
16:09 * jnthn goes to rest and make dinner
16:09 jnthn bbl o/
16:10 * masak .oO( truly a SizeMic event )
16:10 perlpilot I will be highly surprised if Inline::Perl5 + Devel::SizeMe will be able to tell you anything about the bits of memory that Rakudo is holding onto.  (if you can even get it to work)
16:10 Xliff One of many... "SizeMe.xs:2226:57: error: ‘PL_L1Posix_ptrs’ undeclared (first use in this function)"
16:11 Xliff perlpilot: I just tried. It failed. Miserably.
16:11 Xliff But some of that is likely due to my Debian install.
16:11 sue joined #perl6
16:11 * Xliff makes note to try this again when he next boots into Ubuntu.
16:12 rurban joined #perl6
16:13 ZoffixW joined #perl6
16:14 ZoffixW Xliff, ::SizeMe fails to install for me completely.
16:14 ZoffixW This works: perl6 -e 'use Devel::Size:from<Perl5> <size>; say size "A string"'
16:14 ZoffixW Gives me '34'... I wonder if there's any truth to it
16:15 psch compare it with the equivalent perl5 program?
16:15 ZoffixW psch, there isn't one. Perl 5's strings aren't objects :)
16:16 psch so Devel::Size doesn't work on a string in Perl 5?
16:16 ZoffixW Ah, I see what you mean.
16:16 Xliff ZoffixW, interesting! Thanks.
16:16 ZoffixW Gives 34 in Perl 5 too: perl -wlE 'use Devel::Size qw<total_size>; say total_size "A string"'
16:17 rurban left #perl6
16:17 Xliff Can anyone tell me the lag time it takes for modules.perl6.org to show new modules in the ecosystem?
16:17 ZoffixW So I guess it just reports whatever it is when it gets translated to Perl 5 by Inline::Perl5 (/me is unsure what it does)
16:17 MadcapJake it's like under 2 hours i think
16:17 psch ZoffixW: that's what i'd have thought.  Inline::Perl5 builds... yeah
16:17 perlpilot Xliff: I think it's something like 15 or 30 minutes
16:17 perlpilot (but I dunno)
16:17 ZoffixW Xliff, about 2 hours. Here's a full update log, see the timestamps: http://modules.perl6.org/update.log
16:17 Xliff Hmm... I thought RabidGravy added Audio::OggVorbis into the ecosystem, but panda isn't seeing it.
16:18 Xliff I think he merged either Thursday or Friday.
16:18 RabidGravy I did
16:18 ZoffixW Xliff, the process is started at :20 and :40 minutes of each our, unless it's already running
16:18 MadcapJake [Mon May  2 15:39:41 2016] [error] Failed to parse: JSON error: '"' expected, at character offset 264 (before "#"Audio::OggVorbis" ...") at /home/modules.perl6.org/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/JSON/Meth.pm line 34.
16:18 ZoffixW That's because there's a JSON error
16:19 Xliff D'oh!
16:19 Xliff How did I miss that.
16:19 Xliff Lemme see.
16:19 ZoffixW Hm, there's also a whole bunch of 404s on supernovus's modules :/
16:19 ZoffixW Xliff, there's a hashmark "comment" on the first line of `provides`
16:20 MadcapJake if your module ever doesn't show up, check the update.log and search for your module, I'm pretty sure it's always going to be a JSON error of some kind
16:20 perlpilot It should just fix my broken JSON for me ;)
16:20 ZoffixW Use Test::META + Travis :P
16:21 Xliff OK. I had a spurious comment in META.info -- fixed.
16:21 Xliff So I will wait an hour and see if that was indeed the problem.
16:22 Xliff ZoffixW, these are new to me. I will look into it.,
16:23 RabidGravy yeah even just "json_xs <META6.info" will detect the most egregious foulups
16:23 dalek ecosystem: 8b7824d | (Zoffix Znet)++ | META.list:
16:23 dalek ecosystem: Bunch of META.info -> META6.json fixes
16:23 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/8b7824d57c
16:24 Xliff # Failed test 'Can load "JSON::Marshal" ok'
16:24 Xliff # at t/010-use.t line 7
16:24 Xliff # ===SORRY!===
16:24 Xliff # Could not find JSON::Fast:ver<0.4..*> at line 60 in:
16:24 Xliff WTF?
16:24 RabidGravy old
16:24 RabidGravy panda install JSON::Fast
16:24 RabidGravy it's because panda bundles JSON::Fast
16:25 Xliff Yeah. My first instinct, and it's working now.
16:25 RabidGravy and until recently that was a version that JSON::Marshal doesn't work with
16:25 Xliff But I thought panda had already installed it.
16:25 RabidGravy yeah v0.3 until about a week ago though
16:25 Xliff I would expect JSON::Marshall to automatically fix dependency, though.
16:25 Xliff Maybe my expectations are unfounded?!?
16:26 wamba joined #perl6
16:26 RabidGravy yes
16:26 RabidGravy please feel free to make panda understand versioned dependencies
16:26 tharkun joined #perl6
16:28 Praise joined #perl6
16:28 Praise joined #perl6
16:29 ZoffixW zef can understand, I think?
16:29 RabidGravy zef understands versioned dependencies but panda doesn't so putting them in the META file would cause it not to work for panda
16:29 ZoffixW I'm getting a feeling zef is superior to panda in many ways.
16:32 mst well, tadzik has always said it wasn't really his area, and he mostly continues to work on panda because people keep insisting on using it
16:33 ZoffixW Is that the case because it's packed by default with R*?
16:34 Xliff RabidGravy, are you trying to trap me in a non-trivial task coz... I asked for it? :P
16:34 Xliff (That is how Audio::OggVorbis got started...I'm sensing an MO)
16:34 ZoffixW Xliff, no, you're just invited to make software better :)
16:35 dalek doc: ab41b98 | (Jan-Olof Hendig)++ | doc/Language/functions.pod:
16:35 dalek doc: Fixed typo in example, nd3i++
16:35 dalek doc: review: https://github.com/perl6/doc/commit/ab41b988af
16:35 Xliff ZoffixW, *HAH*
16:35 RabidGravy yes, make stuff better
16:35 Xliff ZoffixW, it would get worse before it got better.
16:35 Xliff Coz...bugs.
16:35 ZoffixW Xliff, write tests :)
16:36 Xliff And Test::META is slightly useful. "Your META.info --> EPIC FAIL" -- Even gives reason, but... no location.
16:36 ZoffixW Location of what?
16:36 Xliff https://github.com/Xliff/p6-audio-oggvorbis/blob/master/META.info
16:37 Xliff # Failed test 'META parses okay'
16:37 Xliff # at site#sources/62C0821641BBCD0B13EDADAEA5223AD3BA53FBE2 (Test::META) line 79
16:37 Xliff # at 470: json requires object keys to be strings
16:37 Xliff But all my keys are strings.
16:37 Xliff I have yet to have coffee. Maybe coffee will help.
16:38 * RabidGravy looks
16:38 dogbert2 ZoffixW: do you think https://github.com/perl6/doc/issues/48 can be closed?
16:38 ZoffixW Xliff, you have a trailing comma in provides
16:38 ZoffixW Xliff, http://jsonlint.com/ is your friend :)
16:38 nd3i joined #perl6
16:39 nd3i im looking for something like a reverse zip (Z) operator
16:39 Xliff (╬ಠ益ಠ)
16:40 Xliff I thought extra commas like that could be safely ignored.
16:40 * Xliff makes note of jsonlint.
16:40 ZoffixW dogbert2, yeah, close it.
16:40 nd3i given @c = <as bt cu dv>, I'd like to get ((a b c d)(s t u v))
16:41 nd3i so far, I just do two passes with substr
16:41 nd3i Seems there should be a more consise approach
16:42 dogbert2 ZoffixW: done
16:42 ZoffixW dogbert2++
16:44 nd3i not really a zip, is it? more of a hyper ~
16:45 dogbert2 nd3i: just pushed a fix fo https://github.com/perl6/doc/issues/479
16:45 nd3i can't hyper a split() though
16:45 ZoffixW m: my @c = <as bt cu dv>; my @res; @c».comb.map({ @res[0].push: $_[0]; @res[1].push: .[1]}); say @res
16:45 camelia rakudo-moar a16f0a: OUTPUT«[[a b c d] [s t u v]]␤»
16:46 ZoffixW Not sure if this is any better than two-pass substr :/
16:46 psch m: my @c = <as bt cu dv>; say [Z] @c>>.comb
16:46 camelia rakudo-moar a16f0a: OUTPUT«((a b c d) (s t u v))␤»
16:46 ZoffixW waaat
16:46 ZoffixW psch++
16:47 nd3i holy cow
16:47 psch nd3i: so "nah, it's a zip" :)
16:48 nd3i dogbert: cool!
16:49 nd3i psch: ima have to chew on that a bit ... thx!
16:49 Xliff I have yet to get to the Z operator.
16:50 Xliff psch++ # Mind... blown.
16:52 * Xliff plays with camelia.
16:53 psch it's really just @c[0].comb Z @c[1].comb Z @c[2].comb Z @c[3].comb
16:54 ZoffixW I don't get what it does though. The docs for Zip operators (http://docs.perl6.org/language/operators#Zip_Operators) say "The zip metaoperator, Z, will apply a given infix operator to pairs"...
16:54 ZoffixW But in this case, there's no given infix operator
16:54 psch m: say (1 Z 2).WHAT
16:54 camelia rakudo-moar a16f0a: OUTPUT«(Seq)␤»
16:54 lizmat ZoffixW: defaults to ,
16:54 psch m: say (1 Z 2).perl
16:54 camelia rakudo-moar a16f0a: OUTPUT«((1, 2),).Seq␤»
16:55 ZoffixW lizmat, thanks
16:55 jjido joined #perl6
16:55 lizmat m: dd 1 Z 2
16:55 camelia rakudo-moar a16f0a: OUTPUT«((1, 2),).Seq␤»
16:55 lizmat m: dd a Z=> 42
16:55 camelia rakudo-moar a16f0a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nyEVVQMkRY␤Undeclared routine:␤    a used at line 1␤␤»
16:55 Xliff Soooo....
16:56 lizmat m: dd a =>Z 42
16:56 camelia rakudo-moar a16f0a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gqlMnGwQ2O␤Undeclared name:␤    Z used at line 1␤␤»
16:56 lizmat hmmm...
16:56 psch lizmat: Z doesn't autoquote the lhs
16:56 lizmat m: dd 'a' =>Z 42
16:56 camelia rakudo-moar a16f0a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/46F1wMar0g␤Undeclared name:␤    Z used at line 1␤␤»
16:56 Xliff Easy list interleave: [Z](@l1, @l2, @l3).flat?
16:56 lizmat m: dd 'a' Z=> 42   # sigh
16:56 camelia rakudo-moar a16f0a: OUTPUT«(:a(42),).Seq␤»
16:57 dalek doc: e4bcf5f | (Zoffix Znet)++ | doc/Language/operators.pod:
16:57 dalek doc: Mention , as default infix for Z operators
16:57 dalek doc: review: https://github.com/perl6/doc/commit/e4bcf5f55f
16:57 psch m: my @l1 = ^4; my @l2 = 10..13; my @l3 = 100..103; say [Z](@l1, @l2, @l3].flat
16:57 camelia rakudo-moar a16f0a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/i4NTJNP1yZ␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/i4NTJNP1yZ:1␤------> 3my @l3 = 100..103; say [Z](@l1, @l2, @l37⏏5].flat␤»
16:57 psch m: my @l1 = ^4; my @l2 = 10..13; my @l3 = 100..103; say [Z](@l1, @l2, @l3).flat
16:57 camelia rakudo-moar a16f0a: OUTPUT«(0 10 100 1 11 101 2 12 102 3 13 103)␤»
16:57 psch m: my @l1 = ^4; my @l2 = 10..13; my @l3 = 100..103; say [Z](@l1, @l2, @l3)
16:57 camelia rakudo-moar a16f0a: OUTPUT«((0 10 100) (1 11 101) (2 12 102) (3 13 103))␤»
16:57 nd3i ok, have to remember, meta[] applies to operators; hyper >><< applies to oper or methods
16:58 Xliff Damn if that didn't just answer a problem I was worried about with Audio::OggVorbis v0.0.2! ^_^
16:59 psch m: sub plus($a, $b) { $a + $b }; say [&[plus]] ^4
16:59 camelia rakudo-moar a16f0a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wDIczVRYHv␤Missing infix inside []␤at /tmp/wDIczVRYHv:1␤------> 3sub plus($a, $b) { $a + $b }; say [&[7⏏5plus]] ^4␤    expecting any of:␤        infix␤        infix noun␤        infix stoppe…»
16:59 psch ergh, every time... :)
16:59 psch m: sub plus($a, $b) { $a + $b }; say [[&plus]] ^4
16:59 camelia rakudo-moar a16f0a: OUTPUT«6␤»
16:59 psch nd3i: [&sub] makes an infix of your sub though
16:59 Xliff Now... the trick is to interleave arrays stored inside a hash!
17:00 masak m: say [[&infix:<+>]] ^4
17:00 camelia rakudo-moar a16f0a: OUTPUT«6␤»
17:00 masak m: say [+] ^4
17:00 camelia rakudo-moar a16f0a: OUTPUT«6␤»
17:00 psch m: my @a = ^5; say ++<<@a # and ops on hyper works too
17:00 camelia rakudo-moar a16f0a: OUTPUT«[1 2 3 4 5]␤»
17:01 psch oh, "oper or methods"
17:01 Xliff So if I have a list of lists... how can I get [Z] to operate on each list as an independent argument?
17:01 * psch misread
17:02 Xliff $lol».comb
17:02 Xliff ?
17:02 psch m: my @a = ([1,2,3],[4,5,6]); say @a>>.&[+]: 1
17:02 camelia rakudo-moar a16f0a: OUTPUT«[[2 3 4] [5 6 7]]␤»
17:03 psch Xliff: not sure what you want to zip there..?
17:04 ZoffixW m: my @c = (1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'); say @c[0] Z @c[1]
17:04 camelia rakudo-moar a16f0a: OUTPUT«(((1 a) (2 b)))␤»
17:04 ZoffixW How come these don't get grouped like the original >>.comb stuff did?
17:05 ZoffixW I don't get why it's [Z] and not [\Z] :/
17:06 tadzik ZoffixW: to follow up on what mst said, I have another reason for keeping panda alive, and that's dogfooding the rest of the ecosystem, which zef doesn't really do
17:07 tadzik panda keeps on using our http clients, TAP processors etc to give them usage and stresstests, zef just ships their own stuff for reasons I completely understand
17:07 psch m: my @c = (1, 'a'), (2, 'b'), (3, 'c'), (4, 'd');say @c[0] Z=> @c[1]
17:07 camelia rakudo-moar a16f0a: OUTPUT«((1 a) => (2 b))␤»
17:07 Xliff psch: [Z](@l1, @l2, @l3).flat… Except the @lₙ list are in a listref
17:07 tadzik I have a bit more tuits for panda these days, and will be shipping a major release in the coming days, which will hopefully catch up zef's superiority a bit :)
17:08 Xliff So... basically a zip on each list element in a listref.
17:08 CIAvash m: my @c = (1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'); say @c[0].list Z @c[1].list
17:08 camelia rakudo-moar a16f0a: OUTPUT«((1 2) (a b))␤»
17:08 ZoffixW tadzik, I see that reason as a negative, TBH, but I'll await to see the major update :P
17:09 teatime "$() is a shorthand for $($/.made // ~$/)" ... it would be handy if match objects had a method or attrib that did the same thing as $(), for those cases where it isn't named $/
17:09 psch Xliff: "listref"?
17:09 Xliff arrayref
17:09 Xliff Still no coffee.... proper terminology eludes me.
17:09 Xliff Maybe I should fix that.
17:09 psch Xliff: an Array in a Scalar..? :)
17:10 tadzik ZoffixW: well, I care about overall perl6 improvements more than I do about panda's spotless reputatoin, tb
17:10 tadzik *tbh
17:10 psch m: my $l1 = ^4; my $l2 = 10..13; my $l3 = 100..103; say [Z](@$l1, @$l2, @$l3).flat # like this..?
17:10 camelia rakudo-moar a16f0a: OUTPUT«(0 10 100 1 11 101 2 12 102 3 13 103)␤»
17:10 Xliff psch: my $lol = [(1, 2, 3), (4, 5, 6), (7, 8, 9)); say $lol
17:10 Xliff m:  my $lol = [(1, 2, 3), (4, 5, 6), (7, 8, 9)); say $lol
17:10 camelia rakudo-moar a16f0a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hz_iDvUjva␤Unable to parse expression in array composer; couldn't find final ']' ␤at /tmp/hz_iDvUjva:1␤------> 3 $lol = [(1, 2, 3), (4, 5, 6), (7, 8, 9)7⏏5); say $lol␤    expecting any of:␤     …»
17:11 Xliff m:  my $lol = [(1, 2, 3), (4, 5, 6), (7, 8, 9)]; say $lol
17:11 camelia rakudo-moar a16f0a: OUTPUT«[(1 2 3) (4 5 6) (7 8 9)]␤»
17:11 psch ohh
17:11 tadzik but I understand why ugexe++ would rather ship his own versions for stuff rather than endlessly awaiting upstream fixes :)
17:11 Xliff Yah
17:11 psch m:  my $lol = [(1, 2, 3), (4, 5, 6), (7, 8, 9)]; say [Z](|$lol).flat
17:11 camelia rakudo-moar a16f0a: OUTPUT«(1 4 7 2 5 8 3 6 9)␤»
17:11 Xliff \o/
17:11 ZoffixW tadzik, how come those HTTP clients and TAP processors aren't in `provides` of panda?
17:11 tadzik because panda doesn't provide them
17:11 Xliff psch++ # My hero of the day. I owez you a beer.
17:11 tadzik it depends on them
17:12 Xliff Random question... is anyone in here from the DC area?
17:12 ZoffixW tadzik, err, right, I meant why aren't they listed in `depends`?
17:12 tadzik HTTP::UA is an optional dependency for a few reasons
17:12 tadzik TAP is a hard dependency, but in the new branch that's not merged yet
17:12 ZoffixW tadzik, right, I guess that's my opinion too I guess... "endlessly awaiting upstream fixes" while millions of users (one can dream!) are stranded and can't install Perl 6 modules :)
17:13 tadzik ah, now you're dramatizing :)
17:13 tadzik it's nowhere near as bad
17:13 ZoffixW Alright :)
17:13 TreyHarris joined #perl6
17:15 frew joined #perl6
17:15 RabidGravy to be honest in at least two cases I have ditched upstream dependencies and reimplemented myself because of that
17:15 tadzik other thing is that every time I myself tried to use zef something either wasn't working or wasn't working in a way I liked it (ie fast enough), so I at least have a reason to keep panda alive so I myself can enjoy it :P
17:15 tadzik even though these days redpanda does everything I need a module installer to do, and is much faster than everything else
17:16 ZoffixW Yeah, I did notice zef was significantly slower than panda
17:16 _mg_ joined #perl6
17:16 MadcapJake strange, zef is quite a bit faster on my machine than panda is
17:17 tadzik new panda is much faster than current panda too
17:17 tadzik maybe because it doesn't have all the features just yet :P
17:17 ZoffixW :D
17:17 tadzik but I guesstimate it will remain that way anyway
17:18 ZoffixW \o/ Finally clicked when [Z] and not [\Z]
17:19 ZoffixW Getting old :'( brain is slow
17:19 ZoffixW s/when/why/;
17:19 ugexe zef can use whatever http client, test harness, etc fwiw. you just have to write a small facade and add it to the config file. Each phase of zef is entirely pluggable, and not just with a singleton but with aggregations
17:20 Juerd joined #perl6
17:20 ugexe Net::HTTP and Grammar::HTTP both were originally zef http clients
17:22 RabidGravy having got the domain noisegang.com I am going to have to get noiseganga.com as I keep typo-ing it ;-)
17:22 Timbus joined #perl6
17:22 Xliff RabidGravy, get noiseganja.... just coz
17:23 Xliff s/noiseganja/noiseganja.com/
17:23 ugexe it is essentially a dependency inversion engine with aggregation
17:26 TreyHarris joined #perl6
17:28 ZoffixW RabidGravy, you're rather a prolific module author :) more than twice the modules of the second-most-prolific author: https://gist.github.com/zoffixznet/56f4d47693937cd25559b1c7cc0c1be0
17:29 RabidGravy I think it's some kind of undiagnosed mental illness
17:29 RabidGravy ;-)
17:30 RabidGravy what happens is that I start making something and then I find I need something else so write that and so on
17:30 dupek joined #perl6
17:30 dupek hi :)
17:30 ZoffixW Same :) Hoping to successfully write a MultiMarkdown module by the end of the week.
17:31 ZoffixW \o
17:31 RabidGravy I'm also procrastinating about five
17:32 mst RabidGravy: yak stack effect
17:32 RabidGravy I tend to start a few with sketches and put them aside when I get a better idea
17:32 MadcapJake tadzik: a cursory glance at readmes/helps seems to support zef having more features currently (rdepends, test, fetch, build, upgrade, and several flags)
17:34 RabidGravy I'm having a spell of going back and fixing some of the older modules at the moment
17:36 CIAvash joined #perl6
17:36 domidumont joined #perl6
17:37 jjido joined #perl6
17:38 sno joined #perl6
17:39 MadcapJake ZoffixWin: with GitHub orgs a better tally of authors would be traversing META6 files
17:39 huggable joined #perl6
17:39 ugexe dynamic/lazy plugins for each phase, aggregation (results from multiple content storages at once), structured to easily allow concurrency (which even existed at one time), dry installs, the ability to keep from installing dependencies when part of the dependency chain fails, API separation of CLI and Client (to easily allow a GUI), supports archives (.zip/.tar.gz), supports versions/auth in module
17:39 ugexe requests/depends, etc
17:39 RabidGravy I'd still have twenty more modules than anyone else ;-p
17:41 ugexe lately ive been working on an interactive config generator as well (like the first time running cpan client)
17:41 MadcapJake nice!
17:42 Xliff I really would like a runtime object memory utility in Perl6. I have no idea as to where I would start, though.
17:42 * MadcapJake thinks a GUI for modules would be really slick
17:42 Xliff NQP?
17:43 Xliff MoarVM?
17:44 MadcapJake Xliff: maybe someone in #p6dev or #moarvm might know :\
17:44 Xliff YH,
17:44 Xliff *Yah. Meaning I put another post-it note on my monitor and come back to it later.
17:44 * Xliff is going to need a bigger monitor, soon.....
17:45 MadcapJake or maybe a post-board :)
17:45 psch Xliff: i think where to start depends on whether bits of the heap profiler could be coopted
17:45 Xliff What a sensible idea! No wonder I never thought of it!!!
17:46 Xliff psch++: Was thinking the same thing.
17:46 psch i'd guess not much, if anything *can* be coopted though, which would probably mean starting with adding moar ops that give you access to struct sizes...
17:46 Xliff .sigma
17:46 RabidGravy I actually thought of a good design for a P6 version of Scrumblr this morning, speaking of post-boards
17:46 Xliff ER
17:46 Xliff .u sigma
17:46 yoleaux U+037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL [Ll] (ͻ)
17:46 yoleaux U+037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL [Ll] (ͼ)
17:46 yoleaux U+037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL [Ll] (ͽ)
17:47 RabidGravy but I'll let someone else make it
17:47 Xliff .u Σ
17:47 yoleaux U+03A3 GREEK CAPITAL LETTER SIGMA [Lu] (Σ)
17:47 Xliff Why didn't that come up with ".u sigma"?
17:47 psch .u greek sigma
17:47 yoleaux U+03F2 GREEK LUNATE SIGMA SYMBOL [Ll] (ϲ)
17:48 psch .u letter sigma
17:48 yoleaux U+03A3 GREEK CAPITAL LETTER SIGMA [Lu] (Σ)
17:48 yoleaux U+03C2 GREEK SMALL LETTER FINAL SIGMA [Ll] (ς)
17:48 yoleaux U+03C3 GREEK SMALL LETTER SIGMA [Ll] (σ)
17:48 [Coke] because it's only showing you 3.
17:48 Xliff Ah. Max result size,then.
17:48 sno joined #perl6
17:48 [Coke] if you want to dig through unicode, a local perl6 program is probably better.
17:48 Xliff m: say Σ.WHAT
17:48 camelia rakudo-moar a16f0a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eYcQjhe65G␤Undeclared routine:␤    Σ used at line 1␤␤»
17:49 * Xliff whistles innocently...
18:01 RabidGravy yay, Xliff your module should be on the list now
18:01 RabidGravy unless you object I am going to include it in the first cut of "Task::Noise"
18:01 spider-mario joined #perl6
18:02 Xliff No objections whatsoever! ;)
18:02 Xliff Oh, I just love the travis status of "Unknown"
18:03 Xliff The repository at Xliff/p6-audio-oggvorbis was not found.
18:03 Xliff o_O
18:03 Xliff Is there a webpage that explains this Travis thing, so I can get it working?
18:05 RabidGravy it's basically create an account on travis using your gh account, switch on the builds for the things you want, add a .travis.yml to your modules repository
18:06 Xliff Already had the .travis.yml
18:06 Xliff It's "syncing" now. Taking a long time.
18:06 itcharlie left #perl6
18:12 firstdayonthejob joined #perl6
18:12 Xliff Aaand... we're off!
18:12 Xliff That was ... actually not bad.
18:12 cpage_ joined #perl6
18:13 Xliff Travis is slow though.
18:15 Xliff Does travis actually have to compile rakudo before testing the project?
18:18 El_Che I think so. It probably starts from a generic docker image. As long a recent rakudo is not part of a recent linux distro, compiling would be the way to go
18:18 [Coke] we could probably get a 2014.04 image or something for modules to test, I imagine.
18:19 teatime blah; I can't decide which of my several low-priority self-directed projects to work on :0
18:21 cognominal joined #perl6
18:23 Xliff Wow!
18:24 Xliff Travis-CI does NOT include Test::META
18:24 Xliff I might need to add that to build dependency.
18:24 MadcapJake [Coke]: I think that would be really great
18:24 RabidGravy er why would it?
18:25 Xliff Aaannd. Need libogg and libvorbis.
18:25 * Xliff goes to read up on setting up proper dependencies with travis.
18:27 MadcapJake If Travis has a feature where you could specify version of Perl 6, a bleeding-edge version would ofc compile, but then select a release and it could use an image (seems like Travis supports something like this but I'm not sure)
18:28 MadcapJake (though you'd really need to hinge on rakudo versions)
18:29 grondilu m: module B {}; sub () { import B };
18:29 camelia rakudo-moar a16f0a: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
18:29 grondilu m: module B {}; import B;
18:29 camelia rakudo-moar a16f0a: ( no output )
18:30 grondilu m: module B { our sub f is export {} }; sub () { import B };
18:30 camelia rakudo-moar a16f0a: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
18:30 El_Che I know hoelzro_ maintains a rakudo star docker image that could be used for that. In case not, I don't mind uploading the one I use for internal projects: https://gist.github.com/nxadm/a2abb4b34e962d4b5a2a
18:30 dalek ecosystem: 3331b09 | RabidGravy++ | META.list:
18:30 dalek ecosystem: Add Task::Noise
18:30 dalek ecosystem:
18:30 dalek ecosystem: See https://github.com/Perl6-Noise-Gang/Task-Noise
18:30 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/3331b09997
18:30 RabidGravy there
18:31 zakharyas joined #perl6
18:32 grondilu in file A.pm6: 'unit class A; sub f { use B; }'
18:32 grondilu in file B.pm6: 'unit class B; sub foo { note "foo!" }'
18:33 sno joined #perl6
18:33 grondilu and then: $ perl6 -e 'use A; B::foo;'  # should not reckognize B::foo, should it?
18:33 grondilu yet it does
18:34 Xliff Oh lord... Travis is hardcore. It has to build the entire container, install rakudo and then process .travis.yml
18:34 grondilu erratum:
18:34 Xliff No wonder it's slow
18:34 grondilu in file B.pm6: 'unit class B; our sub foo { note "foo!" }'
18:38 Xliff Now in addition to having to test my own code, I have to test Travis integration.
18:41 Xliff Technically, Travis is awesome. Just a pain in the ass right now.
18:41 MadcapJake El_Che: would that recompile every time you run CI?
18:43 El_Che In mine CI, no. I hope that once an image is "certified" (by the people that create the perl6-travis support) there is no need to recreate each time
18:43 El_Che But I don't know
18:44 El_Che even if the case if the image is recreated each time (e.g. by policy) there is a speedup workaround: create a rekudo package and wget from the image
18:44 El_Che I'll try to find out tomorrow who's reponsible for the travis-perl6 integration. 99% someone from this channel :)
18:46 Xliff MadcapJake, currently rakudo is compiled for every build request. I am at #4 now coz... nonsensical Ubuntu package names.
18:46 Xliff apt-get install libogg libvorbis <- Failed.
18:47 Xliff apt-get install libogg0 libvorbis0a libvorbisenc <- Hopefully work.
18:47 MadcapJake El_Che: yeah I can't recall who it is but definitely someone in here
18:47 MadcapJake Xliff: right, we're talking about finding a way to *not* compile rakudo every time
18:47 El_Che j'accuse tadzik
18:47 El_Che :)
18:48 Xliff MadcapJake, somehow make install package when rakudo is pushed, then install those bins on projects that depend on it.
18:48 milwaukee joined #perl6
18:50 RabidGravy well of course the travis logs show who is responsible up front
18:50 tadzik no, I think that's szabgab
18:50 sue joined #perl6
18:50 RabidGravy Perl6 support for Travis-CI is community maintained.
18:50 RabidGravy Please open any issues at https://github.com/travis-ci/travis-ci/issues/new
18:50 RabidGravy and cc @paultcochrane, @hoelzro, @ugexe, and @tony-o
18:51 dalek doc: 7ef1d75 | (Zoffix Znet)++ | doc/Type/Routine.pod:
18:51 dalek doc: is cached is experimental
18:51 dalek doc: review: https://github.com/perl6/doc/commit/7ef1d7543c
18:52 MadcapJake Xliff: right! I'm not at all knowledgeable on Travis or their build architecture to say whether that's possible though
18:53 wamba Is it ok, compare two (integer) lists by eq or sometimes can fails?
18:54 * Xliff pulls hair.
18:54 Xliff https://travis-ci.org/Xliff/p6-audio-oggvorbis/jobs/127303057
18:55 Xliff So I expressly say "install these libs", travis comes back and say "yeah, they are already installed", but when it finally gets around to the NativeCall tests travis comes back with "libogg....WTF?"
18:55 TimToady wamba: just use eqv, it should be more efficient anyway
18:55 geekosaur yu didn't add an api version so you need the -dev package
18:55 Xliff I will soon have no hair!
18:55 geekosaur for the non-versioned .so
18:55 Xliff Oooo
18:55 Xliff geekosaur++
18:55 RabidGravy so don't do that
18:55 geekosaur this (and the facvt that apis are, yknow, versioned because they change) is why you should include an api version
18:57 Xliff *sigh*
18:57 Xliff But API versions are highly dependend on the distribution.
18:57 TimToady wamba: eq will work on integer lists, because integers are never accidentally stringified with spaces, but it's a bad habit to get into, since eq can fail with strings containing spaces, unless you want that exact semantics for some reason
18:57 Xliff Which is what I wanted to avoid.
18:58 Xliff So I have dev package for everything but libvorbisenc, which looks like it needs a v2.
18:58 Xliff But here I am forcing additions to complete tests where I should need no addition at all.
19:00 RabidGravy yeah v2 will work
19:01 geekosaur ...you do realize that it goes beyond distro A has v1, distro B has v2? like, v1 *may not work* if you are using v2 features, and just leaving off the api version doesn't magically fix this?
19:02 Ven joined #perl6
19:05 Xliff geekosaur, Yes. Frustration talking. Move along.
19:05 RabidGravy I think it is P5's XML::LibXML that used to have a very, very specific library version check and used to make massive warnings if you tried to use the wrong version
19:05 Xliff Travis Build #5
19:06 Xliff I would be < $snark if builds didn't take 15-20 minutes
19:07 Relsak joined #perl6
19:07 RabidGravy maybe you need to take up sheep farming
19:08 Xliff I do that when I try to sleep. Coz...insomnia!
19:09 Xliff I wouldn't be taking the time to do this if it wasn't worth doing. But I expected easy integration. I should have known better.
19:09 ZoffixW joined #perl6
19:10 Xliff Still. Compiling rakudo at every push... hurts.
19:10 ZoffixW Is anything wrong with this? https://gist.github.com/zoffixznet/629a926568d787c21e635daa58a531ee
19:10 ZoffixW I'm getting syntax error at test.p6 line 2, near "use Foo :"
19:10 Ven On the language interop story/wars.. This time a Ruby/Rails video... featuring PHP. https://www.youtube.com/watch?v=MpBtj2rMBnY
19:11 TreyHarris joined #perl6
19:12 jnthn ZoffixW: Apparently, the syntax error at line 2... :P
19:12 ZoffixW dammit... "perl test.p6"
19:12 Xliff Isn't there a 2016.04 release tag for rakudo?
19:13 Xliff Travis is reporting this "error: pathspec '2016.04' did not match any file(s) known to git."
19:13 ZoffixW Funny this happens right after I removed "use v6;" from a code example in the docs ~_~
19:13 Xliff So I am assuming I have the wrong one.
19:13 jnthn ZoffixW: Heh. I finally get it to open in my browser and you already solved it. :)
19:13 ZoffixW jnthn++ at least you tried :)
19:14 jnthn Xliff: Seems to exist
19:14 jnthn $ git rev-parse 2016.04
19:14 jnthn c1c3990c2c2d1821d83d6ea45681b213501c81d1
19:15 ZoffixW It's interesting that use Foo :!special :ALL; works, but still includes :special
19:15 ZoffixW I see a possible area of improvement :)
19:15 RabidGravy Xliff, where's your .travis.yml
19:15 jjido joined #perl6
19:16 ZoffixW s/works/doesn't cry about it/
19:16 wamba TimToady: ok, thank you. But in my one-liners, "eq" works, but "eqv" fail with "This Seq has already been iterated ...".
19:16 daniel-s joined #perl6
19:17 Xliff https://github.com/Xliff/p6-audio-oggvorbis/blob/master/.travis.yml
19:19 Xliff And right now, Test::META isn't installing on Travis images due to an error.
19:19 daniel-s joined #perl6
19:20 RabidGravy that looks fine to me
19:21 Xliff Looks like it's a "rakudobrew build-panda" issue.
19:21 ZoffixW Xliff, what's the error?
19:21 RabidGravy however let me just check Test::META as I made some changes to META6 over the last couple of days
19:22 daniel-s joined #perl6
19:22 ZoffixW Xliff, just list it in "test-depends" in your META....
19:22 wamba m: .say for ("3","3" ... *)[^10] ==> {  @^a.rotor(2 => -1)>>.map: { .comb(/\d+/).[*-1] } }() ==>
19:22 wamba squish  with => &[eqv]
19:22 camelia rakudo-moar ef3e62: OUTPUT«5===SORRY!5=== Error while compiling /tmp/r9RKcLBgy9␤Missing required term after infix␤at /tmp/r9RKcLBgy9:1␤------> 1)>>.map: { .comb(/\d+/).[*-1] } }() ==>7⏏5<EOL>␤    expecting any of:␤        prefix␤        term␤»
19:22 wamba m: .say for ("3","3" ... *)[^10] ==> {  @^a.rotor(2 => -1)>>.map: { .comb(/\d+/).[*-1] } }() ==>  squish  with => &[eqv]
19:22 camelia rakudo-moar ef3e62: OUTPUT«(3 3)␤This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤  in block <unit> at /tmp/0286JowrWU line 1␤␤»
19:22 shadowpaste "xliff" at 217.168.150.38 pasted "Travis Test::META install log" (114 lines) at http://fpaste.scsys.co.uk/512100
19:23 wamba m: .say for ("3","3" ... *)[^10] ==> {  @^a.rotor(2 => -1)>>.map: { .comb(/\d+/).[*-1] } }() ==> squish  with => &[eq]
19:23 camelia rakudo-moar ef3e62: OUTPUT«(3 3)␤»
19:23 Xliff ZoffixW, won't that run into the same problem?>
19:23 ZoffixW mh mh.. It's that "P6M Merging GLOBAL symbols" issue again.
19:23 RabidGravy er what the  actual?
19:23 ZoffixW Xliff, probably, but you still need to list it, because the build will fail when users try to install it on a box without it already installed
19:23 Xliff kk
19:24 RabidGravy the reason for that *was* that JSON::Marshal required a different version of the one installed by panda
19:24 RabidGravy oh
19:25 RabidGravy you installed a tagged version of panda
19:25 RabidGravy yes that will break it
19:25 RabidGravy just install the latest one
19:26 smls joined #perl6
19:27 Xliff OK, so I drop the 2016.04 and the 2016.01 from the perl6: section?
19:27 Xliff I was hoping to test against last 3 releases.
19:27 daniel-s joined #perl6
19:28 RabidGravy which works fine
19:28 RabidGravy just you're doing rakudobrew build-panda ${TRAVIS_PERL6_VERSION#latest}
19:28 RabidGravy just drop the ${TRAVIS_PERL6_VERSION#latest}
19:29 daniel-s joined #perl6
19:29 RabidGravy it doesn't need it unless you want to test panda
19:29 Xliff Ohh! OK. That was in the docs so I thought panda version needed to match rakudo.
19:30 TreyHarris joined #perl6
19:30 RabidGravy no, I'm doing latest and 2016.04 for all my modules
19:30 Xliff kk
19:31 Xliff Now, instead of watching Travis-CI watching paint dry...I will make a milkshake.
19:31 avenj joined #perl6
19:32 * ZoffixW now wants a milkshake....
19:34 RabidGravy https://www.youtube.com/watch?v=y2SZPb7UUtc
19:36 cschwenz joined #perl6
19:37 cschwenz \o #perl6
19:37 RabidGravy yo
19:37 cschwenz are there any known performance issues with using "where" in method signatures?
19:39 ZoffixW cschwenz, well, IIUC, a where clause has to be evaluated at runtime, while plain types can be done at compile time, so that's where a performance hit can be found, but it's not an "issue".
19:39 cschwenz the class i'm writing is seeing execution times double when i put "where …" restrictions on some of the methods and (the important bit) i never call the methods with the where restrictions
19:40 cschwenz so i put a where on method A and call method B
19:40 Xliff RabidGravy, LOL ... however video is blocked here.
19:40 cschwenz and method B is slowed even though it never has a where on it
19:41 [Coke] same method name?
19:41 [Coke] not sure how different A/B is supposed to imply.
19:42 [Coke] anyway, yes, it's quite possible there's a slowdown there. I'd open a rakudobug with that and include [PERF] in the subject, and a before/after code example.
19:42 Xliff OK. Dropping 2016.01 because Test::META is failing, there.
19:42 cschwenz Coke: ah, sorry.  one sec, writing example.
19:43 _mg_ joined #perl6
19:43 ZoffixW https://github.com/rakudo/rakudo/#reporting-bugs
19:45 ChristopherBotto joined #perl6
19:45 RabidGravy Xliff, I'm not entirely surprised tbh, I've not worried that much about backward compatibility
19:45 ChristopherBotto Hello #perl6!
19:45 RabidGravy yo
19:46 cschwenz p6: class Foo { multi method aaa() { my Int $y = 0; }; multi method aaa(Int $x = 1) { my Int $y = $x; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1";
19:46 camelia rakudo-moar ef3e62: OUTPUT«0.00490609␤»
19:46 ChristopherBotto m: chdir '.'
19:46 camelia rakudo-moar ef3e62: ( no output )
19:46 Xliff RabidGravy, yes, well there will always be another release.
19:46 cschwenz p6: class Foo { multi method aaa() { my Int $y = 0; }; multi method aaa(Int $x where $x > 0 = 1) { my Int $y = $x; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1";
19:46 camelia rakudo-moar ef3e62: OUTPUT«0.31616794␤»
19:46 cschwenz ^^^ that
19:46 ZoffixW New blog post: "Perl 6: There Are Traitors In Our Midst!" http://blogs.perl.org/users/zoffix_znet/2016/05/perl-6-there-are-traitors-in-our-midst.html
19:47 Xliff Well, this has been an interesting (and educational) experience.
19:47 Xliff v0.0.2 will include API parameters.
19:47 * Xliff wants to leave a note, but finds no empty real-estate on the monitor.
19:48 * geekosaur hugs NamedScratchpads :p
19:48 ZoffixW cschwenz, I think that checks the sigs for both multies to figure out which one to call, hence the slowdown. It's huge though, so maybe it's worth reporting as Coke suggested (https://github.com/rakudo/rakudo/#reporting-bugs)
19:49 cschwenz okay, will do
19:49 * [Coke] finally updates the README to encourage pull requests instead of RT for patches.
19:53 yqt joined #perl6
19:58 k-man joined #perl6
19:58 Xliff \o/ - nine travis builds and finally passed.
19:58 cschwenz the above potential performance issue has been reported and it is assigned to [perl #128055]
20:04 Xliff Thanks, #perl6 for the Travis help.
20:05 cpage_ joined #perl6
20:08 hotel_california joined #perl6
20:12 rurban joined #perl6
20:13 grondilu m: class C {}; module M { multi prefix:<+>(C $) is export { say "+C!"; C } }; import C; say "starting"; sleep 1; my $ = +C;
20:13 camelia rakudo-moar 631a36: OUTPUT«starting␤Use of uninitialized value of type C in numeric context  in block <unit> at /tmp/kPqQq2N36v line 1␤»
20:13 grondilu m: class C {}; module M { multi prefix:<+>(C $) is export { say "+C!"; C } }; import M; say "starting"; sleep 1; my $ = +C;
20:13 camelia rakudo-moar 631a36: OUTPUT«+C!␤starting␤»
20:13 * grondilu was expecting "startingn+C!"
20:14 cdg joined #perl6
20:14 grondilu why is the code inside the multi executed before even we do any call to the multi???
20:15 skids constant folding...
20:15 grondilu m: my $count = 0; class C {}; module M { multi prefix:<+>(C $) is export { $count++; C } }; import M; say $count; my $ = +C;
20:15 camelia rakudo-moar 631a36: OUTPUT«0␤»
20:16 grondilu m: my $count = 0; class C {}; module M { multi prefix:<+>(C $) is export { do { say "counting"; $count++ }; C } }; import M; say $count; my $ = +C;
20:16 camelia rakudo-moar 631a36: OUTPUT«counting␤0␤»
20:16 skids m: class C {}; module M { multi prefix:<+>(C $) is export { say now - BEGIN now; say "+C!"; C } }; import M; say now - BEGIN now; say "starting"; sleep 1; my $ = +C;
20:16 camelia rakudo-moar 631a36: OUTPUT«0.08060253␤+C!␤0.06330614␤starting␤»
20:17 skids m: class C {}; module M { multi prefix:<+>(C $) is export { say now; say "+C!"; C } }; import M; say now; say "starting"; sleep 1; my $ = +C;
20:17 camelia rakudo-moar 631a36: OUTPUT«Instant:1462220303.923699␤+C!␤Instant:1462220303.936886␤starting␤»
20:18 grondilu I can't tell where the instants come from
20:19 grondilu m: class C {}; module M { multi prefix:<+>(C $) is export { say "A-time ", now; say "+C!"; C }; import M; say "B time", now; say "starting"; sleep 1; my $ = +C;
20:19 camelia rakudo-moar 631a36: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D4S4_SeLrD␤Missing block␤at /tmp/D4S4_SeLrD:1␤------> 3now; say "starting"; sleep 1; my $ = +C;7⏏5<EOL>␤»
20:20 grondilu m: class C {}; module M { multi prefix:<+>(C $) is export { say "A-time ", now; say "+C!"; C } }; import M; say "B time", now; say "starting"; sleep 1; my $ = +C;
20:20 camelia rakudo-moar 631a36: OUTPUT«A-time Instant:1462220437.798976␤+C!␤B timeInstant:1462220437.821858␤starting␤»
20:20 grondilu I don't get what's happening here.
20:20 Xliff_ joined #perl6
20:20 skids me not quite either.
20:21 skids the Instant results and the BEGIN results seem to say different things.
20:21 skids maybe different idea of BEGIN
20:21 nebuchad` joined #perl6
20:22 parisba__ joined #perl6
20:22 pnu__ joined #perl6
20:22 skids m: class C {}; module M { multi prefix:<+>(C $) is export { say "A BEGIN", BEGIN now; say "+C!"; C } }; import M; say "B BEGIN", BEGIN now; say "starting"; sleep 1; my $ = +C;
20:22 camelia rakudo-moar 631a36: OUTPUT«A BEGINInstant:1462220583.002580␤+C!␤B BEGINInstant:1462220583.049084␤starting␤»
20:22 MadcapJake_ joined #perl6
20:23 jnthn The compiler sees +C. The proto of prefix:<+> carries "is pure". Therefore, it dispatches it at compile time. The A-time say/now runs, followed by the say +C. Then the B-time, now runs, then the starting. The sleep happens after all the prints.
20:23 mindos_ joined #perl6
20:23 jnthn And my $ = +C just grabs the constant-folded result of +C and uses it.
20:24 skids and the different BEGIN times explain the other things, yeah.
20:24 Spot___ joined #perl6
20:24 caasih_ joined #perl6
20:25 dogbert2 is it correct, or sheer nonsense, that $*THREAD contains a Thread object describing the currently executing thread?
20:25 lizmat m: dd $*THREAD
20:25 camelia rakudo-moar 631a36: OUTPUT«Thread Initial thread = Thread.new(app_lifetime => Bool::False, name => "Initial thread")␤»
20:25 au_ joined #perl6
20:25 lizmat dogbert2: looks like it  :-)
20:25 jnthn dogbert2: Correct
20:25 dogbert2 trying to coerce some documentation here :)
20:26 ggherdov_ joined #perl6
20:26 Peter_R joined #perl6
20:26 dogbert2 and $*SCHEDULER is an object describing the current default scheduler?
20:27 TreyHarris joined #perl6
20:27 jnthn dogbert2: Yes
20:28 skids dogbert2: $*SCHEDULER is docced in the synopsis IIRC.
20:28 boegel|quassel joined #perl6
20:28 dogbert2 lizmat++, jnthn++, trying to do something with https://github.com/perl6/doc/issues/473
20:28 dogbert2 skids++
20:29 SmokeMachine____ joined #perl6
20:29 SmokeMachine____ joined #perl6
20:29 grondilu I guess I need to read about constant folding.
20:30 skids dogbert: https://design.perl6.org/S17.html#Schedulers
20:30 dogbert2 skids: thx
20:30 winger__ joined #perl6
20:31 skids gronilu: basically you're running into the fact that trying to play with core math is like trying to subclass Int: optimizations are lurking there.
20:31 skids *grondilu
20:32 timotimo joined #perl6
20:32 [ptc] joined #perl6
20:32 webmind joined #perl6
20:32 grondilu ok
20:34 jnthn It's not even just a core thing; you can put "is pure" on your own operator protos too and the optimizer will do similar :)
20:34 skids grondilu: say you had "5 + 5" in your code.  The compiler would say "why should I remember 5 + 5 when I can just remember 10", and put 10 into the precomp.
20:35 jnthn Though yes, if you overload built-in operators then you need to play by the rules their proto sets.
20:35 adu joined #perl6
20:35 jnthn That prefix:<+> should have an implementation that's fine with being compile-time constant folded is part of the contract for that.
20:35 flaviusb joined #perl6
20:38 smls jnthn: Is is by design that when an exception occurs inside a `Promise.start/then` block, the backtrace does not show the line-number and routine-name where it occurred, but only the line where the Promise ended up being awaited?
20:38 mls joined #perl6
20:38 skids That reminded me of this very bad idea based on Zoffix's "is Int" post:
20:38 smls I find this currently the biggest obstacle when trying to develop multi-threaded programs in Perl 6.
20:38 skids m: use nqp; multi sub infix:<+>(Int:D ::IntT \a, Int:D \b) is default { IntT.new(\a.Int + \b) }; class I is Int { }; (I.new(42) + 32).WHAT.say; my $i; for 0..100000 { $i += I.new(42) + 42 }; say now - INIT now;
20:38 smls Occasional crashes, I can handle... ;)
20:38 camelia rakudo-moar 631a36: OUTPUT«(I)␤0.7649241␤»
20:39 skids (that slows down + for everything)
20:39 hotel joined #perl6
20:40 TreyHarris joined #perl6
20:40 jnthn smls: No, not by design...we'd really like to get both locations.
20:40 smls Ok
20:40 smls jnthn: Should I RT it?
20:41 jnthn smls: Yes...I'd rather it not be forgot :)
20:41 smls Will do.
20:41 jnthn We have a similar ticket for react blocks.
20:41 jnthn On occasional crashes - I've got a Moar branch that deals with at least a few of the causes of them, so hopefully when that lands things'll be a little better. :)
20:41 skids RT#126692 already
20:42 jnthn skids: I'd only expect it to slow down + on integers, not on everything?
20:42 skids smls: ^^
20:42 skids Well, yes only on Ints.
20:43 smls ok
20:43 jnthn skids: I'm not sure why that's surprising. :)
20:43 skids Oh it isn't.  Like I said, it's a bad idea.
20:43 jnthn Ah, I see :)
20:43 smls jnthn: I currently deal with the crashes by making sure the scripts work incrementally and never leave the filesystem in an inconsistent state.
20:44 smls So when the script crashes after doing half the work, I simply run it again, and it will do the rest... :P
20:44 jnthn smls: I "deal with" then by spending hours in the debugger. ;-)
20:44 jnthn But yes, that's a good approach for now. Nice for braving it! ;)
20:44 dalek joined #perl6
20:44 skids It did make me wonder whether a type smiley or trait that maens "this type exactly and no subclasses" which is faster than a where clause might be useful.
20:45 jnthn skids: I've pondered that a few times :)
20:45 jnthn It'd be a good bit as a type smiley
20:48 skids :E
20:50 dalek doc: dda6151 | (Jan-Olof Hendig)++ | doc/Language/variables.pod:
20:50 dalek doc: Added some documentation about THREAD and SCHEDULER. jnthn++, lizmat++ & skids++
20:50 dalek doc: review: https://github.com/perl6/doc/commit/dda61518fe
20:51 geraud joined #perl6
20:52 rurban joined #perl6
20:52 skids Hrm now that I look at the code snippet again, I wonder why it doesn't infinitely recurse.
20:52 Zoffix joined #perl6
20:55 ZoffixLappy joined #perl6
21:00 lizmat and another P6W hits the Net: https://p6weekly.wordpress.com/2016/05/02/2016-18-long-awaited-landings/
21:01 Zoffix \o/
21:01 yoleaux 12 Mar 2016 16:27Z <BenGoldberg> Zoffix: In your design notes for perl6-IRC-Client-Plugin-Factoid, you say that the plugin must handle "addressed, notice, and private message requests and respond using the same method" ... if one follows the IRC RFCs, all bots should *never* respond to a "notice" message with another message, and bots *should* use "notice" to reply to messages they got via "privmsg".
21:01 Zoffix lizmat++
21:01 AlexDaniel joined #perl6
21:01 Zoffix whoa... Looks like it's been ages since I've used the "Zoffix" link :P
21:02 Zoffix s/link/nick/;
21:03 AlexDaniel Zoffix: http://irclog.perlgeek.de/perl6/2016-05-01#i_12416802
21:04 dolmen joined #perl6
21:04 Zoffix haha
21:05 Zoffix ah, right, that's right when I was moving to the new apartment, and I had trouble with my linux drive after the move, so I was just using Windown with a VM linux, and I use ZoffixWin on Windows :P
21:05 AlexDaniel but indeed, I'm surprised that “Documentation” link on perl6.org does not DWIM
21:06 AlexDaniel that being said, perl6intro has to be reachable as well
21:08 pmurias MadcapJake: what would GUI for modules give you over a CLI?
21:08 Zoffix Very nice Weekly. So much work has been done \o/
21:08 * Zoffix passes around a round of ++
21:08 MadcapJake pmurias: prettitudinal awesomesauciness
21:09 prammer_ joined #perl6
21:10 MadcapJake pmurias: not much else :) other than maybe dependency graphs, ease-of-use, and being cool enough to illicit some looks from the greater programming community
21:11 shmibs joined #perl6
21:13 daniel-s joined #perl6
21:14 MadcapJake pmurias: Eventually I want to work on GTK3 with Perl 6 and perhaps that would be a fun little project (since todo lists are kinda overdone :)
21:14 timotimo Ulti: thanks for the suggestion. as you were writing to let me know, i had already gone with HSV, because graphviz actually supports that "natively" already :)
21:17 Xliff_ lizmat: \o/
21:17 Xliff_ I made da weeklies!
21:17 Zoffix Xliff_++
21:18 timotimo Ulti: https://github.com/MoarVM/MoarVM/commit/592cbb4df5358dd745e79dbd32af8dc81eb71f7c - look at ma codez
21:20 smls Should we add something like [THREADS] or [CONCURRENCY] or [CONC] to the names of RT's for multi-threading related issues?
21:20 smls Like we already do for [JVM], [UNI], [BUILD], [PERF]...
21:21 adu joined #perl6
21:22 timotimo we should allow every possible re-ordering of the letters in THREADS
21:22 smls ;)
21:23 Xliff_ Zoffix, Regarding your article on augmentation... Dark Side FTW*!!! (* --> when carefully implemented)
21:24 jnthn .oO( RDEATHS )
21:24 cpage_ joined #perl6
21:25 Zoffix Xliff_, I'm not really a fan of introducing changes to other people's code :P
21:25 Zoffix Though, I'm learning JS more in-depth at the moment, so the feeling may change.
21:26 pecastro joined #perl6
21:26 RabidGravy that's odd, the original default dns for perl6.noisegang.com introduced a 301 redirect and I can't get chrome to forget it
21:27 Zoffix Go to chrome://net-internals/#dns and click clear host cache?
21:29 RabidGravy nope, it's still redirecting itself
21:29 Zoffix *shrug*
21:31 Zoffix This is weird. Seems zef is installing some older version of Bailador, without a patch that went in yesterday :/
21:31 Xliff_ Zoffix, hence the caveat. If I am going to change the behavior of a foreign module, I damned well better make sure the new behavior is what I want.
21:31 Zoffix And I did do `zef update`
21:31 Xliff_ Zoffix, and that the changes are app specific.
21:32 Xliff_ That means... lots of warnings... and tests.... and tests... and MOAR TESTS!!!
21:32 geekosaur RabidGravy, what platform?
21:32 geekosaur windows and various linuxes also have dns caches
21:32 RabidGravy Linux,
21:32 geekosaur some of the linux ones are known buggu
21:32 RabidGravy got it
21:33 geekosaur (nscd sometimes needs to be killed and restarted, for example)
21:33 sue joined #perl6
21:33 geekosaur systemd interoduced a new dbus-based cache that may also need to be whacked occasionally but I don't know offhand how
21:33 RabidGravy it's developer tools -> settings -> disable cache (open url in same tab)
21:33 RabidGravy not dns
21:33 geekosaur ah
21:34 geekosaur too many caches at too many levels >.>
21:34 Zoffix m: use MONKEY-TYPING; class Foo is Int { method even { self + 1 unless self %% 2; self } }; augment class Int { method even { self %% 2 } }; say 42.even
21:34 camelia rakudo-moar 631a36: OUTPUT«True␤»
21:34 Zoffix Xliff_, yeah, but then you can have a case like this ^
21:35 Zoffix Err
21:35 Zoffix m: use MONKEY-TYPING; class Foo is Int { method even { self + 1 unless self %% 0; self } }; augment class Int { method even { self %% 0 } }; say Foo.new(41).even
21:35 camelia rakudo-moar 631a36: OUTPUT«41␤»
21:35 Zoffix Never mind me.
21:35 * Zoffix resumes drinking and hacking on perl6.party
21:35 tadzik where's the party at? :)
21:36 geekosaur on the web? :p
21:36 Zoffix tadzik, http://perl6.party
21:36 Zoffix :P
21:37 tadzik WAN party? :)
21:39 huggable joined #perl6
21:43 lizmat RT #77820
21:43 Xliff_ Zoffix, I grok what you mean. Hence caveat! ;)
21:43 Zoffix :)
21:43 Xliff_ Zoffix, CY00T KITTEHS! Bahahahaha!
21:43 Xliff_ Awesome!
21:43 Zoffix lizmat, https://rt.perl.org//Public/Bug/Display.html?id=77820
21:45 lizmat Zoffix++
21:45 Praise joined #perl6
21:45 Praise joined #perl6
21:50 prammer joined #perl6
21:51 Sgeo_ joined #perl6
21:53 rurban left #perl6
21:57 hotel why would you ever use a backward feed over a forward feed?
22:00 cpage_ joined #perl6
22:04 Peter_R joined #perl6
22:05 timotimo .u clef
22:05 yoleaux U+1D11E MUSICAL SYMBOL G CLEF [So] (????)
22:05 yoleaux U+1D11F MUSICAL SYMBOL G CLEF OTTAVA ALTA [So] (????)
22:05 yoleaux U+1D120 MUSICAL SYMBOL G CLEF OTTAVA BASSA [So] (????)
22:11 ZoffixLappy joined #perl6
22:13 ajr_ joined #perl6
22:15 ajr_ Is there a way to make the Rakudo* install work quietly? I/O tends to be surprisingly expensive, and I'm not usually interested in it.
22:16 sufrostico joined #perl6
22:19 firstdayonthejob joined #perl6
22:27 firstdayonthejob joined #perl6
22:28 firstdayonthejob joined #perl6
22:30 nd3i joined #perl6
22:31 firstdayonthejob joined #perl6
22:33 nd3i can someone point to a good example of MAIN that handles named args, plus the usual process "stdin OR all given files" situation?
22:34 nd3i mine keeps dying when I give a named arg, --min=2, saying "can't open file "--min=2"
22:35 pmurias joined #perl6
22:35 nd3i I got the impression that I could just use for lines() ... and it would "just work"
22:36 ZoffixLappy nd3i, how are you making a call?
22:36 ZoffixLappy to the program
22:36 ZoffixLappy The error sounds like you're trying to pass the argument to perl6 itself
22:36 nd3i here: https://gist.github.com/nd3i/03750ed3a67a2c0368773c127d165e6a
22:37 nd3i invoked with: perl6 wc.p6 --min=2
22:38 sortiz joined #perl6
22:38 sortiz \o #perl6
22:38 firstdayonthejob joined #perl6
22:38 Sokel joined #perl6
22:38 nd3i must be something simple I've missed. brain.fried
22:39 ZoffixLappy nd3i, I can reproduce the issue... Seems it might be a bug
22:40 Sokel left #perl6
22:43 nd3i ok. thanks. I added a comment with the complete error mesage
22:43 smls Looks like MAIN simply leaves @*ARGS intact..
22:43 smls perl6 -e 'sub MAIN ($a) { say @*ARGS }' 42  # prints [42]
22:43 smls And then `lines` uses $*ARGFILES which in turn looks at @*ARGS
22:44 ZoffixLappy or not
22:45 ZoffixLappy Weird.
22:45 ZoffixLappy nd3i, if I comment out the sub's body, the invocation works.
22:45 ZoffixLappy Ah
22:45 ZoffixLappy smls++ that makes sense
22:47 nd3i sorry, gotta split; thanks for taking a look.
22:48 smls This works:
22:48 smls perl6 -e 'sub MAIN (:$a, *@files) { @*ARGS = @files; say lines }' --a=42 saome_file.txt
22:48 RabidGravy yeah
22:48 smls Or even cuter:
22:48 smls perl6 -e 'sub MAIN (:$a, *@*ARGS) { say lines }' --a=42 some_file.txt
22:49 ZoffixLappy lines without args isn't documented
22:50 TEttinger joined #perl6
22:50 smls It is in S16: https://design.perl6.org/S16.html#Overridable_IO_handles
22:50 smls "The lines() term inputs from $*ARGFILES which defaults to $*IN in the absence of any filenames."
22:50 ZoffixLappy Those are specs, not docs :P
22:52 RabidGravy It probably should be then
22:52 * ZoffixLappy does
22:53 dalek doc: aa73530 | (Zoffix Znet)++ | doc/Type/Cool.pod:
22:53 dalek doc: lines without arguments is also a thing
22:53 dalek doc: review: https://github.com/perl6/doc/commit/aa73530920
22:54 teatime ok guys, what sounds more generally useful/entertaining:  1) modules to parse and collate some subset of XKB data (e.g. XCompose), both stock and custom, for error-checking/linting and auto-generation, or 2) module you can use to import additional unicode operators into your lexical scope, or 3) re-implementing Gulp.js (which I think just means re-implementing Vinyl (which is pretty simple), and then like
22:54 teatime nodejs, everything else is already built-in to Perl6.)
22:54 RabidGravy ZoffixLappy++
22:55 RabidGravy 3 sounds more entertaining, even though I don;t know what it does
22:56 ZoffixLappy teatime, no idea what 3) is at all; 1) doesn't sound useful to me personally; 2) ... import from where? What sort of unicode operators?
22:57 RabidGravy having read what gulp.js does, yeah that would be useful
22:57 teatime ZoffixLappy: the sad part of #2 is that you can't do several of things I'd particularly like to add.  but, whatever useful (mostly math-notation) additional unicode operators I can think of, importable individually.
22:58 teatime RabidGravy: I've used it, and it is very fast & responsive, which was really nice / important in the workflow I was using (save file -> inotify -> browser auto-refreshes)
22:59 teatime you can do the same thing a lot of other ways, but they're all slower to one degree or another, and I think the biggest part of that must be the streaming nature
23:00 ZoffixLappy I wonder if the huge performance penalty for defining custom ops is gone thanks to precompilation, but I'm too lazy to try it myself and find out :P
23:00 teatime RabidGravy: I've been hesitating to mention it here, because it seems like such an excellent fit perhaps, that I thought it might get stolen :)
23:01 RabidGravy just do it, the more the merrier
23:04 RabidGravy a thing from which you can build a ci thingy is always going to be useful
23:08 lizmat joined #perl6
23:08 grondilu with constant folding, is there a limit to the depth the optimizer tries or something?  Like in terms of numbers of function calls?
23:12 grondilu because since yesterday I've been trying to understand why I have an infix:<*> being exectued twice instead of just once.  From what we've discussed earlier, I see that the first one is the optimizer doing constant folding.  The second one is the run-time execution.  Looking at the debugger I see an exception being raised, but with the program resuming as if nothing happens.
23:13 teatime grondilu: maybe it's a warn?
23:13 grondilu no otherwise the infix:<*> would not be executed twice.
23:14 grondilu When I replace the code by something simpler, I do not see the exception anymore and the infix is executed only once.
23:14 grondilu the limit case appears to be a function call to an other class, even if the function is simple and evaluated in void context.
23:15 grondilu so it seems to me the optimizer goes 'meh, that's too hard, I give up'
23:15 grondilu I mean I literally have this situation:
23:16 grondilu sub { do-stuff; return $that };  # works fine
23:16 dwarring joined #perl6
23:16 grondilu sub { do-stuff; do-something-completely-unrelated-and-simple; return $that; }  # fails
23:18 grondilu but if I copy the code for do-something-completely-unrelated-and-simple (it's a function call to an other package) just there, it works again.
23:21 grondilu it seems to work if it's a method call though.  So confusing.
23:22 mst oh, so the constant folding attempt blows up?
23:23 grondilu yes
23:23 grondilu but maybe it's because sub calls are not allowed?  I suspect I actually only used method calls up to that point.
23:24 timotimo grondilu: where did you see that it's executed twice?
23:24 timotimo you can totally output a stacktrace (by throwing a "throw-away" exception) and see who does things
23:25 timotimo and you can see if it's the optimizer by using --stagestats
23:25 grondilu timotimo: I did put a q{note "doing stuff"} line
23:25 Amnez777 joined #perl6
23:25 grondilu and I see it twice when the exception occurs, and only once when it does not.
23:25 timotimo is that the infix:<*> in core or is it a custom one?
23:26 grondilu it's a custom one.  For my Cliford module.
23:26 timotimo so at least it's not about proto vs candidate
23:27 grondilu don't think so.
23:27 timotimo so, did you try the exception to backtrace thing?
23:28 grondilu not sure what you mean.
23:28 grondilu oh you mean "try {...}"?
23:28 grondilu I'm not familiar with dealing with exceptions.
23:28 timotimo m: sub who's-calling() { die "oh no"; CATCH { default { say $_ } } }; sub caller() { who's-calling }; caller()
23:28 camelia rakudo-moar d065ba: OUTPUT«oh no␤  in sub who's-calling at /tmp/zYCltY5T2s line 1␤  in sub caller at /tmp/zYCltY5T2s line 1␤  in block <unit> at /tmp/zYCltY5T2s line 1␤␤»
23:28 timotimo m: sub who's-calling() { die "oh no"; CATCH { default { say $_ } } }; sub caller() { who's-calling }; caller(); say "not fatal, yay"
23:28 camelia rakudo-moar d065ba: OUTPUT«oh no␤  in sub who's-calling at /tmp/r2obcsAEzZ line 1␤  in sub caller at /tmp/r2obcsAEzZ line 1␤  in block <unit> at /tmp/r2obcsAEzZ line 1␤␤not fatal, yay␤»
23:29 timotimo you might need --ll-exception, otherwise rakudo will strip out all the interesting bits
23:33 lizmat_ joined #perl6
23:33 grondilu First I think I'll try to turn everything relevant into methods.
23:41 ajr_ joined #perl6
23:42 DarthGandalf joined #perl6
23:44 breinbaas joined #perl6
23:48 ZoffixLappy Looks like slurping and parsing a handful of files is waaaaaay slower in Perl 6 than in Perl 5 :/
23:49 ZoffixLappy My blog based on a directory with a bunch of Markdown files worked fine in Perl 5, but in P6 I'm getting lag of about 1-2 seconds loading home page that searches the dir and parses files (with just a single file in that dir :/)
23:49 timotimo can you do a --profile?
23:49 timotimo and gimme your code? :)
23:50 ZoffixLappy "Segmentation fault"
23:50 ZoffixLappy That's running with --profile :/ Works fine without it :\
23:51 ZoffixLappy And this is the code: https://github.com/zoffixznet/perl6.party
23:51 ZoffixLappy running with perl6 bin/app.p6
23:51 ZoffixLappy You'll need `sass` installed to run it
23:52 teatime mmm... sass is such good stuff
23:52 ZoffixLappy :)
23:53 timotimo my internet connection is super laggy right now
23:56 timotimo all ze dependencies
23:57 timotimo Please install the Filter::Simple Perl 5 module!  -  o_O
23:59 ZoffixLappy Haha
23:59 tardisx joined #perl6
23:59 ZoffixLappy I forgot, it also requires Text::MultiMarkdown Perl 5 module :}

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

Perl 6 | Reference Documentation | Rakudo