»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
notviki
.oO( that probably answers my question actually... )
00:01
notviki goes for three version in three classes
00:01 shayan_ left 00:06 agentzh joined 00:09 pmurias left 00:11 Guest79293 left 00:17 shayan_ joined 00:21 shayan_ left
SmokeMachine masak: I saw your train track post... that's great! 00:30
masak: do you think something like this (github.com/FCO/ProblemSolver) could be helpful on that? 00:32
00:42 lukaramu left 00:52 TEttinger left 00:53 TEttinger joined 00:54 cdg joined 00:57 Khisanth joined 00:58 cdg left 01:02 BenGoldberg joined 01:04 Gasher left 01:07 kurahaupo__ joined 01:08 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg, cdg joined
notviki m: gist.github.com/zoffixznet/7775795...5f64ec513e 01:09
camelia rakudo-moar f9ed73: OUTPUT«[("a"=>55,"c"=>1,"b"=>3).BagHash]␤»
notviki Any idea why my clone isn't working?
I even added a print statement to Hash.clone and it is printed, so I don't get how it's still coupled :S
and only coupled for some things only... like the "z" change doesn't show up :/ 01:10
ooh
those are pair objects.
Sure. Sit for 70 minutes pondering this and find the answer 1 minute after asking on IRC -_-
notviki goes to bed
mst that's what always happens 01:11
timotimo i want bed, too
but hiccups have been particularly incessant today
01:12 cdg left, kurahaupo__ left, shayan_ joined 01:13 aborazmeh joined, aborazmeh left, aborazmeh joined 01:14 shayan_ left 01:24 astj_ joined, astj left 01:27 kurahaupo__ joined 01:28 rpburkholder joined
SmokeMachine .tell masak do you think that this (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 01:33 unicodable6 joined, ChanServ sets mode: +v unicodable6, bwisti joined 01:37 shayan_ joined 01:43 shayan_ left
curt_ Is it possible to make an Enumeration value out of a string? 01:45
enum E <A B C>; sub foo(E :$e) { ... }; my $b = 'B'; foo(??? $b ???);
I tried to get the enum value out of the Enumeration, but it just gives me a Pair. 01:47
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␤␤»
AlexDaniel m: enum E <A B C>; say E(‘B’) 01:49
camelia rakudo-moar f9ed73: OUTPUT«(E)␤»
curt_ thank you! 01:50
AlexDaniel hmmmm wait something is wrong
curt_ yep, doesn't work 01:51
AlexDaniel mc: enum E <A B C>; say E(‘B’)
committable6 AlexDaniel, ¦«2015.12»: (E)
AlexDaniel hm ok
aaah it's by its int value 01:53
mc: enum E <A B C>; say E(1)
committable6 AlexDaniel, ¦«2015.12»: B
AlexDaniel m: enum E <A B C>; my $x = ‘B’; say E(E.enums{$x}) 01:55
camelia rakudo-moar f9ed73: OUTPUT«B␤»
AlexDaniel this is a bit too complicated
01:57 cdg joined 01:58 cdg_ joined
AlexDaniel curt_: by the way, what do you mean by “Enumeration value”? 01:59
m: enum E <A B C>; my $x = ‘B’; say E.enums{$x}
camelia rakudo-moar f9ed73: OUTPUT«1␤»
AlexDaniel perhaps this is enough for you? ↑
.enums returns a Map, which is exactly what you need I think
curt_ Yes, that should work for me 02:00
02:01 cdg left
SmokeMachine m: enum E <A B C>; my $val = "B"; say E::{$val} 02:02
camelia rakudo-moar f9ed73: OUTPUT«B␤»
02:03 rindolf left
SmokeMachine m: enum E <A B C>; my $val = "B"; say E::{$val}.perl 02:03
camelia rakudo-moar f9ed73: OUTPUT«E::B␤»
AlexDaniel that's better
SmokeMachine m: enum E <A B C>; say E::<B> 02:04
camelia rakudo-moar f9ed73: OUTPUT«B␤»
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␤»
curt_ m: enum E <A B C>; my $val = "B"; my $t = E; say "$t"::{$val}.perl;
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␤»
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}␤»
SmokeMachine m: enum E <A B C>; my $t := E; my $val = "B"; say $t::{$val} 02:08
camelia rakudo-moar f9ed73: OUTPUT«(Any)␤»
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 02:10 bdo left
SmokeMachine curt_: is that what you want? 02:10
curt_ yes 02:11
SmokeMachine: thank you
SmokeMachine :) 02:12
02:14 teksteiner left 02:15 teksteiner joined
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␤»
BenGoldberg m: dd (enum F <D E F>); 02:29
camelia rakudo-moar f9ed73: OUTPUT«Map.new((:D(0),:E(1),:F(2)))␤»
BenGoldberg m: (enum F <D E F>).{"E"}.say;
camelia rakudo-moar f9ed73: OUTPUT«1␤»
BenGoldberg m: enum F <D E F>; dd F;
camelia rakudo-moar f9ed73: OUTPUT«F␤»
BenGoldberg m: enum F <D E F>; dd F.WHAT; 02:30
camelia rakudo-moar f9ed73: OUTPUT«F␤»
BenGoldberg m: enum F <D E F>; say F;
camelia rakudo-moar f9ed73: OUTPUT«(F)␤»
02:30 agentzh left, bstamour joined
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␤␤»
BenGoldberg m: say (enum F <D E F>).{"E" :key};
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␤»
BenGoldberg m: my $e = enum F <D E F>; say $e<E>; 02:32
camelia rakudo-moar f9ed73: OUTPUT«1␤»
BenGoldberg m: my $e = enum F <D E F>; say $e<E>:key;
camelia rakudo-moar f9ed73: OUTPUT«Unexpected named argument 'key' passed␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg m: my $e = enum F <D E F>; say $e<E>:kv;
camelia rakudo-moar f9ed73: OUTPUT«(E 1)␤»
BenGoldberg m: my $e = enum F <D E F>; say $e<E>:k;
camelia rakudo-moar f9ed73: OUTPUT«E␤»
SmokeMachine m: enum E <A B C>; my $t := E; my $val = "B"; say $t{$val}:k 02:33
camelia rakudo-moar f9ed73: OUTPUT«()␤»
SmokeMachine m: enum E <A B C>; my $t = E; my $val = "B"; say $t{$val}:k 02:34
camelia rakudo-moar f9ed73: OUTPUT«()␤»
SmokeMachine m: enum E <A B C>; my $t := ::E; my $val = "B"; say $t{$val}:k
camelia rakudo-moar f9ed73: OUTPUT«()␤»
SmokeMachine m: enum E <A B C>; my $t := E; de $t
camelia rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ de used at line 1. Did you mean 'dd'?␤␤»
SmokeMachine m: enum E <A B C>; my $t := E; dd &t 02:35
AlexDaniel oh, :k !
camelia rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ t used at line 1␤␤»
SmokeMachine m: enum E <A B C>; my $t := E; dd $t
camelia rakudo-moar f9ed73: OUTPUT«E␤»
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- left, kalkin-_ joined
SmokeMachine m: enum E <A B C>; my $t = E; my $val = "B"; say $t.{$val} 02:36
camelia rakudo-moar f9ed73: OUTPUT«(Any)␤»
BenGoldberg m: enum F <D E F>; say keys F; 02:38
camelia rakudo-moar f9ed73: OUTPUT«()␤»
BenGoldberg m: enum F <D E F>; say values F;
camelia rakudo-moar f9ed73: OUTPUT«()␤»
BenGoldberg m: say keys enum F <D E F>; ; 02:39
camelia rakudo-moar f9ed73: OUTPUT«(F E D)␤»
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)))␤»
BenGoldberg m: my $f = enum F <D E F>; say $f =:= F.enums;
camelia rakudo-moar f9ed73: OUTPUT«False␤»
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)))␤»
BenGoldberg m: my $f = enum F <D E F>; say $f::; 02:42
camelia rakudo-moar f9ed73: OUTPUT«Map.new((:D(0),:E(1),:F(2)))␤»
BenGoldberg m: enum F <D E F>; my $f = F; say $f::;
camelia rakudo-moar f9ed73: OUTPUT«(F)␤»
timotimo m: enum F <D E G>; my $name = "E"; say F::{$name}.WHAT 02:45
camelia rakudo-moar f9ed73: OUTPUT«(F)␤»
02:45 ilbot3 left
dalek rl6-most-wanted: f1f1e6c | titsuki++ | most-wanted/bindings.md:
MeCab is ready
02:47
02:47 shayan_ joined, ilbot3 joined
dalek rl6-most-wanted: 348a454 | titsuki++ | most-wanted/bindings.md:
WIP: Algorithm::LibSVM
02:49
rl6-most-wanted: 2deb248 | titsuki++ | most-wanted/bindings.md:
Add missing parentheses
02:51
03:00 curt_ left, shayan_ left 03:07 cdg_ left 03:12 noganex joined 03:15 noganex_ left 03:16 shayan_ joined 03:18 g__k__ joined 03:29 xtreak joined 03:38 teksteiner left 03:47 AlexDaniel left 03:48 aindilis joined 03:51 rpburkholder left 03:53 kurahaupo__ left 03:55 dugword joined
dalek c: b5c315d | coke++ | doc/Language/modules.pod6:
Use nbsp
04:41
synopsebot6 Link: doc.perl6.org/language/modules
04:42 xtreak left 04:44 xtreak joined 04:55 PapaChub joined 04:57 rmusial joined 04:58 aborazmeh left 05:04 espadrine joined 05:33 Tonik joined 05:34 Matthew[m] left, xui_nya[m] left, dp[m] left, CIAvash[m] left, M-Illandan left
PapaChub Backtracking / Ratcheting Regex Question: Can anybody help me figure out how to make this: dabe.com/misc/parse-lineage.p6.html *NOT* fall into an infinite loop? 05:38
shayan_ you have 0 awareness 05:44
you fucking dumb incel
it matters to me
timotimo PapaChub: when you reach id and it doesn't match parent, it'll go into child, which immediately goes back into id 05:46
shayan_: what the hell is wrong with you? 05:47
PapaChub timotimo: Unfortunately, that's kind of what I want􏿽x85
05:47 synopsebot6 left, synopsebot6 joined
shayan_ timotimo: sorry — intended to be directed to a user, not this group…. 05:48
timotimo OK
samcv PapaChub, why is there a replacement character �
after what you said
PapaChub A1_B1_100 is the "offspring" of A1 and B1
samcv Did three dots 􏿽x85 get converted to an ellipsis? 05:49
05:49 synopsebot6 left
timotimo this is kind of like an RPN, isn't it? 05:49
05:49 synopsebot6 joined
PapaChub I didn't write the input :-} 05:49
samcv uhm that's not an elipsis
that's the replacement character
m: "�".uniname.say 05:50
camelia rakudo-moar f9ed73: OUTPUT«REPLACEMENT CHARACTER␤»
timotimo samcv: i didn't get the replacement character on my end
samcv hm
i have elipsis tho
PapaChub m: "􏿽x85".uniname.say
05:50 synopsebot6 left
samcv maybe your encoding is off PapaChub 05:50
camelia rakudo-moar f9ed73: OUTPUT«HORIZONTAL ELLIPSIS␤»
timotimo it has ellipsis and a period
05:50 synopsebot6 joined
samcv oh i can't see that one. dammit 05:50
i've seen that tho
timotimo hah :)
samcv 05:51
m: '…'.uniname.say
camelia rakudo-moar f9ed73: OUTPUT«HORIZONTAL ELLIPSIS␤»
samcv yeah i can see that fine
timotimo my brain is proper wrecked by sleep deprivation still
samcv and can see it when anybody else uses it
05:51 Cabanossi left, BenGoldberg left
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
on the site that is 05:53
maybe PapaChub isn't sending in utf-8?
samcv wish she could get the raw irc message he sent so i can figure out what's going on
05:54 Cabanossi joined
PapaChub samcv 􏿽xABshrug􏿽xBB 05:54
05:54 synopsebot6 left, synopsebot6 joined
samcv can't see those either 05:54
PapaChub, check the encoding of your client
timotimo for some reason they reach me fine
samcv maybe it's auto-decoding to utf-8?
timotimo «also shrug» <- are those okay for you samcv?
samcv that's fine
PapaChub 􏿽xAB􏿽x85􏿽xBB 05:55
05:55 synopsebot6 left
timotimo weird, so my client is perhaps doing some magic per-user detection 05:55
samcv yeah
05:55 synopsebot6 joined
samcv i can't see that either PapaChub 05:55
please check your client
PapaChub Yeah, I'm looking. . .
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)
samcv which basically means it's not doing anything at all. same for my client
i have both set to not alter the stream
timotimo geekosaur: hopefully it will not display it as utf8 to you! :D
PapaChub: maybe try to work off of the fact that the very first thing is always a proper parent 05:57
even though that's not the "proper" recursion semantic
samcv PapaChub, what client are you using? 05:58
and how are you entering the characters?
PapaChub, can you try coping and pasting this: …
those elipsis and send it back to me
05:59 tadzik joined
PapaChub samcv 􏿽x85 06:00
06:00 synopsebot6 left, synopsebot6 joined
samcv nope can't see that 06:00
#fakeunicode
PapaChub I think I'm killing synopsebot6 each time, too
timotimo whoopsie-daysies! 06:01
samcv what client though
06:01 bwisti left
timotimo at some point i'm going to port synopsebot to IRC::Client, which is super robust 06:01
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
i need it for some unicode spec tests
timotimo Buf[int16].new(...).decode('utf16')
samcv so just string the hex numbbers one after the other and .decode utf16? cool 06:05
06:05 shayan_ left
kaare_ basic q again, How to reference a self method? (like:) 06:07
class a {method b($x) { $x * 2 }; method c {my $a = self.&b}}
which is not the way
timotimo you have to self.^find_method
timotimo disappears to try sleep again 06:08
kaare_ oh
Sleep is overrated
06:12 mst left, mst joined, M-Illandan joined, wictory[m] joined, Matthew[m] joined, ilmari[m] joined, dp[m] joined, Matias[m] joined, mulk[m] joined, xui_nya[m] joined, CIAvash[m] joined 06:14 kybr left 06:20 kybr joined
samcv what is this word, s l e e p 06:25
and what does it mean
kaare_ IIRC it's something young people do 06:26
samcv i'm going to look at QT's UTF-8 decoding code. i read it's SIMD optimized and really fast 06:27
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
would be cool
06:29 kyan left
PapaChub m: dd &sleep 06:29
camelia rakudo-moar f9ed73: OUTPUT«Sub+{Callable[Nil]} sleep = sub sleep ($seconds = Inf --> Nil) { #`(Sub+{Callable[Nil]}|67538040) ... }␤»
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
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:30
06:33 shayan_ joined 06:34 bwisti joined, CIAvash joined 06:35 shayan_ left, girafe left 06:36 shayan_ joined 06:51 RabidGravy joined 07:00 darutoko joined, baest_ is now known as baest 07:15 domidumont joined 07:20 domidumont left, bwisti left, domidumont joined, pierre_ joined 07:21 pierre_ left, pierre_ joined 07:22 Melezhik joined
Melezhik Hi! And hope everybody has a great holidays 07:23
I am looking perl6 equivalent for perl5 'require file-path' 07:24
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 ..
Samcv: not sure what you mean ,sorry 07:27
samcv what are you trying to do
Melezhik As I told to load some perl6 code , and this is not a module btw
07:28 wamba joined, bjz joined
samcv you are trying to load perl 5 code?: 07:28
sorry uh. i still don't know what you are trying to do
what do you need file-path for, so i can help recommend something
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?
Melezhik No,, it is all perl6 code , just spreaded in various files 07:30
Yes, exactly
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`
jast you can use 'use' and 'require' just like in Perl 5
samcv mostly at least
jast well, almost. there are some differences but they shouldn't matter for this
samcv i would tend to go with use in perl 6, cause require does some weird things 07:31
maybe not weird but. not as simple
Melezhik Well perl6 docs says gets no equivalent for perl5 requires ,. Or I miss something ?
S/gets/there's
samcv requires is not the same deep down. just use `use`
and you should be fine 07:32
Melezhik Thanks , what if I need load file by absolute, relative path ?
jast 'need' seems a little more similar to Perl 5's 'require', though one big difference is that it happens at compile time
samcv `use folder::otherfolder::file` 07:33
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
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?
Melezhik I can't just load a file by some path ?
kaare_ Seems you can with require. Not with use or need 07:36
samcv you mean like `use folder/file.pm6` or something?
require can be weird though hm.
idk i'm not an expert on modules :\
jast from a quick look at the docs, it *looks* like require won't accept a filename, only a compunit name
kaare_ equire 'lib/DBIish.pm6'; works for me 07:37
require etc
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
jast oh well
Melezhik So, probably require should work ?
kaare_ Except I don't know what the weird stuff is 07:38
Melezhik Require '/some/path/' ?
jast seems like it. unlike in Perl 5, though, Perl 6's require seems to import symbols
nine jast: is the importing really implemented? 07:39
Melezhik Well, probably I need to take some experiments, to check it .. 07:40
nine oh, it is
07:40 FROGGS joined
jast I'm going by what the docs say 07:40
Melezhik as I told EVALFILE works for me, but see my concerns on its overheads 07:41
07:41 holli left, bjz left
jast well it's not like 'require' does less work 07:42
07:42 espadrine left
nine One can use require to load a precomp file 07:42
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
07:44 bjz joined
Melezhik Nine: because code in a file not a module 07:45
07:45 bjz left
nine Where's the difference? What code is in there? 07:45
Melezhik Just an arbitrary perl6 code
07:45 xtreak left
nine Is it like user supplied code that your program just loads and otherwise knows nothing about? 07:46
Melezhik Nine: file contains some functions calls and maybe some othe stuff , but this is not no way is perl6 module definition 07:47
07:47 shayan_ left
Melezhik Nine: as example you may take a look at sparrowdo docs , sparrowfile scenarios 07:48
07:49 xtreak joined
Melezhik Nine: that is it github.com/melezhik/sparrowdo#usage 07:49
So sparrowdo just loads some users scenarios defined in terms of some DSL 07:50
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
nine Because you need the context
Melezhik That is it
07:51 CIAvash left
Melezhik Nine : as I am not perl6 expert yet , just want to be sure , so I am looking for advise here ))) 07:52
But I read that EVALFILE is executed via eval , so it mob be slow ? 07:53
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?
But it looks like most code will be in real modules anyway, so they can be precompiled? 07:55
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 ...
Nine: 2 years ago I did bot code perl6 et 07:57
Yet ))
nine But the docs show a Sparrowdo::Nginx module?
Melezhik Nine: sorry , what do you mean ? 07:59
nine 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:00
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
Melezhik Yeah , nine: modules are way faster sure 08:02
Nine: sure , sparrowdo is quite young yet , do any ideas, patches are welcome ))) 08:03
I guess I am going to refine syntax soon , you are right
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?
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
And it's pretty bare-bones, so for serious use you'll likely want to fix it up a bit 08:07
github.com/timo/iperl6kernel/
Melezhik nine: thanks for pointing this ))
arnsholt And the code hasn't been touched in over a year, so parts of it may have bitrotted 08:08
(IIRC Net::ZMQ, which is a prerequisite, has)
08:11 bjz left 08:13 andrzeju left 08:14 Melezhik left 08:16 ufobat joined 08:19 Vynce joined, user9 joined 08:23 FROGGS left 08:25 bjz joined 08:27 brrt joined 08:35 zakharyas joined 08:38 Vynce left 08:46 g4 joined 08:53 brrt left 08:58 petrutrimbitas joined 09:03 jonas2 joined 09:05 wamba left
masak 'morning 09:06
yoleaux 01:31Z <SmokeMachine> masak: do you think that this (github.com/FCO/ProblemSolver) could be useful for your train track project?
masak looks
I got curious about how Smalltalk does its `if` analogue, and I stumbled on this: pozorvlak.livejournal.com/94558.html
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:07
g'ah, RandalSchwartz* 09:08
09:08 brrt joined
masak main takeaway about Smalltalk's way of doing it: `ifTrue: ifFalse:` is a single method -- or, using Smalltalk's parlance, "message" 09:09
seemingly messages can be defined as just a set of named parameters -- no need to name the message itself
SmokeMachine: reminds me more about strangelyconsistent.org/blog/send-m...y-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
masak arnsholt: aha; interesting 09:11
arnsholt: I'm currently slowly re-reading worrydream.com/EarlyHistoryOfSmalltalk/ -- so many great insights in there
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
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"
arnsholt: maybe $author meant "it's an instance of method dispatch", but phrased it badly 09:12
arnsholt Yeah, I suspect so
09:17 Actualeyes left 09:18 brrt left
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
09:18 brrt joined
arnsholt If you have questions I can probably answer at least some of them 09:18
masak I have questions, but haven't gone through the work of making them concrete enough to ask :) 09:19
09:19 Actualeyes joined
masak maybe, for now: what's your take on the closure<->object correspondence? 09:20
in some way, lambda calculus sells the world view "everything's a closure", whereas Smalltalk sells "everything's an object"
brrt closures are objects which respond to just one kind of message 09:21
(is what a smalltalk weenie would say)
masak right
brrt masak, darnit, i had a question for you just yesterday, and i have forgotten about it
masak to be clear: I grok what the closure<->object correspondence is; just curious about further takes and insights re it :) 09:22
brrt: it was probably about macros
arnsholt I haven't meditated deeply on it, TBH
masak brrt: and you probably forgot about it as a kind of mental defense mechanism :P
arnsholt But pretty much what brrt said: closures are a thing, and to evaluate them you send them a message 09:23
brrt hehehe
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
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)
arnsholt Yeah, they're specialer than the control structures
There's special notation to create them (square brackets), and you probably can't easily subclass them 09:25
masak I have similar issues in 007 with Sub objects 09:26
they're... hard to define in a bootstrappy way
arnsholt Yeah
masak because they both want to be completely transparent for the crafty language-extender, and have a lot of private talk with the runtime
arnsholt I had similar problems in Snake (odd coincidence, that =D) 09:27
masak fancy that
we should talk sometime :P
arnsholt Indeed we should!
masak <3
brrt any FOSDEM related plans here? 09:28
El_Che well, enough Perl 6 talks to keep everyone here happy :) 09:29
brrt already fully planned?
El_Che yes
fosdem.org/2017/schedule/track/perl/ 09:30
09:30 pierre_ left
El_Che stevan's talk must be adapted though 09:30
09:30 pierre_ joined
brrt cool :-) 09:31
09:34 pierre_ left 09:35 brrt left, bjz_ joined
samcv .tell jnthn I found the code for QT's SIMD optimized UTF-8 decoder code.woboq.org/qt5/qtbase/src/core...c.cpp.html thought you might like to see 09:36
yoleaux samcv: I'll pass your message to jnthn.
09:36 brrt joined
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.
DrForr . o "The Merelo Family" - Now I'm more intrigued. 09:37
09:37 bjz left 09:38 xtreak left
El_Che hehee 09:39
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:40
09:40 brrt left
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 :)
I like JJ's talks. Always fun. This is probably one of his first perl6 talks 09:42
09:43 brrt joined
DrForr w00t, a whole 40 minutes. Hopefully I won't lose half the crowd. 09:43
09:44 xinming left
El_Che start working on tap dancing and other crowd pleasing acts :) 09:44
DrForr: my original idea was a grammar workshop
09:45 xinming joined
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?
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
El_Che going for then Peace Nobel Price 09:52
DrForr In this crowd the Ig Nobel is more likely to be awarded :) 09:57
El_Che hehe
DrForr *especially* with that lineup. 09:59
El_Che are there people that had a talk but didn't send a proposal? 10:05
DrForr Not I (obviously :) ) 10:11
El_Che I added the docker talk because there was a sudden deadline :) 10:13
DrForr Sudden deadline is sudden.
10:14 dugword left 10:15 Actualeyes left, TEttinger left
gfldex m: say Bool.HOW 10:22
camelia rakudo-moar 528ec5: OUTPUT«Perl6::Metamodel::EnumHOW.new␤»
10:23 xtreak joined 10:24 brrt left 10:30 Actualeyes joined 10:36 bjz joined 10:37 bjz_ left 10:39 aries_liuxueyang left 10:41 brrt joined 10:43 aries_liuxueyang joined 10:48 aries_liuxueyang left 10:49 raschp joined 10:50 aries_liuxueyang joined 10:52 rindolf joined 10:53 cyphase left 10:54 cyphase joined 11:03 mr-foobar left 11:04 mr-foobar joined 11:06 raschp left 11:09 Dunearhp left
gregf_ hello 11:12
11:13 Dunearhp joined
gregf_ was Moose like a step to help Perl5 devs make a smooth transition to Perl6? 11:13
notviki No.
11:13 Ven joined
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:|
notviki gregf_: there was some back and forth stealing of ideas.
mst remembers better
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
the current perl6 metamodel was significantly inspired by Moose
lots of other influences in both
but, yeah, lots of mutual idea theft 11:16
gregf_ hmm - ok
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
notviki :) 11:17
11:17 xtreak left
mst (everybody who did the actual work on that)++ 11:17
gregf_ mst++, notviki++, perl{5,6}++ 11:18
11:18 Ven left
gregf_ s/p/P/ 11:18
mst gregf_: also if you can use keyword plugins replace Method::Signatures with Function::Parameters
F::P + Type::Tiny + Moo == <3 11:19
gregf_ mst: hmm, i see, any performance gain in switching?
mst no idea, but Devel::Declare is insane and Any::Moose is deprecated and Method::Signatures relies on both
gregf_ i'll try and use F:P in new code i add ;) #if it passes code review :) 11:20
hmm - ok
oh, so replace Moose with Moose. hmm 11:21
s/Moose\./Moo/
mst: cheers 11:22
mst gregf_: well, that one's a different question
if you've got Moose code that's working, no, don't bother
I use Moo for new stuff by default because it makes my test files start faster
but I'm entirely unashamed to move up to Moose if I need the features 11:23
gregf_ ok, havent seen Moo being used at, yet . no. i'll just be happy with Moose for now i guess :) 11:24
s/at/yet/
mst Type::Tiny is the better way to do types for -both- though
gregf_ yeah, ive user it and Types::Standard
s/user/used/ 11:25
11:25 brrt left, brrt joined 11:27 petrutrimbitas left 11:29 Ven joined, petrutrimbitas joined, labster left 11:40 ecocode joined 11:49 wamba left 12:01 pierre__ joined 12:04 pmurias joined 12:06 pierre__ left
pmurias jnthn: throwpayloadlex and throwpayloadlexcaller ops are marked as returning a value, yet they don't return a value 12:06
(they pass the register address to a function which does nothing with it)
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:07
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
yoleaux 09:36Z <samcv> jnthn: I found the code for QT's SIMD optimized UTF-8 decoder code.woboq.org/qt5/qtbase/src/core...c.cpp.html thought you might like to see
09:36Z <samcv> jnthn: seems it can make use of many different instruction sets as well.
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:10
pmurias jnthn: the returned value is supposed to be taken from resuming of the exception 12:14
but it's not done
12:23 melezhik joined
melezhik nine: to follow up our recent talk on sparrowdo syntax , I just added some todos in sparrowdo docs -github.com/melezhik/sparrowdo#core-dsl 12:25
so it's goning to be 3 level of freedom 1) core dsl 2) plugins DSL 3) modules
and forth one - a sparrow plugins of course ))) 12:26
12:31 brrt left
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:33
kalkin-_ I don't know if I overact, but I think it's fair to add Perl6 to this showcase to 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.
arnsholt Yup 12:39
kalkin-_ #perl6 has one of the nicest and welcoming culture I've seen in software project
pmurias melezhik: what functionality does sparrowdo provide?
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!
DrForr kalkin-_: Yay! I'd agree re: great-for-new-contributors, especially now that the documentation side is starting to take off. 12:42
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
or tool for server deploy automation 12:44
12:45 pierre__ joined 12:52 ChoHag left
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:53
12:54 ChoHag joined
El_Che melezhik: looks like puppet manifests 12:54
12:58 melezhik left
kalkin-_ I remember there was some Perl6 guideline, saying: be nice to each other, but i currently can't find it 12:59
does some one have a link?
DrForr On the front page of perl6.org IIRC. "be kind to..."
El_Che perl6.org/community/ 13:00
"We are a bunch of volunteers developing Perl 6 and Perl 6 applications, and try real hard to be nice to each other. "
kalkin-_ They only say be nice to each other, but not some text
I thought there were some elaborated version of it
s/were/was/ 13:01
El_Che kalkin-_: I remember we discussed this: gist.github.com/nxadm/13c4817dd1b4b792a99f
13:02 petrutrimbitas left
ufobat there is no .can($private-method) isn't it? 13:03
notviki no
Otherwise it wouldn't be private :P
ufobat: why do you need that? 13:04
m: DateTime.new.^can('!SET-SELF').say 13:05
camelia rakudo-moar 528ec5: OUTPUT«()␤»
notviki m: DateTime.new.^can('SET-SELF').say
camelia rakudo-moar 528ec5: OUTPUT«()␤»
13:06 melezhik joined
moritz there's a .^private_method_table 13:06
you can do basically anything through the MOP
notviki m: DateTime.new..^private_method_table.say
camelia rakudo-moar 528ec5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ private_method_table used at line 1␤␤»
notviki m: DateTime.new.^private_method_table.say
camelia rakudo-moar 528ec5: OUTPUT«{SET-SELF => SET-SELF, throw => throw}␤»
ufobat i want to dispatch to private methods based on a $string, or throw an error
notviki ufobat: but why is that method private? 13:07
ufobat just because it makes no sense if it is called from outside
shouldnt everything be private unless there is a reason for it to be public (e.g it is part of the interface)
notviki that private method table seems bogus. It doesn't have !formatter, !VALID-UNIT, or !new-from-positional in it
ufobat: ... but you *are* trying to call it from the outside :| 13:08
ufobat no
notviki mkay then
moritz ufobat: it's private becaues Date and DateTime objecst are meant to be immutable
ufobat m: class A { method !a {say "a"}; method b {say self.can("a")} }; A.new.b
camelia rakudo-moar 528ec5: OUTPUT«()␤»
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:09
ufobat moritz: i am not playin with DAteTime 13:10
13:11 mattp_ is now known as mattp
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
moritz, the datetime was from notviki
i could just do self!"$methodname" and if tere is not such method i could catch it. 13:15
kalkin-_ Any more arguments why Perl6 Community is great? gist.githubusercontent.com/kalkin/...tfile1.txt 13:17
13:17 petrutrimbitas joined 13:19 melezhik left
El_Che kalkin-_: maybe how the development is done in the open (idea's, discussions, implementation) 13:20
kalkin-_ El_Che: right will add that 13:21
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
something like that
kalkin-_ El_Che: I don't fully understand what do you mean by "open source by the community"? 13:26
El_Che kalkin-_: I mean that just putting the code on a repo qualifies as open source 13:27
13:27 holli joined
El_Che but because of communitiy involvement the Perl6 experience is reacher 13:27
notviki Other open source langs don't have community involvement? 13:28
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:29
Or there wouldn't be any contributors at all besides, yourself or your company employees 13:30
13:30 aborazmeh joined, aborazmeh left, aborazmeh joined
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 petrutrimbitas left
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:32
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:33 pierre__ left
lizmat notviki: it is my understanding that nqp::stmts is *not* a block 13:34
which is precisely why I use it a lot to reduce the overhead of starting a new scope
notviki m: use nqp; my %h = :42a; nqp::for(%h, {say "mew"})
camelia rakudo-moar 528ec5: OUTPUT«===SORRY!===␤Operation 'for' expects a block as its second operand␤»
notviki ok
13:35 lukaramu joined 13:36 bjz left 13:37 bjz joined
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
kalkin-_: for a lot of projects are drive-by-PRs the norm
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
I will try to mention that
El_Che s/feel/feel and be/ 13:45
13:49 wamba joined
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:49
kalkin-_ nine: don't want to start a flamewar but afaik the Artistic license is not Free Software 13:50
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"
pmurias kalkin-_: Rakudo uses Artistic license 2.0 14:03
kalkin-_ Github Request send out 14:06
Done
14:07 mcmillhj joined 14:08 aborazmeh left 14:12 raschp joined
raschp Anyone attending the Perl Toolchain Summit 2017? 14:13
14:15 bjz left
lizmat hopes so 14:15
14:17 kurahaupo__ joined
[Coke] waves and skips scrollback 14:22
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:23
14:29 espadrine joined
dalek c: 707efdb | coke++ | doc/Language/ (2 files):
Split proceed/succeed markers

Closes #1089
14:30
14:31 cibs left
tbrowder raschp: got a link to the summit? 14:31
lizmat blogs.perl.org/users/book1/2017/01/...-2017.html
14:32 cibs joined, bwisti joined 14:33 CIAvash joined
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:34
Linenoise will have to be disembedded to be distributed trough distros, they don't allow embedding. 14:35
The lib and the bindings will have to be distributted separately. 14:36
14:36 mscha joined
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))␤»
mscha m: say roundrobin((^8).rotor(3, :partial)) # ... how do I make this DWIM?
camelia rakudo-moar 1ee9c8: OUTPUT«(((0 1 2)) ((3 4 5)) ((6 7)))␤»
14:37 jonas2 left
notviki m: say roundrobin(|(^8).rotor(3, :partial)) 14:38
camelia rakudo-moar 1ee9c8: OUTPUT«((0 3 6) (1 4 7) (2 5))␤»
raschp m: say roundrobin(^8).rotor(3, :partial).join("|")
camelia rakudo-moar 1ee9c8: OUTPUT«0 1 2|3 4 5|6 7␤»
notviki instead of three lists you were passing it just one; the one rotor returned
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("|")
camelia rakudo-moar 1ee9c8: OUTPUT«0 3 6|1 4 7|2 5␤»
14:40 dj_goku left
kalkin-_ raschp: k, thanks 14:42
raschp kalkin-_: np
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)))␤»
notviki "It's still all about Perl (and about all Perls)" 14:46
Cool so Perl 6 toolchain will also get some hacking done at the summit?
s: &roundrobin, \(|[(0,1,2), (3,4,5), (6,7)]) 14:47
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/1ee9...t.pm#L1622
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.
notviki distributions?
raschp Star
notviki eh
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))␤»
notviki OK :) Not what I think of toolchain, but oK :)
raschp Well, it's not really, you're right.
nine kalkin-_: the Artistic License does grant me the 4 freedoms. 14:50
kalkin-_ nine: so i cant take rakudo and make my own closed source version of it and distribute it? 14:51
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␤»
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 )
camelia rakudo-moar 8ab6e0: OUTPUT«((0, 1, 2), (3, 4, 5), (6, 7))␤0␤0␤0␤»
mst notviki: there will be some if perl6 people are at the summit and decide to work on perl6
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
14:54 itcharlie1 joined
notviki mscha: what I'm saying is it's a bug and you should report it by emailing to [email@hidden.address] 14:55
14:55 curt_ joined
notviki Unless someone beats me to it, I'll fix it in ~9 hours 14:55
mscha notviki: thanks, will do.
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.
CIAvash www.gnu.org/licenses/license-list....icLicense2 14:56
kalkin-_ nine: thanks for clarification
nine kalkin-_: yes, personally I prefer strong copyleft and will license my own code GPL3, except for my Perl stuff for cultural reasons.
gregf_ mscha: thats like a transpose 14:59
15:04 skids joined 15:10 lizmat_ joined, PapaChub_ joined 15:13 aries_liuxueyang left, Dunearhp left, lizmat left, Dunearhp_ joined, PapaChub left 15:14 aries_liuxueyang joined 15:18 dj_goku joined, ecocode left 15:20 nowan left 15:21 melezhik joined 15:22 nowan joined 15:23 dj_goku left
melezhik El_Che: yeah, but puppet is way declarative , but here in sparrowdo you can code scenarios in Perl6 which is more flexible 15:25
15:26 kurahaupo__ left 15:27 kurahaupo__ joined 15:31 ThorstenB joined, Tonik left 15:32 PapaChub_ is now known as PapaChub 15:35 mcmillhj left
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:38
15:39 ThorstenB left
melezhik sparrowdo deals with sparrow plugins, which are written by one language of choise - perl5,ruby,bash 15:40
15:40 floutenvy joined
melezhik in short sparrow plugins are not coupled with sparrowdo 15:40
15:40 ThorstenB joined
melezhik one can write a plugin and use it without sparrowdo, sparrowdo just provides useful DSL to get more complicated things using pluigins 15:41
15:42 mcmillhj joined
melezhik I would say such desing gives more freedom and less monolitic 15:42
15:43 mscha left
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:44
15:45 floutenvy left
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:46
ufobat *sigh* '<' f**s up my emacs syntax highlighting :( 15:48
15:49 Tonik joined
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:49
written on the language on your choice 15:50
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:51
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:52
looks like another sneaky leading space again! 15:54
PapaChub Backtracking / Ratcheting Regex Question: Can anybody help me figure out how to make this: dabe.com/misc/parse-lineage.p6.html *NOT* fall into an infinite loop?
(I also tried a single '|' for longest alternation, but with no luck...) 15:55
tbrowder .tell JJMerelo see new wiki 15:57
yoleaux tbrowder: I'll pass your message to JJMerelo.
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" 15:59
notviki ufobat: there's some sort of emacs things for perl6: 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:00 rindolf left 16:01 dogbert2 left, dogbert17 joined
El_Che melezhik: interesting 16:02
melezhik: I use Puppet, but once it's get complicated I have to extend it in Ruby
PapaChub jnthn: Yup. I've thrown in every type of ":r" ratchet I can think of, but to no avail :-\ 16:03
jnthn PapaChub: Yes, that won't help, the grammar will need a little restructuring to avoid left-recursion 16:04
Oh, though it checks <parent> first 16:05
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:06 wamba left 16:07 rindolf joined
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
El_Che melezhik: I actually learnt some Ruby specifically for Puppet 16:08
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
melezhik El_Che: so did I with ruby for chef ))
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
melezhik this is what people in chef call ricepes and resources, but indeed thet are all should be written on ruby ... 16:11
the same thing for puppet 16:12
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:13
and then run plugin remotely as the part of sparrowdo scenario 16:14
16:15 kerframil joined, Actualeyes left
Vasyl So is there a working sample of code that creates an HTTPS server using Perl6? 16:16
El_Che melezhik: inspired by nagios? 16:17
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?
mst melezhik: (2) p3rl.org/Object::Remote will run perl5 code agentless over ssh
El_Che: I don't think he's sued anybody at all yet?
El_Che melezhik: the "write-plugins-in-whatever-you-want-we-dont-care" philosophy
mst: haha 16:22
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
El_Che melezhik: how does it work? a client? ssh + local rakudo install?
mst melezhik: no, the idea is not the same at all
16:24 troys joined
mst melezhik: I am suggesting that you would use Object::Remote *in your plugin* 16:24
El_Che oh noes, mst passed his beer to someone in order to explain stuff with both hands 16:25
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.
El_Che master-client model, ok
melezhik sparrow client is written on perl5, so on remote host it should perl5 installed
mst melezhik: you don't need anything installed except perl5 5.8+
melezhik El_Che: yes
El_Che I like the Rex client less setup (although I use masterless puppet myself)
mst melezhik: then you can use Object::Remote to send the sparrow client to the remote host :D
16:26 alimon1 joined
melezhik I documented it at sparrowdo github pages 16:27
PapaChub read that as Rexx
mst melezhik: it basically gives you on-demand App::FatPacker
PapaChub (Showing my age...)
melezhik mst: I get you point , probably Object::Remote could be a "transport"? to deliver a sparrow toolchain to remote host?
mst melezhik: exactly 16:28
melezhik: so you don't need to install any sparrow files
melezhik mst: will probably take a look closer then )))
El_Che mst: a Rube Goldberg machine? Really?
El_Che ducks
melezhik Mst: El_Che: sorry guys need to go for a while
mst melezhik: there is no point writing perl for servers without knowing how App::FatPacker and Object::Remote work
melezhik: it's good to learn how to use perl5 properly
El_Che melezhik: I will check it out. It looks nice 16:29
16:32 mcmillhj left, Actualeyes joined
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:32
􏿽xE0 la rosettacode.org/wiki/Parsing/RPN_c...thm#Perl_6 16:34
16:34 synopsebot6 left, synopsebot6 joined, mcmillhj joined 16:38 Actualeyes left
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:41
PapaChub jnthn: No worries! I certainly don't expect anybody to drop everything for something so trifling... :-D 16:42
Thx, tho!
melezhik mst: not sure if you understand me correcly, please read a sparrow docs, sparrow plugins are not only written on perl5
mst melezhik: you said the *client* was written in perl5 16:43
melezhik: i.e. the main part that runs on the target server
16:43 acrussell joined
melezhik yeah, client is written on perl5, but not the plugins 16:43
16:44 bwisti left
mst melezhik: and the plugins run on the master and generate JSON, right? 16:44
16:45 domidumont left
melezhik mst: not that simple, let me describe the whole picture again 16:45
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
mst melezhik: all I am saying is that anything that is perl5 does not need to be installed at all. 16:49
melezhik: I can't fix other languages.
well, actually, I could probably write perl6 plugins that ran on the master 16:50
but that would be a different chunk of crazy
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:51
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
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
mst (really - pick who you do care about, worry about them, ignore me :)
melezhik for example take a loom at chef - they don't care about agentless mod at all )))
I know they have a push mode, but the mainstream is having chef client preinstalled at target host ))) 16:54
mst yes.
which is why lots of new deployments use ansible.
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
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
mst and Object::Remote still requires a perl 16:56
melezhik mst: now you talk to me ))))
mst fabric just requires a shell
melezhik I thought fabric requires a python too? 16:57
16:58 bwisti joined, raschp left
mst on the master. on the remote just bash. 16:58
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
and if it is only the bash then you are limited to bash in implimenting your agent logic
16:59 thayne left
melezhik which is not always very good choise, you know ... 16:59
mst you can get surprisingly far with just fabric 17:00
17:00 shayan_ joined, shayan_ left 17:01 wamba joined 17:02 domidumont joined
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:02
17:02 rindolf left 17:04 mcmillhj left, Ven left 17:05 shayan_ joined 17:06 dj_goku joined 17:08 Ven joined 17:09 mcmillhj joined
PapaChub Well, if it's stupid -- but it /WORKS/ -- it isn't stupid... dabe.com/misc/parse-lineage.p6.html 17:11
17:11 dj_goku left
pmurias why is brain d foy twitting his rt tickets on his learningperl6 twitter? 17:11
notviki pmurias: I was wondering the same 17:12
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:13 awwaiid left, acrussell left 17:15 mcmillhj left, PapaChub left
pmurias it's a good think brain d foy is spending the time to make the ticket 17:17
17:17 acrussell joined, ChoHag left
SmokeMachine m: sub bla() {&?ROUTINE.say}; bla 17:18
camelia rakudo-moar 40d7de: OUTPUT«sub bla () { #`(Sub|64293704) ... }␤»
notviki m: sub bla() {&?ROUTINE.name.say}; bla 17:19
camelia rakudo-moar 40d7de: OUTPUT«bla␤»
17:19 Ven left
rafaelsch m: sub bla() {dd &?ROUTINE}; bla 17:20
camelia rakudo-moar 40d7de: OUTPUT«Sub bla = sub bla () { #`(Sub|58120648) ... }␤»
rafaelsch m: sub bla() {say &?ROUTINE.perl}; bla
camelia rakudo-moar 40d7de: OUTPUT«sub bla () { #`(Sub|66454648) ... }␤»
notviki sees a sprouting of new r* nicknames 17:21
Zoffix 2.0? 17:22
pmurias documentation for tempdir (and others) should be copied from the synopsis into the docs? 17:24
notviki which others? 17:25
documentation should document specced behaviour IMO
And tempdir/indir aren't specced 17:27
And personally, they shouldn't be specced in their current form. 17:28
*personally I think
17:28 Ven joined
pmurias notviki: the method form of tmpdir is in specced 17:29
notviki My reasoning for indir, but it applies to otheres too: rt.perl.org/Ticket/Display.html?id...xn-1442705
pmurias: ah, you said tempdir originally
pmurias sorry, we don't have tempdir 17:30
notviki s: $*SPEC, 'tmpdir', \()
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/40d7...nix.pm#L83
notviki My biggest winge is about the :$test parameter taken by chdir routine and by extension is used by many other IO routines 17:31
17:31 troys is now known as troys_
notviki m: dd $*TMPDIR 17:32
camelia rakudo-moar 40d7de: OUTPUT«"/tmp".IO(:SPEC(IO::Spec::Unix),:CWD("/home/camelia"))␤»
17:34 ChoHag joined
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…»
notviki m: tmpdir "/"; dd $*TMPDIR
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␤␤»
notviki m: tmpdir "/dev/null"; dd $*TMPDIR
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 Ven left
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␤␤»
notviki Yeah...
guess I should focus on this stuff if I'm the only one complaining about it... 17:38
17:38 ThorstenB left
notviki gets to business 17:38
rafaelsch notviki++ 17:39
pmurias do we need &tmpdir?
it's not specced so it doesn't have to say ;) 17:42
s/say/stay
rafaelsch Why was it implemented in the first place? 17:44
notviki prolly part of synopses 17:45
rafaelsch notviki: change it so it pleases you and then spec it. 17:46
So brian can use it in his book.
17:47 zakharyas left
rafaelsch good marketing combined with good implementation. 17:47
17:47 Ven joined
notviki heh 17:47
notviki still have doubts about that book 17:48
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"
notviki rafaelsch: did brian write Learning Perl 5 while not having a clue about Perl 5 too?
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 aindilis left, carlosn joined
rafaelsch I don't know if he did it at first 17:51
notviki When are we getting first 2 chapters of LP6 BTW? Any dates set? 17:52
rafaelsch notviki: insist or revising his book
stmuk 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.
rafaelsch notviki: it hasn't sailed. Review the book instead of crying here. 17:54
He asked for help on not doing what you're complaining he's doing and you said no. 17:55
So I think it's a little bit your fault too.
17:57 rindolf joined, RandalSchwartz joined
RandalSchwartz hi 17:57
so I hear panda is no longer the hotness. 17:58
I'm using this: rakudobrew self-upgrade && rakudobrew build moar && exit
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.
RandalSchwartz and it seems to use panda. What should I replace that with?
notviki RandalSchwartz: my saying no, after he wanted to snub another 10K from the community isn't my fault of anything 17:59
RandalSchwartz: I was just wondering if you were dead. Last I recall you were in the hospital and your account hacked or something?
RandalSchwartz wait - you're not a randombot?
notviki Sometimes I am
RandalSchwartz if so - I don't understand the previous remark
notviki err
RandalSchwartz <notviki> RandalSchwartz: my saying no, after he wanted to snub another 10K - from the community isn't my fault of anything
what was that? :)
notviki the previous remark was meant for rafaelsch ... Sorry wrong tab complete
RandalSchwartz heh 18:00
sorry for intruding
yes - the rumors of my demise are premature
notviki RandalSchwartz: yeah, you now use "zef". you can run rakudobrew build zef to get it
rafaelsch People like his books, it's great that he's writing one for Perl6
RandalSchwartz so just replace "moar" with "zef"?
notviki RandalSchwartz: no, keep the moar; in addition to moar run build zef
pmurias RandalSchwartz: moar is the VM 18:01
notviki RandalSchwartz: I guess you ran `build panda` at some point in the past
RandalSchwartz perhaps
notviki RandalSchwartz: we generatelly don't recommend rakudobrew for regular users and instead recommend Rakudo Star: 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
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
notviki rafaelsch: I'm not writing a book for him.
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
rafaelsch notviki: just read the book and them complain to him directly instead of doing it here.
It won't take you any more time to complain to him instead of complaining to us. 18:04
notviki rafaelsch: I wasn't even complaining. It's you who started goading me to review his book. 18:05
18:05 Ven left
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 18:06 melezhik left 18:07 hankache joined, Ven joined
notviki RandalSchwartz: docs for zef BTW: github.com/ugexe/zef#zef 18:08
RandalSchwartz: panda will likely still work, it's just zef got more features and is more actively developed
18:09 jeek joined
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
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
18:12 shayan_ left
notviki rafaelsch: that wasn't about the book but about our IO. 18:12
rafaelsch It was also about the book. 18:13
18:13 khw joined
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.
notviki pfft
18:15 mcmillhj left 18:17 mcmillhj joined
AlexDaniel “it symbolizes the community of P5 migrating to P6” bwahaha. Well, yes, pretty much. Like someone who's lost in the woods. 18:20
18:20 Ven left
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
* we shouldn't
notviki We don't
18:25 vagrant_1 joined, vagrant_1 is now known as melezhik 18:27 Ven joined
hankache hola #perl6 18:28
notviki \o
stmuk wonders about "The Book" 18:34
notviki You mean the first modern Perl 6 book? 18:35
It's out: deeptext.media/perl6-at-a-glance/
eBook coming soon
stmuk no no 18:36
THE BOOK
hankache Programming Perl 6?
stmuk yes
18:36 Ven left
rafaelsch The one Larry is rummored to be writing? 18:36
hankache :)
18:37 noganex left, mr-foobar left
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
rafaelsch: that's not true. The language hasn't changed for year and we likely won't see another release for another year. 18:38
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
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?
6.d?
notviki dunno, haven't seen any work for them done on nom; but I think masak is cooking something up in 007 18:41
buggable: eco 007
buggable notviki, 007 'Small experimental language with a license to macro': github.com/masak/007
18:41 shayan_ joined 18:42 andrzejku joined
[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
18:43 kyan joined
hankache what would (for the time being) be included in 6.d? 18:44
notviki buggable: 6.d
huggable: 6.d
huggable notviki, Proposals for 6.d language: github.com/perl6/specs/blob/master/v6d.pod
hankache hugs huggable 18:45
AlexDaniel huggable: hug hankache
huggable hugs hankache
notviki hankache: ^ that, plus [tentatively] this too: github.com/perl6/roast/compare/6.c...master
18:45 pyrimidine joined
AlexDaniel needs a little help :) 18:45
notviki I'd expect we have review of that before actual inclusion
[Coke] notviki: yes, that's mandatory
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.
notviki agreed
hankache AlexDaniel :)
[Coke] (the review is mandatory, I think)
18:48 melezhik left 18:49 geekosaur left 18:51 geekosaur joined, shayan_ left, shayan_ joined 18:54 noganex joined, domidumont left, dj_goku joined 18:56 leejo left 18:59 dj_goku left 19:01 noganex left
notviki hehe, this is really outdated: twitter.com/rakudoperl 19:01
[Coke] also twitter.com/perlhex 19:02
mspo opensource.com/article/16/12/yearb...rends-2016
notviki Why is everyone linking to that opensource article? Is that a popular website? 19:04
mspo it says "perl6" on it
[Coke] eh, 'cause it mentions Perl 6 in a positive light?
mspo and was linked other places
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
[Coke] HICCUP
(uhoh)
mspo marketing works
notviki heh :)
mspo sorry I didn't see it was linked earlier
notviki It's fine. I was just curious. 19:06
19:08 Ven joined 19:11 carlosn left
notviki m: "a".match: {;} 19:15
camelia rakudo-moar d9c735: OUTPUT«(timeout)»
notviki m: say {;} ~~ Cool 19:16
camelia rakudo-moar d9c735: OUTPUT«False␤»
notviki s: "a", 'match', \({;})
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/40d7...ol.pm#L179
notviki oh, nm, misread the code
AlexDaniel ooohhh… oooh! 19:17
I just remembered
there are 1000 snippets waiting for something…
19:17 noganex joined 19:19 wamba left, wamba joined
notviki More bugs? 19:20
19:20 darutoko left
notviki \o/ 19:20
19:20 Ven left
AlexDaniel notviki: less bugs, more tickets 19:21
notviki Cool! Excluding privates, we have exactly 100 subs! 19:23
m: .say for CORE::.values.grep(Sub).grep({.defined and .name !~~ /^<[A..Z_-]>+(":<".+)?$/}).elems
camelia rakudo-moar d9c735: OUTPUT«100␤»
RabidGravy cool
19:23 Ven joined 19:26 mr-foobar joined
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)␤(FileChangeEvent)␤(Grammar)␤(HyperSeq)␤(IO)␤(Instant)␤(IntAttrRef)␤(IntLexRef)␤(Method)␤(Mix)␤(NFKC)…»
notviki Wonder how to get the full list of classes... ^ that is missing Mu and Failure 19:27
m: say Perl ~~ Cool
camelia rakudo-moar d9c735: OUTPUT«False␤»
notviki aww
m: say Rakudo ~~ Cool 19:28
camelia rakudo-moar d9c735: OUTPUT«False␤»
notviki hehe
19:28 Vynce joined, pyrimidine left
notviki and Whatever and HyperWhatever are missing 19:29
And DateTime... hm, this is a weird list
19:29 labster joined
timotimo wow. google is transpiling python programs into go, while making an effort to emulate CPython as closely as possible 19:30
opensource.googleblog.com/2017/01/...ython.html
El_Che so, is anyone (besides the speakers) planning to attend FOSDEM? 19:31
timotimo well, i sure hope there'll be more attendees than just the speakers! 19:32
notviki wow
19:32 hankache left
mspo timotimo: py 2.7 19:33
timotimo mspo: not surprising at all
19:33 diakopter left
notviki " Grumpy programs can import Go packages just like Python modules" 19:33
mspo really seems like a bad idea 19:34
I get that google has tons of python code and all
but man
El_Che timotimo: hehe. I mean, there are lots of perl6 talks
19:34 diakopter joined, Ven left
timotimo mspo: why would google even want to support 3 for this project? 19:34
DrForr Last year we had ~80 people... 19:35
timotimo their goal is to - among other things - make youtube run faster
notviki DrForr: are you speaking again?
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
mspo timotimo: why would they release it or even talk about it?
19:36 pecastro left, Vasyl left, samcv left, Grrrr left, emdashcomma left, stux|RC left, masak left, petercommand left, shmibs left
notviki weeeeeeeee 19:36
DrForr notviki: Yep.
19:36 masak_ joined
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
19:36 Gruber joined
mspo is a better question 19:36
notviki DrForr++ nice
19:36 petercommand joined, shmibs joined, domidumont joined, emdashcomma joined, shadowpaste0 is now known as shadowpaste, pecastro joined, revdiablo joined, revdiablo left, revdiablo joined
timotimo their goal isn't to make cpython obsolete and have everybody use grumpy instead, clearly 19:36
19:36 samcv joined, titsuki joined, Vasyl joined, samcv left, samcv joined
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
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
mspo so why release it/talk about it? :) 19:37
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
timotimo let's write a python replacement and call it Rippy
mspo I could never get into python
I definitely never understood this idea that it was "simple" in any way
19:39 girafe joined
mspo pushing it as a teaching language feels very very wrong 19:39
s/teaching/first
timotimo better first language than BASIC, except BASIC at least has the DIM instruction
er, syntax
mspo and the 2 vs 3 thing doesn't help matters
timotimo 2 vs 3 is just FUD
mspo not if you are, literally, an 11 year old
El_Che *we* are talking about the 2 vs 3 thing? 19:40
lol
:)
mspo my niece was trying to move from scratch to python and it wasn't clear if she should learn 2 or 3
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)
timotimo notviki: what, like SETTING::.keys?
mspo perl6 being shown as a language for an 11 y/o girl is even more laughable :) 19:41
timotimo m: say CORE::.keys
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…»
timotimo CORE, not SETTING, apparently
19:41 ggherdov joined
notviki timotimo: CORE::.values was my first take, but it's missing some 19:41
timotimo for example?
notviki .say for CORE::.values.grep({!.DEFINITE}).sort(*.^name) is what I'm running 19:42
timotimo: Mu, Failure, Whatever, HyperWhatever, DateTime
timotimo wow, that's really not much
notviki I don't know what else is missing...
timotimo well, you're not hitting StopIteration, i expect?
notviki Ah, maybe that's why
timotimo++ thanks 19:43
19:43 ggherdov left
timotimo yes, you are 19:43
i thought we put that into RakudoInternals?
zefram pointed this out as a real problem a long time ago
19:44 ggherdov joined, Ven joined
notviki m: dd IterationEnd 19:44
camelia rakudo-moar d9c735: OUTPUT«IterationEnd␤»
notviki not internals seems 19:45
19:45 andrzejku left
timotimo bah 19:45
geekosaur something about user defined iterators iirc 19:46
timotimo oh, that makes some sense 19:47
notviki try {.say} for CORE::.keys.map({next if $_ eq "IterationEnd"; CORE::{$_}}).grep({!.DEFINITE}).sort(*.^name) 19:48
That works (excludes at least 1 NQP thing that ain't got a .say on it)
timotimo m: .say for CORE::.keys.grep({!CORE::{$_}.DEFINITE}).sort(*.^name)
camelia rakudo-moar d9c735: OUTPUT«WhateverCode␤Slip␤Pair␤utf8␤CurrentThreadScheduler␤PromiseStatus␤StringyEnumeration␤Distribution␤Backtrace␤NFKC␤Duration␤Nil␤Any␤WrapDispatcher␤IO␤FileChangeEvent␤UInt64␤Order␤RatStr␤uint64␤Numeric␤Cursor␤Proxy…»
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.
timotimo huh, that's not a lot
notviki but you're still hitting IterationEnd there, aren't you?
timotimo nope
notviki m: dd CORE::<IterationEnd>.DEFINITE 19:50
camelia rakudo-moar d9c735: OUTPUT«Bool::True␤»
timotimo i iterate on keys, and i figure out the definiteness by accessing core again
notviki ah
19:50 Ven left
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:51
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.
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.
notviki mspo: why bad?
mspo people in computers underestimate how much trouble people have with just *using* their computer
RandalSchwartz scarily, probably even using Learning Perl. :)
mspo notviki: it's massive
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.
mspo RandalSchwartz: I definitely learned perl first after shell
RandalSchwartz I've heard enough people for whom Perl was their first language, using Learning Perl, and I was shocked.
mspo RandalSchwartz: why shocked?
RandalSchwartz since that book was never intended as such
I presumed people knew what arrays and subroutines are
mspo I had work to get done, perl made my work go faster
RandalSchwartz I wasn't planning on teaching those abstractions in that book
El_Che fosdem.org/2017/schedule/event/per...irst_lang/
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. :)
mspo I think lua is probably the way to go
RandalSchwartz lua is nice. smalltalk is also nice.
lots of success from the smalltalk version of scratch
get people using scratch to understand macros, then explode those macros 19:56
that was on the etoys software for a while, for example
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"
and recommended Notepad++ 19:57
19:57 Vynce left
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
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
RandalSchwartz and still usable with a transpiler
OK - now I'm getting distracted instead of doing $dayjob 19:59
I remember why I don't idle here. :)
RabidGravy my cousin was asking me at Christmas
notviki :)
mspo RabidGravy: python is too big to teach to anyone under 16, imho
lizmat_ fosdem.org/2017/schedule/track/perl/ # FOSDEM Perl Devroom preliminary schedule
mspo I'm obviously in the minority
notviki You should write a book about Perl 6 :P
19:59 lizmat_ is now known as lizmat
RandalSchwartz not enough money in it 19:59
notviki awww
RandalSchwartz not interested in earning minimum wage again 20:00
notviki Fair enough.
mspo you made minimum wage from a tech book? that's pretty good
RandalSchwartz I *am* working on Dart courseware and literature though
RabidGravy mspo, they *are* proposing to teach it to kids under sixteen, infact I think these are 11-12 year olds
RandalSchwartz Dart has legs
mspo en.wikipedia.org/wiki/Schwartzian_transform needs a perl 6 entry :)
RabidGravy: yes I think it's a bad idea 20:01
RabidGravy: my niece is one of those kids and it's way too advanced for her
20:01 CIAvash left
RandalSchwartz duty calls... nothing personal... thanks for the info... gotta /part 20:01
20:01 RandalSchwartz left
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
notviki wow lots of Perl 6 stuff on FOSDEM
mspo RabidGravy: nevermind that kids have ChromeBooks now-a-days; do those things even work as a dev machine? 20:03
20:03 Ven joined
rafaelsch mspo: using ssh, yes 20:03
mspo lol 20:04
RabidGravy dunno. never seem a ChromeBook
mspo rafaelsch: that's a problem for sure
RabidGravy I dunno, I was introduced to BASIC on the Commodore PET 20:05
geekosaur it's nto difficult to set most chromebooks to dev mode 20:08
kybr is anyone else getting "Cannot unbox a type object" while bootstraping panda? 20:11
20:11 domidumont left
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:11
RabidGravy nope 20:12
20:12 r3m left 20:13 Tonik left, rafaelsch left 20:14 shayan_ left, TEttinger joined
lizmat mspo: Perl 6 entry added to en.wikipedia.org/wiki/Schwartzian_transform 20:17
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, kerframil left
kybr hmm. okay. seems like there's no panda yet for JVM backend. 20:19
20:20 bisectable6 left
geekosaur m: my $cl = 'Int'; dd ::($cl).new 20:20
camelia rakudo-moar d9c735: OUTPUT«0␤»
ufobat or just call .new on it
notviki kybr: it'd work on either backend.
ufobat ah1
20:20 committable6 left 20:21 Ven left, bisectable6 joined, ChanServ sets mode: +v bisectable6, committable6 joined, ChanServ sets mode: +v committable6
ufobat thanks geekosaur 20:21
kybr notviki: well i'm getting the same as this: github.com/coke/rakudo-star-daily/...-build.log 20:23
20:23 Ven joined
[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:24
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
20:25 troys_ is now known as troys
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:25
perlpilot [Coke]: not I, though I've thought about sending him a friendly message myself. 20:27
[Coke] perlpilot: tag you're it 20:28
kybr notviki: is there a better tag than nom? i'm using rakudobrew
notviki kybr: nope, nom is the bestest
20:28 bisectable6 left
notviki m: $*PERL.compiler.version.say 20:28
camelia rakudo-moar d9c735: OUTPUT«v2016.12.207.gd.9.c.735.f␤»
El_Che lizmat++ 20:29
notviki ^ that's the latest and greatest
lizmat thanks, notviki :-)
notviki ?
El_Che :)
notviki Ah 20:30
kybr what's the difference between moar-blead-nom and moar-nom? 20:32
20:33 bisectable6 joined, ChanServ sets mode: +v bisectable6 20:34 evalable6 left, bisectable6 left, evalable6 joined 20:35 bisectable6 joined, ChanServ sets mode: +v bisectable6
[Coke] did we already say "don't use rakudobrew unless you know what you're doing?" 20:35
timotimo i think so 20:36
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
notviki Really? I thought that was the triple triple or something or other 20:38
buggable: eco rakudobrew
buggable notviki, Nothing found
notviki you lie!
I guess it's not in eco
Yup. master/master. RabidGravy++ github.com/tadzik/rakudobrew/blob/...dobrew#L52 20:39
20:39 bisectable6 left 20:40 shayan_ joined
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
20:42 dj_goku joined 20:43 itcharlie1 left
RabidGravy yeah I only get blead-nom if I want to force moar to build with say different flags 20:43
20:44 shayan_ left
notviki kybr: how did you find out about rakudobrew 20:45
20:47 dj_goku left
[Coke] notviki: perl6.org/ might also want to link to Stack Overflow for user questions. 20:48
notviki feels like context is missing...
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.
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!‘})
camelia rakudo-moar d9c735: OUTPUT«It's False!␤»
kybr i just want a working perl6-m for using/learning and a parl6-j for trying out some java linkages
gfldex masak_: ^^^ if only Bool would be a class …
20:51 Ven left 20:52 acrussell left
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!␤»
gfldex masak_: ^^^ solved :)
20:53 Ven joined
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!␤»
gfldex wut‽
is that by design? 20:54
timotimo is what by design? 20:56
RabidGravy the goat attack 20:57
moritz the zombie apocalypse! 20:58
DrForr chupacabra?
gfldex timotimo: that I can augment an enum and/or have to call that enum a class 20:59
it's ENOSPEC and ENODOC for sure
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
camelia ( no output )
gfldex i shall rakudobug so we get it into the spec or have `agument enum` work 21:01
21:01 raiph joined
[Coke] up to 205 github.com/perl6/doc/issues 21:02
raiph .tell kalkin-_ www.gnu.org/licenses/license-list.h...icLicense2 21:03
yoleaux raiph: I'll pass your message to kalkin-_.
21:11 cdg joined
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. :)
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
[Coke] stackoverflow.com/tags/perl6/info
notviki++ 21:13
I'm going to bootstrapify docs.perl6.org (in a branch) for github.com/perl6/doc/issues/1090
feedback welcome in advance, but hopefully it'll be easy, pretty, and uncontroversial. 21:14
21:20 Ven left 21:23 Ven joined 21:26 woolfy joined, woolfy left 21:30 bjz left
dalek c: 5b001e2 | gfldex++ | doc/Language/variables.pod6:
link to containers early on
21:31
synopsebot6 Link: doc.perl6.org/language/variables
gfldex .oO( easy, pretty, uncontroversial - pick two ) 21:33
21:33 curt_ left 21:34 curt_ joined 21:35 troys is now known as troys_ 21:36 Ven left, Ven_ joined 21:39 Gasher joined 21:40 bisectable6 joined, ChanServ sets mode: +v bisectable6 21:43 niceperl joined
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:43
just because of a typo in the email address 21:44
21:44 Ven_ left
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.
moritz because I have moritz.lenz@... email addresses with several popular mail providers
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 :(
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:47
moritz AlexDaniel: acting on unsolicted advice is *hard* 21:48
pmurias AlexDaniel: was the uber confidential email something entertaining? ;) 21:49
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?
AlexDaniel this was part of the notice on confidentiality
moritz AlexDaniel: which you have to scroll to the bottom to read, usually :-)
AlexDaniel yea, this was one of the first emails in history (so it was in the end)
RabidGravy I've had whole film scripts as apparently there is a Jonathan Stowe who is a production manager 21:51
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
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 ChoHag left
pmurias moritz: dammit, hoped it was some confidential technique for generating faster js :) 21:54
AlexDaniel moritz: perhaps a nicer idea is to try to become a MitM 21:55
21:56 ChoHag joined
AlexDaniel this way you can also augment the information to your liking… 21:56
notviki Is SixFix still a thing? I signed up, but I only got a couple of them. 21:57
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
AlexDaniel: 11 months left to develop the thing!
AlexDaniel well, I'd have to receive another email like this then
probably won't take too long 21:59
… or are you saying that one should develop such thing but not use it? Crazy.
dalek href="https://perl6.org:">perl6.org: 423d6ad | (Zoffix Znet)++ | source/resources/index.html:
Add StackOverflow link

Per irclog.perlgeek.de/perl6/2017-01-04#i_13856028
22:01
22:01 kurahaupo__ left
lizmat notviki: afaik SixFix is at an end, at least for the moment 22:02
22:04 skids left 22:05 RabidGravy left
notviki OK. (it's just I saw it listed on the resources page and recalled it) 22:06
22:06 bjz left
AlexDaniel moritz: it is hilarious. Turns out this company has a head office in a 10 minute bus ride from where I am. 22:06
what a coincidence 22:07
notviki AlexDaniel: how many snippets you had in total to go through?
AlexDaniel somewhere about 7k manually 22:08
the rest was filtered out
notviki AlexDaniel++
22:11 mcmillhj left
AlexDaniel nine: here? 22:11
oops
nevermind 22:12
SmokeMachine What's DEFINITE()?
notviki SmokeMachine: per docs "Returns True for instances and False for type objects." 22:13
m: say 42.DEFINITE; say Int.DEFINITE
camelia rakudo-moar dbe3e0: OUTPUT«True␤False␤»
SmokeMachine notviki: what's the difference from defined()? 22:14
notviki SmokeMachine: objects can be undefined
m: say Nil.new.defined; say Failure.new.defined;
camelia rakudo-moar dbe3e0: OUTPUT«False␤False␤»
SmokeMachine m: say 42.defined; say Int.defined
camelia rakudo-moar dbe3e0: OUTPUT«True␤False␤»
SmokeMachine Hum! 22:15
notviki: thanks!
notviki any time
SmokeMachine I have some code to fix... :P 22:16
I hope to remember the DEFINITE method when I get back home... 22:18
22:18 shayan_ joined
notviki .in 7d SmokeMachine remember the DEFINITE! 22:19
yoleaux notviki: I'll remind you on 11 Jan 2017 22:19Z
SmokeMachine Great feature! Thanks! 22:20
notviki: thanks!
pmurias lizmat: is the sub form of &tmpdir useful?
SmokeMachine notviki: how did you know I'm going home in 7d? 22:21
22:21 rindolf left
kalkin-_ raiph: thanks 22:21
yoleaux 21:03Z <raiph> kalkin-_: www.gnu.org/licenses/license-list.h...icLicense2
notviki SmokeMachine: I've been stalking you and I know your every move! 22:22
SmokeMachine: also this: irclog.perlgeek.de/perl6/2017-01-02#i_13838226 22:23
22:24 niceperl left
kalkin-_ Big Perlgeek is watching you 22:25
AlexDaniel notviki: hm, can you take a look at this?
mc: my @x; dd @x; @x>>.Int; dd @x; say @x>><xxx>
committable6 AlexDaniel, ¦«2015.12»: Array @x = []␤Array @x = []␤()
notviki Umm.. I guess, but I'm not a doctor!
AlexDaniel m: my @x; dd @x; @x>>.Int; dd @x; say @x>><xxx>
camelia rakudo-moar dbe3e0: OUTPUT«Array @x = []␤Array @x = []␤This type (Scalar) does not support elems␤ in block <unit> at <tmp> line 1␤␤»
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␤␤»
AlexDaniel actually, no, I no longer know what's my question
SmokeMachine notviki: good memory! Better than mine...
AlexDaniel I have no idea what's going on here :)
mc: my @x; dd @x; say @x>><xxx>
committable6 AlexDaniel, ¦«2015.12»: Array @x = []␤()
notviki m: my @x; say @x.<xxx>
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␤␤»
AlexDaniel ah, here's my question 22:27
mc: my @x; say @x>><xxx>
committable6 AlexDaniel, ¦«2015.12»: This type does not support elems␤ in block <unit> at /tmp/RN06Tc6UDh line 1␤ «exit code = 1»
AlexDaniel mc: my @x; dd @x; say @x>><xxx>
committable6 AlexDaniel, ¦«2015.12»: Array @x = []␤()
AlexDaniel why was it so?
notviki I don't get what that syntax is, since there's no dot after the >>
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»
lizmat pmurias: it doesn't appear to be tested, so I guess it's open to debate :-)
notviki shrugs
AlexDaniel notviki: isn't it just »{‘smth’} ?
notviki m: my %h = :42foo; %h>><foo> 22:29
camelia ( no output )
notviki m: my %h = :42foo; dd %h>><foo>
camelia rakudo-moar dbe3e0: OUTPUT«Hash % = {:foo(Failure.new(exception => X::AdHoc.new(payload => "Type Int does not support associative indexing."), backtrace => Backtrace.new))}␤»
AlexDaniel m: my @a = { ‘foo’ => 42 }, { ‘foo’ => 60 }; say @a»<foo>
camelia rakudo-moar dbe3e0: OUTPUT«(42 60)␤»
notviki Ah
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␤␤»
notviki m: my @x; dd @x; say @x».<xxx>
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
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')
camelia rakudo-moar dbe3e0: OUTPUT«Array @x = []␤This type (Scalar) does not support elems␤ in block <unit> at <tmp> line 1␤␤»
notviki AlexDaniel: yeah, seems like that should work
kybr where should i look for the latest Java integration work
notviki m: my @x = {:42xxx}; say @x».<xxx> 22:32
camelia rakudo-moar bd03ad: OUTPUT«(42)␤»
notviki m: my @x = {:42xxx}, {:72xxx}; say @x».<xxx>
camelia rakudo-moar bd03ad: OUTPUT«(42 72)␤»
notviki AlexDaniel: yeah, looks like a ticket is in order :)
AlexDaniel notviki: what would be a good title?
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 pecastro left
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
AlexDaniel notviki: but the interesting thing is
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»
AlexDaniel mc: my @x; say @x»<xxx>
committable6 AlexDaniel, ¦«2015.12»: This type does not support elems␤ in block <unit> at /tmp/nK5vpciNbz line 1␤ «exit code = 1»
AlexDaniel :/
notviki mc: my @x; say @x».AT-KEY('xxx')
committable6 notviki, ¦«2015.12»: This type does not support elems␤ in block <unit> at /tmp/OaqKzKnO1p line 1␤ «exit code = 1»
AlexDaniel yes, right, the interesting thing is
notviki mc: my @x = {:42xxx}; say @x».AT-KEY('xxx')
committable6 notviki, ¦«2015.12»: (42)
AlexDaniel mc: my @x; say @x».[42]
committable6 AlexDaniel, ¦«2015.12»: This type does not support elems␤ in block <unit> at /tmp/4ocQWn0zIV line 1␤ «exit code = 1»
AlexDaniel mc: my @x; dd @x; say @x».[42]
committable6 AlexDaniel, ¦«2015.12»: Array @x = []␤()
notviki heh 22:35
AlexDaniel if you dd it, it works!
notviki m: my @x; eager @x; say @x».[42]
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:35 dj_goku left
AlexDaniel no-no, no longer works on HEAD! 22:36
mc: my @x; eager @x; say @x».[42]
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»
AlexDaniel well…
gfldex loliblöggedalittle: gfldex.wordpress.com/2017/01/04/pe...smalltalk/
notviki kybr: well, there's #perl6-dev channel. psch and bartolin are the folks I see commit most of JVM stuff. 22:38
22:38 effbiai left
SmokeMachine mspo: I'm starting teaching perl6 to my 4yo girl... :) 22:44
That's difficult... 22:45
She can't read yet...
AlexDaniel notviki: by the way, thanks for your /m/ tip 22:46
notviki no problem
AlexDaniel notviki: I have submitted a bunch of tickets through it, for some reason it is more convenient for me than writing an email
notviki m: -> $ {}.arity.say; -> $ {}.count.say; {}.arity.say; {}.count.say
camelia rakudo-moar bd03ad: OUTPUT«1␤1␤No such method 'arity' for invocant of type 'Hash'␤ in block <unit> at <tmp> line 1␤␤»
notviki m: -> $ {}.arity.say; -> $ {}.count.say; {;}.arity.say; {;}.count.say 22:47
camelia rakudo-moar bd03ad: OUTPUT«1␤1␤0␤1␤»
notviki m: -> {}.arity.say; -> {}.count.say; {;}.arity.say; {;}.count.say
camelia rakudo-moar bd03ad: OUTPUT«0␤0␤0␤1␤»
AlexDaniel I still hope THE BUTTON will be restored… even though this hope is very very tiny by now
22:48 mcmillhj joined
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
s: &infix:<andthen>
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/1879...rs.pm#L623
notviki ^ we do it there
gfldex looks
not really a HLL way. I was thinking about checking .signature.count . 22:51
22:52 kybr left
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, mcmillhj left 22:53 kybr left 22:54 kybr joined
notviki I think multies can have many sigs, with different counts 22:55
gfldex they can
m: multi sub f(1){}; multi sub f(2){}; dd &f.signature 22:56
camelia rakudo-moar 0f25d8: OUTPUT«:(;; Mu | is raw)␤»
AlexDaniel e: BEGIN (1, 2)[*-1]
evalable6 AlexDaniel, Full output: gist.github.com/026c831f68bfc5dfc0...e488b0472e
AlexDaniel, rakudo-moar 0f25d83: OUTPUT«(exit code 1) 04===SORRY!04=== Error while compiling /tmp/IfTQnk8hIp␤An exceptio…»
lizmat gfldex: that's the signature of the proto 22:57
AlexDaniel is there any way to grep RT for “BEGIN (1, 2)[*-1]” ?
gfldex m: multi sub f(1){}; multi sub f(2){}; dd ::.^can('f')».signature
camelia rakudo-moar 0f25d8: OUTPUT«()␤»
gfldex how do I get all multi candidates of a multi sub? 22:58
AlexDaniel gfldex: what about &foo.candidates ? 22:59
m: multi sub f(1){}; multi sub f(2){}; dd &f.candidates
camelia rakudo-moar 0f25d8: OUTPUT«(sub f (Int $ where { ... }) { #`(Sub|47457104) ... }, sub f (Int $ where { ... }) { #`(Sub|47457256) ... })␤»
gfldex it's even doced :)
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.
I have a script that can do it for all the open tickets, if you wan it
umm.. and if I can find it 23:03
AlexDaniel nah, one day somebody will notice and merge RT #130505 into the previous ticket
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130505
23:03 mcmillhj joined
notviki OK 23:04
Script's here FWIW. Just change the regex that looks for stuff: gist.github.com/zoffixznet/a3790dd...-p5-pl-L20
and 5.024; isn't needed it'll work with 5.010 too I think 23:07
23:08 mcmillhj left, niceperl joined
jdv79 are control exceptions fully implemented? 23:09
wondering how the done() call is handled exactly
gfldex m: sub r { return 42; CONTROL { default { say [.^name, .Str ] } } }; r 23:10
camelia rakudo-moar 0f25d8: OUTPUT«[CX::Return <return control exception>]␤»
gfldex m: sub r { take 42; CONTROL { default { say [.^name, .Str ] } } }; r 23:11
camelia rakudo-moar 516e52: OUTPUT«[CX::Take <take control exception>]␤»
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␤»
gfldex maybe not fully
23:13 wamba left
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!
mspo my daughter is almost 4 and I'd rather she learned how to pronounce "breakfast" before learning a programming language
AlexDaniel there were two emails, one in the middle of December
mspo although her concept of time is very interesting 23:15
as in- she doesn't really have one
AlexDaniel talks about some event in January, I think if I forward it now there's still some time… :)
23:16 troys_ is now known as troys 23:17 cdg left
notviki m: dd CX::Done 23:20
camelia rakudo-moar 516e52: OUTPUT«CX::Done␤»
notviki jdv79: ^ prolly with that
lizmat good night, #perl6! 23:22
23:24 niceperl left, ChoHag left
notviki night 23:26
Crazy. 2TB usb stick: www.computerworld.com/article/31544...drive.html 23:28
jnthn jdv79: done is a control exception, and the handling of it for supply/react blocks is set up in github.com/rakudo/rakudo/blob/nom/...y.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:31
(That code was also written before the higher-level CX::Done was added) 23:32
23:36 mcmillhj joined 23:38 pyrimidine joined 23:40 mcmillhj left, Actualeyes joined 23:41 lukaramu left 23:52 cpage left 23:53 cpage joined 23:55 pecastro joined 23:57 cpage_ left 23:58 girafe left