Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-02-07

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:01 IOninja m: sub foo returns Array[Int] { my @x; return @x; }; foo().gist
00:01 camelia rakudo-moar 4efcc2: OUTPUT«Type check failed for return value; expected Array[Int] but got Array ($[])␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
00:01 IOninja kalkin-: you're not returning a typed array
00:02 IOninja Array[Int] is a property of the array itself, not just a hint about its contents
00:02 kalkin- IOninja: ohh right
00:02 kalkin- Array[Foo].new: gather …
00:07 cale2 how do you override what happens to an object when you say `say myObject` ?
00:07 cale2 are there special methods like that?
00:08 cale2 it's `gist`
00:09 IOninja Unless it's a subclass of Str.
00:11 cale2 IOninja: The method that you'll typically override for human reading is gist though, right?
00:11 TimToady that's about the gist of it
00:11 cale2 Docs say `.str` method is for machine reading?
00:11 cale2 lol
00:12 TimToady if you're gonna print it on a printer, you probably want .str
00:12 TimToady er, .Str
00:12 [Coke] docs say .str or .Str ?
00:12 [Coke] TimToady++
00:12 TimToady m: say 42.str
00:12 camelia rakudo-moar 4efcc2: OUTPUT«No such method 'str' for invocant of type 'Int'␤  in block <unit> at <tmp> line 1␤␤»
00:12 cale2 What method gets called if you interpolate an object?
00:12 TimToady Str
00:13 cale2 So that's what you want to override if you're, for instance, printing a game board of chess pieces
00:14 TimToady m: say "I am {class Me { method Str { "MYSELF" } }.new}!!!"
00:14 camelia rakudo-moar 4efcc2: OUTPUT«I am MYSELF!!!␤»
00:15 cale2 m: say class Me { method gist { "MYSELF" } }.new.gist
00:15 camelia rakudo-moar 4efcc2: OUTPUT«MYSELF␤»
00:16 cale2 brain_explode.gif
00:16 TimToady you should probably .gist to "me", since it's shorter :)
00:23 pyrimidine joined #perl6
00:46 samcv what's that fancy thing how you can make infix take two arguments like a normal sub?
00:46 samcv [&operator] or something like that?
00:47 moritz m: sub infix:<f>($a, $b) { "[$a, $b]" }; say [f] 1, 2, 3
00:47 yoleaux 6 Feb 2017 19:08Z <[Coke]> moritz: can you review https://github.com/perl6/book/issues/88 ? was your commit that added the image.
00:47 camelia rakudo-moar 4efcc2: OUTPUT«[[1, 2], 3]␤»
00:48 IOninja m: say infix:<+> 2, 2
00:48 camelia rakudo-moar 4efcc2: OUTPUT«4␤»
00:49 samcv moritz, Cannot reduce with unicmp because structural infix operators are diffy and not chaining
00:49 samcv m:  use experimental :unicmp; say &[unicmp] 'a', 'b'
00:49 camelia rakudo-moar 4efcc2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3use experimental :unicmp; say &[unicmp]7⏏5 'a', 'b'␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end…»
00:50 samcv m:  use experimental :unicmp; say [unicmp] 'a', 'b'
00:50 camelia rakudo-moar 4efcc2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot reduce with unicmp because structural infix operators are diffy and not chaining␤at <tmp>:1␤------> 3use experimental :unicmp; say [7⏏5unicmp] 'a', 'b'␤    expecting any of:␤        argu…»
00:52 ocbtec joined #perl6
00:54 moritz m: say reduce &[unicmp], 'a', 'b', 'c'
00:54 camelia rakudo-moar 4efcc2: OUTPUT«()␤»
00:57 * timotimo is writing the weekly
01:02 IOninja \o/
01:03 zakharyas joined #perl6
01:04 aborazmeh joined #perl6
01:04 aborazmeh joined #perl6
01:05 moritz .oO( I can't get no sleep )
01:10 cale2 general question on OOP: What's an idiomatic way to create all of the chess pieces for the start of the game?
01:10 cale2 It seems a bit odd to have 32 or however many constructors in a setup function
01:11 gdonald joined #perl6
01:24 Spot__ joined #perl6
01:24 timotimo i don't think there's that many different chess pieces :)
01:24 timotimo isn't there like 6 kinds per side?
01:24 timeless joined #perl6
01:27 mohae joined #perl6
01:28 TimToady depends on if you count white bishops as disjunct from black bishops :)
01:28 timotimo https://docs.google.com/document/d/1MrzL58L57Xxw​nfZUNsO8keosnAcXDmANCNsht8Yl7aA/edit?usp=sharing
01:29 timotimo it'd be nice if y'all could give it a once-over for missing stuff, grammar- and typing errors
01:30 timotimo (it's much easier to just copypaste the preview of the wordpress post to docs.google.com than to figure out how the fuck you're supposed to get feedback from others via a link in wordpress itself)
01:33 cale2 the board is 8 across. 8 pawns on each side. 8 special pieces on each side. 16 + 16 = 32.
01:33 cale2 Even if you only use one class for every piece, You still have a massive block of Piece.new over and over
01:34 timotimo wait, 8 special pieces? but they're not actually 8 different kinds
01:34 timotimo it's still mirrored
01:36 cale2 timotimo: but you have to instantiate the pieces regardless
01:39 TimToady timotimo: the article looked pretty okay to me
01:40 rmusial joined #perl6
01:42 rurban joined #perl6
01:48 Actualeyes joined #perl6
01:49 aborazmeh joined #perl6
01:49 aborazmeh joined #perl6
01:49 bpmedley joined #perl6
01:50 timotimo sure, but you can for-loop over a few different things :)
01:50 timotimo for column in ^8 { put-piece Pawn.new(), column => $_, row => 1; put-piece Pawn.new(), column => $_, row => 6 }
01:52 cale2 I still need to learn how to think in terms of perl structures
01:54 cale2 I tend to focus strongly within one paradigm. Perl6 gives me all the paradigms. Analysis paralysis
01:54 timotimo https://p6weekly.wordpress.com/201​7/02/07/2017-06-fosdem-after-math/
01:54 timotimo you've already seen the text, but now you can also up my clicks counter by one! :)
01:57 cale2 I really hope people are behaving in that hacker news thread haha
01:57 timotimo it seems so!
01:57 cale2 things get out of hand quickly. though it was quite pleasant 4 hours ago
01:57 timotimo i read it ~6 hours ago, i think?
01:57 jefflinahan joined #perl6
01:57 jeff_linahan joined #perl6
01:58 pyrimidine joined #perl6
01:59 timotimo god darned wordpress changes all the time, and it seems like every time they change something, it's for the worse for me
02:04 IOninja timotimo++ good weekly.
02:04 IOninja everyone++ tons of commits this week \o/
02:13 timotimo yup
02:14 timotimo and thanks :)
02:14 timotimo i didn't really look out for blog posts or stuff like that to link to :(
02:16 ggoebel joined #perl6
02:22 SCHAAP137 joined #perl6
02:26 pyrimidine joined #perl6
02:26 samcv timotimo++ on the p6weekly
02:26 samcv can always do it after the fact IOninja
02:27 rmusial joined #perl6
02:29 LeCamarade joined #perl6
02:29 cale2 m: my Int @ints; say @ints.WHAT;
02:29 camelia rakudo-moar 46313f: OUTPUT«(Array[Int])␤»
02:29 cale2 m: my Array[Int] @ints; say @ints.WHAT;
02:29 camelia rakudo-moar 46313f: OUTPUT«(Array[Array[Int]])␤»
02:29 cale2 lmao
02:31 cale2 m: my Array[Int] ints; say ints.WHAT;
02:31 camelia rakudo-moar 46313f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed my (did you mean to declare a sigilless \ints or $ints?)␤at <tmp>:1␤------> 3my Array[Int] ints7⏏5; say ints.WHAT;␤»
02:31 cale2 m: my Array[Int] \ints; say ints.WHAT;
02:31 camelia rakudo-moar 46313f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Term definition requires an initializer␤at <tmp>:1␤------> 3my Array[Int] \ints7⏏5; say ints.WHAT;␤»
02:31 cale2 m: my Array[Int] $ints; say $ints.WHAT;
02:31 camelia rakudo-moar 46313f: OUTPUT«(Array[Int])␤»
02:33 cale2 m: class Square {has $.stuff;}; my Square @squares; say @squares.WHAT ~~ Array[Square];
02:33 camelia rakudo-moar 46313f: OUTPUT«True␤»
02:34 LeCamarade joined #perl6
02:40 rmusial joined #perl6
02:41 LeCamarade joined #perl6
02:45 Geth ¦ doc: 29647d39e0 | (Samantha McVey)++ | doc/Language/experimental.pod6
02:46 Geth ¦ doc: Add some documentation on the experimental collation features
02:46 Geth ¦ doc: review: https://github.com/perl6/doc/commit/29647d39e0
02:47 _28_ria joined #perl6
02:56 Eddward joined #perl6
02:56 user_ joined #perl6
02:59 LeCamarade joined #perl6
03:00 sjn hmf.
03:00 Actualeyes joined #perl6
03:02 mr_ron joined #perl6
03:05 LeCamarade joined #perl6
03:08 labster joined #perl6
03:24 effbiai joined #perl6
03:24 sjmcc joined #perl6
03:25 sjmcc left #perl6
03:29 pyrimidine joined #perl6
03:30 rx joined #perl6
03:40 jefflinahan joined #perl6
03:40 jefflinahan joined #perl6
03:40 jefflinahan joined #perl6
03:48 bwisti joined #perl6
03:52 zacts joined #perl6
03:59 rmusial joined #perl6
04:02 BenGoldberg joined #perl6
04:03 labster joined #perl6
04:06 labster joined #perl6
04:08 kaare_ joined #perl6
04:11 kent\n joined #perl6
04:29 BenGoldberg m: macro postfix:<twice>( $modifiee ) { return quasi {  {{{$modifiee}}} xx 2 } };
04:29 camelia rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Use of macros is experimental; please 'use experimental :macros'␤at <tmp>:1␤------> 3macro7⏏5 postfix:<twice>( $modifiee ) { return q␤»
04:29 BenGoldberg m: use experimental :macros; macro postfix:<twice>( $modifiee ) { return quasi {  {{{$modifiee}}} xx 2 } };
04:29 camelia rakudo-moar 192387: OUTPUT«===SORRY!===␤Unknown QAST node type QAST::Unquote␤»
04:30 MasterDuke_ joined #perl6
04:34 BenGoldberg m: use experimental :macros; macro postfix:<twice> { return quasi {  {{{$^q}}} xx 2 } };
04:34 camelia rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Placeholder variable $^q may not be used here because the surrounding block takes no signature␤at <tmp>:1␤------> 3wice> { return quasi {  {{{$^q}}} xx 2 }7⏏5 };␤    expecting any of:␤        h…»
04:35 BenGoldberg m: use experimental :macros; macro postfix:<twice>($q) { return quasi {  {{{$q}}} xx 2 } };
04:35 camelia rakudo-moar 192387: OUTPUT«===SORRY!===␤Unknown QAST node type QAST::Unquote␤»
04:35 BenGoldberg m: use experimental :macros; macro twice($q) { return quasi {  {{{$q}}} xx 2 } };
04:35 camelia rakudo-moar 192387: OUTPUT«===SORRY!===␤Unknown QAST node type QAST::Unquote␤»
04:35 BenGoldberg m: use experimental :macros; macro twice($q) { return quasi {  say 42 } };
04:35 camelia rakudo-moar 192387: ( no output )
04:36 BenGoldberg m: use experimental :macros; macro twice($q) { return quasi {  $q xx 2 } };
04:36 camelia rakudo-moar 192387: OUTPUT«WARNINGS for <tmp>:␤Useless use of $q in sink context (line 1)␤»
04:36 BenGoldberg m: use experimental :macros; macro Twice($q) { return quasi {  $q xx 2 } };
04:36 camelia rakudo-moar 192387: OUTPUT«WARNINGS for <tmp>:␤Useless use of $q in sink context (line 1)␤»
04:36 BenGoldberg m: use experimental :macros; macro Twice($q) { return quasi {  $q xx 2 } }; print Twice 42
04:36 camelia rakudo-moar 192387: OUTPUT«WARNINGS for <tmp>:␤Useless use of $q in sink context (line 1)␤ »
04:37 BenGoldberg m: use experimental :macros; macro Twice($q) { return quasi {  $q xx 2 } }; say Twice 42; say 'after';
04:37 camelia rakudo-moar 192387: OUTPUT«WARNINGS for <tmp>:␤Useless use of $q in sink context (line 1)␤((Mu) (Mu))␤after␤»
04:37 BenGoldberg m: use experimental :macros; macro Twice($q) { return quasi {  {{{$q}}} xx 2 } }; say Twice 42; say 'after';
04:37 camelia rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unknown QAST node type QAST::Unquote␤at <tmp>:1␤»
04:38 labster joined #perl6
04:40 BenGoldberg m: macro postfix:<twice>($q) { return quasi {  {{{$q}}}, {{{$q}}}  } };
04:40 camelia rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Use of macros is experimental; please 'use experimental :macros'␤at <tmp>:1␤------> 3macro7⏏5 postfix:<twice>($q) { return quasi {  {␤»
04:40 BenGoldberg m: use experimental :macros; macro postfix:<twice>($q) { return quasi {  {{{$q}}}, {{{$q}}}  } }; say 42 twice;
04:40 camelia rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3quasi {  {{{$q}}}, {{{$q}}}  } }; say 427⏏5 twice;␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end…»
04:41 BenGoldberg m: use experimental :macros; macro postfix:<twice>($q) { return quasi {  {{{$q}}}, {{{$q}}}  } }; say (42 twice);
04:41 camelia rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3uasi {  {{{$q}}}, {{{$q}}}  } }; say (427⏏5 twice);␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statemen…»
04:41 Cabanoss- joined #perl6
04:41 BenGoldberg m: use experimental :macros; macro twice($q) { return quasi {  {{{$q}}}, {{{$q}}}  } }; say (twice 42);
04:41 camelia rakudo-moar 192387: OUTPUT«(42 42)␤»
04:41 BenGoldberg m: use experimental :macros; macro twice($q) { return quasi {  {{{$q}}}, {{{$q}}}  } }; twice say 42;
04:41 camelia rakudo-moar 192387: OUTPUT«42␤42␤»
04:42 BenGoldberg m: say 42 xx 2/
04:42 camelia rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3say 42 xx 2/7⏏5<EOL>␤    expecting any of:␤        prefix␤        term␤»
04:42 BenGoldberg m: say 42 xx 2;
04:42 camelia rakudo-moar 192387: OUTPUT«(42 42)␤»
04:52 wamba joined #perl6
04:54 LeCamarade joined #perl6
04:55 adu joined #perl6
04:57 altLeCamarade joined #perl6
05:01 labster joined #perl6
05:01 LeCamarade joined #perl6
05:02 LeCamarade joined #perl6
05:05 LeCamarade joined #perl6
05:08 jefflinahan joined #perl6
05:10 adu joined #perl6
05:24 _28_ria joined #perl6
05:25 CIAvash joined #perl6
05:40 curan joined #perl6
05:56 kaare_ joined #perl6
05:58 wamba joined #perl6
06:05 jefflinahan joined #perl6
06:07 jefflinahan joined #perl6
06:18 ufobat joined #perl6
06:22 Tonik joined #perl6
06:30 bjz joined #perl6
06:32 wamba joined #perl6
06:41 AlexDaniel joined #perl6
06:41 rurban left #perl6
06:52 RabidGravy joined #perl6
06:56 wamba joined #perl6
06:58 cyphase joined #perl6
06:59 samcv hmm i just decided on this method of multi line commenting, i'd often thought perl 6 multi line commenting looked ugly compared to like C
07:05 samcv m: use experimental :collation; my %hash = Za => '6', aa => '6'; say %hash.collate
07:05 camelia rakudo-moar 192387: OUTPUT«No such method 'collate' for invocant of type 'Hash'␤  in block <unit> at <tmp> line 1␤␤»
07:07 garo joined #perl6
07:08 samcv oh well gotta wait until camelia rebuilds from the change i just pushed
07:08 jefflinahan joined #perl6
07:13 jjido joined #perl6
07:17 samcv i kind of like balancing multi-line comments like this https://github.com/samcv/UCD/blob/8d6f9df35a25e7​3a59558c508d21ea976a9775f4/UCD-gen.p6#L468-L473 more visual pleasing
07:19 darutoko joined #perl6
07:22 pyrimidi_ joined #perl6
07:23 jefflinahan Hey
07:24 jeffythedragonsl Should we have an example page with programs in perl 5 and an equivalent program in perl 6?
07:25 jeffythedragonsl I think it would be good to show off the language's power
07:25 tadzik samcv: hmm, I think it's the first time I see it and like it
07:26 samcv yeah. i just thought of it right now, cause i always hated how they look unbalanced and unprofessional i guess. idk C comments are nice and neat
07:26 samcv we might have that jeffythedragonsl ?
07:26 samcv we have an examples page
07:26 samcv jeffythedragonsl, examples.perl6.org
07:27 jeffythedragonsl Well I've been using that page
07:27 samcv ah
07:28 samcv have you read https://learnxinyminutes.com/docs/perl6/ ?
07:28 jeffythedragonsl Was really looking for examples with the same program in both languages
07:28 samcv hm there's rosetta code?
07:29 jeffythedragonsl I'm trying to convince my team to use perl 6 actually
07:29 samcv ah
07:29 samcv write your own maybe :P?
07:29 samcv something to impress them
07:29 jeffythedragonsl Ovid had a point class example that was good
07:30 gdonald joined #perl6
07:31 jeffythedragonsl I'll do that tomorrow
07:39 jeffythedragonsl joined #perl6
07:39 jeffythedragonsl I still don't know perl 5 or 6 very well yet though
07:40 jeffythedragonsl So I might just try solving project euler
07:41 samcv boring
07:41 samcv well idk you want to convince people to use perl 6
07:41 samcv project euler doesn't show off some of the best parts of perl 6
07:42 samcv jeffythedragonsl, https://github.com/perl6/marketing/raw/master/Br​ochures/Perl6-PR-Brochure/Perl6-PR-Brochure.pdf see this Brochure
07:44 jeffythedragonsl That's actually a really nice brochure
07:44 jeffythedragonsl Will show them that
07:44 samcv :)
07:45 bjz_ joined #perl6
07:47 jeffythedragonsl Are a lot of companies using rakudo?
07:47 samcv not really. jnthn uses it at his dayjob though
07:49 jjido joined #perl6
07:50 andrzejku hey people where do you stick this brochure?
07:50 andrzejku on the wall in your cities?
07:50 abraxxa joined #perl6
07:51 samcv :P
07:51 samcv please give me 1 million brochures
07:51 andrzejku Interfacing to external libraries in C / C++ <<? not all is working as I know
07:52 samcv yeah you can't access global variables
07:52 andrzejku -.-
07:52 samcv and a few other things. with NativeCall
07:52 samcv you can do functions and things
07:52 samcv i know i did not like that either
07:52 andrzejku ok, but if you give something and write this is working
07:53 andrzejku so you cann't say later this is working but in 50%
07:53 andrzejku you should delete this because it is a bullshit
07:53 andrzejku C++ is not supproted it is prealpha
07:53 samcv i have never tried to use C++ with nativecall
07:54 samcv delete what?
07:54 andrzejku Interfacing to external libraries in C  is trivially simple with NativeCall.
07:55 _28_ria joined #perl6
07:55 andrzejku ohh
07:55 andrzejku and it is not tribially simple
07:55 andrzejku omg ;D
07:56 samcv tribally simple!
07:56 andrzejku it is marketing propaganda
07:56 samcv lol
07:56 samcv it's not _that_ hard
07:56 andrzejku it's not simple at all
07:56 samcv idk what are you trying to do
07:56 TimToady compared to XS, it's trivially simple, but then so is pretty much everything else
07:56 samcv then i can better understand
07:58 rurban joined #perl6
07:58 * DrForr staggers in.
08:00 andrzejku in my opinion there should be C++ API Perl binding generator
08:01 DrForr Well volunteered :)
08:01 samcv there is a C generator
08:01 samcv GPTrixie
08:01 samcv TimToady, what is this (everything else) you are talking about?
08:02 andrzejku anyway that's propaganda brochure
08:03 arnsholt andrzejku: Making NativeCall support C++ completely is basically impossible
08:03 arnsholt Because of name mangling and class layout shenanigans
08:04 andrzejku lets think what could happen? One guy which remind old good Perl read it and thinks hey I got C++ library lets do binding and continue write then in new Perl, then he come and OHHH I can''t do that and he will be sad and disappointed
08:04 arnsholt Well, that's what happens when you use C++
08:05 arnsholt It's only basically only compatible with other C++ code, compiled with the same version of the compiler
08:05 andrzejku most good things have been written in it
08:05 arnsholt Because name mangling and memory layouts are allowed to change at the whim of the compiler
08:06 arnsholt D has a pretty pragmatic solution, TBH
08:06 andrzejku Perl - D bindings?
08:06 arnsholt It supports name mangling, function calls and vtable layouts for single inheritance
08:07 andrzejku a lack of C++ support in Perl6 make it lose its prize
08:07 samcv :\
08:07 samcv our prize has been revoked :(
08:08 arnsholt Awww
08:08 andrzejku that's very old approach when the programmers know only C and Perl
08:09 arnsholt At least we'll have Paris^WUnicode
08:09 DrForr o/' I am the god of Kingdom Come / Gimme the prize / Just gimme the prize o/'
08:09 andrzejku I meet some of them but they were just like dinosaurs
08:09 andrzejku they going to die
08:09 samcv what
08:10 samcv so morbid
08:15 rurban left #perl6
08:15 xinming_ joined #perl6
08:31 bjz joined #perl6
08:33 ufobat joined #perl6
08:39 dakkar joined #perl6
08:40 ocbtec joined #perl6
08:44 samcv m: use experimental :collation; my %hash = Za => 'word', aa => 'word'; say %hash.collate
08:44 camelia rakudo-moar 699013: OUTPUT«(aa => word Za => word)␤»
08:44 samcv yay now i can call collate on hashes and sequences too
08:44 samcv m: use experimental :collation; my %hash = Za => 'word', aa => 'word'; say %hash.sort
08:44 camelia rakudo-moar 699013: OUTPUT«(Za => word aa => word)␤»
08:45 moritz m: use experimental :collation; say <ä a o ö>.sort
08:45 camelia rakudo-moar 699013: OUTPUT«(a o ä ö)␤»
08:46 samcv m: use experimental :collation; say <ä a o ö>.collate
08:46 camelia rakudo-moar 699013: OUTPUT«(a ä o ö)␤»
08:46 samcv much better order with collate
08:54 moritz indeed
09:02 jonas1 joined #perl6
09:05 labster joined #perl6
09:14 garo The language is named perl 6, the compiler is named rakudo and the logo is named camelia... why not just use the same name for all three ?
09:14 jast "Perl 6" would be a strange name for a mascot, wouldn't it?
09:15 wamba joined #perl6
09:15 samcv hah
09:15 samcv well it's Rakudo Perl 6
09:15 samcv so you could argue it has the name in it
09:16 samcv we could rename Camelia, Perl 6 Camelia :P
09:16 samcv garo, the language is called c and the compilier is called gcc, but then there's also clang
09:17 garo yes, but c has a lot of compilers\
09:17 moritz garo: would you also propose to the GCC, clang and ICC-developers that they rename their compilers to "C"?
09:17 garo I don't think that will happen with perl6
09:17 moritz there's at least one more in development right now
09:17 samcv we have had many
09:17 samcv and have been many in the past as well
09:20 moritz s/past/future/
09:21 TeamBlast joined #perl6
09:23 ufobat joined #perl6
09:25 Grauwolf joined #perl6
09:41 hartenfels joined #perl6
09:47 cyphase joined #perl6
10:03 zakharyas joined #perl6
10:16 matt_ joined #perl6
10:16 agentzh joined #perl6
10:20 Ulti in case anyone's interested the slowest bit of my tests is now at https://github.com/rakudo/rakudo/b​lob/nom/src/core/hash_slice.pm#L51 the creation of that list is the most expensive thing
10:20 Ulti but I do call it an unreasonable number of times
10:22 Ulti time is at 0.8s which is pretty cool, all the optimisation work is working 42x speed up since 2014-08-22 of the same code only changed to track core changes to the language like GLR
10:22 astj joined #perl6
10:27 g4 joined #perl6
10:29 astj joined #perl6
10:36 samcv i just realized that if you set custom Collation settings, you could get it to sort a hash partially by values in case there was a tie in the collation values for the keys
10:39 astj joined #perl6
10:39 espadrine joined #perl6
10:41 timotimo andrzejku: can you elaborate on what doesn't work with nativecall and c++?
10:41 timotimo also, we do have cglobal
10:41 timotimo writing to c globals is NYI, though.
10:42 timotimo though it ought to be quite doable
10:42 timotimo like, as a LHF/junior task maybe?
10:42 Geth ¦ doc: 876d7002a9 | (Samantha McVey)++ | doc/Language/experimental.pod6
10:42 Geth ¦ doc: Add some documentation on the current state of $*COLLATION and .collate
10:42 Geth ¦ doc: review: https://github.com/perl6/doc/commit/876d7002a9
10:43 samcv Ulti, you can always try nqp::atkey
10:44 samcv in my Unicode database script i converted a ton of things to nqp since they're called a crazy number of times
10:44 samcv and now it actually completes in a sane amount of time, after much effort
10:44 samcv if it's something that is very performance sensitive. not sure what you're doing
10:45 timotimo welllllll, the idea is to not change the code to make it faster :P
10:45 samcv Ulti, or you could even call the .AT-KEY method
10:45 timotimo much like Tux' benchmark
10:45 samcv ah
10:46 samcv i understand
10:47 Ulti yeah my code is awful
10:47 samcv so it's an iterable?
10:47 Ulti people have seen it and cried blood at the silly things I have in tight loops
10:47 samcv %hash{@array} or something?
10:47 Ulti but it represents what an idiot would do with Perl6
10:47 samcv haha
10:48 Ulti like with every object instantiation it creates a big lookup hash which is why its spending so long in that slice
10:48 Ulti but if that is the slowest thing in my code thats kind of surprising
10:48 altLeCam1rade joined #perl6
10:48 Ulti it means all the string operations are much faster than hash ones
10:48 samcv so what are you calling the hash with though?
10:49 samcv you said it's going through the iterable sub?
10:49 Ulti fairly sure its something like  %hash{@keys}
10:49 Ulti which ends up there
10:50 Ulti http://mattoates.co.uk/files/perl​6/bioinfo_profile_2017-02-07.html latest profile, and the code is at https://github.com/MattOates/BioInfo
10:50 samcv well i can't call that
10:50 samcv i can't call that sub with %hash{@array}
10:51 ltLeCamarade joined #perl6
10:51 Ulti behind the scenes it is that sub
10:51 Ulti afaik
10:51 timotimo you have to make sure you're not assigning something at the same time
10:51 timotimo otherwise it'll hit the one below
10:51 Ulti if not I can go take a proper look for what bit of my code is doing this
10:52 samcv oh timotimo
10:52 samcv so how do i hit thta one
10:52 timotimo "say %hash{@arr}" could do?
10:52 samcv ah
10:53 timotimo i wonder if we should put something in the optimizer for when the stuff inside the { } is a constant list of strings
10:54 samcv well it's still not going through it
10:55 samcv Calling postcircumfix:<{{ }}>(Associative, Positional) will never work with any of these multi signatures:
10:55 samcv (\SELF, Iterable \key)
10:55 samcv unless having it in code in my file is not doing it like rakudo is
10:55 timotimo where did those extra { } come from?
10:56 samcv i put them there
10:56 timotimo oh, you stole the thing
10:56 samcv to make sure i was going through this
10:56 samcv yeah i copied the code into my file
10:58 samcv Ulti, are you looking at exclusive time or inclusive?
11:05 IOninja "samcv │ can always do it after the fact IOninja"  do what?
11:05 * samcv doesn't remember
11:05 samcv oh
11:06 samcv yeah. adding perl 6 blog posts to the p6weekly after the fact
11:06 timotimo yeah
11:06 timotimo what did i miss?
11:07 samcv no clue
11:07 timotimo that's good, then
11:07 samcv you said something how you didn't post any blogs
11:07 timotimo yup
11:07 samcv and i said you could always do it after the fact
11:07 timotimo if i leave out everything, everyone feels left out equally
11:07 samcv hah
11:09 rmusial joined #perl6
11:13 andrzejku timotimo, c++ classes?
11:14 timotimo yup
11:14 timotimo implemented
11:15 timotimo https://github.com/rakudo/rakudo/​blob/nom/t/04-nativecall/11-cpp.t - it's even tested
11:16 samcv timotimo, propaganda!
11:16 timotimo https://github.com/rakudo/rakudo/blob/​nom/t/04-nativecall/13-cpp-mangling.t
11:16 timotimo https://github.com/rakudo/rakudo/blo​b/nom/t/04-nativecall/10-cglobals.t - cglobals also tested here
11:17 samcv you can't write to them though. that's what i meant before
11:17 timotimo someone will surely get on that if somebody demonstrates a use case and ask nicely? that tends to motivate devs somewhat
11:18 samcv Ulti, i don't see that part of Hash slice very far up the routine list if you sort by exclusive time
11:18 gdonald joined #perl6
11:20 timotimo aye
11:20 timotimo but maybe it's the piece that has the most potential for being improved? or something?
11:20 LeCamarade joined #perl6
11:21 andrzejku timotimo, https://docs.perl6.org/language/nativecall <<- where class section?
11:22 espadrine joined #perl6
11:23 samcv timotimo, ternary operator in perl 6 isn't any slower than nqp::if right?
11:23 timotimo C++ Support§
11:23 timotimo NativeCall offers support to use classes and methods from C++ as shown in https://github.com/rakudo/rakudo/blob/​nom/t/04-nativecall/13-cpp-mangling.t (and its associated C++ file). Note that at the moment it's not as tested and developed as C support.
11:23 timotimo ^ andrzejku
11:23 timotimo samcv: i hope so; it should translate very well, i think?
11:24 samcv yeah
11:24 andrzejku it is unclear for me
11:24 andrzejku there should be C++ code/Perl binding code
11:25 andrzejku and steps
11:25 timotimo please file a ticket to the doc repo
11:26 andrzejku right now I still suspect you of spreading propaganda
11:26 timotimo why?
11:27 gfldex timotimo: you did spread propaganda last night. Might very well be a habit of yours. :->
11:27 timotimo https://github.com/rakudo/rakudo/blob/n​om/t/04-nativecall/13-cpp-mangling.cpp  -  here's cpp code, there's the p6 code to bind it: https://github.com/rakudo/rakudo/blob/​nom/t/04-nativecall/13-cpp-mangling.t
11:27 andrzejku timotimo, ok I believe you
11:28 timotimo clearly it was too difficult to read the test file and see that it's compiling a cpp test lib there
11:29 timotimo it even said "and its associated c++ file" in the docs page you linked (that i copy-pasted)
11:31 andrzejku timotimo, yes because a noob guy is overwhelmed with tons of docs and new knowledge also Perl6 is pretty difficult so when you are writing docs you SHOULD assume that your reader is drunk
11:32 itaipu joined #perl6
11:32 andrzejku or he really is
11:34 timotimo i thought it was pretty rude to call me a liar like that, but maybe i'm just overreacting
11:34 andrzejku timotimo, I didn't write this word
11:34 timotimo that's true
11:34 andrzejku timotimo, I just write and I don't believe because I don't understand docs at first look
11:34 andrzejku so maybe I am dummy :)
11:35 andrzejku or maybe doc is not perfect
11:35 timotimo yeah, the docs are fare from perfect here
11:35 timotimo i suggested you could file a bug on the docs repo for that
11:35 andrzejku timotimo, sure)
11:38 timotimo https://www.reddit.com/r/programming/​comments/5si3aw/everything_that_is_wr​ong_with_the_node_ecosystem/ddfqt7f/
11:38 timotimo ^- i have found a way for our module ecosystem to surpass CPAN
11:39 IOninja What a coincidence. I just had a controvercial thought while in the shower: don't do the CPAN6/MetaCPAN6 thing
11:40 timotimo break free of the shackles of The Best Module Ecosystem In The Free World?
11:41 samcv why is CPAN the best module ecosystem?
11:41 IOninja It isn't.
11:41 samcv heh
11:41 timotimo i don't know, i hear pretty darn good things about it
11:41 timotimo like, all the time
11:41 DrForr timotimo: But is it too alrge to fit in the margins of this channel?
11:42 IOninja It has the reputation of being full of rotting crap and PAUSE interface is from '90s.
11:42 DrForr *large
11:42 timotimo well, i heard that, too
11:42 timotimo but come on, the latter one is just a user interface complaint
11:42 timotimo might as well say "python is shitty, because just look at tk gui that's built in!"
11:42 timotimo nah, that's not fair
11:42 timotimo you're not forced to use tk at any point
11:42 samcv python has tk gui built in?
11:43 pmurias joined #perl6
11:43 timotimo yeah, "use Tkinter" or something
11:43 IOninja But my thought was not due to that: it's inevitable that the current ecosystem will stay and grow even if the CPAN6 becomes a thing. Just based on what I heard people say in this channel so far. Many are happy with git and can't be bothered to sign up for and learn a whole new interface.
11:43 timotimo sorry, "import" is the word
11:43 timotimo just build a git between-end (haha) that lets you access PAUSE through git?
11:44 IOninja In addition, MetaCPAN6 would mean its maintainers would need to know Perl 5 *and want to write Perl 5*. And lastly, AFAIK CPAN6 doesn't solve the multi-auth problem.
11:44 IOninja So to summarize: we're building a system that needs hacks to make usable and doesn't look like many people want to maintain it or use it.
11:45 timotimo i can't really say anything for/against thatt
11:45 drrho joined #perl6
11:46 * IOninja braces for another round of being quoted somewhere
11:49 jeek "IOninja braces for another round of being quoted somewhere" -overheard on IRC
11:52 IOninja timotimo: the UI complaint seems pretty fair. It's from the time *before* many of potential Perl 6 programmers were even born. Even I had a chuckle the first time I saw it—10 years ago. And many who see it for the first time would be new Perl 6 developers, not some hardcore fans.
11:53 abraxxa joined #perl6
11:54 IOninja It's easy to fix though... dunno why no one bothered still.
11:55 IOninja jeek: you're doing it wrong. You have to write a 2000-word essay concluding Perl 6 developers are racists.
11:55 pmurias IOninja: re CPAN being full of rotting crap, I would guess all the current module repos (like npm) are
11:57 IOninja pmurias: what'chu talking aboot! npm is the greatest thing since sliced bread. They get over 500 new modules every day! Look: http://www.modulecounts.com/
11:57 jeek IOninja: I thought that was a given?
11:57 wamba joined #perl6
11:58 pmurias IOninja: npm has plenty of good things in it but they explicitly enourage adding crap to it
11:59 IOninja pmurias: sure. I see little relevance to CPAN or *its perception* among uninitiated
11:59 * IOninja &
12:00 jeek The racist to build the world's heaviest airplane?
12:06 nine No one is forced to use PAUSE's web interface. Uploads are often done from the command line
12:07 timotimo ugh, command line, that's so 60s!
12:07 samcv IOninja, top perl 6 dev hates cpan! doesn't like perl 5!
12:07 samcv or whatever wording that one guy used for you lol
12:09 nine samcv: ah, may as well be "THE top PEARL guy hates PEARL! And so should you!"
12:10 samcv that's better nine
12:10 * jnthn hasn't followed all that closely, but had thought the idea was primarily to re-use CPAN's storage/mirroring infrastructure rather than re-inventing that wheel
12:11 timotimo leading perl6 developer
12:13 pmurias jayk_: ping
12:15 nine jnthn: yes but that would include PAUSE as we somehow have to upload dists :) It would not include metacpan.org or search.cpan.org
12:16 IOninja jnthn, from what I understand, even that subset of the work has issues: multi-auth handling
12:17 IOninja two authora uploading same-named dist
12:17 IOninja And I don't know for certain.
12:17 pmurias nine: I don't think anybody is suggesting using search.cpan.org
12:18 cibs joined #perl6
12:18 pmurias having metcpan.org instead of displaying module docs using github would be great
12:18 nine I included it just for clarity
12:19 jnthn nine: If there's a command line way of doing a PAUSE upload, we can surely front it with some other web application, though. :-)
12:19 jnthn To make the user experience we wish for.
12:19 IOninja right and metacpan too has the auth issue.
12:20 jnthn Again, I'm only going on what I'd understood, but I'd thought that the CPAN indexer was the part which would trip up over multiple auth things, but that isn't one of the pieces we'd re-use.
12:20 pmurias jnthn: creating accounts on PAUSE is the ugly part
12:20 jnthn pmurias: Hmm, OK.
12:20 samcv would be nice if ecosystem page wolud do p6doc
12:20 timotimo we could totally grab the description of a  module as rendered by github to be displayed on modules.perl6.org when the user clicks a specific link, right?
12:21 timotimo we could grab the HTML from github with a little javascript http request?
12:21 samcv wait why can't we just render the pod?
12:21 IOninja Please don't :)
12:21 samcv timotimo, better listen to him, he's THE leading perl 6 developer
12:21 timotimo it's not always pod
12:21 timotimo sometimes it's markdown
12:22 timotimo i'm not sure if there are other kinds in use
12:22 samcv but.... it should be pod
12:22 timotimo but maybe one day someone makes a README.csv
12:22 samcv but i guess we could have some way to choose to do the md file or pod
12:22 samcv timotimo, :((
12:22 samcv README.csv ftl
12:23 IOninja samcv, have you seen modules.zef.pm it has some docs. Dunno if ita from pod or not
12:23 samcv nope
12:24 lukaramu joined #perl6
12:25 mst IOninja: heh, the dude going on on HN about npm uip[loads is one of only two people I've ever had to basically say "please don't ever try and contribute to one of my projects again" to
12:25 samcv Range.lazy # would it be ok to make a .Seq? that does the same thing?
12:25 samcv since .lazy makes a sequence
12:25 * IOninja isn't sure of what dude it is....
12:26 samcv THE leading dude
12:26 mst and I'm being intentionally vague because puyblically logged channel and I want to amuse you, not get subtweeted by chromatic
12:26 IOninja hah
12:27 mst if chromatic's going to be a dick to me again, I want a whole blog post damnit
12:28 samcv so i have been doing some work on the Data::Dump module, adding Pair and uh. IO::Path
12:29 samcv and i'm trying to think the best thing to print out for a Seq
12:29 IOninja m: dd 1...*
12:29 camelia rakudo-moar 699013: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10... lazy list)␤»
12:30 zakharyas joined #perl6
12:32 samcv nice
12:32 samcv that's rakudo specific tho
12:32 samcv what if you wanna dd without printing it out?
12:33 timotimo overwrite $*OUT
12:33 samcv :\
12:33 samcv come on
12:38 moritz m: say (1...*).perl
12:38 camelia rakudo-moar 699013: OUTPUT«Cannot .elems a lazy list␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
12:38 moritz :(
12:39 IOninja samcv, steal relevant code from rakudo and stick it into Data::Dump? :)
12:39 IOninja s: &dd
12:39 SourceBaby IOninja, Sauce is at https://github.com/rakudo/rakudo/​blob/6990133/src/core/Any.pm#L578
12:40 samcv yeah i'm considering doing that
12:47 Geth ¦ doc: 7a861ba90c | (Samantha McVey)++ | util/trigger-rebuild.txt
12:47 Geth ¦ doc: Trigger rebuild to pull in highlighting improvements
12:47 Geth ¦ doc:
12:47 Geth ¦ doc: atom-language-perl6 v1.14.1 just released.
12:47 Geth ¦ doc: review: https://github.com/perl6/doc/commit/7a861ba90c
12:48 rurban joined #perl6
12:55 samcv IOninja, do you like `^10` highlighting all of it as a number for highlighting?
12:56 samcv or do you want the ^ to not highlight the same as the number portion
12:56 samcv atm ^10 all highlights as number
12:58 samcv i kinda liked it all highlighting together
12:59 ggoebel joined #perl6
13:08 * IOninja shrugs
13:10 bjz_ joined #perl6
13:10 El_Che I released some new talks
13:19 rindolf joined #perl6
13:24 faraco joined #perl6
13:26 IOninja Anyone remember the URL for Perl 6 periodic table of elements?
13:26 IOninja of operators...
13:26 IOninja hm, maybe that's why I get bogus results on google :P
13:26 IOninja It's http://www.ozonehouse.com/mark/periodic/
13:29 lukaramu joined #perl6
13:34 sufrostico joined #perl6
13:38 samcv m: say 'Z' before 'a'
13:38 camelia rakudo-moar 699013: OUTPUT«True␤»
13:39 samcv i gotta go to bed, night all
13:41 IOninja night
13:42 faraco m:say 'Hello kudoz';
13:43 faraco well, the white space ruined the intro.
13:45 faraco IOninja: hey, are you this guy? Just curious..
13:45 faraco https://github.com/iONinja
13:45 itcharlie1 joined #perl6
13:47 bjz joined #perl6
13:48 IOninja That's my cousin!
13:49 faraco ha
13:49 cognominal joined #perl6
13:52 thdr|2 joined #perl6
13:54 pyrimidine joined #perl6
14:08 [Coke] m: .say for <a b c d>.rotor(3,-2);
14:08 camelia rakudo-moar 699013: OUTPUT«(a b c)␤Rotorizing sublist length is out of range. Is: -2, should be in 1..^Inf; ␤Did you mean to specify a Pair with => -2?␤  in block <unit> at <tmp> line 1␤␤»
14:09 [Coke] m: .say for <a b c d>.rotor(3=>-2);
14:09 camelia rakudo-moar 699013: OUTPUT«(a b c)␤(b c d)␤»
14:09 [Coke] (https://metacpan.org/pod/List::EachCons)
14:13 IOninja *sigh* trying to look up a particular op on docs site is quite painful
14:13 raiph joined #perl6
14:14 IOninja And I even know what this op is called :/ function composition
14:14 * IOninja is saved by the uni<->texas pagfe
14:15 faraco I can't wait Perl 6 doc to be available with Zeal. Browsing doc with keywords will much easier.
14:15 faraco will be*
14:16 [Coke] faraco: URL?
14:16 [Coke] oh, it was like number six on google, no wonder I couldn't see it. :)
14:17 faraco https://zealdocs.org/, if that what you meant.
14:17 [Coke] now on https://kapeli.com/docsets
14:18 agentzh joined #perl6
14:18 [Coke] faraco: please open a wishlist ticket on the perl6 docs site. If it gets enough votes, this looks like something we can do.
14:19 faraco I'm glad to. :)
14:19 perlpilot My cousin promotes some "energy drink" called zeal.  I was wondering how that related to documentation and Perl   :)
14:20 rurban1 joined #perl6
14:20 faraco zeal boost your energy to program Perl 6, I guess? :D
14:23 * perlpilot installs zeal and the perl docset to see if he likes it
14:26 IOninja Seems it'd be trivial to make Perl 6 version: https://kapeli.com/docsets#dashDocset
14:28 perlpilot yeah, it looks like the perl docset was straight out of pod2html
14:28 [Coke] we could do it from the HTML, but we already have it at a state where we know all the individual bits before we re-assemble it into html.
14:29 faraco but I like the keyword usage, eg, perl:perlvar
14:32 * perlpilot adds his thumbs up to https://github.com/perl6/doc/issues/1185
14:39 gdonald joined #perl6
14:41 bwisti joined #perl6
14:49 wamba joined #perl6
14:57 cdg joined #perl6
14:58 El_Che ugexe: how does one upgrade zef itself? My rakudo packages contains 2 scripts to install zef as root and user (just updated the source, wil create deb/rpm after travis gives a go). I was wondering if zef could upgrade it self (zef upgrade zef does not do the trick)
15:01 IOninja What happens with zef upgrade zef?
15:01 IOninja Its version is listed as * innit? You need to force it
15:01 El_Che No such method 'dist' for invocant of type 'Any'
15:01 [Coke] there's a ticket to get zef to start advertising a version number to help with that.
15:01 El_Che bbl, catch a train
15:02 IOninja zef --force install zef
15:02 IOninja huh, I didn't get that for upgrade. I got "The following distributions are already at their latest versions: zef:auth('github:ugexe')"
15:02 IOninja Perhaps you're on a buggy version. Try using the bootstraping method (should be in zef's readme)
15:02 IOninja with --force
15:04 IOninja .oO( what bait do you use to catch trains... )
15:04 faraco m: say 1..10;
15:04 camelia rakudo-moar 699013: OUTPUT«1..10␤»
15:05 IOninja m: say 10...1
15:05 camelia rakudo-moar 699013: OUTPUT«(10 9 8 7 6 5 4 3 2 1)␤»
15:05 faraco what
15:06 faraco why 1..10 doesn't work?
15:06 IOninja It works
15:06 IOninja m: say eager 1..10
15:06 camelia rakudo-moar 699013: OUTPUT«(1 2 3 4 5 6 7 8 9 10)␤»
15:06 IOninja You're using .gist output of a Range, so it just gives you end points
15:06 faraco is this something specific to the bot?
15:06 IOninja No
15:06 IOninja m: put 1..10
15:06 camelia rakudo-moar 699013: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
15:07 faraco oh...I don't have rakudo installed right now..gonna have a private session with camelia for now :P
15:07 hartenfels faraco: It's telling you about the Range object itself, not the sequence it produces.
15:08 IOninja m: say 1..∞
15:08 camelia rakudo-moar 699013: OUTPUT«1..Inf␤»
15:08 IOninja m: put 1..∞
15:08 camelia rakudo-moar 699013: OUTPUT«1..*␤»
15:08 faraco you remind me to to imagine it as "scalar blah"
15:08 IOninja :S
15:09 IOninja faraco: 1..10 creates a Range object
15:09 IOninja You can write it as Range.new: 1, 10; or something similar
15:09 faraco oh, now I get it.
15:10 sufrostico joined #perl6
15:10 sufrostico joined #perl6
15:14 IOninja m: say 0e0 ∈ -0e0..0e0
15:14 camelia rakudo-moar 699013: OUTPUT«False␤»
15:14 * IOninja ponders that one...
15:14 cdg joined #perl6
15:17 sufrostico joined #perl6
15:17 IOninja Guess that's less surprising than returning a 2-element list for that Range...
15:18 pyrimidine joined #perl6
15:19 IOninja m: sub infix:<..> { $^a == $^b and $a !=== $b and $a|$b }; say ∈ -0e0..0e0
15:19 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Preceding context expects a term, but found infix ∈ instead␤at <tmp>:1␤------> 3== $^b and $a !=== $b and $a|$b }; say ∈7⏏5 -0e0..0e0␤»
15:19 IOninja m: sub infix:<..> { $^a == $^b and $a !=== $b and $a|$b }; say 0e0 ∈ -0e0..0e0
15:19 camelia rakudo-moar 699013: OUTPUT«any(False, True)␤»
15:19 faraco m: say my $minus = $a, $b { $a - b}; minus(20,1);
15:19 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$a' is not declared␤at <tmp>:1␤------> 3say my $minus = 7⏏5$a, $b { $a - b}; minus(20,1);␤»
15:19 IOninja m: sub infix:<..> { $^a == $^b and $a !=== $b and $a|$b }; say so 0e0 ∈ -0e0..0e0
15:19 camelia rakudo-moar 699013: OUTPUT«True␤»
15:19 skids joined #perl6
15:19 IOninja m: sub infix:<..> { $^a == $^b and $a !=== $b and $a|$b }; say so (-0e0..0e0).elems
15:19 camelia rakudo-moar 699013: OUTPUT«True␤»
15:19 IOninja m: sub infix:<..> { $^a == $^b and $a !=== $b and $a|$b }; say (-0e0..0e0).elems
15:19 camelia rakudo-moar 699013: OUTPUT«any(1, 1)␤»
15:19 faraco m: say my $minus =  -> $a, $b { $a - b}; minus(20,1);
15:19 IOninja heh
15:19 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routines:␤    b used at line 1␤    minus used at line 1. Did you mean 'lines'?␤␤»
15:20 IOninja m: say my &minus =  -> $a, $b { $a - b}; minus(20,1);
15:20 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    b used at line 1␤␤»
15:20 IOninja m: say my &minus =  -> $a, $b { $a - $b}; minus(20,1);
15:20 camelia rakudo-moar 699013: OUTPUT«-> $a, $b { #`(Block|65574120) ... }␤»
15:20 faraco m: my $minus =  -> $a, $b { $a - b}; minus(20,1);
15:20 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routines:␤    b used at line 1␤    minus used at line 1. Did you mean 'lines'?␤␤»
15:20 hartenfels faraco: you're missing a $ before your b.
15:20 faraco m: my $minus =  -> $a, $b { $a - $b}; minus(20,1);
15:20 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    minus used at line 1. Did you mean 'lines'?␤␤»
15:20 IOninja And before mninus
15:21 hartenfels Oh, it turned back into $minus.
15:21 hartenfels I saw &minus a moment ago.
15:21 faraco m: my &minus =  -> $a, $b { $a - $b}; minus(20,1);
15:21 camelia rakudo-moar 699013: ( no output )
15:21 faraco yay
15:21 IOninja m: my &minus = &[-]; say minus 20, 1
15:21 camelia rakudo-moar 699013: OUTPUT«19␤»
15:21 faraco ty
15:21 IOninja m: say &[-] 20, 1
15:21 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say &[-]7⏏5 20, 1␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤   …»
15:21 IOninja m: say &infix:<-> 20, 1
15:21 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say &infix:<->7⏏5 20, 1␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier…»
15:21 IOninja m: say infix:<-> 20, 1
15:21 camelia rakudo-moar 699013: OUTPUT«19␤»
15:22 IOninja Ah, right
15:22 IOninja m: say [-] 20, 1
15:22 camelia rakudo-moar 699013: OUTPUT«19␤»
15:22 IOninja m: say 20 &[-] 1
15:22 camelia rakudo-moar 699013: OUTPUT«all(20, -1)␤»
15:23 IOninja heh
15:23 faraco meta character?
15:23 hartenfels Meta-operator.
15:23 faraco dang
15:23 IOninja m: say [-] 20, 1, 5, 6
15:23 camelia rakudo-moar 699013: OUTPUT«8␤»
15:23 IOninja m: say [\-] 20, 1, 5, 6
15:23 camelia rakudo-moar 699013: OUTPUT«(20 19 14 8)␤»
15:24 IOninja faraco: [-] ... is the same as putting `-` between each of the elements in that list
15:24 IOninja more or less
15:24 IOninja m: say [*] 0
15:24 faraco m: say [+] 8, 230
15:24 camelia rakudo-moar 699013: OUTPUT«0␤»
15:24 camelia rakudo-moar 699013: OUTPUT«238␤»
15:24 IOninja m: say [*] 1
15:24 camelia rakudo-moar 699013: OUTPUT«1␤»
15:24 IOninja m: say [*] ()
15:24 camelia rakudo-moar 699013: OUTPUT«1␤»
15:24 faraco m: say [**] 2, 2
15:24 camelia rakudo-moar 699013: OUTPUT«4␤»
15:25 faraco m: say [**] 2, 923
15:25 camelia rakudo-moar 699013: OUTPUT«70906491683854249133971333415503528601​229677279443476631916611638829262598057001759​775558209235971002092300595769547131083230268​742795262708226708464736682213924924871800416​657575912944521796077262840069882938251784694​13313283348503861899091475763716755128…»
15:25 IOninja m: say [*] set 1, 2, 3
15:25 camelia rakudo-moar 699013: OUTPUT«3␤»
15:25 faraco say 1..10.eager
15:26 faraco m: say 1..10.eager
15:26 camelia rakudo-moar 699013: OUTPUT«1..1␤»
15:26 IOninja won't work. Precedence
15:26 faraco m: say (1..10).eager
15:26 camelia rakudo-moar 699013: OUTPUT«(1 2 3 4 5 6 7 8 9 10)␤»
15:26 faraco 2 style for the same thing, nice! procedural and oo
15:27 hartenfels You can contort most things into that.
15:27 Geth ¦ doc: 97d0575966 | (Will "Coke" Coleda)++ | doc/Language/5to6-nutshell.pod6
15:27 Geth ¦ doc: use nbsp
15:27 Geth ¦ doc: review: https://github.com/perl6/doc/commit/97d0575966
15:27 hartenfels m: say 1.&infix:<+>(2)
15:27 camelia rakudo-moar 699013: OUTPUT«3␤»
15:27 hartenfels The true OO way to say 1 + 2.
15:27 faraco say (1..10).end - 1
15:27 faraco m: say (1..10).end - 1
15:27 camelia rakudo-moar 699013: OUTPUT«8␤»
15:27 tbrowder hi, #perl6
15:27 faraco 0/
15:27 hartenfels Hi tbrowder.
15:28 IOninja m: say 1.&[+]: 2
15:28 camelia rakudo-moar 699013: OUTPUT«3␤»
15:28 IOninja m: say (1..10).tail - 1
15:28 camelia rakudo-moar 699013: OUTPUT«9␤»
15:28 tbrowder i'm still on the hunt for  a better p6 editor (emavs is my favorite so far). has anyone tried editrocket (http://www.editrocket.com/)?
15:28 mscha joined #perl6
15:29 * IOninja is happy enough with atom
15:29 tbrowder it's customizable with java
15:29 faraco multi method map(HyperIterable:D: &block;; :$label)
15:29 * moritz happy enough with gvim
15:29 faraco I don't understand map.
15:29 faraco there is no quick example?
15:29 faraco deepmap (below it) has one
15:29 IOninja m: ^10 .map(* + 42).say
15:29 camelia rakudo-moar 699013: OUTPUT«(42 43 44 45 46 47 48 49 50 51)␤»
15:30 sufrostico joined #perl6
15:30 hartenfels m: say map { "$_!" }, 'hello', 'there', 'mapped', 'world'
15:30 camelia rakudo-moar 699013: OUTPUT«(hello! there! mapped! world!)␤»
15:30 IOninja m: ^10 .hyper.map({$^hypered-thing + 42}).say
15:30 camelia rakudo-moar 699013: OUTPUT«HyperSeq.new␤»
15:30 IOninja gah
15:31 IOninja m: ^10 .hyper.map({$^hypered-thing + 42}).eager.say
15:31 camelia rakudo-moar 699013: OUTPUT«(42 43 44 45 46 47 48 49 50 51)␤»
15:31 faraco m: say "cat".say
15:31 camelia rakudo-moar 699013: OUTPUT«cat␤True␤»
15:32 IOninja m: ^4 .hyper(:batch).map({sleep 1; $*THREAD.id}).eager.say; say now - INIT now;
15:32 camelia rakudo-moar 699013: OUTPUT«(3 4 5 6)␤1.00761102␤»
15:32 IOninja :D
15:33 mscha This may be a silly question, but is there a nice ‘English’ way to put something in a bag (well, BagHash)?
15:33 mscha m: my $bag = BagHash.new: <red red red red blue blue>; my $ball = $bag.grab; say $ball; $bag<red>++;
15:33 camelia rakudo-moar 699013: OUTPUT«blue␤»
15:33 mscha This works, but that last statement is so inelegant.
15:34 hartenfels mscha: you can bag something.
15:34 hartenfels That is, bag is a verb too.
15:34 IOninja mscha: https://rt.perl.org/Ticket/Displ​ay.html?id=128903#ticket-history
15:35 Actualeyes joined #perl6
15:35 hartenfels Oh wait I didn't read that close enough.
15:35 mscha Thanks.
15:36 zacts joined #perl6
15:40 eroux joined #perl6
15:43 IOninja m: my $b = BagHash.new: <a b c>; $b<b c>»++; say $b
15:43 camelia rakudo-moar 699013: OUTPUT«BagHash.new(a, c(2), b(2))␤»
15:43 IOninja m: my $b = BagHash.new: <a b c>; $b<b c> »+=« 2; say $b
15:43 camelia rakudo-moar 699013: OUTPUT«Lists on either side of non-dwimmy hyperop of  are not of the same length␤left: 2 elements, right: 1 elements␤  in block <unit> at <tmp> line 1␤␤»
15:43 IOninja m: my $b = BagHash.new: <a b c>; $b<b c> «+=» 2; say $b
15:43 camelia rakudo-moar 699013: OUTPUT«BagHash.new(a, c(3), b(3))␤»
15:46 faraco m: say exit(1)
15:46 camelia rakudo-moar 699013: ( no output )
15:47 IOninja m: my $b = BagHash.new: <a b c>; $b<b c> «-=» 2; say $b
15:47 camelia rakudo-moar 699013: OUTPUT«BagHash.new(a)␤»
15:48 faraco m: say True if 1 == True
15:48 camelia rakudo-moar 699013: OUTPUT«True␤»
15:48 faraco m: say True if 0 == True
15:48 camelia rakudo-moar 699013: ( no output )
15:49 IOninja m: Bool.enums.say
15:49 camelia rakudo-moar 699013: OUTPUT«{False => 0, True => 1}␤»
15:49 faraco same as in Perl 5, I guess. Just, there is boolean object.
15:49 Geth ¦ doc: 8295e9294d | (Will "Coke" Coleda)++ | xt/words.pws
15:49 Geth ¦ doc: add new word
15:49 Geth ¦ doc: review: https://github.com/perl6/doc/commit/8295e9294d
15:49 Geth ¦ doc: db18ecae1c | (Will "Coke" Coleda)++ | doc/Language/experimental.pod6
15:49 Geth ¦ doc: Only mention releases. Fix release date.
15:49 Geth ¦ doc: review: https://github.com/perl6/doc/commit/db18ecae1c
15:50 IOninja faraco: almost same. In Perl 5 "0" is False, but in Perl 6 it is True
15:50 faraco ah, I see
15:53 faraco m: say "duck".perl
15:53 camelia rakudo-moar 699013: OUTPUT«"duck"␤»
15:57 faraco m: say "duck".perl.reverse
15:57 camelia rakudo-moar 699013: OUTPUT«("duck")␤»
15:57 faraco m: say "duck".perl.splice
15:57 camelia rakudo-moar 699013: OUTPUT«No such method 'splice' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
15:57 faraco m: say "duck".perl.sort
15:57 camelia rakudo-moar 699013: OUTPUT«("duck")␤»
15:57 faraco m: say "duck".split()
15:57 camelia rakudo-moar 699013: OUTPUT«Cannot resolve caller split(Str: ); none of these signatures match:␤    (Str:D $: Regex:D $pat, $limit is copy = Inf;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_)␤    (Str:D $: Cool $match;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_)␤    (St…»
15:57 IOninja m: say "duck".comb
15:57 camelia rakudo-moar 699013: OUTPUT«(d u c k)␤»
15:58 hartenfels Didn't think I'd see people combing and trying to split a duck today.
15:59 faraco m: say "duck".comb.sort
15:59 camelia rakudo-moar 699013: OUTPUT«(c d k u)␤»
16:00 faraco m: say "duck".comb.reverse.join
16:00 camelia rakudo-moar 699013: OUTPUT«kcud␤»
16:03 faraco m: say comb.WHY;
16:03 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling comb() will never work with proto signature ($, $, $?)␤at <tmp>:1␤------> 3say 7⏏5comb.WHY;␤»
16:03 faraco I think this I'm spamming..
16:03 faraco is
16:04 IOninja m: "duck".ords».&[+](119711)».chr.join.say
16:04 camelia rakudo-moar 699013: OUTPUT«𝐃𝐔𝐂𝐊␤»
16:04 faraco bold? :O:O:O:O
16:04 IOninja :)
16:05 faraco m: "duck".ords».&[+](119711)».chr.reverse.join.say
16:05 camelia rakudo-moar 699013: OUTPUT«𝐊𝐂𝐔𝐃␤»
16:05 sena_kun joined #perl6
16:07 jeffythedragonsl joined #perl6
16:07 faraco m: "rotator".ords».&[+](119711)».chr.reverse.join.say
16:07 camelia rakudo-moar 699013: OUTPUT«𝐑𝐎𝐓𝐀𝐓𝐎𝐑␤»
16:09 faraco say so
16:09 faraco m: say so
16:09 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Prefix so requires an argument, but no valid term found␤at <tmp>:1␤------> 3say so7⏏5<EOL>␤    expecting any of:␤        prefix␤»
16:09 IOninja m: .so.say
16:09 camelia rakudo-moar 699013: OUTPUT«False␤»
16:09 IOninja ^_^
16:09 faraco hey thank you
16:10 faraco .so.say.not.say
16:10 faraco m: .so.say.not.say
16:10 camelia rakudo-moar 699013: OUTPUT«False␤False␤»
16:10 [Coke] m: so say 'we' .all
16:10 camelia rakudo-moar 699013: OUTPUT«WARNINGS for <tmp>:␤Useless use of "so " in expression "so say 'we' .all" in sink context (line 1)␤all(we)␤»
16:11 faraco m: .so.not.say
16:11 camelia rakudo-moar 699013: OUTPUT«True␤»
16:11 CIAvash[m] m: say 'duck'.flip
16:11 camelia rakudo-moar 699013: OUTPUT«kcud␤»
16:12 faraco CIAvash[m]: I wish I knew that earlier, *facepalm*.
16:12 faraco "rotator".flip
16:12 faraco m: say "rotator".flip
16:12 camelia rakudo-moar 699013: OUTPUT«rotator␤»
16:14 IOninja m: .one for .all & all 4 .one
16:14 camelia rakudo-moar 699013: ( no output )
16:14 IOninja m: subset Pallindrome where .flip eq $_; say "rotator" ~~ Pallindrome; say "cat" ~~ Pallindrome
16:14 camelia rakudo-moar 699013: OUTPUT«True␤False␤»
16:14 [Coke] m: say <a b a c>.rotor(3=>-2)>>.reverse.flat.join
16:14 camelia rakudo-moar 699013: OUTPUT«abacab␤»
16:15 faraco are we trying to make obsfucated Perl 6? :D
16:16 perlpilot This is what freedom of expression means  :)
16:17 IOninja star: use LWP::Simple; subset Perl6Site where LWP::Simple.get($_).contains: "Perl 6"; say "http://perl6.party" ~~ Perl6Site; say "http://php.com" ~~ Perl6Site
16:17 camelia star-m 2016.10: OUTPUT«True␤False␤»
16:17 IOninja hehe, awesome.
16:18 faraco perlpilot: I like the sound of that. :)
16:18 faraco wait, what kind of bot is star?
16:19 faraco does it means, it has all the modules that comes with Task::Star?
16:20 [Coke] it's basically what you'd get with a rakudo star of that vintage.
16:20 [Coke] (so, basically, yes.)
16:20 faraco nice
16:22 faraco star: use Test;plan 1; ok 1, True; done-testing;
16:22 camelia star-m 2016.10: OUTPUT«1..1␤ok 1 - True␤»
16:22 faraco star: use Test;plan 1; ok 0, True; done-testing;
16:22 camelia star-m 2016.10: OUTPUT«1..1␤not ok 1 - True␤␤# Failed test 'True'␤# at <tmp> line 1␤# Looks like you failed 1 test of 1␤»
16:23 sufrostico joined #perl6
16:23 faraco you know what, I think I'll get my new rakudo now. I'm basically flooding this channel. :3
16:27 faraco erm, having a search engine (perl 6 doc) for the browser quick search bar will be nice.
16:28 faraco or is there somewhere that I didn't found yet?
16:28 vike joined #perl6
16:28 [Coke] I think we'd need a dynamic site to support that.
16:28 [Coke] right now docs.perl6.org is just pages of static content.
16:28 faraco oh, now it is clear why. Thank you.
16:29 sufrostico joined #perl6
16:31 IOninja .oO( add a small app that handles search... )
16:32 IOninja .oO( make an IRC bot that uses it... )
16:33 faraco what
16:33 jast you can use google site search or something like that
16:34 faraco I forgot that google has the narrowed search operator.
16:35 garo What's "moar" ?
16:35 IOninja garo: "Metamodel On A Runtime"
16:35 jast or as someone who maintains the site I believe you can set up a search widget that does the site limiting automatically, I think it's called google CSE
16:35 IOninja garo: leading Virtual Machine that Perl 6 can run on
16:35 [Coke] garo: see also http://moarvm.org/
16:35 garo k, thanks
16:36 faraco jast: Thank you! I literally just knew that exist.
16:39 Actualeyes joined #perl6
16:41 khw joined #perl6
16:45 faraco Guys, where can I download HTML version of Perl 6 docs? I want to do a few doc testing with Dash.
16:45 perlpilot doc.perl6.org  :-)
16:46 faraco do I need to wget -r ?
16:46 faraco I should
16:46 IOninja faraco: you can build it.
16:46 faraco That is my problem, I can't. Not enough memory.
16:47 sena_kun faraco, actually, we have https://docs.perl6.org/perl6.xhtml, but it is somewhat... Not so pretty as usual pages.
16:47 faraco oh, I think I'll use the docs.perl6.org. I need the separated HTML's.
16:50 alimon joined #perl6
16:50 agentzh joined #perl6
16:51 IOninja faraco: http://temp.perl6.party/docs.tar.gz
16:51 Actualeyes joined #perl6
16:53 sena_kun IOninja, someone certainly need to do this in official and persistent way...
16:53 moritz sena_kun: well volunteered!
16:54 sena_kun Ah, my grammar is gone today. :/
16:54 IOninja Seems the whole $COLON$COLON thing to make failes workable on all platforms didn't do all the files. I see plenty of them with '>' and '<' in them but those chars aren't allowed on windows
16:54 IOninja *files
16:54 IOninja sena_kun: nope. The docs can be built by whoever needs them.
16:55 pyrimidine joined #perl6
16:55 faraco IOninja: thanks
16:56 sena_kun moritz, I can write a command to tar(see https://github.com/perl6/doc/is​sues/718#issuecomment-278063479), but I cannot write a script with correct paths and stuff. :/
16:57 sena_kun IOninja, they can be built for sure, but the issue is still here. ;)
16:58 IOninja sena_kun: which one?
16:58 moritz sena_kun: the script that generates the files for publication is util/update-and-sync in the perl6/doc repo
16:58 sena_kun IOninja, https://github.com/perl6/doc/issues/718 - this. It was a part of docs TODO list since forever.
16:58 sena_kun moritz, oh, I'll look into it.
16:59 moritz sena_kun: and it uses mostly relative paths, so it shouldn't be too hard to work with
16:59 rurban joined #perl6
16:59 sena_kun moritz, I'll give it a try.
17:00 buggable joined #perl6
17:02 IOninja sena_kun: "you can also download an offline HTML ... copy". That currently links to the perl6.xhtml file.
17:04 IOninja sena_kun: there are fatal issues with just tarring everything (is `tar` even available on Windows?). After asking if I want to replace < >.html with _ _.html, it's now showing me this error: http://i.imgur.com/CzKElIV.png I assume it's one of the fancy-pants set ops used as a file name.
17:04 sena_kun IOninja, if so, we need to provide a link to it somewhere. And make it pretty.
17:05 IOninja sena_kun: "to it" it being what?
17:05 sena_kun IOninja, I'm on gentoo, so sorry, cannot say anything about windows-related issues. Anyway, I didn't plan to work or to discuss it RIGHT NOW, just mentioned this old-old ticket. To it == to perl6.xhtml.
17:06 IOninja It's already linked to from home page.
17:07 IOninja As for pretty, it's trying to load docs.perl6.org/pod-to-bigpage.css which ain't there...
17:07 sena_kun IOninja, aww, okay. Then just close it!
17:08 IOninja stop yelling at me :|
17:09 sena_kun IOninja, sorry. Today was awful and I'm a bit distracted now. I didn't intend to offend you in any way.
17:09 abraxxa joined #perl6
17:16 geekosaur joined #perl6
17:20 AlexDaniel joined #perl6
17:25 IOninja hm.. and all the absolute paths for assets make the archive unusable without a server to cater it
17:30 sena_kun IOninja, yep. Anyway, I can see improving of bigpage version as more appropriate task comparing with this tar'ish thing, so I'm personally +1 for the idea of abandoning this ticket. // And I forgot that some OS are not linux too, shame on me.
17:38 rurban left #perl6
17:38 TimToady joined #perl6
17:48 gdonald joined #perl6
18:00 Eddward joined #perl6
18:02 Eddward Hi.  Stupid newbie question... allrows() in DBIish returns a lazy list of array references.  My query is returning 1 column per row.  Is there a nifty way to flatten refs out and stay lazy?
18:04 IOninja m: ([<a b c>], [<d e f g>]).flat.say
18:04 camelia rakudo-moar 699013: OUTPUT«(a b c d e f g)␤»
18:04 IOninja Eddward: ^
18:04 agentzh joined #perl6
18:05 AlexDaniel m: ([<a b c>], [<d e f g>]).flat.WHAT.say
18:05 camelia rakudo-moar 699013: OUTPUT«(Seq)␤»
18:05 yoleaux 6 Feb 2017 20:24Z <tbrowder> AlexDaniel: Did you get nqp files working with perl6-mode in emacs?
18:05 AlexDaniel .tell tbrowder what nqp files?
18:05 yoleaux AlexDaniel: I'll pass your message to tbrowder.
18:05 IOninja m: ([<a b c>] xx *).flat[^6].say
18:05 camelia rakudo-moar 699013: OUTPUT«(a b c a b c)␤»
18:06 Eddward IOninja: Thanks.  That'll keep the source list lazy too?
18:06 Eddward @still-lazy = @lazy.flat  # is true?
18:06 IOninja Eddward: yeah, it's all like a pipeline. You ask for 1 thing on one end and all these iterators reach out to the start of it and ask for just one item there
18:07 Eddward cool.
18:07 Eddward I didn't want to dump the whole DB into memory.
18:07 Eddward Thanks again.
18:07 IOninja I think array intializers are eager tho?
18:08 IOninja m: my @still-lazy = ([<a b c>] xx *).flat; say @still-lazy[^6].say
18:08 IOninja mhm
18:08 Eddward I was afraid .flat() would 'materialize' the whole list.
18:08 AlexDaniel e: my @still-lazy = lazy ([<a b c>] xx *).flat; say @still-lazy[^6].say
18:08 evalable6 AlexDaniel, rakudo-moar 6990133: OUTPUT«(a b c a b c)␤True»
18:08 IOninja m: my $still-lazy = ([<a b c>] xx *).flat; say $still-lazy[^6].say
18:08 camelia rakudo-moar 699013: OUTPUT«(timeout)»
18:08 camelia rakudo-moar 699013: OUTPUT«(a b c a b c)␤True␤»
18:08 IOninja Eddward: so if you're intializing an @array with that, stick a `lazy` before it.
18:09 IOninja s/before it/before the values/;
18:09 Eddward IOninja: I'm probably still good.  I have a sub returning the flattened list and that will be called by a foreach.
18:09 IOninja cool
18:09 AlexDaniel it doesn't hurt to check if you actually get it lazy where you want it to be
18:09 AlexDaniel but usually, if you do everything right, most things will not reify unless you want them to
18:10 AlexDaniel also…
18:10 AlexDaniel if you do 「my @whatever = …」, you probably don't care if it is lazy or not…
18:11 AlexDaniel if you do, then don't use @
18:11 AlexDaniel I mean, an array will store the whole thing in the memory, which is something you wanted to prevent
18:11 IOninja m: my @whatever = 1...*; say @whatever[^10]
18:11 camelia rakudo-moar 699013: OUTPUT«(1 2 3 4 5 6 7 8 9 10)␤»
18:11 timotimo or use := instead of =
18:11 AlexDaniel in this case just use a Seq or something
18:11 AlexDaniel (so $, not @)
18:11 IOninja The := won't help for Seqs, 'cause they aren't positionals.
18:12 timotimo OK
18:12 IOninja How come I can stick 1...* into an @array and it's not eager but the other thing above was eager?
18:12 IOninja Is it just a special case?
18:12 timotimo hm, it's explicitly lazy?
18:13 IOninja m: my @whatever = 1..*; say @whatever[^10]
18:13 camelia rakudo-moar 699013: OUTPUT«(1 2 3 4 5 6 7 8 9 10)␤»
18:13 AlexDaniel this thing again!
18:13 AlexDaniel was there a ticket for it? Hmmm…
18:13 IOninja m: my @whatever = (1..*).map({$_}); say @whatever[^10]
18:13 camelia rakudo-moar 699013: OUTPUT«(1 2 3 4 5 6 7 8 9 10)␤»
18:13 IOninja m: say ([<a b c>] xx *).flat.is-lazy
18:13 camelia rakudo-moar 699013: OUTPUT«False␤»
18:13 IOninja Ahh
18:13 IOninja OK.
18:14 IOninja m: ([<a b c>] xx *).is-lazy.say
18:14 camelia rakudo-moar 699013: OUTPUT«True␤»
18:14 IOninja hm, .flat should prolly propagate the .is-lazy
18:14 IOninja If only I knew what it actually means...
18:16 elisdg joined #perl6
18:16 pyrimidine joined #perl6
18:19 wamba joined #perl6
18:20 tbrowder AlexDaniel: sorry, a day or so ago I thought I saw that you asked about recognizing nqp files in emacs perl6-mode, but an IRC search shows nothing
18:20 yoleaux 18:05Z <AlexDaniel> tbrowder: what nqp files?
18:23 AlexDaniel tbrowder: yes, it was a ticket
18:23 AlexDaniel aaaaah, that's what you meant…
18:23 IOninja Anyone familiar with nqp toolchain and knows where the args get processed? Perhaps you'd know the answer for the question: https://github.com/perl6/nqp/is​sues/346#issuecomment-278090170
18:23 AlexDaniel to be honest, I haven't tried updating perl6-mode yet
18:25 TimToady yes, if flat doesn't propagate is-lazy, I'd consider it a bug
18:25 tbrowder i use it manually, but it's set to deal with nqp names, all in the perl6-mode; to recognize nqp files i set in my init.el to use perl6-mode for *.nqp
18:25 AlexDaniel tbrowder: hmmmm
18:26 AlexDaniel tbrowder: according to this commit it should work: https://github.com/perl6/perl6-mode/commit​/4b012444900aeaed0c5c1633869f71ba28546e9f
18:26 AlexDaniel OK, I've closed the issue
18:31 IOninja OK, I'll fix it (the flat lazy bug)
18:33 Eddward IOninja: I've been in another window.  Sounds like it should work like you said, but there's a bug at the moment?
18:34 IOninja Eddward: it should still work as I've said. I think the scope of the bug is that assigning it to @array is eager, when it should be lazy
18:35 Eddward oh.  Well thanks for looking into fixing it anyway.
18:35 [Coke] IOninja: re < and > I think ¿samcv? removed some characters from the list in the past month or so.
18:35 TimToady list assignment is lazy only when .is-lazy is true, and .flat ought to be propagating that
18:39 IOninja [Coke]: seems the unicode chars have problems too, but maybe I need to pass some sort of options to tar vOv
18:40 [Coke] IOninja: all these easy tickets end up being much more painful in practice.
18:40 IOninja :)
18:42 Lucas_One joined #perl6
18:42 eroux joined #perl6
18:48 IOninja heh... first compilation of is lazy fix fails on dist install with Cannot (s)printf a lazy list
18:48 IOninja in block <unit> at tools/build/create-moar-runner.pl line 20
18:51 faraco yay rakudo ready to roll!
18:52 labster joined #perl6
18:55 bwisti joined #perl6
18:55 IOninja oh, nm, it was my misunderstanding of timings.
18:56 tbrowder AlexDaniel: i think the emacs perl6-mode problem is on your end.  i commented out the dup lines in my init.el which identified *.nqp AND *.p[lm]?6 as perl6-mode and emacs still recognized p6 files for perl6-mode .
18:57 tbrowder and it still works on *.nqp files, too
18:57 AlexDaniel yup
18:57 tbrowder should i put my init.el in a gist?
19:01 AlexDaniel if there's something interesting, yea?
19:01 AlexDaniel but *.nqp is a non-issue
19:02 tbrowder nothing special, except manual use of perl6-mode installed in a sub dir of .emacs.d...
19:04 Eddward What's the right way to spell $sth.allrows.map{s| ^ 'file://' ||}.say;
19:04 Eddward It can't resolve map
19:05 IOninja Eddward: missing () around map's {}
19:05 Eddward m: my @x=(1,2,3) @x.map{$_*2}.say
19:05 camelia rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3my @x=(1,2,3)7⏏5 @x.map{$_*2}.say␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statemen…»
19:05 Eddward m: my @x=(1,2,3) ; @x.map{$_*2}.say
19:05 camelia rakudo-moar 699013: OUTPUT«Cannot resolve caller map(Array: ); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at <tmp> line 1␤␤»
19:05 IOninja m: my @x=(1,2,3) ; @x.map({$_*2}).say
19:05 camelia rakudo-moar 699013: OUTPUT«(2 4 6)␤»
19:05 Eddward oh.  Thanks
19:06 stmuk maybe pod executes  if you write your own windows perl6 wrapper?
19:06 stmuk :)
19:06 IOninja Eddward: what's your perl6 version?
19:06 IOninja stmuk: hm?
19:06 IOninja m: my @x=(1,2,3) ; @x.map({s|^\d+|z|}).say
19:06 camelia rakudo-moar 699013: OUTPUT«(「1」 「2」 「3」)␤»
19:07 IOninja m: my @x=(1,2,3) ; @x.map({S|^\d+|z|}).say
19:07 camelia rakudo-moar 699013: OUTPUT«(z z z)␤»
19:07 Eddward I have $sth.allrows.map({s:g| ^ 'file://' ||}).say;  but it's not doing what I expect.  I've messaged up the re.
19:07 IOninja Eddward: ^ that would be the right way to do it, but it only works on bleed Perl 6
19:07 Eddward In the perl5 version I'm using URI objects.
19:07 stmuk IOninja: a joke never mind
19:08 Eddward I figure in p6 I'll strip the file:// and then use IO::Path.
19:08 IOninja m: my @x=(1,'file://meow',3) ; @x».subst('file://','').say
19:08 camelia rakudo-moar 699013: OUTPUT«[1 meow 3]␤»
19:08 IOninja That works too, though that'd replace it anywhere, not just start of string
19:08 IOninja m: my @x=(1,'file://meow',3) ; @x».subst(/^ 'file://'/,'').say
19:08 camelia rakudo-moar 699013: OUTPUT«[1 meow 3]␤»
19:08 IOninja Eddward: ^ that should work
19:09 IOninja Um
19:09 Eddward cool.  Thanks
19:09 IOninja Eddward: no, use a map: @x.map(*.subst: /^ 'file://'/,'').say
19:09 IOninja Eddward: the ». is meant to be autothreaded and I'm unsure how that will behave with laziness when it actually is implemented to be that way
19:10 IOninja I think it'll be eager..
19:10 Eddward ok.
19:11 Eddward Sorry to be such a pest.  I'm taking some time to get the little things down with p6.
19:11 TimToady hypers are supposed to be eager; gotta use an explicit map to stay lazy
19:17 IOninja noted
19:17 Eddward For that matter, would there be a way to autothread/hyberthread this?
19:17 Eddward for get-names() { dump-list($dbh, $_, $dir $prefix) }
19:18 TimToady looks like side effects, which you don't want to do in parallel
19:18 TimToady if dump-list is IO
19:18 Eddward I figure there's a more idiomatic way altogether.
19:18 Eddward They each write to a different file with a name derived from $_.
19:19 TimToady in that case it might work okay
19:19 Eddward I'm dumping playlists from banshee to m3u files.
19:20 Eddward I guess the question is if DBIish can handle concurrent access.
19:20 TimToady but I don't think 'for' is smart enough to attempt anything with a HyperSeq yet
19:20 timotimo i think it just hits the .map on HyperSeq which then will spread it out onto threads
19:20 TimToady and HyperSeq is a bit buggy, which is why "hypers" avoid them till now
19:20 Eddward I was assuming I'd need something other than for.  I didn't know if there'd be some trick with a hyper and currying.
19:21 IOninja m: for ^4 .hyper(:batch) { sleep 1; say $_ }; say now - INIT now
19:21 camelia rakudo-moar 699013: OUTPUT«0␤1␤2␤3␤1.00665744␤»
19:21 IOninja m: for ^4 .hyper(:batch) { sleep 1; say $_ }; say now - INIT now
19:21 camelia rakudo-moar 699013: OUTPUT«0␤2␤1␤3␤1.0067660␤»
19:21 timotimo yup, hyperseq can end up throwing all values away
19:21 Eddward It's not important however.  Just trying to squeeze in as many new things as possible to try and learn them.
19:22 TimToady here be some baby hyperdragons, is all :)
19:22 IOninja :)
19:22 Eddward :)
19:22 timotimo HyperRogue has basically HyperDragons in it
19:23 timotimo but they aren't really very hyper
19:23 timotimo they just live on the hyperbolic plane
19:24 timotimo and they bully baby tortoises! >:(
19:25 timotimo well, they bully tortoises by taking their babbys away
19:25 timotimo terrible beasts
19:25 TimToady but do they bully tortoises all the way down?
19:26 timotimo their domain is infinitely big, and there are infinitely many dragons and tortoises, and there's not a single tortoise that's still with their babby
19:26 timotimo so yeah, i'd say they do
19:27 pyrimidine joined #perl6
19:28 timotimo stmuk: now that i know the context of that joke, i don't appreciate the mockery :|
19:31 gdonald joined #perl6
19:33 IOninja m: flat(42 xx *).is-lazy.say
19:33 camelia rakudo-moar 51b0ab: OUTPUT«False␤»
19:33 El_Che New rpms/debs for rakudo 2017.01: https://github.com/nxadm/rakud​o-pkg/releases/tag/2017.01_02
19:33 IOninja TimToady: ^ and that's not a bug? I'm looking at comments in code and I see the sub version has different semantics? https://github.com/rakudo/rakudo/blob​/51b0aba/src/core/List.pm#L1377-L1382
19:34 timotimo hm. that's already the new version ...
19:34 timotimo ah
19:34 pyrimidine joined #perl6
19:35 jdmmmmm joined #perl6
19:37 IOninja m: sub (**@x) { @x.is-lazy.say }(lazy 1, 2, 3)
19:37 camelia rakudo-moar 51b0ab: OUTPUT«False␤»
19:37 IOninja a'ight. I'll assume that's all good
19:38 Eddward m: my $x="01\%20-\%20Leisureforce.mp3"; $x ~~ s:eg/ '%' (<xdigit>**2) / chr(hex($1)) / ; $x.perl
19:38 camelia rakudo-moar 51b0ab: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Adverb eg not allowed on substitution␤at <tmp>:1␤------> 3s:eg/ '%' (<xdigit>**2) / chr(hex($1)) /7⏏5 ; $x.perl␤»
19:38 IOninja hah :)
19:39 IOninja That's a confusing error if you don't know what's going on :)
19:39 IOninja Eddward: there's no /e in Perl 6. You prolly want s:g['%' (<xdigit>**2)] = $1.base(16).chr
19:39 Eddward Looks like g is ok from the docs.  Looking for e.
19:39 * TimToady doesn't use eg substitutes...
19:39 Eddward ok
19:39 eroux joined #perl6
19:39 IOninja or .parse-base(16). I forget what `hex` does in perl 5
19:40 timotimo hex also looks if there's a 0x or 0b or 0o at the beginning afaik
19:40 Eddward is there an 'r'?
19:40 IOninja Eddward: oh, I meant $0.base..., in Perl 6 captures start with 0
19:40 Eddward The erl 5 was s/%([0-9A-Fa-f]{2})/chr(hex($1))/egr
19:40 TimToady you can do s::g/.../{...}/ too as an eg replacement
19:40 IOninja Eddward: use S/// instead of s/// and don't use smartmatch.
19:41 Eddward ok.  I'll try that.  Thanks
19:41 espadrine joined #perl6
19:42 IOninja m: my $x="01\%20-\%20Leisureforce.mp3"; say $x.subst: :g, /'%' (<xdigit>**2)/, *.[0].parse-base(16).chr
19:42 camelia rakudo-moar 51b0ab: OUTPUT«No such method 'parse-base' for invocant of type 'Match'␤  in whatevercode  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
19:42 IOninja m: my $x="01\%20-\%20Leisureforce.mp3"; say $x.subst: :g, /'%' (<xdigit>**2)/, *.[0].Str.parse-base(16).chr
19:42 camelia rakudo-moar 51b0ab: OUTPUT«01 - Leisureforce.mp3␤»
19:42 IOninja Eddward: ^ that seems to work
19:42 IOninja much more verbose and gross, but it works :P
19:44 TimToady m: my $x="01\%20-\%20Leisureforce.mp3"; say S:g /'%' (<xdigit>**2)/{:16(~$0).chr}/ given $x
19:44 camelia rakudo-moar 51b0ab: OUTPUT«01 - Leisureforce.mp3␤»
19:45 IOninja :)
19:46 IOninja m: say :16(Any)
19:46 camelia rakudo-moar 51b0ab: OUTPUT«Cannot resolve caller UNBASE(Int, Any); none of these signatures match:␤    (Int:D $base, Any:D $num)␤    (Int:D $base, Str:D $str)␤  in block <unit> at <tmp> line 1␤␤»
19:47 Tonik joined #perl6
19:47 IOninja oh, nm
19:47 RabidGravy joined #perl6
19:48 rindolf joined #perl6
19:48 IOninja star: use URI::Escape; say uri-unescape "01\%20-\%20Leisureforce.mp3";
19:48 camelia star-m 2016.10: OUTPUT«01 - Leisureforce.mp3␤»
19:49 RabidGravy boom
19:49 IOninja :)
19:50 IOninja m: (42 xx *).flat.is-lazy.say
19:50 camelia rakudo-moar 51b0ab: OUTPUT«True␤»
19:50 IOninja bug fixed \o/
19:50 bjz joined #perl6
19:50 IOninja m: my @a = (42 xx *).flat; say @a[^6]
19:50 camelia rakudo-moar 51b0ab: OUTPUT«(42 42 42 42 42 42)␤»
19:50 IOninja cool
19:55 IOninja m: ($ = "foo") ~~ s:g/^//
19:55 camelia rakudo-moar 51b0ab: ( no output )
19:55 IOninja m: ($ = "foo") ~~ s::g/^//
19:55 camelia rakudo-moar 51b0ab: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Null regex not allowed␤at <tmp>:1␤------> 3($ = "foo") ~~ s::g/^//7⏏5<EOL>␤»
19:55 IOninja Null regex? What does it think is going on?
19:56 IOninja m: ($ = "foo") ~~ s::g/^/^/
19:56 camelia rakudo-moar 51b0ab: OUTPUT«Could not find symbol '&g'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
19:57 IOninja Ah, (s::g) / (^//)
19:57 geekosaur doubled colon? maybe it decided : was the dsep
19:57 geekosaur yeh
19:57 mcmillhj joined #perl6
20:03 st_elmo joined #perl6
20:06 girafe joined #perl6
20:16 IOninja Is Mark who made Periodic Table of Operators still here? https://twitter.com/colomon​/status/829019842795728897
20:17 * [Coke] hasn't see the author of that in some time, he thinks.
20:20 * IOninja reads the wiki on the new United States Secretary of Education
20:21 IOninja educated in a private highscool and has "bachelor's degree in business administration". Well, if that doesn't prepare a person to be the Secretary of Education I don't know what will.... :P
20:36 meept joined #perl6
20:36 pyrimidine joined #perl6
20:37 timotimo don't watch how she was interviewed by all the senators and such
20:37 timotimo it'll make you lose faith in humanity
20:38 IOninja heh
20:39 El_Che timotimo: her assignment is pretty much the same travesty as other secrataries: take someone that actively works on undermining the department he/she's supposed to lead
20:39 timotimo yeah
20:39 timotimo but god damn it
20:40 timotimo at least she supports accountability
20:51 gdonald joined #perl6
20:53 Geth ¦ ecosystem: atweiden++ created pull request #296: rename atweiden/**/META.info to META6.json
20:53 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/pull/296
20:53 Geth ¦ ecosystem: 1d787f2e32 | (Andy Weidenbaum)++ | META.list
20:53 Geth ¦ ecosystem: rename atweiden/**/META.info to META6.json
20:53 Geth ¦ ecosystem: review: https://github.com/perl6/e​cosystem/commit/1d787f2e32
20:53 Geth ¦ ecosystem: 98e7f3c30e | (Andy Weidenbaum)++ | META.list
20:53 Geth ¦ ecosystem: Merge pull request #296 from atweiden/meta6-json
20:53 Geth ¦ ecosystem:
20:53 Geth ¦ ecosystem: rename atweiden/**/META.info to META6.json
20:53 Geth ¦ ecosystem: review: https://github.com/perl6/e​cosystem/commit/98e7f3c30e
20:58 mempko joined #perl6
20:59 mempko I need help :-( I accidently renamed my module's META.info to META6.json.
20:59 mempko Even after renaming it back to META.info and pushing to github, zef cannot locate my module
21:00 [Coke] did you try 'zef update' ?
21:00 sufrostico joined #perl6
21:00 mempko The module is this https://github.com/mempko/PKafka
21:01 mempko zef update does not seem to work.
21:01 thdr|2 joined #perl6
21:01 mempko I am building a docker image using latest rakudo-star image as the base
21:02 mempko example Dockerfile
21:02 mempko https://gist.github.com/mempko/1​a9a8c49b80123f1ffe16f2746f5529e
21:03 mempko when I do zef update on my local. I then run "zef search Pkafka"
21:03 RabidGravy that should be fine on the face of it
21:03 mempko and only see the one from Zef::Repository::LocalCache
21:06 mempko https://github.com/perl6/ecosys​tem/blob/master/META.list#L498
21:06 mempko curling that returns the correct valid json.
21:06 RabidGravy I think it probably was wrongly named at the moment the thing was built an hour or so ago
21:07 mempko Does zef get it's list from somewhere else?
21:07 RabidGravy and got chucked out the projects.json because the META file wasn't there
21:07 RabidGravy yes
21:07 mempko Ah
21:07 TEttinger joined #perl6
21:07 mempko My guess is next rebuild it will come back?
21:07 RabidGravy there is a JSON file that has all the META files in one basically
21:08 RabidGravy if it can't find the META file or it can't parse it as a JSON it won't be included
21:08 mempko When can I expect the next build?
21:08 RabidGravy yeah, it builts
21:08 RabidGravy well shortly
21:08 El_Che mempko: in case you need smaller (and by no means an answer to your question), there is JJ's alpine perl6 image (https://github.com/JJ/alpine-perl6) or you can install the rakudo pkgs in your image I provide here (https://github.com/nxadm/rakudo-pkg/releases/)
21:09 El_Che (of course the rakudo-star is the official one)
21:10 mempko nice
21:11 mempko Yay, it's back!
21:11 El_Che I created the packages because it helped me iternate faster (through jenkins pipes). Build time was reduced from very long to seconds :)
21:11 mempko Lesson learned, don't assume anything.
21:11 El_Che (we standardize on centos 7 at work, personally I work on ubuntu, hence those packages)
21:11 IOninja mempko, META6.json is the more modern name BTW
21:12 [Coke] (perl6 images) - can we use those for https://github.com/perl6/doc/issues/788 ?
21:12 mempko Yes i realized that. I will have to do a double buffer thing. Add META6.json. Then do PR to ecosystem
21:12 mempko and then finally remove META.info.
21:13 IOninja .ask ugexe what's the url of zef's package list (or does it use same as panda)? how often does it get updated?
21:13 yoleaux IOninja: I'll pass your message to ugexe.
21:14 IOninja mempko, in an "emergency" you can also check out the repo you want to install and run 'zef install .' in it
21:14 [Coke] IOninja: https://github.com/ugexe/zef/blob/e6c0172861cb7601​5e500d91cf1da1e81293520f/resources/config.json#L28 ?
21:14 mempko Thanks, yeah thanks. I ended up doing that
21:15 mempko I am actually using perl6 for production. Yay for perl6
21:16 El_Che mempko: yay for the kafka module, by the way
21:16 mempko perl6 app distributed on a mesos cluster. What a time to live.
21:16 mempko thanks
21:16 El_Che I am pretty sure people would like to hear about the production part
21:17 mempko I'll put writing a blog post about it on my bucket list
21:17 jjido_ joined #perl6
21:18 mempko My use case at the moment. I have nginx logs going to kafka. Using my PKafka library to parse them asynchronously
21:18 mempko perl6 grammars are fantastic.
21:18 mempko Also writing network code that pushs to a socket is stupid easy.
21:19 mempko I wrote a graphite compatible time series DB and have my perl6 app push to it.
21:19 El_Che nice
21:22 mempko https://gist.github.com/mempko/e​b176bed65f9b60a2aaaea0cb59eadd0
21:22 mempko anyway, thank you all for your help.
21:22 cdg joined #perl6
21:23 cdg joined #perl6
21:25 labster joined #perl6
21:27 bjz joined #perl6
21:29 IOninja [Coke]: thanks.
21:31 ChoHag joined #perl6
21:36 sufrostico joined #perl6
21:37 andrzejku joined #perl6
21:39 MasterDuke timotimo: looking at the profile Ulti linked earlier today, push-exactly@SETTING::src/core/Iterator.pm:28, AT-KEY@SETTING::src/core/Hash.pm:48, and postcircumfix:<{ }>@SETTING::src/core/hash_slice.pm:6 are all only speshed, not jitted
21:39 MasterDuke and push@SETTING::src/core/IterationBuffer.pm:22 is just interpreted
21:40 MasterDuke i would have expected more jitting?
21:42 gfldex IOninja: see https://github.com/ugexe/zef/blob​/master/resources/config.json#L28
21:43 Eddward joined #perl6
21:48 timotimo MasterDuke: you know about the MVM_JIT_LOG?
21:48 MasterDuke i don't really understand it, but yeah
21:54 alimon joined #perl6
21:56 MasterDuke .ask Ulti what code did you run to generate your profile?
21:57 yoleaux MasterDuke: I'll pass your message to Ulti.
21:57 timotimo what the flying fuck, wordpress
21:58 timotimo so apparently i can no longer get just a list of comments that were posted on one of my sites?
22:00 gfldex timotimo: did you give them moneys?
22:00 timotimo no
22:00 itcharlie1 left #perl6
22:02 cdg_ joined #perl6
22:02 joseds joined #perl6
22:02 Lucas_One joined #perl6
22:03 MasterDuke timotimo: https://gist.github.com/MasterDuke1​7/6598d712a0afcbb17c42c1b938542559, count of the different types of BAILs
22:05 jeffythedragonsl joined #perl6
22:06 timotimo it'd be most interesting to see what causes these particular frames to bail
22:06 timotimo i once tried to jit throwpayloadlex. it was bad
22:07 RabidGravy oh I see I *was* still logged in
22:09 pmurias joined #perl6
22:09 Sound joined #perl6
22:13 meept joined #perl6
22:15 MasterDuke timotimo: how does one see what causes frames to bail?
22:18 timotimo look upwards from the bail to the last frame name, or downwards from a frame you're interested in until you find a bail or the start of a new frame
22:21 MasterDuke the name before most of the `param_sn` bails was `bless`
22:21 timotimo mhm
22:21 timotimo do AT-KEY and push-exactly even occur in the file?
22:22 MasterDuke AT-KEY does once
22:26 Lucas_One joined #perl6
22:26 labster joined #perl6
22:28 timotimo OK, so it's attempted a jit for that. does it bail?
22:30 MasterDuke i don't think so. it says `Constructing JIT graph (cuuid: 5636, name: 'AT-KEY')`, bunch of lines (no BAILs), the next JIT related line is `Constructing JIT graph (cuuid: 3963, name: 'infix:<eq>')`
22:31 ocbtec joined #perl6
22:32 timotimo OK, then it jits that successfully, but it doesn't invoke the jitted version?
22:32 timotimo or does it not count correctly?
22:33 Eddward camelia: m: use URI::Escape; uri-unescape(q[=+=]).say
22:33 camelia Eddward: rakudo-moar 51b0ab: OUTPUT«===SORRY!===␤Could not find URI::Escape at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-1/share/perl6/site␤    /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-1/share/perl6␤    CompUnit::R…»
22:33 Eddward darn
22:33 MasterDuke are those rhetorical questions or would the log have answers?
22:39 heatsink joined #perl6
22:43 labster joined #perl6
22:53 timotimo oh
22:53 timotimo sorry. i don't know why that doesn't work as expected
22:54 LeCamarade joined #perl6
23:00 pyrimidine joined #perl6
23:03 gdonald joined #perl6
23:06 LeCamara1e joined #perl6
23:11 sufrostico joined #perl6
23:13 kyan joined #perl6
23:14 labster1 joined #perl6
23:15 pyrimidine joined #perl6
23:16 LeCamarade joined #perl6
23:27 mr-foobar joined #perl6
23:28 Eddward I have an interesting problem.  In p5 I'm able to decode 'Adagio\%20-\%20Piu\C\%80\%20andante' to 'Adagio - PiuÌ\x[80] andante' by just decoding the uri with a s/// expression.
23:28 Eddward Doing the same thing in p6 I get 'Adagio - Più andante'
23:28 IOninja hehe, that *is* interesting
23:28 Eddward wait.  The irc client didn't like any of that....
23:29 IOninja oh wait, no, I thought the weird I was the interesting part.
23:29 IOninja Eddward: what's this stuff? URLs?
23:29 Eddward So, the good case, 'Adagio\%20-\%20Piu\C\%80\%20andante'  =>  'Adagio - Più andante'
23:30 Eddward It's a substring from a long file:/// URI.
23:30 IOninja I don't recall \C being special in URL encoding
23:30 Eddward I'm trying to decode it and drop it into a playlist.
23:30 IOninja star: use URI::Escape; say uri-unescape 'Adagio\%20-\%20Piu\C\%80\%20andante'
23:30 camelia star-m 2016.10: OUTPUT«Malformed UTF-8 at line 1 col 1␤  in block  at /home/camelia/star-2016.10/share/perl6/site/so​urces/A541643C9AEAA4863E2FA70508DC38EF5D723F1C (URI::Escape) line 32␤  in sub uri-unescape at /home/camelia/star-2016.10/share/per​l6/site/sources/A541643C9AEAA4863…»
23:30 IOninja orly
23:30 IOninja Now that's weird.
23:31 IOninja Eddward: what's \C supposed to be?
23:31 Eddward I'm not sure.
23:32 Eddward The file name is Brahms - Symphony No 1 in C Major/Symphony No. 1 in C Minor, Op. 68 - IV. Adagio - Più andante - Allegro non troppo, ma con brio.mp3
23:32 lep-delete joined #perl6
23:32 IOninja star: use URI::Escape; say uri-unescape 'Adagio\%20-\%20Piuu\%80\%20andante'
23:32 camelia star-m 2016.10: OUTPUT«Malformed UTF-8 at line 1 col 1␤  in block  at /home/camelia/star-2016.10/share/perl6/site/so​urces/A541643C9AEAA4863E2FA70508DC38EF5D723F1C (URI::Escape) line 32␤  in sub uri-unescape at /home/camelia/star-2016.10/share/per​l6/site/sources/A541643C9AEAA4863…»
23:33 IOninja Oh. My terminal's messed up now
23:33 IOninja And it does it with funky unicode chars
23:33 gfldex Eddward: did you check if the file is stored as proper utf-8 on the file system?
23:33 gfldex filename even
23:33 nicq201 joined #perl6
23:34 Eddward banshee stores it as "file:
23:34 Eddward ///space/pub/music/mp3/Musopen\%20DVD/Br​ahms\%20-\%20Symphony\%20No\%201\%20in\%
23:34 Eddward 20C\%20Major/Symphony\%20No.\%201\%20in\​%20C\%20Minor,\%20Op.\%2068\%20-\%20IV.\
23:34 Eddward %20Adagio\%20-\%20Piu\C\%80\%20andante\​%20-\%20Allegro\%20non\%20troppo,\%20ma
23:34 Eddward \%20con\%20brio.mp3"
23:34 Eddward Oh well, I have to run for a few minutes.  Bad timing on my part.
23:34 IOninja star: use URI::Escape; say uri-unescape '%80'
23:34 camelia star-m 2016.10: OUTPUT«Malformed UTF-8 at line 1 col 1␤  in block  at /home/camelia/star-2016.10/share/perl6/site/so​urces/A541643C9AEAA4863E2FA70508DC38EF5D723F1C (URI::Escape) line 32␤  in sub uri-unescape at /home/camelia/star-2016.10/share/per​l6/site/sources/A541643C9AEAA4863…»
23:34 IOninja m: "\x[80]".uniname.say
23:34 camelia rakudo-moar 51b0ab: OUTPUT«<control-0080>␤»
23:34 IOninja that's.. useful -_-
23:36 geekosaur that's all you're getting from it; as a unicode codepoint it's just a mirror NUL per iso8859-1
23:38 jdmmmmm joined #perl6
23:39 IOninja .tell Eddward seeing all those backslashes, looks like there's a layer of another encoding. The \C\%80 part is supposed to be %CC%80 (if we're talking about just percent encoding). So seeing what that other layer of encoding is would be the next step
23:39 yoleaux IOninja: I'll pass your message to Eddward.
23:40 cibs joined #perl6
23:44 Eddward IOninja: Sorry to run.  I had to give a child a ride.
23:44 yoleaux 23:39Z <IOninja> Eddward: seeing all those backslashes, looks like there's a layer of another encoding. The \C\%80 part is supposed to be %CC%80 (if we're talking about just percent encoding). So seeing what that other layer of encoding is would be the next step
23:44 Actualeyes joined #perl6
23:44 heatsink left #perl6
23:46 Eddward star: use URI::Escape; say uri-unescape '=+='
23:46 camelia star-m 2016.10: OUTPUT«= =␤»
23:46 Eddward uri-unescape doesn't handle + or I'd use that.
23:48 IOninja Seems to handle it fine. What did you want it to show up as?
23:48 gfldex there is a sloppy version for utf8 (name does escape me right now) that should be used in URI::Escape but doesn't
23:50 Eddward IOninja: I thought it would be a +
23:50 Eddward star: use URI::Escape; say uri-unescape '---+---'
23:50 camelia star-m 2016.10: OUTPUT«--- ---␤»
23:50 IOninja Eddward: but it's a reserved char
23:50 Eddward oh.
23:51 Eddward banshee is messing that up then.  It's in several of the names in sqlite.
23:51 IOninja What's the Perl 5 thing that decodes your stuff just fine?
23:51 Eddward s/%([0-9A-Fa-f]{2})/chr(hex($1))/egr
23:52 Eddward That's what the uri decode library in perl5 says it used.  I saved myself the dependency.
23:53 nicq201 left #perl6
23:53 Eddward I'm trying to find the pm I was looking at.
23:54 IOninja that can't be it, what's with all the backslashes?
23:54 Eddward URI::Escape
23:54 Eddward That's was I get out of  $sth.allrows.flat.perl.say
23:55 Eddward "file:///space/pub/music/mp3/Musopen\%20DVD/B​rahms\%20-\%20Symphony\%20No\%201\%20in\%20C\​%20Major/Symphony\%20No.\%201\%20in\%20C\%20M​inor,\%20Op.\%2068\%20-\%20IV.\%20Adagio\%20-​\%20Piu\%CC\%80\%20andante\%20-\%20Allegro\%2​0non\%20troppo,\%20ma\%20con\%20brio.mp3"
23:56 IOninja Oh, so now that has proper %CC
23:56 Eddward star: use URI::Escape; say uri-unescape 'file:///space/pub/music/mp3/Musopen\%20DVD/B​rahms\%20-\%20Symphony\%20No\%201\%20in\%20C\​%20Major/Symphony\%20No.\%201\%20in\%20C\%20M​inor,\%20Op.\%2068\%20-\%20IV.\%20Adagio\%20-​\%20Piu\%CC\%80\%20andante\%20-\%20Allegro\%2​0non\%20troppo,\%20ma\%20con\%20brio.mp3'
23:56 camelia star-m 2016.10: OUTPUT«Malformed termination of UTF-8 string␤  in block  at /home/camelia/star-2016.10/share/perl6/site/so​urces/A541643C9AEAA4863E2FA70508DC38EF5D723F1C (URI::Escape) line 32␤  in sub uri-unescape at /home/camelia/star-2016.10/share/​perl6/site/sources/A541643C9AE…»
23:56 Eddward perhaps I cut wrong.  Sorry.
23:56 IOninja star: use URI::Escape; say uri-unescape "file:///space/pub/music/mp3/Musopen\%20DVD/B​​rahms\%20-\%20Symphony\%20No\%201\%20in\%20C\​​%20Major/Symphony\%20No.\%201\%20in\%20C\%20M​​inor,\%20Op.\%2068\%20-\%20IV.\%20Adagio\%20-​​\%20Piu\%CC\%80\%20andante\%20-\%20Allegro\%2​​0non\%20troppo,\%20ma\%20con\%20brio.mp3"
23:56 camelia star-m 2016.10: OUTPUT«file:///space/pub/music/mp3/Musopen DVD/B​rahms - Symphony No 1 in C​ Major/Symphony No. 1 in C M​inor, Op. 68 - IV. Adagio -​ Più andante - Allegro%2​0non troppo, ma con brio.mp3␤»
23:57 IOninja The messed up portions is likely just me copy-pasteing fropm the log​0non\%20troppo,\%20ma\%20con\%20brio.mp3"
23:57 Eddward star: use URI::Escape; say uri-unescape "file:///space/pub/music/mp3/Aesop\%20R​ock/Skelethon\%20(Deluxe\%20Version)\%2​0\%5BExplicit\%5D\%20\%5B+digital\%20bo​oklet\%5D/01\%20-\%20Leisureforce.mp3"
23:57 camelia star-m 2016.10: OUTPUT«file:///space/pub/music/mp3/Aesop Rock/Skelethon (Deluxe Version) [Explicit] [ digital booklet]/01 - Leisureforce.mp3␤»
23:58 Eddward Should be a '+' infront of 'digital booklet'
23:59 IOninja Well, either fix your data or stick .subst: :g, '+', %2B on it
23:59 Eddward mono must mess up the encode going into the db?
23:59 IOninja *before* uri-unescaping it

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

Perl 6 | Reference Documentation | Rakudo