Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-01-04

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 notviki .oO( that probably answers my question actually... )
00:01 * notviki goes for three version in three classes
00:06 agentzh joined #perl6
00:17 shayan_ joined #perl6
00:30 SmokeMachine masak: I saw your train track post... that's great!
00:32 SmokeMachine masak: do you think something like this (https://github.com/FCO/ProblemSolver) could be helpful on that?
00:53 TEttinger joined #perl6
00:54 cdg joined #perl6
00:57 Khisanth joined #perl6
01:02 BenGoldberg joined #perl6
01:07 kurahaupo__ joined #perl6
01:08 Ben_Goldberg joined #perl6
01:08 cdg joined #perl6
01:09 notviki m: https://gist.github.com/zoffixznet​/777579558a0d9c8b4948065f64ec513e
01:09 camelia rakudo-moar f9ed73: OUTPUT«[("a"=>55,"c"=>1,"b"=>3).BagHash]␤»
01:09 notviki Any idea why my clone isn't working?
01:09 notviki I even added a print statement to Hash.clone and it is printed, so I don't get how it's still coupled :S
01:10 notviki and only coupled for some things only... like the "z" change doesn't show up :/
01:10 notviki ooh
01:10 notviki those are pair objects.
01:10 notviki Sure. Sit for 70 minutes pondering this and find the answer 1 minute after asking on IRC -_-
01:10 * notviki goes to bed
01:10 mst that's what always happens
01:11 timotimo i want bed, too
01:11 timotimo but hiccups have been particularly incessant today
01:12 shayan_ joined #perl6
01:13 aborazmeh joined #perl6
01:13 aborazmeh joined #perl6
01:24 astj_ joined #perl6
01:27 kurahaupo__ joined #perl6
01:28 rpburkholder joined #perl6
01:31 SmokeMachine .tell masak do you think that this (https://github.com/FCO/ProblemSolver) could be useful for your train track project?
01:31 yoleaux SmokeMachine: I'll pass your message to masak.
01:32 AlexDaniel joined #perl6
01:33 unicodable6 joined #perl6
01:33 bwisti joined #perl6
01:37 shayan_ joined #perl6
01:45 curt_ Is it possible to make an Enumeration value out of a string?
01:45 curt_ enum E <A B C>; sub foo(E :$e) { ... }; my $b = 'B'; foo(??? $b ???);
01:47 curt_ I tried to get the enum value out of the Enumeration, but it just gives me a Pair.
01:48 curt_ m: enum E <A B C>; sub foo(E :$e) { say $e; }; my $b = 'B'; foo(e => E.enums.first: { .key eq $b});
01:48 camelia rakudo-moar f9ed73: OUTPUT«Type check failed in binding to $e; expected E but got Pair (:B(1))␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
01:49 AlexDaniel m: enum E <A B C>; say E(‘B’)
01:49 camelia rakudo-moar f9ed73: OUTPUT«(E)␤»
01:50 curt_ thank you!
01:50 AlexDaniel hmmmm wait something is wrong
01:51 curt_ yep, doesn't work
01:51 AlexDaniel mc: enum E <A B C>; say E(‘B’)
01:51 committable6 AlexDaniel, ¦«2015.12»: (E)
01:51 AlexDaniel hm ok
01:53 AlexDaniel aaah it's by its int value
01:53 AlexDaniel mc: enum E <A B C>; say E(1)
01:53 committable6 AlexDaniel, ¦«2015.12»: B
01:55 AlexDaniel m: enum E <A B C>; my $x = ‘B’; say E(E.enums{$x})
01:55 camelia rakudo-moar f9ed73: OUTPUT«B␤»
01:55 AlexDaniel this is a bit too complicated
01:57 cdg joined #perl6
01:58 cdg_ joined #perl6
01:59 AlexDaniel curt_: by the way, what do you mean by “Enumeration value”?
01:59 AlexDaniel m: enum E <A B C>; my $x = ‘B’; say E.enums{$x}
01:59 camelia rakudo-moar f9ed73: OUTPUT«1␤»
01:59 AlexDaniel perhaps this is enough for you? ↑
01:59 AlexDaniel .enums returns a Map, which is exactly what you need I think
02:00 curt_ Yes, that should work for me
02:02 SmokeMachine m: enum E <A B C>; my $val = "B"; say E::{$val}
02:02 camelia rakudo-moar f9ed73: OUTPUT«B␤»
02:03 SmokeMachine m: enum E <A B C>; my $val = "B"; say E::{$val}.perl
02:03 camelia rakudo-moar f9ed73: OUTPUT«E::B␤»
02:03 AlexDaniel that's better
02:04 SmokeMachine m: enum E <A B C>; say E::<B>
02:04 camelia rakudo-moar f9ed73: OUTPUT«B␤»
02:05 curt_ m: enum E <A B C>; my $val = "B"; my $t = E; say $t::{$val}.perl;
02:05 camelia rakudo-moar f9ed73: OUTPUT«Any␤»
02:05 curt_ m: enum E <A B C>; my $val = "B"; my $t = E; say "$t"::{$val}.perl;
02:05 camelia rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3 C>; my $val = "B"; my $t = E; say "$t":7⏏5:{$val}.perl;␤    expecting any of:␤        colon pair␤»
02:07 SmokeMachine m: enum E <A B C>; $t := E; my $val = "B"; say $t::{$val}
02:07 camelia rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$t' is not declared␤at <tmp>:1␤------> 3enum E <A B C>; 7⏏5$t := E; my $val = "B"; say $t::{$val}␤»
02:08 SmokeMachine m: enum E <A B C>; my $t := E; my $val = "B"; say $t::{$val}
02:08 camelia rakudo-moar f9ed73: OUTPUT«(Any)␤»
02:09 SmokeMachine m: enum E <A B C>; my \t := E; my $val = "B"; say t::{$val}
02:09 camelia rakudo-moar f9ed73: OUTPUT«B␤»
02:09 bdo joined #perl6
02:10 SmokeMachine curt_: is that what you want?
02:11 curt_ yes
02:11 curt_ SmokeMachine: thank you
02:12 SmokeMachine :)
02:15 teksteiner joined #perl6
02:28 BenGoldberg m: (enum F <D E F>)::{"E"}.say;
02:28 camelia rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3(enum F <D E F>):7⏏5:{"E"}.say;␤    expecting any of:␤        colon pair␤»
02:29 BenGoldberg m: dd (enum F <D E F>);
02:29 camelia rakudo-moar f9ed73: OUTPUT«Map.new((:D(0),:E(1),:F(2)))␤»
02:29 BenGoldberg m: (enum F <D E F>).{"E"}.say;
02:29 camelia rakudo-moar f9ed73: OUTPUT«1␤»
02:29 BenGoldberg m: enum F <D E F>; dd F;
02:29 camelia rakudo-moar f9ed73: OUTPUT«F␤»
02:29 BenGoldberg m: enum F <D E F>; dd F.WHAT;
02:30 camelia rakudo-moar f9ed73: OUTPUT«F␤»
02:30 BenGoldberg m: enum F <D E F>; say F;
02:30 camelia rakudo-moar f9ed73: OUTPUT«(F)␤»
02:30 bstamour joined #perl6
02:31 BenGoldberg m: say (enum F <D E F>).{"E"} :key;
02:31 camelia rakudo-moar f9ed73: OUTPUT«Unexpected named argument 'key' passed␤  in block <unit> at <tmp> line 1␤␤»
02:31 BenGoldberg m: say (enum F <D E F>).{"E" :key};
02:31 camelia rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤You can't adverb "E"␤at <tmp>:1␤------> 3say (enum F <D E F>).{"E" :key7⏏5};␤    expecting any of:␤        pair value␤»
02:32 BenGoldberg m: my $e = enum F <D E F>; say $e<E>;
02:32 camelia rakudo-moar f9ed73: OUTPUT«1␤»
02:32 BenGoldberg m: my $e = enum F <D E F>; say $e<E>:key;
02:32 camelia rakudo-moar f9ed73: OUTPUT«Unexpected named argument 'key' passed␤  in block <unit> at <tmp> line 1␤␤»
02:32 BenGoldberg m: my $e = enum F <D E F>; say $e<E>:kv;
02:32 camelia rakudo-moar f9ed73: OUTPUT«(E 1)␤»
02:32 BenGoldberg m: my $e = enum F <D E F>; say $e<E>:k;
02:32 camelia rakudo-moar f9ed73: OUTPUT«E␤»
02:33 SmokeMachine m: enum E <A B C>; my $t := E; my $val = "B"; say $t{$val}:k
02:33 camelia rakudo-moar f9ed73: OUTPUT«()␤»
02:33 SmokeMachine m: enum E <A B C>; my $t = E; my $val = "B"; say $t{$val}:k
02:33 camelia rakudo-moar f9ed73: OUTPUT«()␤»
02:34 SmokeMachine m: enum E <A B C>; my $t := ::E; my $val = "B"; say $t{$val}:k
02:34 camelia rakudo-moar f9ed73: OUTPUT«()␤»
02:34 SmokeMachine m: enum E <A B C>; my $t := E; de $t
02:34 camelia rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    de used at line 1. Did you mean 'dd'?␤␤»
02:35 SmokeMachine m: enum E <A B C>; my $t := E; dd &t
02:35 AlexDaniel oh, :k !
02:35 camelia rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    t used at line 1␤␤»
02:35 SmokeMachine m: enum E <A B C>; my $t := E; dd $t
02:35 camelia rakudo-moar f9ed73: OUTPUT«E␤»
02:36 SmokeMachine m: enum E <A B C>; my $t := E; my $val = "B"; say $t.{$val}
02:36 camelia rakudo-moar f9ed73: OUTPUT«(Any)␤»
02:36 kalkin-_ joined #perl6
02:36 SmokeMachine m: enum E <A B C>; my $t = E; my $val = "B"; say $t.{$val}
02:36 camelia rakudo-moar f9ed73: OUTPUT«(Any)␤»
02:38 BenGoldberg m: enum F <D E F>; say keys F;
02:38 camelia rakudo-moar f9ed73: OUTPUT«()␤»
02:38 BenGoldberg m: enum F <D E F>; say values F;
02:38 camelia rakudo-moar f9ed73: OUTPUT«()␤»
02:39 BenGoldberg m: say keys enum F <D E F>; ;
02:39 camelia rakudo-moar f9ed73: OUTPUT«(F E D)␤»
02:40 BenGoldberg m: enum F <D E F>; say F.enums;
02:40 camelia rakudo-moar f9ed73: OUTPUT«Map.new((:D(0),:E(1),:F(2)))␤»
02:40 BenGoldberg m: my $f = enum F <D E F>; say $f =:= F.enums;
02:40 camelia rakudo-moar f9ed73: OUTPUT«False␤»
02:41 BenGoldberg m: my $f = enum F <D E F>; say $f, F.enums;
02:41 camelia rakudo-moar f9ed73: OUTPUT«Map.new((:D(0),:E(1),:F(2)​))Map.new((:D(0),:E(1),:F(2)))␤»
02:42 BenGoldberg m: my $f = enum F <D E F>; say $f::;
02:46 camelia rakudo-moar f9ed73: OUTPUT«Map.new((:D(0),:E(1),:F(2)))␤»
02:46 BenGoldberg m: enum F <D E F>; my $f = F; say $f::;
02:46 camelia rakudo-moar f9ed73: OUTPUT«(F)␤»
02:46 timotimo m: enum F <D E G>; my $name = "E"; say F::{$name}.WHAT
02:46 camelia rakudo-moar f9ed73: OUTPUT«(F)␤»
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:49 dalek perl6-most-wanted: 348a454 | titsuki++ | most-wanted/bindings.md:
02:49 dalek perl6-most-wanted: WIP: Algorithm::LibSVM
02:49 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/348a4549e0
02:51 dalek perl6-most-wanted: 2deb248 | titsuki++ | most-wanted/bindings.md:
02:51 dalek perl6-most-wanted: Add missing parentheses
02:51 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/2deb24829e
03:12 noganex joined #perl6
03:16 shayan_ joined #perl6
03:18 g__k__ joined #perl6
03:29 xtreak joined #perl6
03:48 aindilis joined #perl6
03:55 dugword joined #perl6
04:41 dalek doc: b5c315d | coke++ | doc/Language/modules.pod6:
04:41 dalek doc: Use nbsp
04:41 dalek doc: review: https://github.com/perl6/doc/commit/b5c315d1e9
04:41 synopsebot6 Link: http://doc.perl6.org/language/modules
04:44 xtreak joined #perl6
04:55 PapaChub joined #perl6
04:57 rmusial joined #perl6
05:04 espadrine joined #perl6
05:33 Tonik joined #perl6
05:38 PapaChub Backtracking / Ratcheting Regex Question: Can anybody help me figure out how to make this: http://dabe.com/misc/parse-lineage.p6.html *NOT* fall into an infinite loop?
05:44 shayan_ you have 0 awareness
05:44 shayan_ you fucking dumb incel
05:44 shayan_ it matters to me
05:46 timotimo PapaChub: when you reach id and it doesn't match parent, it'll go into child, which immediately goes back into id
05:47 timotimo shayan_: what the hell is wrong with you?
05:47 PapaChub timotimo: Unfortunately, that's kind of what I want…
05:47 synopsebot6 joined #perl6
05:48 shayan_ timotimo: sorry — intended to be directed to a user, not this group….
05:48 timotimo OK
05:48 samcv PapaChub, why is there a replacement character �
05:48 samcv after what you said
05:48 PapaChub A1_B1_100 is the "offspring" of A1 and B1
05:49 PapaChub samcv Did three dots … get converted to an ellipsis?
05:49 timotimo this is kind of like an RPN, isn't it?
05:49 synopsebot6 joined #perl6
05:49 PapaChub I didn't write the input :-}
05:49 samcv uhm that's not an elipsis
05:49 samcv that's the replacement character
05:50 samcv m: "�".uniname.say
05:50 camelia rakudo-moar f9ed73: OUTPUT«REPLACEMENT CHARACTER␤»
05:50 timotimo samcv: i didn't get the replacement character on my end
05:50 samcv hm
05:50 samcv i have elipsis tho
05:50 PapaChub m: "…".uniname.say
05:50 samcv maybe your encoding is off PapaChub
05:50 camelia rakudo-moar f9ed73: OUTPUT«HORIZONTAL ELLIPSIS␤»
05:50 timotimo it has ellipsis and a period
05:50 synopsebot6 joined #perl6
05:50 samcv oh i can't see that one. dammit
05:50 samcv i've seen that tho
05:50 timotimo hah :)
05:51 samcv
05:51 samcv m: '…'.uniname.say
05:51 camelia rakudo-moar f9ed73: OUTPUT«HORIZONTAL ELLIPSIS␤»
05:51 samcv yeah i can see that fine
05:51 timotimo my brain is proper wrecked by sleep deprivation still
05:51 samcv and can see it when anybody else uses it
05:52 timotimo PapaChub: personally i'd parse this format by splitting on _, that's probably 10x easier ;)
05:52 samcv i can see it on irclog for this room
05:53 samcv on the site that is
05:53 samcv maybe PapaChub isn't sending in utf-8?
05:53 * samcv wish she could get the raw irc message he sent so i can figure out what's going on
05:54 Cabanossi joined #perl6
05:54 PapaChub samcv «shrug»
05:54 synopsebot6 joined #perl6
05:54 samcv can't see those either
05:54 samcv PapaChub, check the encoding of your client
05:54 timotimo for some reason they reach me fine
05:54 samcv maybe it's auto-decoding to utf-8?
05:54 timotimo «also shrug» <- are those okay for you samcv?
05:54 samcv that's fine
05:55 PapaChub «…»
05:55 timotimo weird, so my client is perhaps doing some magic per-user detection
05:55 samcv yeah
05:55 synopsebot6 joined #perl6
05:55 samcv i can't see that either PapaChub
05:55 samcv please check your client
05:55 PapaChub Yeah, I'm looking. . .
05:56 samcv my setting atm is  Don't ensure any encoding at all (legacy mode, not recommended) (for ZNC)
05:56 geekosaur I can see those. xchat/hexchat attempts utf8 and falls back to iso8859-1, though, and there's no way to tell from the UI that it did so (it'll display it as utf8)
05:56 samcv which basically means it's not doing anything at all. same for my client
05:56 samcv i have both set to not alter the stream
05:56 timotimo geekosaur: hopefully it will not display it as utf8 to you! :D
05:57 timotimo PapaChub: maybe try to work off of the fact that the very first thing is always a proper parent
05:57 timotimo even though that's not the "proper" recursion semantic
05:58 samcv PapaChub, what client are you using?
05:58 samcv and how are you entering the characters?
05:58 samcv PapaChub, can you try coping and pasting this: …
05:58 samcv those elipsis and send it back to me
05:59 tadzik joined #perl6
06:00 PapaChub samcv …
06:00 synopsebot6 joined #perl6
06:00 samcv nope can't see that
06:00 samcv #fakeunicode
06:00 PapaChub I think I'm killing synopsebot6 each time, too
06:01 timotimo whoopsie-daysies!
06:01 samcv what client though
06:01 timotimo at some point i'm going to port synopsebot to IRC::Client, which is super robust
06:04 samcv also somebody tell me the best way to create a string similar to how you can use Uni.new, to create a string from UTF-16 codepoints
06:04 samcv i need it for some unicode spec tests
06:04 timotimo Buf[int16].new(...).decode('utf16')
06:05 samcv so just string the hex numbbers one after the other and .decode utf16? cool
06:07 kaare_ basic q again, How to reference a self method? (like:)
06:07 kaare_ class a {method b($x) { $x * 2 }; method c {my $a = self.&b}}
06:07 kaare_ which is not the way
06:07 timotimo you have to self.^find_method
06:07 * timotimo disappears to try sleep again
06:08 kaare_ oh
06:08 kaare_ Sleep is overrated
06:12 mst joined #perl6
06:12 M-Illandan joined #perl6
06:12 wictory[m] joined #perl6
06:12 Matthew[m] joined #perl6
06:12 ilmari[m] joined #perl6
06:12 dp[m] joined #perl6
06:12 Matias[m] joined #perl6
06:12 mulk[m] joined #perl6
06:12 xui_nya[m] joined #perl6
06:12 CIAvash[m] joined #perl6
06:20 kybr joined #perl6
06:25 samcv what is this word, s l e e p
06:25 samcv and what does it mean
06:26 kaare_ IIRC it's something young people do
06:27 samcv i'm going to look at QT's UTF-8 decoding code. i read it's SIMD optimized and really fast
06:28 samcv atm 50% of the processing power we use reading a huge text file is just in decoding the utf-8 (mixed ascii and non-ascii type text)
06:28 samcv would be cool
06:29 PapaChub m: dd &sleep
06:29 camelia rakudo-moar f9ed73: OUTPUT«Sub+{Callable[Nil]} sleep = sub sleep ($seconds = Inf --> Nil) { #`(Sub+{Callable[Nil]}|67538040) ... }␤»
06:29 samcv and i'm working on getting the other 25% we use to process into graphemes as low as possible. though i don't think i'm the best person to write super performant utf-8 decoding code
06:30 samcv plus if it's already implemented, no use to try and re-do somethnig that's already really optimized, that isn't really a perl 6 specific thing
06:33 shayan_ joined #perl6
06:34 bwisti joined #perl6
06:34 CIAvash joined #perl6
06:36 shayan_ joined #perl6
06:51 RabidGravy joined #perl6
07:00 darutoko joined #perl6
07:15 domidumont joined #perl6
07:20 domidumont joined #perl6
07:20 pierre_ joined #perl6
07:21 pierre_ joined #perl6
07:22 Melezhik joined #perl6
07:23 Melezhik Hi! And hope everybody has a great holidays
07:24 Melezhik I am looking perl6 equivalent for perl5 'require file-path'
07:25 samcv Melezhik, for removing whole folder trees?
07:25 Melezhik So to load code in runtime , I use a EVALFILE, but I am a bit concern it has overheads due to eval nature, probably I am wrong ..
07:26 Melezhik Samcv: not sure what you mean ,sorry
07:27 samcv what are you trying to do
07:27 Melezhik As I told to load some perl6 code , and this is not a module btw
07:28 wamba joined #perl6
07:28 bjz joined #perl6
07:28 samcv you are trying to load perl 5 code?:
07:28 samcv sorry uh. i still don't know what you are trying to do
07:28 samcv what do you need file-path for, so i can help recommend something
07:29 Melezhik Say I a have a "main" file with some code in and I want to load, well require code from some other file , that is it ...
07:29 samcv ah ok, just some other perl 6 file?
07:30 Melezhik No,, it is all  perl6 code , just spreaded in various files
07:30 Melezhik Yes, exactly
07:30 samcv if it's in the same folder you can do `use filename`, or if it's in a folder called lib you can do `use lib 'lib'; use myfile`
07:30 jast you can use 'use' and 'require' just like in Perl 5
07:30 samcv mostly at least
07:30 jast well, almost. there are some differences but they shouldn't matter for this
07:31 samcv i would tend to go with use in perl 6, cause require does some weird things
07:31 samcv maybe not weird but. not as simple
07:31 Melezhik Well perl6 docs says gets no equivalent for perl5 requires ,.  Or I miss something ?
07:31 Melezhik S/gets/there's
07:31 samcv requires is not the same deep down. just use `use`
07:32 samcv and you should be fine
07:32 Melezhik Thanks , what if I need load file by absolute, relative path ?
07:32 jast 'need' seems a little more similar to Perl 5's 'require', though one big difference is that it happens at compile time
07:33 samcv `use folder::otherfolder::file`
07:33 samcv just based on the folder naming or whatever. if you don't `use 'lib'` i usually put my stuff in a 'lib' directory but you could put it at the same level, nothing wrong with that
07:35 Melezhik Well, so I should anyway set up a perl6 library path ? So u
07:35 samcv for just this program? uh no you shouldn't have to?
07:35 Melezhik I can't just load a file by some path ?
07:36 kaare_ Seems you can with require. Not with use or need
07:36 samcv you mean like `use folder/file.pm6` or something?
07:36 samcv require can be weird though hm.
07:36 samcv idk i'm not an expert on modules :\
07:36 jast from a quick look at the docs, it *looks* like require won't accept a filename, only a compunit name
07:37 kaare_ equire 'lib/DBIish.pm6'; works for me
07:37 kaare_ require etc
07:37 Melezhik No I mean to load any file with perl6 code, not exactly with pm6 extension and not exactly to a be a perl6 module
07:37 jast oh well
07:37 Melezhik So, probably require should work ?
07:38 kaare_ Except I don't know what the weird stuff is
07:38 Melezhik Require '/some/path/' ?
07:38 jast seems like it. unlike in Perl 5, though, Perl 6's require seems to import symbols
07:39 nine jast: is the importing really implemented?
07:40 Melezhik Well, probably I need to take some experiments, to check it ..
07:40 nine oh, it is
07:40 FROGGS joined #perl6
07:40 jast I'm going by what the docs say
07:41 Melezhik as I told EVALFILE works for me, but see my concerns on its overheads
07:42 jast well it's not like 'require' does less work
07:42 nine One can use require to load a precomp file
07:44 nine Melezhik: what is this file anyway that you try to load? Why do you refer to it as by file name and not a module name?
07:44 bjz joined #perl6
07:45 Melezhik Nine: because code in a file not a module
07:45 nine Where's the difference? What code is in there?
07:45 Melezhik Just an arbitrary perl6 code
07:46 nine Is it like user supplied code that your program just loads and otherwise knows nothing about?
07:47 Melezhik Nine: file contains some functions calls and maybe some othe stuff , but this is not no way is perl6 module definition
07:48 Melezhik Nine: as example you may take a look at sparrowdo docs , sparrowfile scenarios
07:49 xtreak joined #perl6
07:49 Melezhik Nine: that is it https://github.com/melezhik/sparrowdo#usage
07:50 Melezhik So sparrowdo just loads some users scenarios defined in terms of some DSL
07:51 nine Ah, then EVALFILE may just be the right tool for the job after all.
07:51 Melezhik More over sparrowdo scenarios may load other scenarios
07:51 nine Because you need the context
07:51 Melezhik That is it
07:52 Melezhik Nine : as I am not perl6 expert yet , just want to be sure , so I am looking for advise here )))
07:53 Melezhik But I read that EVALFILE is executed via eval , so it mob be slow ?
07:54 Melezhik S/mob/might be/
07:54 nine It will be slow because Perl 6 will compile the file every time you run it. Which probably is only once per program run anyway?
07:55 nine But it looks like most code will be in real modules anyway, so they can be precompiled?
07:56 nine Ah how I wish sparrowdo was available 2 years ago and we could have used it instead of puppet. The possibilities...
07:56 Melezhik In general it is one file , but as I told there might be some including where some scenarios are loaded , so EVALFILE for every scenario ...
07:57 Melezhik Nine: 2 years ago I did bot code perl6 et
07:57 Melezhik Yet ))
07:57 nine But the docs show a Sparrowdo::Nginx module?
07:59 Melezhik Nine: sorry , what do you mean ?
08:00 nine https://github.com/melezhik/​sparrowdo#sparrowdo-modules the unit module Sparrowdo::Nginx; is a proper Perl 6 module that can be loaded via 'use' and therefore be precompiled.
08:01 Melezhik Yes sparrowdo modules are way to extend soarriwdo scenarios and make code reuse , you are right
08:01 nine The syntax could be a lot more terse btw.: task_run <service enable enginx>; with the first word being the plugin, the second an action as defined by the plugin and the third and following the parameters as defined by the action.
08:01 bjz joined #perl6
08:02 Melezhik Yeah , nine: modules are way faster sure
08:03 Melezhik Nine: sure , sparrowdo is quite young yet , do any ideas, patches are welcome )))
08:03 Melezhik I guess I am going to refine syntax soon , you are right
08:05 nine Of course it would be much better to have it all using proper Perl 6 types and checked. So if Sparrowdo would export a sub for each plugin, this could be like: task_run service enable => 'nginx'; for which the compiler can warn you about spelling errors or invalid actions.
08:05 kybr anyone know something about using jupyter notebook?
08:06 kybr is anyone using perl6 and the notebook together?
08:06 arnsholt We have an IPython kernel, but I'm not sure if anyone's using it actively
08:07 arnsholt And it's pretty bare-bones, so for serious use you'll likely want to fix it up a bit
08:07 arnsholt https://github.com/timo/iperl6kernel/
08:07 Melezhik nine:  thanks for pointing this ))
08:08 arnsholt And the code hasn't been touched in over a year, so parts of it may have bitrotted
08:08 arnsholt (IIRC Net::ZMQ, which is a prerequisite, has)
08:16 ufobat joined #perl6
08:19 Vynce joined #perl6
08:19 user9 joined #perl6
08:25 bjz joined #perl6
08:27 brrt joined #perl6
08:35 zakharyas joined #perl6
08:46 g4 joined #perl6
08:58 petrutrimbitas joined #perl6
09:03 jonas2 joined #perl6
09:06 masak 'morning
09:06 yoleaux 01:31Z <SmokeMachine> masak: do you think that this (https://github.com/FCO/ProblemSolver) could be useful for your train track project?
09:06 * masak looks
09:06 masak I got curious about how Smalltalk does its `if` analogue, and I stumbled on this: http://pozorvlak.livejournal.com/94558.html
09:07 masak not only is it a pleasant discussion, but it also mentions both mjd and pdcawley in the post, and it has RandallSchwartz in the comments
09:08 masak g'ah, RandalSchwartz*
09:08 brrt joined #perl6
09:09 masak main takeaway about Smalltalk's way of doing it: `ifTrue: ifFalse:` is a single method -- or, using Smalltalk's parlance, "message"
09:09 masak seemingly messages can be defined as just a set of named parameters -- no need to name the message itself
09:10 masak SmokeMachine: reminds me more about http://strangelyconsistent.org​/blog/send-more-money-in-perl6 than about the train tracks
09:10 arnsholt There are three possible ways of defining a message: unary messages (no arg methods), binary messages (infix operators), and that last case whose name escapes me ATM
09:10 thayne joined #perl6
09:10 masak arnsholt: aha; interesting
09:11 masak arnsholt: I'm currently slowly re-reading http://worrydream.com/EarlyHistoryOfSmalltalk/ -- so many great insights in there
09:11 arnsholt masak: And I disagree with the phrasing in the blog post. It's not a "special case of method dispatch", it's perfectly normal method dispatch
09:11 masak I'm occasionally floored by the power of the idea of "every object is itself a small computer, instead of a weakened part of one"
09:12 masak arnsholt: maybe $author meant "it's an instance of method dispatch", but phrased it badly
09:12 arnsholt Yeah, I suspect so
09:18 arnsholt masak: Anyways, Smalltalk is super-neat. Working with it is generally quite pleasant (and when it isn't at $work, it's usually due to either our codebase being super-crufty or our Smalltalk compiler being super-{old,crufty})
09:18 brrt joined #perl6
09:18 arnsholt If you have questions I can probably answer at least some of them
09:19 masak I have questions, but haven't gone through the work of making them concrete enough to ask :)
09:19 Actualeyes joined #perl6
09:20 masak maybe, for now: what's your take on the closure<->object correspondence?
09:20 masak in some way, lambda calculus sells the world view "everything's a closure", whereas Smalltalk sells "everything's an object"
09:21 brrt closures are objects which respond to just one kind of message
09:21 brrt (is what a smalltalk weenie would say)
09:21 masak right
09:21 brrt masak, darnit, i had a question for you just yesterday, and i have forgotten about it
09:22 masak to be clear: I grok what the closure<->object correspondence is; just curious about further takes and insights re it :)
09:22 masak brrt: it was probably about macros
09:22 arnsholt I haven't meditated deeply on it, TBH
09:22 masak brrt: and you probably forgot about it as a kind of mental defense mechanism :P
09:23 arnsholt But pretty much what brrt said: closures are a thing, and to evaluate them you send them a message
09:23 brrt hehehe
09:24 masak even in Smalltalk where closures are objects, they have to have some special relation to the source text in order to close over variables
09:24 brrt that's true
09:24 masak (dealing with macros and ASTs has made me extra sensitive to lexical scopes, and ways in which objects are "rooted" in the source text)
09:24 arnsholt Yeah, they're specialer than the control structures
09:25 arnsholt There's special notation to create them (square brackets), and you probably can't easily subclass them
09:26 masak I have similar issues in 007 with Sub objects
09:26 masak they're... hard to define in a bootstrappy way
09:26 arnsholt Yeah
09:26 masak because they both want to be completely transparent for the crafty language-extender, and have a lot of private talk with the runtime
09:27 arnsholt I had similar problems in Snake (odd coincidence, that =D)
09:27 masak fancy that
09:27 masak we should talk sometime :P
09:27 arnsholt Indeed we should!
09:27 masak <3
09:28 brrt any FOSDEM related plans here?
09:29 El_Che well, enough Perl 6 talks to keep everyone here happy :)
09:29 brrt already fully planned?
09:29 El_Che yes
09:30 El_Che https://fosdem.org/2017/schedule/track/perl/
09:30 El_Che stevan's talk must be adapted though
09:30 pierre_ joined #perl6
09:31 brrt cool :-)
09:35 bjz_ joined #perl6
09:36 samcv .tell jnthn I found the code for QT's SIMD optimized UTF-8 decoder https://code.woboq.org/qt5/qtbase/sr​c/corelib/codecs/qutfcodec.cpp.html thought you might like to see
09:36 yoleaux samcv: I'll pass your message to jnthn.
09:36 brrt joined #perl6
09:36 samcv .tell jnthn seems it can make use of many different instruction sets as well.
09:36 yoleaux samcv: I'll pass your message to jnthn.
09:37 DrForr . o "The Merelo Family" - Now I'm more intrigued.
09:39 El_Che hehee
09:40 El_Che well, I was short in time before the deadline and according to the proposal it was between 2 and 4 people (jj + his 3 daughters). He's often around here, so you could more info. It looked a fun idea to me
09:41 DrForr Oh, I'm pretty sure I can divine the intent. I'm just glad that I could inspire someone like that.
09:41 El_Che our guru :)
09:42 El_Che I like JJ's talks. Always fun. This is probably one of his first perl6 talks
09:43 brrt joined #perl6
09:43 DrForr w00t, a whole 40 minutes. Hopefully I won't lose half the crowd.
09:44 El_Che start working on tap dancing and other crowd pleasing acts :)
09:44 El_Che DrForr: my original idea was a grammar workshop
09:45 xinming joined #perl6
09:45 DrForr Yeah, so you mentioned. I'm going to have to take this weekend to figure out actual content now.
09:45 arnsholt masak: Oh, have you discovered Smalltalk's very neat operator chaining notation yet?
09:48 arnsholt s/operator/method call/
09:48 DrForr Almost exactly 50:50 perl 5/6 if you don't count the Docker talk and Stevan's talk (as being neutral)
09:52 wamba joined #perl6
09:52 El_Che going for then Peace Nobel Price
09:57 DrForr In this crowd the Ig Nobel is more likely to be awarded :)
09:57 El_Che hehe
09:59 DrForr *especially* with that lineup.
10:05 El_Che are there people that had a talk but didn't send a proposal?
10:11 DrForr Not I (obviously :) )
10:13 El_Che I added the docker talk because there was a sudden deadline :)
10:13 DrForr Sudden deadline is sudden.
10:22 gfldex m: say Bool.HOW
10:22 camelia rakudo-moar 528ec5: OUTPUT«Perl6::Metamodel::EnumHOW.new␤»
10:23 xtreak joined #perl6
10:30 Actualeyes joined #perl6
10:36 bjz joined #perl6
10:41 brrt joined #perl6
10:43 aries_liuxueyang joined #perl6
10:49 raschp joined #perl6
10:50 aries_liuxueyang joined #perl6
10:52 rindolf joined #perl6
10:54 cyphase joined #perl6
11:04 mr-foobar joined #perl6
11:12 gregf_ hello
11:13 Dunearhp joined #perl6
11:13 gregf_ was Moose like a step to help Perl5 devs make a smooth transition to Perl6?
11:13 notviki No.
11:13 Ven joined #perl6
11:14 * notviki summons mst
11:14 gregf_ cuz i can see Method::Signatures, MooseX::MultiMethods (to name a few ) in our current codebase that does the same as Perl6:|
11:14 notviki gregf_: there was some back and forth stealing of ideas.
11:14 notviki mst remembers better
11:15 gregf_ hmm, nevertheless it all helps, as ive seen Perl6 before ive even used those Moose modules ;)
11:15 mst Moose was significantly inspired by the original perl6 metamodel
11:15 mst the current perl6 metamodel was significantly inspired by Moose
11:15 mst lots of other influences in both
11:16 mst but, yeah, lots of mutual idea theft
11:16 gregf_ hmm - ok
11:16 mst gregf_: also, I threw enough of a tantrum over perl6's BUILD requiring extra typing that there's now a TWEAK in rakudo that works like an M* BUILD
11:17 notviki :)
11:17 mst (everybody who did the actual work on that)++
11:18 gregf_ mst++, notviki++, perl{5,6}++
11:18 gregf_ s/p/P/
11:18 mst gregf_: also if you can use keyword plugins replace Method::Signatures with Function::Parameters
11:19 mst F::P + Type::Tiny + Moo == <3
11:19 gregf_ mst: hmm, i see, any performance gain in switching?
11:19 mst no idea, but Devel::Declare is insane and Any::Moose is deprecated and Method::Signatures relies on both
11:20 gregf_ i'll try and use F:P in new code i add ;) #if it passes code review :)
11:20 gregf_ hmm  - ok
11:21 gregf_ oh, so replace Moose with Moose. hmm
11:21 gregf_ s/Moose\./Moo/
11:22 gregf_ mst: cheers
11:22 mst gregf_: well, that one's a different question
11:22 mst if you've got Moose code that's working, no, don't bother
11:22 mst I use Moo for new stuff by default because it makes my test files start faster
11:23 mst but I'm entirely unashamed to move up to Moose if I need the features
11:24 gregf_ ok, havent seen Moo being used at, yet . no. i'll just be happy with Moose for now i guess :)
11:24 gregf_ s/at/yet/
11:24 mst Type::Tiny is the better way to do types for -both- though
11:24 gregf_ yeah, ive user it and Types::Standard
11:25 gregf_ s/user/used/
11:25 brrt joined #perl6
11:29 Ven joined #perl6
11:29 petrutrimbitas joined #perl6
11:40 ecocode joined #perl6
12:01 pierre__ joined #perl6
12:04 pmurias joined #perl6
12:06 pmurias jnthn: throwpayloadlex and throwpayloadlexcaller ops are marked as returning a value, yet they don't return a value
12:06 pmurias (they pass the register address to a function which does nothing with it)
12:07 masak arnsholt: yes, I think I've seen the syntax. not sure if I've seen anything special or noteworthy about it yet, though
12:09 pmurias jnthn: should I make a PR to stop them from trying to return a result.
12:09 jnthn That's something to do with resumable exceptions, I believe
12:09 yoleaux 09:36Z <samcv> jnthn: I found the code for QT's SIMD optimized UTF-8 decoder https://code.woboq.org/qt5/qtbase/sr​c/corelib/codecs/qutfcodec.cpp.html thought you might like to see
12:09 yoleaux 09:36Z <samcv> jnthn: seems it can make use of many different instruction sets as well.
12:10 jnthn pmurias: Lunch now so don't have time to dig further right away, but the API is that way for consistency with the various other throw ops, iirc.
12:14 pmurias jnthn: the returned value is supposed to be taken from resuming of the exception
12:14 pmurias but it's not done
12:23 melezhik joined #perl6
12:25 melezhik nine: to follow up our recent talk on sparrowdo syntax , I just added some todos in sparrowdo docs -https://github.com/melezhik/sparrowdo#core-dsl
12:25 melezhik so it's goning to be 3 level of freedom  1) core dsl 2) plugins DSL 3) modules
12:26 melezhik and forth one - a sparrow plugins of course )))
12:33 arnsholt masak: Mostly it's just really useful in some cases, and avoids the issue with fluent interfaces where methods have to return the invocant to enable chaining
12:38 kalkin-_ I don't know if I overact, but I think it's fair to add Perl6 to this showcase to https://github.com/showcases​/great-for-new-contributors
12:38 masak oh, right. because it's syntax here, and not something the API author has to put in.
12:39 arnsholt Yup
12:39 kalkin-_ #perl6 has one of the nicest and welcoming culture I've seen in software project
12:39 pmurias melezhik: what functionality does sparrowdo provide?
12:40 arnsholt OTOH it means that Object has a method called yourself which just returns the invocant, in case you actually do want the invocant back in the end =)
12:40 El_Che kalkin-_: pretty cool!
12:42 DrForr kalkin-_: Yay! I'd agree re: great-for-new-contributors, especially now that the documentation side is starting to take off.
12:43 lizmat kalkin-_ : please use the link at the bottom of the page "Contact Github", worked fine yesterday  :-)
12:43 melezhik Hi pmurias: sparrowdo is configuration management tool
12:44 melezhik or tool for server deploy automation
12:45 pierre__ joined #perl6
12:53 melezhik pmurias: or even just a tool to run whatever users scenarios remotely ( like rex for perl5 , but I guess there is difference though )
12:54 ChoHag joined #perl6
12:54 El_Che melezhik: looks like puppet manifests
12:59 kalkin-_ I remember there was some Perl6 guideline, saying: be nice to each other, but i currently can't find it
12:59 kalkin-_ does some one have a link?
12:59 DrForr On the front page of perl6.org IIRC. "be kind to..."
13:00 El_Che https://perl6.org/community/
13:00 El_Che "We are a bunch of volunteers developing Perl 6 and Perl 6 applications, and try real hard to be nice to each other. "
13:00 kalkin-_ They only say be nice to each other, but not some text
13:00 kalkin-_ I thought there were some elaborated version of it
13:01 kalkin-_ s/were/was/
13:01 El_Che kalkin-_: I remember we discussed this: https://gist.github.com/nxadm/13c4817dd1b4b792a99f
13:03 ufobat there is no .can($private-method) isn't it?
13:03 notviki no
13:03 notviki Otherwise it wouldn't be private :P
13:04 notviki ufobat: why do you need that?
13:05 notviki m: DateTime.new.^can('!SET-SELF').say
13:05 camelia rakudo-moar 528ec5: OUTPUT«()␤»
13:05 notviki m: DateTime.new.^can('SET-SELF').say
13:05 camelia rakudo-moar 528ec5: OUTPUT«()␤»
13:06 melezhik joined #perl6
13:06 moritz there's a .^private_method_table
13:06 moritz you can do basically anything through the MOP
13:06 notviki m: DateTime.new..^private_method_table.say
13:06 camelia rakudo-moar 528ec5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    private_method_table used at line 1␤␤»
13:06 notviki m: DateTime.new.^private_method_table.say
13:06 camelia rakudo-moar 528ec5: OUTPUT«{SET-SELF => SET-SELF, throw => throw}␤»
13:06 ufobat i want to dispatch to private methods based on a $string, or throw an error
13:07 notviki ufobat: but why is that method private?
13:07 ufobat just because it makes no sense if it is called from outside
13:07 ufobat shouldnt everything be private unless there is a reason for it to be public (e.g it is part of the interface)
13:07 notviki that private method table seems bogus. It doesn't have !formatter, !VALID-UNIT, or !new-from-positional in it
13:08 notviki ufobat: ... but you *are* trying to call it from the outside :|
13:08 ufobat no
13:08 notviki mkay then
13:08 moritz ufobat: it's private becaues Date and DateTime objecst are meant to be immutable
13:08 ufobat m: class A { method !a {say "a"}; method b {say self.can("a")} }; A.new.b
13:08 camelia rakudo-moar 528ec5: OUTPUT«()␤»
13:09 moritz ufobat: if you want to do something with them, you should create a new object with the properties, not recycle an existing one
13:10 ufobat moritz: i am not playin with DAteTime
13:11 moritz ufobat: then I probably missed some context
13:11 ufobat within a (public) method i want to dispatch to different private methods, based on a $.member, i'm just avoiding having a Strategy and Factory for each different possble value of $.member and
13:11 ufobat moritz, the datetime was from notviki
13:15 ufobat i could just do self!"$methodname" and if tere is not such method i could catch it.
13:17 kalkin-_ Any more arguments why Perl6 Community is great? https://gist.githubusercontent.com/kalkin/f93​584f382652007e6ed8f77ad875eab/raw/a41c4ea7a74​d357ab01cb5d700f8224f218c621d/gistfile1.txt
13:17 petrutrimbitas joined #perl6
13:20 El_Che kalkin-_: maybe how the development is done in the open (idea's, discussions, implementation)
13:21 kalkin-_ El_Che: right will add that
13:23 El_Che kalkin-_: try to make the distinction between "open source" (aka the code is there on github) and "open source by the community"
13:23 El_Che something like that
13:26 kalkin-_ El_Che: I don't fully understand what do you mean by "open source by the community"?
13:27 El_Che kalkin-_: I mean that just putting the code on a repo qualifies as open source
13:27 holli joined #perl6
13:27 El_Che but because of communitiy involvement the Perl6 experience is reacher
13:28 notviki Other open source langs don't have community involvement?
13:29 kalkin-_ El_Che: Isn't it the same for any project accepts PRs at Github? Of course Open Source could just mean: “looking but no touching” but then it wouldn't be Great for new Contributors
13:30 kalkin-_ Or there wouldn't be any contributors at all besides, yourself or your company employees
13:30 aborazmeh joined #perl6
13:30 aborazmeh joined #perl6
13:31 kalkin-_ I will definitely add that the development is carried out in the open, but I don't think it's necessary to distinct between open source and "open source by the community"
13:31 El_Che ok
13:32 kalkin-_ El_Che: or may be I didn't understand your argument fully?
13:32 notviki Is it possible to call nqp::for in Perl 6 land? I keep getting "Operation 'for' expects a block as its second operand"
13:33 notviki m: use nqp; my %h = :42a; nqp::for(%h, nqp::stmts(say nqp::iterkey($_)))
13:33 camelia rakudo-moar 528ec5: OUTPUT«===SORRY!===␤Operation 'for' expects a block as its second operand␤»
13:34 lizmat notviki: it is my understanding that nqp::stmts is *not* a block
13:34 lizmat which is precisely why I use it a lot to reduce the overhead of starting a new scope
13:34 notviki m: use nqp; my %h = :42a; nqp::for(%h, {say "mew"})
13:34 camelia rakudo-moar 528ec5: OUTPUT«===SORRY!===␤Operation 'for' expects a block as its second operand␤»
13:34 notviki ok
13:35 lukaramu joined #perl6
13:37 bjz joined #perl6
13:43 El_Che kalkin-_: I just meant that because of the friendly community and the development in the open, it's easy feel part of the direction of the project. But, it's true that there are more projects like that.
13:43 El_Che kalkin-_: for a lot of projects are drive-by-PRs the norm
13:44 kalkin-_ This is good → because of the friendly community and the development in the open, it's easy feel part of the direction of the project.
13:44 kalkin-_ I will try to mention that
13:45 El_Che s/feel/feel and be/
13:49 wamba joined #perl6
13:49 * nine tends to use the term "free software" as to him the important part is the freedom, not that one can look at the source
13:50 kalkin-_ nine: don't want to start a flamewar but afaik the Artistic license is not Free Software
13:51 kalkin-_ St. Richard tells us that Free Software has to guarantee the 4 basic software freedoms
13:51 jast depends on who you ask, there is no one agreed-upon definition of "free software"
14:03 pmurias kalkin-_: Rakudo uses Artistic license 2.0
14:06 kalkin-_ Github Request send out
14:06 kalkin-_ Done
14:07 mcmillhj joined #perl6
14:12 raschp joined #perl6
14:13 raschp Anyone attending the Perl Toolchain Summit 2017?
14:15 * lizmat hopes so
14:17 kurahaupo__ joined #perl6
14:22 * [Coke] waves and skips scrollback
14:23 kalkin-_ I know that some perl6 modules which are just wrappers around NativeCall bring the library they are wrapping with it. Ie Linenoise, but some like OpenSSL & Readline do not, what is the best practice here? Or does Linenoise bring it's own version of the library because it needs to work on windows and it's a part of the Task::Star distri?
14:28 espadrine joined #perl6
14:30 dalek doc: 707efdb | coke++ | doc/Language/ (2 files):
14:30 dalek doc: Split proceed/succeed markers
14:30 dalek doc:
14:30 dalek doc: Closes #1089
14:30 dalek doc: review: https://github.com/perl6/doc/commit/707efdbbce
14:31 tbrowder raschp: got a link to the summit?
14:31 lizmat http://blogs.perl.org/users/book1/201​7/01/perl-toolchain-summit-2017.html
14:32 cibs joined #perl6
14:32 bwisti joined #perl6
14:33 CIAvash joined #perl6
14:34 raschp kalkin-_: I think it has to do with making distribution easier. Linenoise embeds the library because it's usually not available trough other means. OpenSSL & Readline don't embed because the libraries are available trough distros already.
14:35 raschp Linenoise will have to be disembedded to be distributed trough distros, they don't allow embedding.
14:36 raschp The lib and the bindings will have to be distributted separately.
14:36 mscha joined #perl6
14:36 mscha m: say roundrobin((0,1,2),(3,4,5),(6,7)) # This works, but ...
14:36 camelia rakudo-moar 1ee9c8: OUTPUT«((0 3 6) (1 4 7) (2 5))␤»
14:36 mscha m: say roundrobin((^8).rotor(3, :partial)) # ... how do I make this DWIM?
14:36 camelia rakudo-moar 1ee9c8: OUTPUT«(((0 1 2)) ((3 4 5)) ((6 7)))␤»
14:38 notviki m: say roundrobin(|(^8).rotor(3, :partial))
14:38 camelia rakudo-moar 1ee9c8: OUTPUT«((0 3 6) (1 4 7) (2 5))␤»
14:38 raschp m: say roundrobin(^8).rotor(3, :partial).join("|")
14:38 camelia rakudo-moar 1ee9c8: OUTPUT«0 1 2|3 4 5|6 7␤»
14:38 notviki instead of three lists you were passing it just one; the one rotor returned
14:39 mscha notviki: thanks. That easy, eh?  I thought I tried something like that, guess not...
14:39 raschp m: say roundrobin(|(^8).rotor(3, :partial)).join("|")
14:39 camelia rakudo-moar 1ee9c8: OUTPUT«0 3 6|1 4 7|2 5␤»
14:42 kalkin-_ raschp: k, thanks
14:42 raschp kalkin-_: np
14:45 mscha m: my @l = (0,1,2), (3,4,5), (6,7); say roundrobin(|@l);  # But how about this one?
14:45 camelia rakudo-moar 1ee9c8: OUTPUT«(((0 1 2) (3 4 5) (6 7)))␤»
14:46 notviki "It's still all about Perl (and about all Perls)"
14:46 notviki Cool so Perl 6 toolchain will also get some hacking done at the summit?
14:47 notviki s: &roundrobin, \(|[(0,1,2), (3,4,5), (6,7)])
14:47 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/b​lob/1ee9c82/src/core/List.pm#L1622
14:48 kalkin-_ Got an Thanks we will talk to our Explore Team msg from GitHub. I noticed i forgot to mention that the main repo is rakudo/rakudo. I hope the GitHub team will figure it out, because they added yesterday Perl6 to languages showcase
14:48 raschp I think one thing to talk about in the summit is distributions.
14:48 notviki distributions?
14:48 raschp Star
14:48 notviki eh
14:49 mscha m: my $l = ((0,1,2), (3,4,5), (6,7)); say roundrobin(|$l);  # This works, but I don't understand why it doesn't with @l
14:49 camelia rakudo-moar 1ee9c8: OUTPUT«((0 3 6) (1 4 7) (2 5))␤»
14:49 notviki OK :) Not what I think of toolchain, but oK :)
14:49 raschp Well, it's not really, you're right.
14:50 nine kalkin-_: the Artistic License does grant me the 4 freedoms.
14:51 kalkin-_ nine: so i cant take rakudo and make my own closed source version of it and distribute it?
14:53 notviki m: my @l = (0,1,2), (3,4,5), (6,7); sub (**@lol is raw) { dd @lol; for @lol -> \elem {use nqp; dd nqp::iscont(elem)} }( |@l )
14:53 camelia rakudo-moar 8ab6e0: OUTPUT«($(0, 1, 2), $(3, 4, 5), $(6, 7))␤1␤1␤1␤»
14:53 notviki m: my $l = ((0,1,2), (3,4,5), (6,7)); sub (**@lol is raw) { dd @lol; for @lol -> \elem {use nqp; dd nqp::iscont(elem)} }( |$l )
14:53 camelia rakudo-moar 8ab6e0: OUTPUT«((0, 1, 2), (3, 4, 5), (6, 7))␤0␤0␤0␤»
14:53 mst notviki: there will be some if perl6 people are at the summit and decide to work on perl6
14:54 notviki mscha: looks like roundrobin needs some tweakage. It makes some assumptions about the inner els based on their contarization, and when you pass a slipped array the inner items are contarinizined and it treats them as 1-el and stuff them into another list
14:54 itcharlie1 joined #perl6
14:55 notviki mscha: what I'm saying is it's a bug and you should report it by emailing to rakudobug@perl.org
14:55 curt_ joined #perl6
14:55 notviki Unless someone beats me to it, I'll fix it in ~9 hours
14:55 mscha notviki: thanks, will do.
14:55 nine kalkin-_: the 4 freedoms are to run the program for any purpose, study how the program works, redistribute it and improve it and release the improved version. The Artistic License gives you all of the above. It is not a viral license that requires you to grant others those freedoms ("strong copyleft") but it does grant them to you.
14:56 CIAvash https://www.gnu.org/licenses/lic​ense-list.html#ArtisticLicense2
14:56 kalkin-_ nine: thanks for clarification
14:56 nine kalkin-_: yes, personally I prefer strong copyleft and will license my own code GPL3, except for my Perl stuff for cultural reasons.
14:59 gregf_ mscha: thats like a transpose
15:04 skids joined #perl6
15:10 lizmat_ joined #perl6
15:10 PapaChub_ joined #perl6
15:13 Dunearhp_ joined #perl6
15:14 aries_liuxueyang joined #perl6
15:18 dj_goku joined #perl6
15:18 dj_goku joined #perl6
15:21 melezhik joined #perl6
15:22 nowan joined #perl6
15:25 melezhik El_Che: yeah, but puppet is way declarative , but here in sparrowdo you can code scenarios in Perl6 which is more flexible
15:27 kurahaupo__ joined #perl6
15:31 ThorstenB joined #perl6
15:38 pmurias melezhik: what benefits does the plugin system in sparrowdo provide over just having a script that imports a bunch of stuff from a module?
15:40 melezhik sparrowdo deals with sparrow plugins, which are written by one language of choise - perl5,ruby,bash
15:40 floutenvy joined #perl6
15:40 melezhik in short sparrow plugins are not coupled with sparrowdo
15:40 ThorstenB joined #perl6
15:41 melezhik one can write a plugin and use it without sparrowdo, sparrowdo just provides useful DSL to get more complicated things using pluigins
15:42 mcmillhj joined #perl6
15:42 melezhik I would say such desing gives more freedom and less monolitic
15:44 melezhik say, often people often write a bash scripts to accomplish theirs tasks, then they could easily "plug" theis scripts into sparrowdo ecosystem , even without knowing a perl6
15:46 melezhik btw the case you are saying is also possible, because sparrow is script oriented tool, where scripts are written on most any language , and it's easy to add Perl6 support to sparrow
15:48 ufobat *sigh* '<' f**s up my emacs syntax highlighting :(
15:49 Tonik joined #perl6
15:49 melezhik so the idea is - 1) write high level scenarios in Perl6/Sparrowdo 2) but in the end  , under the hood every sparrowdo scenario is just a collection of plugins, where every plugin is a simple script
15:50 melezhik written on the language on your choice
15:51 melezhik and sometimes, it depends on the task we are trying to solve it's better use language close to task ( perl5 or bash or even ruby )
15:52 tbrowder .tell JJMerelo i've added a front page to the perl6-mode wiki; i plan to put some Emacs tidbits for p6 i learn from various places. the tidbits will be specific recipes, not the disconnects i see other places that require you to be an emacs expert.
15:54 tbrowder looks like another sneaky leading space again!
15:54 PapaChub Backtracking / Ratcheting Regex Question: Can anybody help me figure out how to make this: http://dabe.com/misc/parse-lineage.p6.html *NOT* fall into an infinite loop?
15:55 PapaChub (I also tried a single '|' for longest alternation, but with no luck...)
15:57 tbrowder .tell JJMerelo see new wiki
15:57 yoleaux tbrowder: I'll pass your message to JJMerelo.
15:58 PapaChub A1_B1_100 is the "offspring" of A1 and B1, but can then be bred with C2 to produce "A1_B1_100_C2_200"
16:00 notviki ufobat: there's some sort of emacs things for perl6: https://github.com/perl6/perl6-mode
16:00 jnthn Well, I can spot the problem at least: child calls id, which calls child, which immediately calls id again. Thus it's an infinite recursion without making any progress.
16:01 dogbert17 joined #perl6
16:02 El_Che melezhik: interesting
16:02 El_Che melezhik: I use Puppet, but once it's get complicated I have to extend it in Ruby
16:03 PapaChub jnthn: Yup.  I've thrown in every type of ":r" ratchet I can think of, but to no avail  :-\
16:04 jnthn PapaChub: Yes, that won't help, the grammar will need a little restructuring to avoid left-recursion
16:05 jnthn Oh, though it checks <parent> first
16:06 melezhik pmurias: and one thing; say you don't have a Perl6 the target server. but probably you mostly always have a perl5/bash there. So the case is 1) write sparrowdo high level scenario on Perl6 to "push" a sparrow plugins ( written on perl5, bash ) to remote host and execute them there
16:06 tbrowder how do p6 emacs people feel about a #perl6-emacs channel
16:07 rindolf joined #perl6
16:07 melezhik El_Che: yeah I know, for many CM frameworks you should use a framework specific language to extend
16:07 jnthn Ah, I see. It still can get into the recursion path I mentioned
16:08 El_Che melezhik: I actually learnt some Ruby specifically for Puppet
16:09 melezhik ruby for chef, puppet and ansible ...  not absulutely true, becase ansible only requires JSON output , but in practice people do use a python to write ansible modules
16:09 PapaChub jnthn, Yeah, it seems like if "one" is a "child", any subsequent "two" gets wrapped around the axle
16:09 melezhik El_Che: so did I with ruby for chef ))
16:11 melezhik so I want to have an excelent and powerful Perl6 for high level part ( scenarios ) and whatever langauge you want for low level ( pluigins )
16:11 El_Che melezhik: the decoupling thing is great
16:11 perlpilot joined #perl6
16:11 melezhik this is what people in chef call ricepes and resources, but indeed thet are all should be written on ruby ...
16:12 melezhik the same thing for puppet
16:13 melezhik El_Che: yeah. one can start writting plugin right in place in debug it on target server in "manual" mode, only using sparrow client and then "plug" it into sparrowdo ecosystem
16:14 melezhik and then run plugin remotely as the part of sparrowdo scenario
16:14 kerframil joined #perl6
16:16 Vasyl So is there a working sample of code that creates an HTTPS server using Perl6?
16:17 El_Che melezhik: inspired by nagios?
16:21 mst melezhik: (1) you might find terraform's plugin system interesting
16:21 melezhik El_Che: do you mean if sparrowdo is inspired by nagios?
16:21 mst melezhik: (2) http://p3rl.org/Object::Remote will run perl5 code agentless over ssh
16:21 mst El_Che: I don't think he's sued anybody at all yet?
16:21 El_Che melezhik: the "write-plugins-in-whatever-you-want-we-dont-care" philosophy
16:22 El_Che mst: haha
16:24 melezhik mst: I looked at Object::Remote , yeah idea is probably the same. But again sparrow is not limited by perl, one can use bash or perl5 or ruby
16:24 mst melezhik: what
16:24 El_Che melezhik: how does it work? a client? ssh + local rakudo install?
16:24 mst melezhik: no, the idea is not the same at all
16:24 troys joined #perl6
16:24 mst melezhik: I am suggesting that you would use Object::Remote *in your plugin*
16:25 El_Che oh noes, mst passed his beer to someone in order to explain stuff with both hands
16:26 melezhik El_Che: master host has a perl6/sparrowdo scenarios which compiled into sparrow plugins ( internally just a JSONs ) and gets pushed into remote host where they are executed by sparrow clinet
16:26 mst melezhik: because then you don't need a client on the remote host. so you don't need perl6 on the remote host.
16:26 El_Che master-client model, ok
16:26 melezhik sparrow client is written on perl5, so on remote host it should perl5 installed
16:26 mst melezhik: you don't need anything installed except perl5 5.8+
16:26 melezhik El_Che: yes
16:26 El_Che I like the Rex client less setup (although I use masterless puppet myself)
16:26 mst melezhik: then you can use Object::Remote to send the sparrow client to the remote host :D
16:26 alimon1 joined #perl6
16:26 melezhik I documented it at sparrowdo github pages
16:27 * PapaChub read that as Rexx
16:27 mst melezhik: it basically gives you on-demand App::FatPacker
16:27 PapaChub (Showing my age...)
16:27 melezhik mst: I get you point , probably Object::Remote could be a "transport"? to deliver a sparrow toolchain to remote host?
16:28 mst melezhik: exactly
16:28 mst melezhik: so you don't need to install any sparrow files
16:28 melezhik mst: will probably take a look closer then )))
16:28 El_Che mst: a Rube Goldberg machine? Really?
16:28 * El_Che ducks
16:28 melezhik Mst: El_Che: sorry guys need to go for a while
16:28 mst melezhik: there is no point writing perl for servers without knowing how App::FatPacker and Object::Remote work
16:28 mst melezhik: it's good to learn how to use perl5 properly
16:28 El_Che melezhik: I will check it out. It looks nice
16:32 Actualeyes joined #perl6
16:32 PapaChub jnthn: I'm thinking my best bet will be to throw out the "child" grammar altogether, and just (ab)use the Action class to build up an RPN-style stack/tree as I find '_'-separated tokens
16:33 PapaChub à la https://rosettacode.org/wiki/Parsi​ng/RPN_calculator_algorithm#Perl_6
16:34 synopsebot6 joined #perl6
16:34 mcmillhj joined #perl6
16:41 jnthn PapaChub: Yeah, I'm a bit tied up with other stuff to really look at it, but it did look like it may be more easily done just keeping a stack
16:42 PapaChub jnthn: No worries! I certainly don't expect anybody to drop everything for something so trifling...  :-D
16:42 PapaChub Thx, tho!
16:42 melezhik mst: not sure if you understand me correcly, please read a sparrow docs, sparrow plugins are not only written on perl5
16:43 mst melezhik: you said the *client* was written in perl5
16:43 mst melezhik: i.e. the main part that runs on the target server
16:43 acrussell joined #perl6
16:43 melezhik yeah, client is written on perl5, but not the plugins
16:44 mst melezhik: and the plugins run on the master and generate JSON, right?
16:45 melezhik mst: not that simple, let me describe the whole picture again
16:48 mst melezhik: "Sparrowdo acts over ssh installing sparrow plugins, applying configurations and running them as sparrow tasks."
16:48 melezhik 1) master host. perl6 sparrowdo scenarios are executed and result in some JSON output 2) a sparrow client written on perl5 is installed on target host and gets run over ssh with JSON data as input  priorily  gets copied to target host via scp  3)  a sparrow client runs varios plugins written on varios languages
16:48 mst melezhik: all I am saying is that anything that is perl5 does not need to be installed at all.
16:49 mst melezhik: I can't fix other languages.
16:50 mst well, actually, I could probably write perl6 plugins that ran on the master
16:50 mst but that would be a different chunk of crazy
16:51 melezhik mst: the usefull thing about Object::Remote is fat packing sparrow client itself to target ost, but having sparrow client installed at target host is not considered by me as big issue
16:52 mst melezhik: requiring an agent install will lose you lots of users.
16:52 melezhik there is --bootstrap option for sparrowdo , which install sparrow client in case it's missing on target host
16:53 mst melezhik: but, ok, if you don't care about those users, fair enough
16:53 melezhik mst: I see your point. I would say requiring a "complicated" agent install will lose me a lots of users
16:53 mst (really - pick who you do care about, worry about them, ignore me :)
16:53 melezhik for example take a loom at chef  - they don't care about agentless mod at all )))
16:54 melezhik I know they have a push mode, but the mainstream is having chef client preinstalled at target host )))
16:54 mst yes.
16:54 mst which is why lots of new deployments use ansible.
16:55 mst melezhik: I talked to Luke Kanies while he was writing puppet. I talked to Adam Jacob while he was writing chef.
16:55 ufobat notviki, thanks :-) that is exactly what i am using
16:55 mst I've been doing systems automation for money for over 15 years now
16:56 melezhik yeah, I know ansible is agentless, but it is not absolutely true, it still requires  a python )))
16:56 rafaelsch joined #perl6
16:56 mst and Object::Remote still requires a perl
16:56 melezhik mst: now you talk to me ))))
16:56 mst fabric just requires a shell
16:56 melezhik I thought fabric requires a python too?
16:58 bwisti joined #perl6
16:58 mst on the master. on the remote just bash.
16:59 melezhik mst: I'd not like to make such a bug focus on "agentlessness" , anyway, anyhow you need some "agent" there on target host  to get things done, it could be python or perl or whatever
16:59 melezhik and if it is only the bash then you are limited to bash in implimenting your agent logic
16:59 melezhik which is not always very good choise, you know ...
17:00 mst you can get surprisingly far with just fabric
17:00 shayan_ joined #perl6
17:01 wamba joined #perl6
17:02 domidumont joined #perl6
17:02 melezhik mst: sorry I need to go, my family wants me )) but of course it's good to compare with other tools. I would encourage you to read a sparrow/sparrowdo docs to make a final opinion )))
17:05 shayan_ joined #perl6
17:06 dj_goku joined #perl6
17:08 Ven joined #perl6
17:09 mcmillhj joined #perl6
17:11 PapaChub Well, if it's stupid -- but it /WORKS/ -- it isn't stupid...  http://dabe.com/misc/parse-lineage.p6.html
17:11 pmurias why is brain d foy twitting his rt tickets on his learningperl6 twitter?
17:12 notviki pmurias: I was wondering the same
17:12 notviki pmurias: also retweeting what (at least to me) sounds like mockery about bugs, yet I find out the user built bleed dev branch instead of using a user package
17:17 pmurias it's a good think brain d foy is spending the time to make the ticket
17:17 acrussell joined #perl6
17:18 SmokeMachine m: sub bla() {&?ROUTINE.say}; bla
17:18 camelia rakudo-moar 40d7de: OUTPUT«sub bla () { #`(Sub|64293704) ... }␤»
17:19 notviki m: sub bla() {&?ROUTINE.name.say}; bla
17:19 camelia rakudo-moar 40d7de: OUTPUT«bla␤»
17:20 rafaelsch m: sub bla() {dd &?ROUTINE}; bla
17:20 camelia rakudo-moar 40d7de: OUTPUT«Sub bla = sub bla () { #`(Sub|58120648) ... }␤»
17:20 rafaelsch m: sub bla() {say &?ROUTINE.perl}; bla
17:20 camelia rakudo-moar 40d7de: OUTPUT«sub bla () { #`(Sub|66454648) ... }␤»
17:21 * notviki sees a sprouting of new r* nicknames
17:22 notviki Zoffix 2.0?
17:24 pmurias documentation for tempdir (and others) should be copied from the synopsis into the docs?
17:25 notviki which others?
17:25 notviki documentation should document specced behaviour IMO
17:27 notviki And tempdir/indir aren't specced
17:28 notviki And personally, they shouldn't be specced in their current form.
17:28 notviki *personally I think
17:28 Ven joined #perl6
17:29 pmurias notviki: the method form of tmpdir is in specced
17:29 notviki My reasoning for indir, but it applies to otheres too: https://rt.perl.org/Ticket/Disp​lay.html?id=130460#txn-1442705
17:29 notviki pmurias: ah, you said tempdir originally
17:30 pmurias sorry, we don't have tempdir
17:30 notviki s: $*SPEC, 'tmpdir', \()
17:30 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/blob​/40d7deb/src/core/IO/Spec/Unix.pm#L83
17:31 notviki My biggest winge is about the :$test parameter taken by chdir routine and by extension is used by many other IO routines
17:32 notviki m: dd $*TMPDIR
17:32 camelia rakudo-moar 40d7de: OUTPUT«"/tmp".IO(:SPEC(IO::Spec:​:Unix),:CWD("/home/camelia"))␤»
17:34 ChoHag joined #perl6
17:34 notviki m: tmpdir "/"; dd $*TMPDIR'
17:34 camelia rakudo-moar 40d7de: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3tmpdir "/"; dd $*TMPDIR7⏏5'␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modi…»
17:34 notviki m: tmpdir "/"; dd $*TMPDIR
17:34 camelia rakudo-moar 40d7de: OUTPUT«Failed to change the working directory to '/': did not pass 'd r w x' test␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in any  at gen/moar/Metamodel.nqp line 3072␤  in block <unit> at <tmp> line 1␤␤»
17:34 notviki m: tmpdir "/dev/null"; dd $*TMPDIR
17:34 camelia rakudo-moar 40d7de: OUTPUT«Failed to change the working directory to '/dev/null': is not a directory␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in any  at gen/moar/Metamodel.nqp line 3072␤  in block <unit> at <tmp> line 1␤␤»
17:35 notviki m: tmpdir "/home/camelia"; dd $*TMPDIR
17:35 camelia rakudo-moar 40d7de: OUTPUT«Cannot modify an immutable IO::Path␤  in block <unit> at <tmp> line 1␤␤»
17:35 notviki Yeah...
17:37 notviki guess I should focus on this stuff if I'm the only one complaining about it...
17:38 * notviki gets to business
17:38 rafaelsch notviki++
17:39 pmurias do we need &tmpdir?
17:42 pmurias it's not specced so it doesn't have to say ;)
17:42 pmurias s/say/stay
17:44 rafaelsch Why was it implemented in the first place?
17:45 notviki prolly part of synopses
17:46 rafaelsch notviki: change it so it pleases you and then spec it.
17:46 rafaelsch So brian can use it in his book.
17:47 rafaelsch good marketing combined with good implementation.
17:47 Ven joined #perl6
17:47 notviki heh
17:48 * notviki still have doubts about that book
17:49 notviki rafaelsch: it's not just tmpdir, so it'll take a bit.
17:49 rafaelsch There's a "Learning Perl 5" so there's got to be a "Learning Perl 6"
17:49 notviki rafaelsch: did brian write Learning Perl 5 while not having a clue about Perl 5 too?
17:50 rafaelsch You write the language then release it in the wild for people to use it.
17:50 stmuk I thought Randall wrote the original Learning Perl
17:51 carlosn joined #perl6
17:51 rafaelsch I don't know if he did it at first
17:52 notviki When are we getting first 2 chapters of LP6 BTW? Any dates set?
17:52 rafaelsch notviki: insist or revising his book
17:53 stmuk https://en.wikipedia.org/wiki/Learning_Perl
17:53 notviki rafaelsch: I essentially told him to go fuck himself in response to invitation, so I think that ship has sailed.
17:54 rafaelsch notviki: it hasn't sailed. Review the book instead of crying here.
17:55 rafaelsch He asked for help on not doing what you're complaining he's doing and you said no.
17:55 rafaelsch So I think it's a little bit your fault too.
17:57 rindolf joined #perl6
17:57 RandalSchwartz joined #perl6
17:57 RandalSchwartz hi
17:58 RandalSchwartz so I hear panda is no longer the hotness.
17:58 RandalSchwartz I'm using this: rakudobrew self-upgrade && rakudobrew build moar && exit
17:58 notviki rafaelsch: no, he's using his semi-celebrity status to dupe a bunch of people into thinking he'd the Perl 6 expert and they should read his book. In reality he doesn't know anything, he hopes to get by on his Perl 5 knowledge, he writes awful tips that sometimes include unspecced routines on his little website, and he wants a bunch of actual Perl 6 coders to write the book for him.
17:58 RandalSchwartz and it seems to use panda.  What should I replace that with?
17:58 notviki RandalSchwartz: my saying no, after he wanted to snub another 10K from the community isn't my fault of anything
17:59 notviki RandalSchwartz: I was just wondering if you were dead. Last I recall you were in the hospital and your account hacked or something?
17:59 RandalSchwartz wait - you're not a randombot?
17:59 notviki Sometimes I am
17:59 RandalSchwartz if so - I don't understand the previous remark
17:59 notviki err
17:59 RandalSchwartz <notviki> RandalSchwartz: my saying no, after he wanted to snub another 10K  - from the community isn't my fault of anything
17:59 RandalSchwartz what was that? :)
17:59 notviki the previous remark was meant for rafaelsch ... Sorry wrong tab complete
18:00 RandalSchwartz heh
18:00 RandalSchwartz sorry for intruding
18:00 RandalSchwartz yes - the rumors of my demise are premature
18:00 notviki RandalSchwartz: yeah, you now use "zef". you can run rakudobrew build zef to get it
18:00 rafaelsch People like his books, it's great that he's writing one for Perl6
18:00 RandalSchwartz so just replace "moar" with "zef"?
18:00 notviki RandalSchwartz: no, keep the moar; in addition to moar run build zef
18:00 pmurias RandalSchwartz: moar is the VM
18:01 notviki RandalSchwartz: I guess you ran `build panda` at some point in the past
18:01 RandalSchwartz perhaps
18:01 notviki RandalSchwartz: we generatelly don't recommend rakudobrew for regular users and instead recommend Rakudo Star: http://rakudo.org/downloads/star/  that one has panda currently, but the future releases seek to replace panda with zef, which is what you probably read about
18:02 rafaelsch notviki: You should do something to avoid it happening, he asked for your help.
18:02 RandalSchwartz Well - I was compiling daily... so I do want something that builds master
18:02 notviki rafaelsch: I'm not writing a book for him.
18:03 rafaelsch notviki: I think it's great the he is writing the book, it symbolizes the community of P5 migrating to P6.
18:03 notviki rafaelsch: and I can just recommend any of the other 3-4 books coming out this year, should his prove to suck. Which it might not end up to, because I'm not the only one whom he asked to review it
18:03 rafaelsch notviki: just read the book and them complain to him directly instead of doing it here.
18:04 rafaelsch It won't take you any more time to complain to him instead of complaining to us.
18:05 notviki rafaelsch: I wasn't even complaining. It's you who started goading me to review his book.
18:05 notviki Or telling me to write code so to make that book's plan happen
18:05 rafaelsch It's just a suggestion.
18:05 AlexDaniel joined #perl6
18:07 hankache joined #perl6
18:07 Ven joined #perl6
18:08 notviki RandalSchwartz: docs for zef BTW: https://github.com/ugexe/zef#zef
18:08 notviki RandalSchwartz: panda will likely still work, it's just zef got more features and is more actively developed
18:09 jeek joined #perl6
18:10 mst rafaelsch: "migrating to" is wrong. "adopting" is more like it.
18:10 sjn RandalSchwartz: what do you mean by "something that builds master"?
18:10 mcmillhj joined #perl6
18:12 rafaelsch notviki: And you were complaining: "<notviki> guess I should focus on this stuff if I'm the only one complaining about it... "
18:12 notviki rafaelsch: that wasn't about the book but about our IO.
18:13 rafaelsch It was also about the book.
18:13 khw joined #perl6
18:13 notviki rafaelsch: no it wasn't. The only relation that has to the book is bdfoy digging up those routines in historical speculations and telling people to go and use them
18:14 rafaelsch What's bothering you is the book, not the IO.
18:14 notviki pfft
18:17 mcmillhj joined #perl6
18:20 AlexDaniel “it symbolizes the community of P5 migrating to P6” bwahaha. Well, yes, pretty much. Like someone who's lost in the woods.
18:23 pmurias if we have ugly stuff in the setting we should complain when it's found by people spelunking but fix or remove it
18:23 pmurias * we shouldn't
18:23 notviki We don't
18:25 vagrant_1 joined #perl6
18:27 Ven joined #perl6
18:28 hankache hola #perl6
18:28 notviki \o
18:34 * stmuk wonders about "The Book"
18:35 notviki You mean the first modern Perl 6 book?
18:35 notviki It's out: http://deeptext.media/perl6-at-a-glance/
18:35 notviki eBook coming soon
18:36 stmuk no no
18:36 stmuk THE BOOK
18:36 hankache Programming Perl 6?
18:36 stmuk yes
18:36 rafaelsch The one Larry is rummored to be writing?
18:36 hankache :)
18:37 rafaelsch I think it's hard to write something like PP6, because the language is changing too fast.
18:37 * notviki recalls Damian Conway promising a book "in a year" last April
18:38 notviki rafaelsch: that's not true. The language hasn't changed for year and we likely won't see another release for another year.
18:39 rafaelsch At the level "Programming Perl" is written? You were just talking about changing tmpdir!
18:39 mspo I'd like to read Mastering Algorithms with Perl
18:40 notviki rafaelsch: tmpdir is currently not part of the language... It might be part of 6.d release, which won't be for another ~year
18:40 hankache what is the state of macros?
18:40 hankache 6.d?
18:41 notviki dunno, haven't seen any work for them done on nom; but I think masak is cooking something up in 007
18:41 notviki buggable: eco 007
18:41 buggable notviki, 007 'Small experimental language with a license to macro': https://github.com/masak/007
18:41 shayan_ joined #perl6
18:42 andrzejku joined #perl6
18:43 [Coke] there is no concrete plan for macros at the moment. they will very likely continue in their same experimental state into 6.d
18:43 kyan joined #perl6
18:44 hankache what would (for the time being) be included in 6.d?
18:44 notviki buggable: 6.d
18:44 notviki huggable: 6.d
18:44 huggable notviki, Proposals for 6.d language: https://github.com/perl6/specs/blob/master/v6d.pod
18:45 * hankache hugs huggable
18:45 AlexDaniel huggable: hug hankache
18:45 * huggable hugs hankache
18:45 notviki hankache: ^ that, plus [tentatively] this too: https://github.com/perl6/r​oast/compare/6.c...master
18:45 pyrimidine joined #perl6
18:45 AlexDaniel needs a little help :)
18:45 notviki I'd expect we have review of that before actual inclusion
18:45 [Coke] notviki: yes, that's mandatory
18:46 notviki nice!
18:46 [Coke] 6.c was kind of "ok, whatever we have", I think we need a little more curating for the next one.
18:46 notviki agreed
18:46 hankache AlexDaniel :)
18:46 [Coke] (the review is mandatory, I think)
18:51 geekosaur joined #perl6
18:51 shayan_ joined #perl6
18:54 noganex joined #perl6
18:54 dj_goku joined #perl6
18:54 dj_goku joined #perl6
19:01 notviki hehe, this is really outdated: https://twitter.com/rakudoperl
19:02 [Coke] also https://twitter.com/perlhex
19:02 mspo https://opensource.com/article/16/12/​yearbook-top-programming-trends-2016
19:04 notviki Why is everyone linking to that opensource article? Is that a popular website?
19:04 mspo it says "perl6" on it
19:04 [Coke] eh, 'cause it mentions Perl 6 in a positive light?
19:04 mspo and was linked other places
19:05 notviki Yeah, but that's just 'cause DrForr is buddies with the author or something, isn't it?
19:05 mspo I found it it on programmingcirclejerk reddit
19:05 [Coke] HICCUP
19:05 [Coke] (uhoh)
19:05 mspo marketing works
19:05 notviki heh :)
19:05 mspo sorry I didn't see it was linked earlier
19:05 notviki It's fine. I was just curious.
19:08 Ven joined #perl6
19:15 notviki m: "a".match: {;}
19:15 camelia rakudo-moar d9c735: OUTPUT«(timeout)»
19:16 notviki m: say {;} ~~ Cool
19:16 camelia rakudo-moar d9c735: OUTPUT«False␤»
19:16 notviki s: "a", 'match', \({;})
19:16 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/b​lob/40d7deb/src/core/Cool.pm#L179
19:16 notviki oh, nm, misread the code
19:17 AlexDaniel ooohhh… oooh!
19:17 AlexDaniel I just remembered
19:17 AlexDaniel there are 1000 snippets waiting for something…
19:17 noganex joined #perl6
19:19 wamba joined #perl6
19:19 notviki More bugs?
19:20 notviki \o/
19:21 AlexDaniel notviki: less bugs, more tickets
19:23 notviki Cool! Excluding privates, we have exactly 100 subs!
19:23 notviki m: .say for CORE::.values.grep(Sub).grep({.defined and .name !~~ /^<[A..Z_-]>+(":<".+)?$/}).elems
19:23 camelia rakudo-moar d9c735: OUTPUT«100␤»
19:23 RabidGravy cool
19:23 Ven joined #perl6
19:26 mr-foobar joined #perl6
19:26 notviki m: .say for CORE::.values.grep({!.DEFINITE}).sort(*.^name)
19:26 camelia rakudo-moar d9c735: OUTPUT«(Any)␤(Backtrace)␤(Blob[uint8])␤(Bool)␤​(CompUnit)␤(CurrentThreadScheduler)␤(Cursor)␤(​Date)␤(Distribution)␤(Duration)␤(FileChangeEve​nt)␤(Grammar)␤(HyperSeq)␤(IO)␤(Instant)␤(IntAt​trRef)␤(IntLexRef)␤(Method)␤(Mix)␤(NFKC)…»
19:27 notviki Wonder how to get the full list of classes... ^ that is missing Mu and Failure
19:27 notviki m: say Perl ~~ Cool
19:27 camelia rakudo-moar d9c735: OUTPUT«False␤»
19:27 notviki aww
19:28 notviki m: say Rakudo ~~ Cool
19:28 camelia rakudo-moar d9c735: OUTPUT«False␤»
19:28 notviki hehe
19:28 Vynce joined #perl6
19:29 notviki and Whatever and HyperWhatever are missing
19:29 notviki And DateTime... hm, this is a weird list
19:29 labster joined #perl6
19:30 timotimo wow. google is transpiling python programs into go, while making an effort to emulate CPython as closely as possible
19:30 timotimo https://opensource.googleblog.com/20​17/01/grumpy-go-running-python.html
19:31 El_Che so, is anyone (besides the speakers) planning to attend FOSDEM?
19:32 timotimo well, i sure hope there'll be more attendees than just the speakers!
19:32 notviki wow
19:33 mspo timotimo: py 2.7
19:33 timotimo mspo: not surprising at all
19:33 notviki " Grumpy programs can import Go packages just like Python modules"
19:33 mspo really seems like a bad idea
19:34 mspo I get that google has tons of python code and all
19:34 mspo but man
19:34 El_Che timotimo: hehe. I mean, there are lots of perl6 talks
19:34 diakopter joined #perl6
19:34 timotimo mspo: why would google even want to support 3 for this project?
19:35 DrForr Last year we had ~80 people...
19:35 timotimo their goal is to - among other things - make youtube run faster
19:35 notviki DrForr: are you speaking again?
19:35 timotimo since they already heavily modified CPython 2.7 itself and wrote their code so that it explicitly cooperates with internal decisions in that runtime
19:35 mspo timotimo: why would they release it or even talk about it?
19:36 notviki weeeeeeeee
19:36 DrForr notviki: Yep.
19:36 masak_ joined #perl6
19:36 timotimo why would they invest the years and years and years necessary to port to py3 and make all these improvements yet again?
19:36 Gruber joined #perl6
19:36 mspo is a better question
19:36 notviki DrForr++ nice
19:36 petercommand joined #perl6
19:36 shmibs joined #perl6
19:36 domidumont joined #perl6
19:36 emdashcomma joined #perl6
19:36 pecastro joined #perl6
19:36 revdiablo joined #perl6
19:36 revdiablo joined #perl6
19:36 timotimo their goal isn't to make cpython obsolete and have everybody use grumpy instead, clearly
19:36 samcv joined #perl6
19:36 titsuki joined #perl6
19:36 Vasyl joined #perl6
19:36 samcv joined #perl6
19:36 mspo timotimo: they should invest in converting that python stuff to go, which is their internal direction from what I've heard
19:36 timotimo their target audience is clearly people with lots of python 2.7 code that wants to be faster by leveraging concurrency
19:37 shadowpaste0 joined #perl6
19:37 timotimo it seems like having a transpiler gives you a good leg up on that process
19:37 mspo maybe
19:37 stux|RC-only joined #perl6
19:37 mspo so why release it/talk about it? :)
19:38 timotimo a) they care about open source stuff, b) they have fragile egos and want to have their work confirmed by the public
19:38 notviki RIP Python
19:38 timotimo let's write a python replacement and call it Rippy
19:38 mspo I could never get into python
19:38 mspo I definitely never understood this idea that it was "simple" in any way
19:38 girafe joined #perl6
19:39 mspo pushing it as a teaching language feels very very wrong
19:39 mspo s/teaching/first
19:39 timotimo better first language than BASIC, except BASIC at least has the DIM instruction
19:39 timotimo er, syntax
19:39 mspo and the 2 vs 3 thing doesn't help matters
19:39 timotimo 2 vs 3 is just FUD
19:39 mspo not if you are, literally, an 11 year old
19:40 El_Che *we* are talking about the 2 vs 3 thing?
19:40 El_Che lol
19:40 El_Che :)
19:40 mspo my niece was trying to move from scratch to python and it wasn't clear if she should learn 2 or 3
19:40 notviki Any idea how to get a list of all core type objects? My goal is to get a full list of core routines and introspect their params (and call them)
19:40 timotimo notviki: what, like SETTING::.keys?
19:41 mspo perl6 being shown as a language for an 11 y/o girl is even more laughable :)
19:41 timotimo m: say CORE::.keys
19:41 camelia rakudo-moar d9c735: OUTPUT«(SIGSEGV WhateverCode Slip &callframe Pair SIGHUP &flat &RETURN-LIST utf8 &infix:<∖> CurrentThreadScheduler PromiseStatus StringyEnumeration Distribution &splice &postcircumfix:<{ }> &callsame &GATHER Backtrace PF_INET6 &sinh &infix:<lt> &print &asech NF…»
19:41 timotimo CORE, not SETTING, apparently
19:41 ggherdov joined #perl6
19:41 notviki timotimo: CORE::.values was my first take, but it's missing some
19:41 timotimo for example?
19:42 notviki .say for CORE::.values.grep({!.DEFINITE}).sort(*.^name) is what I'm running
19:42 notviki timotimo: Mu, Failure, Whatever, HyperWhatever, DateTime
19:42 timotimo wow, that's really not much
19:42 notviki I don't know what else is missing...
19:42 timotimo well, you're not hitting StopIteration, i expect?
19:42 notviki Ah, maybe that's why
19:43 notviki timotimo++ thanks
19:43 timotimo yes, you are
19:43 timotimo i thought we put that into RakudoInternals?
19:43 timotimo zefram pointed this out as a real problem a long time ago
19:44 ggherdov joined #perl6
19:44 Ven joined #perl6
19:44 notviki m: dd IterationEnd
19:44 camelia rakudo-moar d9c735: OUTPUT«IterationEnd␤»
19:45 notviki not internals seems
19:45 timotimo bah
19:46 geekosaur something about user defined iterators iirc
19:47 timotimo oh, that makes some sense
19:48 notviki try {.say} for CORE::.keys.map({next if $_ eq "IterationEnd"; CORE::{$_}}).grep({!.DEFINITE}).sort(*.^name)
19:48 notviki That works (excludes at least 1 NQP thing that ain't got a .say on it)
19:48 timotimo m: .say for CORE::.keys.grep({!CORE::{$​_}.DEFINITE}).sort(*.^name)
19:48 camelia rakudo-moar d9c735: OUTPUT«WhateverCode␤Slip␤Pair␤utf8␤CurrentTh​readScheduler␤PromiseStatus␤StringyEnumerati​on␤Distribution␤Backtrace␤NFKC␤Duration␤Nil␤​Any␤WrapDispatcher␤IO␤FileChangeEvent␤UInt64​␤Order␤RatStr␤uint64␤Numeric␤Cursor␤Proxy…»
19:48 timotimo oh, except i have to remove the *.^name
19:49 [Coke] ... I hope someone is writing a book, "Perl 6 for 11 year olds" now.
19:49 timotimo huh, that's not a lot
19:49 notviki but you're still hitting IterationEnd there, aren't you?
19:49 timotimo nope
19:50 notviki m: dd CORE::<IterationEnd>.DEFINITE
19:50 camelia rakudo-moar d9c735: OUTPUT«Bool::True␤»
19:50 timotimo i iterate on keys, and i figure out the definiteness by accessing core again
19:50 notviki ah
19:51 mspo [Coke]: you mean Larry Wall?  "But we do think that Perl 6 will be learnable as a first language. A number of people have surprised us by learning Perl 5 as their first language. "
19:52 notviki 195 elems... looks pretty a lot to me :)
19:52 [Coke] mspo: no, I didn't mean Larry in particular, because I want him to finish that other book first, assuming that might still be a thing.
19:53 mspo perl 6 seems like a bad choice for a first language, especially for a very young person
19:53 rafaelsch I learned Perl 5 as my first language.
19:53 notviki mspo: why bad?
19:53 mspo people in computers underestimate how much trouble people have with just *using* their computer
19:53 RandalSchwartz scarily, probably even using Learning Perl. :)
19:53 mspo notviki: it's massive
19:54 El_Che *cough*advertorial* there is a talk about that at FOSDEM
19:54 notviki mspo: but you don't have to know all of it to write useful programs.
19:54 mspo RandalSchwartz: I definitely learned perl first after shell
19:54 RandalSchwartz I've heard enough people for whom Perl was their first language, using Learning Perl, and I was shocked.
19:54 mspo RandalSchwartz: why shocked?
19:54 RandalSchwartz since that book was never intended as such
19:54 RandalSchwartz I presumed people knew what arrays and subroutines are
19:54 mspo I had work to get done, perl made my work go faster
19:54 RandalSchwartz I wasn't planning on teaching those abstractions in that book
19:54 El_Che https://fosdem.org/2017/sche​dule/event/perl6_first_lang/
19:55 mspo perl 4 was probably a better teaching language
19:55 RandalSchwartz because frankly, I couldn't remember how I learned them, so I can't teach things I can't remember learning. :)
19:55 mspo I think lua is probably the way to go
19:55 RandalSchwartz lua is nice.  smalltalk is also nice.
19:55 RandalSchwartz lots of success from the smalltalk version of scratch
19:56 RandalSchwartz get people using scratch to understand macros, then explode those macros
19:56 RandalSchwartz that was on the etoys software for a while, for example
19:56 mspo one nice thing ".. The Hard Way" books did was start out with "here's what a text editor is and how to use it"
19:57 mspo and recommended Notepad++
19:58 timotimo how's notepad++ with perl6 nowadays? did anybody try to work on that at all?
19:58 mspo javascript would be nice since the browser is immediately available to everyone, but the language itself is kind of difficult
19:58 ribasushi joined #perl6
19:58 RandalSchwartz yeah... typescript might be better
19:58 RabidGravy ah speaking of which I was going to ask about a good Python book for a teacher
19:58 RandalSchwartz and still usable with a transpiler
19:59 RandalSchwartz OK - now I'm getting distracted instead of doing $dayjob
19:59 RandalSchwartz I remember why I don't idle here. :)
19:59 RabidGravy my cousin was asking me at Christmas
19:59 notviki :)
19:59 mspo RabidGravy: python is too big to teach to anyone under 16, imho
19:59 lizmat_ https://fosdem.org/2017/schedule/track/perl/   # FOSDEM Perl Devroom preliminary schedule
19:59 mspo I'm obviously in the minority
19:59 notviki You should write a book about Perl 6 :P
19:59 RandalSchwartz not enough money in it
19:59 notviki awww
20:00 RandalSchwartz not interested in earning minimum wage again
20:00 notviki Fair enough.
20:00 mspo you made minimum wage from a tech book?  that's pretty good
20:00 RandalSchwartz I *am* working on Dart courseware and literature though
20:00 RabidGravy mspo, they *are* proposing to teach it to kids under sixteen, infact I think these are 11-12 year olds
20:00 RandalSchwartz Dart has legs
20:00 mspo https://en.wikipedia.org/w​iki/Schwartzian_transform needs a perl 6 entry :)
20:01 mspo RabidGravy: yes I think it's a bad idea
20:01 mspo RabidGravy: my niece is one of those kids and it's way too advanced for her
20:01 RandalSchwartz duty calls... nothing personal... thanks for the info... gotta /part
20:01 RandalSchwartz left #perl6
20:02 rafaelsch I learned using the Camel Book
20:02 mspo RabidGravy: they started her on Scratch and now she's out in the cold wondering what "set" and "tuple" mean
20:02 notviki wow lots of Perl 6 stuff on FOSDEM
20:03 mspo RabidGravy: nevermind that kids have ChromeBooks now-a-days; do those things even work as a dev machine?
20:03 Ven joined #perl6
20:03 rafaelsch mspo: using ssh, yes
20:04 mspo lol
20:04 RabidGravy dunno. never seem a ChromeBook
20:04 mspo rafaelsch: that's a problem for sure
20:05 RabidGravy I dunno, I was introduced to BASIC on the Commodore PET
20:08 geekosaur it's nto difficult to set most chromebooks to dev mode
20:11 kybr is anyone else getting "Cannot unbox a type object" while bootstraping panda?
20:11 El_Che notviki: we certainly wanted a nice mix of Perl 5 and 6 talks. But it's true that there was a great reponse of perl 6 people
20:12 RabidGravy nope
20:12 r3m left #perl6
20:14 TEttinger joined #perl6
20:17 lizmat mspo: Perl 6 entry added to https://en.wikipedia.org/w​iki/Schwartzian_transform
20:18 mspo nice
20:18 ufobat can i load a package and call .new on it if the packagename is in a $string, and this without EVAL?
20:19 bjz joined #perl6
20:19 kybr hmm. okay. seems like there's no panda yet for JVM backend.
20:20 geekosaur m: my $cl = 'Int'; dd ::($cl).new
20:20 camelia rakudo-moar d9c735: OUTPUT«0␤»
20:20 ufobat or just call .new on it
20:20 notviki kybr: it'd work on either backend.
20:20 ufobat ah1
20:21 bisectable6 joined #perl6
20:21 committable6 joined #perl6
20:21 ufobat thanks geekosaur
20:23 kybr notviki: well i'm getting the same as this: https://github.com/coke/rakudo-star-​daily/blob/master/log/jvm-build.log
20:23 Ven joined #perl6
20:24 [Coke] So is anyone here in contact with bdf about how he's dealing with the community when writing the book? I want to send him an email but don't want to be piling on.
20:25 notviki kybr: that's likely due to some issues with the JVM backend as it's not as developed as the moarvm one. I meant that it's not a panda issue and there's doesn't need to be a "jvm panada".
20:25 notviki kybr: you're getting that on HEAD of nom? I saw a few unbusting commits go in a few days ago for JVM
20:27 perlpilot [Coke]: not I, though I've thought about sending him a friendly message myself.
20:28 [Coke] perlpilot: tag you're it
20:28 kybr notviki: is there a better tag than nom? i'm using rakudobrew
20:28 notviki kybr: nope, nom is the bestest
20:28 notviki m: $*PERL.compiler.version.say
20:28 camelia rakudo-moar d9c735: OUTPUT«v2016.12.207.gd.9.c.735.f␤»
20:28 El_Che lizmat++
20:29 notviki ^ that's the latest and greatest
20:29 lizmat thanks, notviki  :-)
20:29 notviki ?
20:29 El_Che :)
20:30 notviki Ah
20:32 kybr what's the difference between moar-blead-nom and moar-nom?
20:33 bisectable6 joined #perl6
20:34 evalable6 joined #perl6
20:34 bisectable6 joined #perl6
20:35 [Coke] did we already say "don't use rakudobrew unless you know what you're doing?"
20:36 timotimo i think so
20:37 kybr ha. well, i almost know what i'm doing. but, yeah. i don't want to waste your time. i just picked moar-nom
20:37 RabidGravy blead-nom is built with the latest nqp and moar even if the current version is new enough for rakudo
20:37 notviki Really? I thought that was the triple triple or something or other
20:38 notviki buggable: eco rakudobrew
20:38 buggable notviki, Nothing found
20:38 notviki you lie!
20:38 notviki I guess it's not in eco
20:39 notviki Yup. master/master. RabidGravy++ https://github.com/tadzik/rakudobr​ew/blob/master/bin/rakudobrew#L52
20:40 shayan_ joined #perl6
20:42 notviki and moar-nom is pretty much the same thing, except it'll lack latest moarvm/nqp commits (but usually there's a version bump done when something's fixed anyway)
20:42 dj_goku joined #perl6
20:42 dj_goku joined #perl6
20:43 itcharlie1 left #perl6
20:43 RabidGravy yeah I only get blead-nom if I want to force moar to build with say different flags
20:45 notviki kybr: how did you find out about rakudobrew
20:48 [Coke] notviki: https://perl6.org/ might also want to link to Stack Overflow for user questions.
20:48 * notviki feels like context is missing...
20:48 kybr well. i noticed it when i googled about ways to install perl6.. then i tried it after 1) using homebrew and failing to get a jvm backend going, then 2) building a few tags of rakudo manually. suddenly it seemed like rakudobrew was someone else doing what i want, but better.
20:49 notviki kybr: ah, I see :)
20:49 gfldex m: role Conditional { method ifTrue(&c){ c if self; self }; method ifFalse(&c){ c unless self; self } }; ((1 > 2) but Conditional).ifTrue({say ‚It's True!‘}).ifFalse({say ‚It's False!‘})
20:49 camelia rakudo-moar d9c735: OUTPUT«It's False!␤»
20:49 kybr i just want a working perl6-m for using/learning and a parl6-j for trying out some java linkages
20:49 gfldex masak_: ^^^ if only Bool would be a class …
20:52 gfldex m: use MONKEY-TYPING; augment class Cool { method ifTrue(&c){ c if self; self }; method ifFalse(&c){ c unless self; self }; }; (1 < 2).ifTrue: {say ‚It's True!‘};
20:52 camelia rakudo-moar 6920da: OUTPUT«It's True!␤»
20:52 gfldex masak_: ^^^ solved :)
20:53 Ven joined #perl6
20:53 gfldex m: use MONKEY-TYPING; augment class Bool { method ifTrue(&c){ c if self; self }; method ifFalse(&c){ c unless self; self }; }; (1 < 2).ifTrue: {say ‚It's True!‘};
20:53 camelia rakudo-moar 6920da: OUTPUT«It's True!␤»
20:53 gfldex wut‽
20:54 gfldex is that by design?
20:56 timotimo is what by design?
20:57 RabidGravy the goat attack
20:58 moritz the zombie apocalypse!
20:58 DrForr chupacabra?
20:59 gfldex timotimo: that I can augment an enum and/or have to call that enum a class
20:59 gfldex it's ENOSPEC and ENODOC for sure
21:00 timotimo hm. it's not a ClassHOW, it's an EnumHOW, but i suppose that part of augmentation only cares about being able to add methods and such
21:00 [Coke] m: now.WHAT
21:00 camelia rakudo-moar 6920da: ( no output )
21:01 gfldex i shall rakudobug so we get it into the spec or have `agument enum` work
21:01 raiph joined #perl6
21:02 [Coke] up to 205 https://github.com/perl6/doc/issues
21:03 raiph .tell kalkin-_ http://www.gnu.org/licenses/lic​ense-list.html#ArtisticLicense2
21:03 yoleaux raiph: I'll pass your message to kalkin-_.
21:11 cdg joined #perl6
21:11 notviki [Coke], is there context or are you just telling me because I know how to add stuff to perl6.org? Cause I'd need a link
21:11 [Coke] mostly the latter. :)
21:12 [Coke] let me see if I can find a link to the SO tag.
21:12 notviki k, gimme the link and I'll add when I arrive home
21:12 [Coke] https://stackoverflow.com/tags/perl6/info
21:13 [Coke] notviki++
21:13 [Coke] I'm going to bootstrapify docs.perl6.org (in a branch) for https://github.com/perl6/doc/issues/1090
21:14 [Coke] feedback welcome in advance, but hopefully it'll be easy, pretty, and uncontroversial.
21:23 Ven joined #perl6
21:26 woolfy joined #perl6
21:26 woolfy left #perl6
21:31 dalek doc: 5b001e2 | gfldex++ | doc/Language/variables.pod6:
21:31 dalek doc: link to containers early on
21:31 dalek doc: review: https://github.com/perl6/doc/commit/5b001e2dd6
21:31 synopsebot6 Link: http://doc.perl6.org/language/variables
21:33 * gfldex .oO( easy, pretty, uncontroversial - pick two )
21:34 curt_ joined #perl6
21:36 Ven_ joined #perl6
21:39 Gasher joined #perl6
21:40 bisectable6 joined #perl6
21:43 niceperl joined #perl6
21:43 AlexDaniel … and yet again somebody managed to send an email which has *CONFIDENTIAL* all over the place to one of the domains that I own, obviously there's a catch-all thingy that redirects everything to my main address…
21:44 AlexDaniel just because of a typo in the email address
21:45 moritz heh. I sometimes get e-mails for other people named "Moritz Lenz", of which there seem to be half a dozen or so in Germany
21:45 [Coke] Apparently coleda is a one off for some Italian name, I get a lot of those.
21:45 moritz because I have moritz.lenz@... email addresses with several popular mail providers
21:46 moritz so I got some order confirmation for my alter ego's daugther's bath room, some rescheduling of lectures at a university in Northern Germany, and other boring things
21:46 gfldex my name is unique but I still get e-mails I don't want to get :(
21:47 AlexDaniel this time I replied saying that they should consider encrypting their emails. But nobody ever thanked me for the advices I give in my replies…
21:48 moritz AlexDaniel: acting on unsolicted advice is *hard*
21:49 pmurias AlexDaniel: was the uber confidential email something entertaining? ;)
21:50 AlexDaniel pmurias: “If you believe that it has been sent to you in error, do not read it”
21:50 gfldex did they add that as the last line?
21:50 AlexDaniel this was part of the notice on confidentiality
21:50 moritz AlexDaniel: which you have to scroll to the bottom to read, usually :-)
21:50 AlexDaniel yea, this was one of the first emails in history (so it was in the end)
21:51 RabidGravy I've had whole film scripts as apparently there is a Jonathan Stowe who is a production manager
21:52 moritz pmurias: most confidential things are totally boring; price information for industries you have no connection to, HR stuff from a company you never heard of before, medical details of a person you don't know etc.
21:52 gfldex RabidGravy: could you try to use this unexpected power to get us some media coverage?
21:52 bjz joined #perl6
21:53 moritz with enough free time and criminal energy you might be able to use those to an advantage, but that's much less fun than, say, writing a compiler backend :-)
21:53 AlexDaniel I agree
21:54 pmurias moritz: dammit, hoped it was some confidential technique for generating faster js :)
21:55 AlexDaniel moritz: perhaps a nicer idea is to try to become a MitM
21:56 ChoHag joined #perl6
21:56 AlexDaniel this way you can also augment the information to your liking…
21:57 notviki Is SixFix still a thing? I signed up, but I only got a couple of them.
21:58 moritz AlexDaniel: I sense a 2017 advent calendar post upcoming: a MitM HTTP proxy in Perl 6 with a plugin interface for rewriting stuff on the fly :-)
21:58 moritz AlexDaniel: 11 months left to develop the thing!
21:58 AlexDaniel well, I'd have to receive another email like this then
21:59 AlexDaniel probably won't take too long
21:59 AlexDaniel … or are you saying that one should develop such thing but not use it? Crazy.
22:01 dalek perl6.org: 423d6ad | (Zoffix Znet)++ | source/resources/index.html:
22:01 dalek perl6.org: Add StackOverflow link
22:01 dalek perl6.org:
22:01 dalek perl6.org: Per https://irclog.perlgeek.de/​perl6/2017-01-04#i_13856028
22:01 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/423d6ad05c
22:02 lizmat notviki: afaik SixFix is at an end, at least for the moment
22:05 notviki OK. (it's just I saw it listed on the resources page and recalled it)
22:06 AlexDaniel moritz: it is hilarious. Turns out this company has a head office in a 10 minute bus ride from where I am.
22:07 AlexDaniel what a coincidence
22:07 notviki AlexDaniel: how many snippets you had in total to go through?
22:08 AlexDaniel somewhere about 7k manually
22:08 AlexDaniel the rest was filtered out
22:08 notviki AlexDaniel++
22:11 AlexDaniel nine: here?
22:11 AlexDaniel oops
22:12 AlexDaniel nevermind
22:12 SmokeMachine What's DEFINITE()?
22:13 notviki SmokeMachine: per docs "Returns True for instances and False for type objects."
22:13 notviki m: say 42.DEFINITE; say Int.DEFINITE
22:13 camelia rakudo-moar dbe3e0: OUTPUT«True␤False␤»
22:14 SmokeMachine notviki: what's the difference from defined()?
22:14 notviki SmokeMachine: objects can be undefined
22:14 notviki m: say Nil.new.defined; say Failure.new.defined;
22:14 camelia rakudo-moar dbe3e0: OUTPUT«False␤False␤»
22:14 SmokeMachine m: say 42.defined; say Int.defined
22:14 camelia rakudo-moar dbe3e0: OUTPUT«True␤False␤»
22:14 SmokeMachine Hum!
22:15 SmokeMachine notviki: thanks!
22:15 notviki any time
22:16 SmokeMachine I have some code to fix... :P
22:18 SmokeMachine I hope to remember the DEFINITE method when I get back home...
22:18 shayan_ joined #perl6
22:19 notviki .in 7d SmokeMachine remember the DEFINITE!
22:19 yoleaux notviki: I'll remind you on 11 Jan 2017 22:19Z
22:20 SmokeMachine Great feature! Thanks!
22:20 SmokeMachine notviki: thanks!
22:20 pmurias lizmat: is the sub form of &tmpdir useful?
22:21 SmokeMachine notviki: how did you know I'm going home in 7d?
22:21 kalkin-_ raiph: thanks
22:21 yoleaux 21:03Z <raiph> kalkin-_: http://www.gnu.org/licenses/lic​ense-list.html#ArtisticLicense2
22:22 notviki SmokeMachine: I've been stalking you and I know your every move!
22:23 notviki SmokeMachine: also this: https://irclog.perlgeek.de/​perl6/2017-01-02#i_13838226
22:24 kalkin-_ Big Perlgeek is watching you
22:25 AlexDaniel notviki: hm, can you take a look at this?
22:25 AlexDaniel mc: my @x; dd @x; @x>>.Int; dd @x; say @x>><xxx>
22:25 committable6 AlexDaniel, ¦«2015.12»: Array @x = []␤Array @x = []␤()
22:25 notviki Umm.. I guess, but I'm not a doctor!
22:25 AlexDaniel m: my @x; dd @x; @x>>.Int; dd @x; say @x>><xxx>
22:25 camelia rakudo-moar dbe3e0: OUTPUT«Array @x = []␤Array @x = []␤This type (Scalar) does not support elems␤  in block <unit> at <tmp> line 1␤␤»
22:26 AlexDaniel m: my @x; dd @x; say @x>><xxx>
22:26 camelia rakudo-moar dbe3e0: OUTPUT«Array @x = []␤This type (Scalar) does not support elems␤  in block <unit> at <tmp> line 1␤␤»
22:26 AlexDaniel actually, no, I no longer know what's my question
22:26 SmokeMachine notviki: good memory! Better than mine...
22:26 AlexDaniel I have no idea what's going on here :)
22:26 AlexDaniel mc: my @x; dd @x; say @x>><xxx>
22:26 committable6 AlexDaniel, ¦«2015.12»: Array @x = []␤()
22:26 notviki m: my @x; say @x.<xxx>
22:26 camelia rakudo-moar dbe3e0: OUTPUT«Type Array does not support associative indexing.␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
22:27 AlexDaniel ah, here's my question
22:27 AlexDaniel mc: my @x; say @x>><xxx>
22:27 committable6 AlexDaniel, ¦«2015.12»: This type does not support elems␤  in block <unit> at /tmp/RN06Tc6UDh line 1␤ «exit code = 1»
22:27 AlexDaniel mc: my @x; dd @x; say @x>><xxx>
22:27 committable6 AlexDaniel, ¦«2015.12»: Array @x = []␤()
22:27 AlexDaniel why was it so?
22:27 notviki I don't get what that syntax is, since there's no dot after the >>
22:28 notviki mc: my @x; say (1, 2, 3)>><xxx>
22:28 committable6 notviki, ¦«2015.12»: Type Int does not support associative indexing.␤  in block <unit> at /tmp/1z33chj3HC line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/1z33chj3HC line 1␤ «exit code = 1»
22:28 lizmat pmurias: it doesn't appear to be tested, so I guess it's open to debate  :-)
22:28 * notviki shrugs
22:28 AlexDaniel notviki: isn't it just »{‘smth’} ?
22:29 notviki m: my %h = :42foo; %h>><foo>
22:29 camelia rakudo-moar dbe3e0: ( no output )
22:29 notviki m: my %h = :42foo; dd %h>><foo>
22:29 camelia rakudo-moar dbe3e0: OUTPUT«Hash % = {:foo(Failure.new(exception => X::AdHoc.new(payload => "Type Int does not support associative indexing."), backtrace => Backtrace.new))}␤»
22:29 AlexDaniel m: my @a = { ‘foo’ => 42 }, { ‘foo’ => 60 }; say @a»<foo>
22:29 camelia rakudo-moar dbe3e0: OUTPUT«(42 60)␤»
22:29 notviki Ah
22:30 notviki m: my @x; dd @x; say @x>>.<xxx>
22:30 camelia rakudo-moar dbe3e0: OUTPUT«Array @x = []␤This type (Scalar) does not support elems␤  in block <unit> at <tmp> line 1␤␤»
22:30 notviki m: my @x; dd @x; say @x».<xxx>
22:30 camelia rakudo-moar dbe3e0: OUTPUT«Array @x = []␤This type (Scalar) does not support elems␤  in block <unit> at <tmp> line 1␤␤»
22:30 dj_goku joined #perl6
22:30 notviki m: my @x; dd @x; say @x».uc
22:30 camelia rakudo-moar dbe3e0: OUTPUT«Array @x = []␤[]␤»
22:31 notviki m: my @x; dd @x; say @x».AT-KEY('xxx')
22:31 camelia rakudo-moar dbe3e0: OUTPUT«Array @x = []␤This type (Scalar) does not support elems␤  in block <unit> at <tmp> line 1␤␤»
22:31 notviki AlexDaniel: yeah, seems like that should work
22:31 kybr where should i look for the latest Java integration work
22:32 notviki m: my @x = {:42xxx}; say @x».<xxx>
22:32 camelia rakudo-moar bd03ad: OUTPUT«(42)␤»
22:32 notviki m: my @x = {:42xxx}, {:72xxx}; say @x».<xxx>
22:32 camelia rakudo-moar bd03ad: OUTPUT«(42 72)␤»
22:32 notviki AlexDaniel: yeah, looks like a ticket is in order :)
22:32 AlexDaniel notviki: what would be a good title?
22:33 notviki m: my @x; say @x».[42]
22:33 camelia rakudo-moar bd03ad: OUTPUT«This type (Scalar) does not support elems␤  in block <unit> at <tmp> line 1␤␤»
22:33 perlpilot kybr: do you mean rakudo running on the jvm or something different?
22:33 notviki AlexDaniel: Hyper method call of AT-KEY/AT-POS fails with empty arrays, I guess
22:33 AlexDaniel notviki: but the interesting thing is
22:34 AlexDaniel mc: my @x; say @x».[42]
22:34 committable6 AlexDaniel, ¦«2015.12»: This type does not support elems␤  in block <unit> at /tmp/drWDWmda6Q line 1␤ «exit code = 1»
22:34 AlexDaniel mc: my @x; say @x»<xxx>
22:34 committable6 AlexDaniel, ¦«2015.12»: This type does not support elems␤  in block <unit> at /tmp/nK5vpciNbz line 1␤ «exit code = 1»
22:34 AlexDaniel :/
22:34 notviki mc: my @x; say @x».AT-KEY('xxx')
22:34 committable6 notviki, ¦«2015.12»: This type does not support elems␤  in block <unit> at /tmp/OaqKzKnO1p line 1␤ «exit code = 1»
22:34 AlexDaniel yes, right, the interesting thing is
22:34 notviki mc: my @x = {:42xxx}; say @x».AT-KEY('xxx')
22:34 committable6 notviki, ¦«2015.12»: (42)
22:34 AlexDaniel mc: my @x; say @x».[42]
22:34 committable6 AlexDaniel, ¦«2015.12»: This type does not support elems␤  in block <unit> at /tmp/4ocQWn0zIV line 1␤ «exit code = 1»
22:34 AlexDaniel mc: my @x; dd @x; say @x».[42]
22:34 committable6 AlexDaniel, ¦«2015.12»: Array @x = []␤()
22:35 notviki heh
22:35 AlexDaniel if you dd it, it works!
22:35 notviki m: my @x; eager @x; say @x».[42]
22:35 camelia rakudo-moar bd03ad: OUTPUT«WARNINGS for <tmp>:␤Useless use of @x in sink context (line 1)␤This type (Scalar) does not support elems␤  in block <unit> at <tmp> line 1␤␤»
22:36 AlexDaniel no-no, no longer works on HEAD!
22:36 AlexDaniel mc: my @x; eager @x; say @x».[42]
22:36 committable6 AlexDaniel, ¦«2015.12»: WARNINGS for /tmp/z9Olnzib00:␤Useless use of @x in sink context (line 1)␤This type does not support elems␤  in block <unit> at /tmp/z9Olnzib00 line 1␤ «exit code = 1»
22:36 AlexDaniel well…
22:36 gfldex loliblöggedalittle: https://gfldex.wordpress.com/2​017/01/04/perl-6-is-smalltalk/
22:38 notviki kybr: well, there's #perl6-dev channel. psch and bartolin are the folks I see commit most of JVM stuff.
22:44 SmokeMachine mspo: I'm starting teaching perl6 to my 4yo girl... :)
22:45 SmokeMachine That's difficult...
22:45 SmokeMachine She can't read yet...
22:46 AlexDaniel notviki: by the way, thanks for your /m/ tip
22:46 notviki no problem
22:46 AlexDaniel notviki: I have submitted a bunch of tickets through it, for some reason it is more convenient for me than writing an email
22:46 notviki m: -> $ {}.arity.say; -> $ {}.count.say; {}.arity.say; {}.count.say
22:46 camelia rakudo-moar bd03ad: OUTPUT«1␤1␤No such method 'arity' for invocant of type 'Hash'␤  in block <unit> at <tmp> line 1␤␤»
22:47 notviki m: -> $ {}.arity.say; -> $ {}.count.say; {;}.arity.say; {;}.count.say
22:47 camelia rakudo-moar bd03ad: OUTPUT«1␤1␤0␤1␤»
22:47 notviki m: -> {}.arity.say; -> {}.count.say; {;}.arity.say; {;}.count.say
22:47 camelia rakudo-moar bd03ad: OUTPUT«0␤0␤0␤1␤»
22:47 AlexDaniel I still hope THE BUTTON will be restored… even though this hope is very very tiny by now
22:48 mcmillhj joined #perl6
22:48 notviki gfldex: ^ you can have the code figure out whether to give the arg or not, so it'd take a pointy block/sub that doesn't take an arg
22:48 notviki s: &infix:<andthen>
22:48 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/blo​b/18793d1/src/core/operators.pm#L623
22:48 notviki ^ we do it there
22:48 * gfldex looks
22:51 gfldex not really a HLL way. I was thinking about checking .signature.count .
22:52 pmurias lizmat: &tmpdir is broken current (as is usual for untested things) so nobody in the ecosystem should be depending on it, I'll try to think what a good replacement would be tommorow once I get some sleep
22:52 lizmat pmurias++
22:52 kybr joined #perl6
22:54 kybr joined #perl6
22:55 notviki I think multies can have many sigs, with different counts
22:55 gfldex they can
22:56 gfldex m: multi sub f(1){}; multi sub f(2){}; dd &f.signature
22:56 camelia rakudo-moar 0f25d8: OUTPUT«:(;; Mu | is raw)␤»
22:56 AlexDaniel e: BEGIN (1, 2)[*-1]
22:56 evalable6 AlexDaniel, Full output: https://gist.github.com/026c​831f68bfc5dfc08410e488b0472e
22:56 evalable6 AlexDaniel, rakudo-moar 0f25d83: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/IfTQnk8hIp␤An exceptio…»
22:57 lizmat gfldex: that's the signature of the proto
22:57 AlexDaniel is there any way to grep RT for “BEGIN (1, 2)[*-1]” ?
22:57 gfldex m: multi sub f(1){}; multi sub f(2){}; dd ::.^can('f')».signature
22:57 camelia rakudo-moar 0f25d8: OUTPUT«()␤»
22:58 gfldex how do I get all multi candidates of a multi sub?
22:59 AlexDaniel gfldex: what about &foo.candidates ?
22:59 AlexDaniel m: multi sub f(1){}; multi sub f(2){}; dd &f.candidates
22:59 camelia rakudo-moar 0f25d8: OUTPUT«(sub f (Int $ where { ... }) { #`(Sub|47457104) ... }, sub f (Int $ where { ... }) { #`(Sub|47457256) ... })␤»
22:59 gfldex it's even doced :)
23:01 gfldex the type graph contains Macro. I think it shouldn't.
23:02 notviki AlexDaniel: don't think they turned on full body search, so no.
23:02 notviki I have a script that can do it for all the open tickets, if you wan it
23:03 notviki umm.. and if I can find it
23:03 AlexDaniel nah, one day somebody will notice and merge RT #130505 into the previous ticket
23:03 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=130505
23:03 mcmillhj joined #perl6
23:04 notviki OK
23:04 notviki Script's here FWIW. Just change the regex that  looks for stuff: https://gist.github.com/zoffixznet/a3790d​dfec6e1c544bf766b23e3caefd#file-p5-pl-L20
23:07 notviki and 5.024; isn't needed it'll work with 5.010 too I think
23:08 niceperl joined #perl6
23:09 jdv79 are control exceptions fully implemented?
23:09 jdv79 wondering how the done() call is handled exactly
23:10 gfldex m: sub r { return 42; CONTROL { default { say [.^name, .Str ] } } }; r
23:10 camelia rakudo-moar 0f25d8: OUTPUT«[CX::Return <return control exception>]␤»
23:11 gfldex m: sub r { take 42; CONTROL { default { say [.^name, .Str ] } } }; r
23:11 camelia rakudo-moar 516e52: OUTPUT«[CX::Take <take control exception>]␤»
23:12 gfldex m: sub r { return 42; CONTROL { default { say [.^name, .Str ]; .rethrow } } }; say r
23:12 camelia rakudo-moar 516e52: OUTPUT«[CX::Return <return control exception>]␤Nil␤»
23:12 gfldex maybe not fully
23:14 mspo SmokeMachine: luckily you can write a lot of p6 without letters ;)
23:14 AlexDaniel moritz: oh, it's not the first email from him!
23:14 mspo my daughter is almost 4 and I'd rather she learned how to pronounce "breakfast" before learning a programming language
23:14 AlexDaniel there were two emails, one in the middle of December
23:15 mspo although her concept of time is very interesting
23:15 mspo as in- she doesn't really have one
23:15 AlexDaniel talks about some event in January, I think if I forward it now there's still some time… :)
23:20 notviki m: dd CX::Done
23:20 camelia rakudo-moar 516e52: OUTPUT«CX::Done␤»
23:20 notviki jdv79: ^ prolly with that
23:22 lizmat good night, #perl6!
23:26 notviki night
23:27 notviki Crazy. 2TB usb stick: http://www.computerworld.com/article​/3154451/data-storage/kingston-will-​release-massive-2tb-thumb-drive.html
23:31 jnthn jdv79: done is a control exception, and the handling of it for supply/react blocks is set up in https://github.com/rakudo/rakudo/​blob/nom/src/core/Supply.pm#L1725 which actually uses an nqp:: op for slightly better code-gen but should be equivalent to a CONTROL { when CX::Done { } } or so.
23:32 jnthn (That code was also written before the higher-level CX::Done was added)
23:36 mcmillhj joined #perl6
23:38 pyrimidine joined #perl6
23:40 Actualeyes joined #perl6
23:53 cpage joined #perl6
23:55 pecastro joined #perl6

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

Perl 6 | Reference Documentation | Rakudo