»ö« 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.
dalek c: 680163f | gfldex++ | doc/Type/Code.pod6:
link to Signature
00:03
tushar what is the best way to identify whether an array has a specific index or not? I have achieved it this way. 00:05
m: my @a = [[1,2,3],[4,5,6]]; @a.pairs.[0]:exists; @a.pairs.[3]:exists;
camelia ( no output )
tushar m: my @a = [[1,2,3],[4,5,6]]; @a.pairs.[0]:exists.say; @a.pairs.[3]:exists.say; 00:06
camelia rakudo-moar 922afd: OUTPUT«True␤False␤»
TimToady m: my @a = [[1,2,3],[4,5,6]]; @a[0]:exists.say; @a[3]:exists.say;
camelia rakudo-moar 922afd: OUTPUT«True␤False␤»
timotimo "if it has a specific index" should work with just @a[4]:exists 00:07
dalek c: 40b0715 | (Zoffix Znet)++ | doc/Type/Code.pod6:
Use code block and not a sub in example

  .of on sub {} uses Callable.of()
00:08
tushar timotimo: thanks. 00:09
aod say "exists" if 4 == one @a
timotimo that's not about keys, though :) 00:10
tushar TImToday: Thanks. Missed your response at first. 00:11
aod ops
00:13 rgrinberg joined 00:14 sufrostico joined
tushar how about checking existence for multiple indexes and receive single response such as true or false. If any index is not present, return false. If all indexes are present, return true. 00:14
timotimo you can do it like this: 00:15
gfldex tushar: use a Junction
timotimo m: my @a = 1, 2, 3; say @a[0,2]:exists
camelia rakudo-moar 922afd: OUTPUT«(True True)␤»
timotimo m: my @a = 1, 2, 3; say @a[0,2,4,6]:exists
camelia rakudo-moar 922afd: OUTPUT«(True True False False)␤»
gfldex tushar: see docs.perl6.org/language/subscripts#:exists
00:15 perl6user left
tushar timotimo: I tried your way before asking. But it returns a list with true or false. And I am looking for only true and false -- a single response. Any ways, I can use "all" method. 00:21
gfldex: Thanks.
m: my @a = [[1,2,3],[4,5,6]]; if all @a[0,1]:exists { say True; } else { say False; } 00:22
camelia rakudo-moar 922afd: OUTPUT«True␤»
tushar m: my @a = [[1,2,3],[4,5,6]]; if all @a[0,2]:exists { say True; } else { say False; }
camelia rakudo-moar 922afd: OUTPUT«False␤»
ugexe m: my @a = [[1,2,3],[4,5,6]]; say so all @a[0,2]:exists
camelia rakudo-moar 922afd: OUTPUT«False␤»
tushar ugexe: sweet.. 00:26
ugexe m: my @a = [[1,2,3],[4,5,6]]; say @a.map: *.rotor(2).Slip
camelia rakudo-moar 922afd: OUTPUT«((1 2) (4 5))␤»
ugexe m: my @a = 1,2,3,4,5; say @a.rotor(2) 00:28
camelia rakudo-moar 922afd: OUTPUT«((1 2) (3 4))␤»
ugexe if you can use rotor you can skip checking if there are enough elements
00:29 lichtkind_ left 00:33 perlawhirl joined
tushar ugexe: I might not clear on what I am trying to achieve. I would like to check whether an index of an array has data or not before I actually extract them. So I am checking an existence of the index. Thanks though for all your help. Every day I am learning good stuff here. 00:34
TimToady if you just want to "grep" out the existing indices, you can use :k 00:35
m: my @a = 1,2; say @a[0..100]:k 00:36
camelia rakudo-moar 922afd: OUTPUT«(0 1)␤»
ugexe look at the output above. there are 5 elements but only 1 2 3 4 are in the output. the 5th element is skipped because the last iteration does not have 2 elements
rotor(2)
TimToady otoh, if by "exists" you mean "has a sublist containing something", that's different 00:37
"exists" has a very specific meaning for an array element
m: my @a = (),(); say @a[1]:exists 00:38
camelia rakudo-moar 922afd: OUTPUT«True␤»
TimToady m: my @a = Nil,Nil; say @a[1]:exists
camelia rakudo-moar 922afd: OUTPUT«True␤»
timotimo rotor has a named argument to also give you incomplete tuples 00:39
only pass it if you're prepared to handle incomplete tuples :)
00:40 BenGoldberg joined
TimToady tushar: but in general, asking if something is there first is kind of a design smell; it's usually better to have an interface where the degenerate case just does nothing, or has an easily trapped failure 00:41
if you "ask to ask", you set yourself up for race conditions if anything else can change the state between the 1st time you ask and the 2nd 00:42
so, for instance, you never see people writing "until eof() {...}" anymore 00:43
tushar TimoToday: Hmmm.. 00:44
00:44 sufrostico left
tushar TimToday*: apologize for my spelling mistake.. 00:47
timotimo i hope timtoady is fine with being mashed up with me 00:48
tushar timotimo: haha.. 00:50
BenGoldberg s: Pair, "ACCEPTS"
SourceBaby BenGoldberg, Sauce is at github.com/rakudo/rakudo/blob/922a.../Mu.pm#L12
00:51 sufrostico joined 00:52 pierre_ joined
BenGoldberg m: dd dir('.')[0]; 00:52
camelia rakudo-moar 922afd: OUTPUT«".cpanm".IO(:SPEC(IO::Spec::Unix),:CWD("/home/camelia"))␤»
BenGoldberg s: Pair, "ACCEPTS", ".".IO; 00:53
SourceBaby BenGoldberg, Ehhh... I'm too scared to run that code.
BenGoldberg s: Pair, "ACCEPTS", ".".IO
SourceBaby BenGoldberg, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Pair, Str, IO::Path); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
TimToady s: Pair.new, "ACCEPTS"
SourceBaby TimToady, Sauce is at github.com/rakudo/rakudo/blob/922a.../Mu.pm#L12
BenGoldberg s: Pair, "ACCEPTS", (".".IO)
SourceBaby BenGoldberg, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Pair, Str, IO::Path); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
BenGoldberg s: Pair, "ACCEPTS", :(".".IO) 00:54
SourceBaby BenGoldberg, Something's wrong: ␤ERR: ===SORRY!=== Error while compiling -e␤Malformed parameter␤at -e:6␤------> put sourcery( Pair, "ACCEPTS", :("."⏏.IO) )[1];␤ expecting any of:␤ constraint␤ formal parameter␤
TimToady that's really only finding the proto
the :D version is in Pair.pm
00:54 dayangkun joined
TimToady m: say $*IO ~~ :r 00:55
camelia rakudo-moar 922afd: OUTPUT«Dynamic variable $*IO not found␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in any at gen/moar/m-Metamodel.nqp line 3090␤ in block <unit> at <tmp> line 1␤␤»
TimToady m: say $*IN ~~ :r
camelia rakudo-moar 922afd: OUTPUT«True␤»
00:55 sufrostico left
TimToady m: say :r.ACCEPTS($*IN) 00:55
camelia rakudo-moar 922afd: OUTPUT«True␤»
BenGoldberg s: :d, "ACCEPTS", ".".IO 00:56
SourceBaby BenGoldberg, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Str, IO::Path, :d); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
BenGoldberg s: :d, "ACCEPTS"
SourceBaby BenGoldberg, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Str, :d); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
TimToady s: (:d), "ACCEPTS" 00:58
SourceBaby TimToady, Sauce is at github.com/rakudo/rakudo/blob/922a.../Mu.pm#L12
TimToady that's still just the proto, not the multi
00:58 ka joined, Actualeyes joined 01:02 sufrostico joined
BenGoldberg m: say $*IN.ACCEPTS((:d)) 01:02
camelia rakudo-moar 922afd: OUTPUT«False␤»
BenGoldberg m: say $*IN.ACCEPTS((:r))
camelia rakudo-moar 922afd: OUTPUT«False␤»
BenGoldberg m: say $*IN.ACCEPTS(:r)
camelia rakudo-moar 922afd: OUTPUT«Cannot resolve caller ACCEPTS(IO::Handle: :r); none of these signatures match:␤ (Mu:U $: \topic, *%_)␤ (Mu:U $: Mu:U \topic, *%_)␤ (Any:D $: Mu:D \a, *%_)␤ (Any:D $: Mu:U \a, *%_)␤ (Any:U $: \topic, *%_)␤ in block <unit> at <tmp…»
BenGoldberg s: Associative, "ACCEPTS" 01:03
SourceBaby BenGoldberg, Something's wrong: ␤ERR: Too many positionals passed; expected 2 arguments but got 3␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33␤ in block <unit> at -e line 6␤␤
01:10 sufrostico left
dalek c: 1c9b0e3 | gfldex++ | doc/Type/Signature.pod6:
link to ~~
01:10
01:10 dayangkun left 01:17 sufrostico joined 01:20 pierre_ left 01:24 zengargoyle left 01:25 wamba left 01:26 tushar left, pierre_ joined, dayangkun joined 01:29 zakharyas joined 01:30 pierre_ left, labster left 01:32 sufrostico left 01:33 sufrostico joined, pierre_ joined 01:34 synopsebot6 joined 01:35 zakharyas left, zakharyas joined 01:41 zakharyas left 01:54 zengargoyle joined
aod guys, how do I redeclare a class? 01:54
MasterDuke .seen perlpilot 01:55
yoleaux I saw perlpilot 23 Sep 2016 21:55Z in #perl6: <perlpilot> thundergnat: fwiw, it looks like a bug to me too.
aod class aod { method gist { "Its me" } } 01:56
===SORRY!=== Error while compiling: Redeclaration of symbol 'aod'
TimToady you can "augment class aod" but I don't think we've implemented "supersede class aod" yet 01:58
aod do I have to restart the interpreter?
geekosaur oh, this is the repl? at the moment I think you do
01:59 zakharyas joined
TimToady m: class aod { method gist { "It's me" } }; augment class aod { method gist { "It's really me" } }; say aod.new 01:59
camelia rakudo-moar 3d2a91: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤augment not allowed without 'use MONKEY-TYPING'␤at <tmp>:1␤------> 3 gist { "It's me" } }; augment class aod7⏏5 { method gist { "It's really me" } }; s␤ expecting any of:␤ generic rol…»
TimToady m: use MONKEY; class aod { method gist { "It's me" } }; augment class aod { method gist { "It's really me" } }; say aod.new 02:00
camelia rakudo-moar 3d2a91: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Package 'aod' already has a method 'gist' (did you mean to declare a multi-method?)␤at <tmp>:1␤»
TimToady m: use MONKEY; class aod { method ghost { "It's me" } }; augment class aod { method gist { "It's really me" } }; say aod.new
camelia rakudo-moar 3d2a91: OUTPUT«It's really me␤»
aod ok.. use MONKEY is like a python's monkey patching license 02:02
TimToady well, it's short for use MONKEY-TYPING in this case
m: use MONKEY-TYPING; class aod { multimethod gist { "It's me" } }; augment class aod { method gist { "It's really me" } }; say aod.new
camelia rakudo-moar 3d2a91: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ multimethod used at line 1␤␤»
02:03 labster joined
TimToady m: use MONKEY-TYPING; class aod { multi method gist { "It's me" } }; augment class aod { multi method gist { "It's really me" } }; say aod.new 02:03
camelia rakudo-moar 3d2a91: OUTPUT«Ambiguous call to 'gist'; these signatures all match:␤:(aod $: *%_)␤:(aod $: *%_)␤ in block <unit> at <tmp> line 1␤␤»
TimToady one should never use MONKEY in production code 02:04
'course, one should never use MONKEY-* in real code either
aod another question: say I do this: 02:08
subset naovazio of Str where /\S/; sub imprime (naovazio $s) { say $s };
then when I do imprime "" I get an error 02:09
Constraint type check failed for parameter '$s'
BUT it works when I do it inside a try
try { imprime "" }
but I cannot CATCH the error
02:09 noganex joined
TimToady m: subset naovazio of Str where /\S/; sub imprime (naovazio $s) { say $s }; imprime ""; CATCH { default { say "HERE" }} 02:10
camelia rakudo-moar 3d2a91: OUTPUT«HERE␤»
TimToady still in the repl?
gfldex aod: you may be looking for docs.perl6.org/language/objects#Mixins_of_Roles 02:11
TimToady the repl fakes it by adding a new lexical scope every line, so a subsequent CATCH is likely to be in a different scope than you want
02:12 noganex_ left
aod ahh got it 02:14
thx timtoady 02:15
zengargoyle is there any hope for a more normal-ish REPL? 02:16
aod So I should really put the CATCH inside the try block, to avoid that in repl? 02:17
zengargoyle from what i can tell, you're better off using and editor in one window and save then run the script in th other window. 02:19
if you're trying to do anything at all fancy.
ugexe i just write entire monolith apps inside -e 02:20
zengargoyle ugexe: me too. :P
or use `fc` 02:21
SmokeMachine____ fc?
geekosaur list/edit shell history
zengargoyle bash/*nix, fc == fix command. opens last command in editor and runs on exit 02:22
SmokeMachine____ I didn't know that! Thanks!
geekosaur (ksh, inherited by both bash and zsh)
SmokeMachine____ I keep pressing up and editing...
geekosaur (bash dropped the handy 'r' alias though. "r foo=bar [cmd]": find the most recent command starting with "cmd" (or the previous command if omitted), replace foo with bar, rerun) 02:23
although foo can't be a pattern 02:24
zengargoyle i do the up arrow a bunch, esp with P5 that i know a bunch better. keep a '0liners' file to cut-n-paste things into for future use (after perltidy) if needed.
there should be an 'e' variant that sets environment variables.... that would be handy. 02:25
grondilu you know you can do $ ENVVAR=stuff perl6 -e '...' right? 02:28
zengargoyle inotify is also pretty cool. watch a file or directories and execute command when changed. start it up in another window and you have poor man's CI that runs on every save. 02:29
yeah, i was thinkimg more like: e PERL5LIB=~/perl5 thething
grondilu I don't see how that's better but * 02:30
geekosaur alias e=env
:)
or, just leave it off in Bourne-style shells 02:31
PERL5LIB=~/perl5 thething
zengargoyle missing the search back through history for command matching 'thething'
and having the rest of the arguments after 'thething'
geekosaur if you have history turned on, PERL5LIB=~/perl5 !thething 02:32
er, histchars
zengargoyle there's probably a fancy !/foo/ sort of thing ... :)
geekosaur !?foo
grondilu !?
geekosaur (it's a backward search, after all...) 02:33
grondilu runs !?Configure all the time after pulling rakudo
zengargoyle usually w/o the prefix stuff C-r Conf does that bit.
geekosaur yes, but you don't get to insert stuff :) 02:34
grondilu (as it always matches with $ perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix=/usr/local)
zengargoyle probalby uses C-r too much to learn the other !? things.
but will try it now... 02:35
geekosaur usually turns histchars off, but still knows them from years of csh
grondilu finds C-r slightly too awkward a finger technique
geekosaur (jumped ship to ksh as soon as he got access, never looked back)
grondilu never really tried ksh. Too much used to bash, I guess. 02:36
02:37 TEttinger left
zengargoyle i was not too computer-ish during ksh days, bash was there by the time i returned. 02:37
always wanted to strangle old-timeers at last job who were tcsh fans....
grondilu has not used tcsh in like 15 years. 02:38
02:42 cuonglm joined
cuonglm Hi, anyone get this error when testing rakudo with latest commit from rakudo, moarvm and roast 02:43
yoleaux 29 Aug 2016 08:49Z <jnthn> cuonglm: No design doc, though the key data structures are described somewhat in the .h files; of note see github.com/MoarVM/MoarVM/blob/mast...ings/nfg.h and github.com/MoarVM/MoarVM/blob/mast...ormalize.h
cuonglm "Method 'M' not found for invocant of class 'IO::Path'"
02:44 Zoffix joined
Zoffix cuonglm, no. What test is it? 02:44
TimToady recompiling to see if I can repro 02:45
cuonglm Zoffix: It's ./S16-filehandles/filetest.t
02:46 BenGoldberg left
Zoffix passes clean for me. 02:46
cuonglm, what OS are you on?
cuonglm Zoffix: I'm in OSX
Zoffix is on Linux
TimToady case-free filesystem issue, maybe?
Zoffix cuonglm, what's the exact error message?
OSX is case-free? 0.o 02:47
geekosaur yes
cuonglm Here's the version I use
"This is Rakudo version 2016.09-58-g3d2a919 built on MoarVM version 2016.09-1-gdebb859"
The exactly error message is:
Zoffix is on his is Rakudo version 2016.09-57-g922afd3 built on MoarVM version 2016.09-1-gdebb859
cuonglm Method 'M' not found for invocant of class 'IO::Path' in block at ./S16-filehandles/filetest.t line 87 in block <unit> at ./S16-filehandles/filetest.t line 77
TimToady you're running the .t without fudging, is the problem 02:48
cuonglm I saw the condition "#?rakudo 3 skip ':M, :C, :A'"
is this related
geekosaur more precisely hfs+ is case-insensitive but case-preserving. you can create ufs filesystems, or case sensitive hfs+ filesystems, but the OS install is only supported on case insensitive hfs+
TimToady you can use prove -v -e t/fudgeandrun
geekosaur (blame adobe, who refused to fix their case bugs in porting stuff to os x) 02:49
cuonglm TimToady: Oh, thanks, try it now
Zoffix cuonglm, yes, that's a "fudge". A way to tell the preprocessor to mark those tests as skipped
TimToady or just run all the tests, and then run the .rakudo.moar instead of the .t
Zoffix Or just run make t/spec/S16-filehandles/filetest.t
02:49 Zoffix left
TimToady always hates on that particular feature 02:50
02:50 grondilu left
TimToady since it violates the spirit of the verb in question 02:50
me, I just alias prove -v -e t/fudgeandrun to 'pf'
cuonglm Hmm, I got "Could not execute (t/fudgeandrun t/fudge.t): open3: exec of t/fudgeandrun t/fudge.t failed at /System/Library/Perl/5.18/TAP/Parser/Iterator/Process.pm line 168." 02:51
sounds like problem with my system
cuonglm try run all test now
TimToady you have to run it from the top dir 02:52
so the name of the file is t/spec/S16-filehandles/filetest.t
zengargoyle TimToady: i just watched YAPC::EU video, have you published rad anywhere yet? 02:54
cuonglm TimToady: Works now, thanks. 03:03
03:06 Actualeyes left 03:09 Actualeyes joined 03:10 dayangkun left
cuonglm TimToady: For related discussion, I'm fixing rt.perl.org/Public/Bug/Display.htm...et-history 03:12
I saw that both perl6 and perl5 return False with IO.e/-e for broken symlink 03:15
In perl6, IO.l called $.e before checking so IO.l throw exception even if symlink is existed 03:16
03:18 stmuk_ joined 03:20 stmuk left 03:23 TEttinger joined 03:27 sufrostico left 03:32 Actualeyes left 03:34 pierre_ left, Actualeyes joined 03:35 pierre_ joined
TimToady zengargoyle: not yet 03:38
cuonglm: seems a bit wrongihs 03:39
03:39 Actualeyes left 03:40 matiaslina joined
TimToady oh, I see you already fixed it in -dev 03:40
cuonglm TimToady: Yep, at least perl5 also return True with -l 'broken_symlink'
TimToady cuonglm++
cuonglm i fixed it :D
03:41 wamba joined 03:43 zakharyas left, pierre_ left, zakharyas joined 03:48 zakharyas left 03:52 pierre_ joined
zengargoyle TimToady: cool, i poked you probably a year or so ago after first hints. i poke around EDIC and KANJIDICT in the never ending quest to learn Japanese so just a bit more interested than the everage bear. will poke later or put me on a sticky note for when you put it up somewhere. 03:54
03:55 pierre_ left, pierre_ joined 03:59 Actualeyes joined, khw left 04:06 Cabanossi left 04:09 Cabanossi joined 04:10 khw joined 04:17 cuonglm left 04:43 AndyBotwin joined 04:52 wamba left 04:54 jcallen left, jcallen joined 04:55 pierre_ left 04:57 skids left 05:00 Actualeyes left, nadim joined 05:01 pierre_ joined 05:03 khw left 05:07 pierre_ left 05:12 Xliff__ joined, john51_ joined, mohae_ joined, [1]ringer1 joined 05:13 zostay_ joined, bob778 joined, llfourn_ joined, zhmylove_ joined 05:14 Upasaka_ joined, pnu__ joined, dustinm`_ joined 05:15 obfusk_ joined 05:16 nemo_ joined, rblackwe_ joined, f3ew_ joined, Shozan joined, ab5tract joined, Gothmog__ joined, d^_^b joined, d^_^b left, d^_^b joined, krunen__ joined, Kaffe_ joined, atta_ joined, riatre_ joined, vcv_ joined, TheDir_ joined, krakan_ joined, TimToady_ joined, xiaomiao joined, yubimusubi joined, captain-1dequate joined, DrForr_ joined, profan_ joined, Woodi_ joined, ponbiki joined, a3r0_ joined 05:17 tsadok joined, ponbiki is now known as Guest2621 05:18 tbrowder_ joined 05:19 PotatoGim_ joined, bitmap_ joined, clkao_ joined, exodist_ joined 05:20 Actualeyes joined, xxpor_ joined, musca` joined, profan left, melezhik_ left, b2gills left, camelia left, [ptc] left, bob777 left, tbrowder left, giraffe_ left, john51 left, PotatoGim left, vcv left, pnu_ left, zostay left, Xliff_ left, Possum left, a3r0 left 05:21 clkao left, timeless left, captain-adequate left, k-man left, jonadab left, TheDir left, mohae left, bonsaikitten left, riatre left, obfusk left, TimToady left, Upasaka left, nemo left, krunen_ left, Guest24694 left, ggoebel left, f3ew left, ringer1 left, llfourn left, ssm left, Woodi left, Gothmog_ left, akiym left, zhmylove left, exodist_ is now known as Exodist, bitmap_ is now known as bitmap, bob778 is now known as bob777, Gothmog__ is now known as Gothmog_, zostay_ is now known as zostay, tbrowder_ is now known as tbrowder, pnu__ is now known as pnu_, jkramer joined, [ptc] joined 05:22 wamba joined, john51_ left 05:23 john51 joined, dgl joined 05:24 Guest81107 joined 05:25 PotatoGim_ is now known as PotatoGim, clkao_ is now known as clkao 05:27 ggoebel joined, k-man joined 05:28 timeless joined, melezhik_ joined, salparadise joined, b2gills joined, timotimo joined 05:29 ssm joined, akiym joined 05:30 risou_ joined 05:38 camelia joined 05:39 a3r0_ is now known as a3r0, ChanServ sets mode: +v camelia 05:40 wamba left 05:44 rgrinberg left 05:58 imcsk8_ joined 06:00 domidumont joined 06:02 imcsk8 left 06:12 pierre_ joined 06:16 pierre_ left 06:20 xinming joined 06:24 matiaslina left, domidumont left 06:25 pierre_ joined 06:28 firstdayonthejob joined 06:40 firstdayonthejob left 06:50 domidumont joined 06:54 salva joined 07:06 rindolf joined 07:12 [particle]1 left 07:13 [particle] joined 07:19 wamba joined, ufobat joined 07:21 rurban joined 07:26 zhmylove_ left 07:27 zhmylove joined 07:28 Actualeyes left 07:35 djbkd joined 07:36 CIAvash joined 07:38 perlawhirl left 07:43 darutoko joined 07:46 pierre_ left 07:48 pierre_ joined 07:49 RabidGravy joined
DrForr_ captain-1dequate: Perl::ToPerl6 is the appropriate module space now. 07:49
scott is there any subscripting shorthand for `$foo{'key with spaces'}`? 07:56
err, `%foo` 07:57
07:57 djbkd left
moritz no 07:58
08:01 jonas1 joined, Actualeyes joined, dakkar joined
scott can anyone see an obvious way to improve this simple code? I'm just new to perl6 and looking for any tips gist.github.com/solson/410ee20f210...d55e3d81ec 08:03
mainly wondering if I'm missing any handy shortcuts
$j<seen> is an array of hashes, each with an array of directors, for context
moritz scott: if you want to count things, a Bag is usually the most idiomatic thing to use 08:05
m: say Bag.new(<a b c c c c b>)
camelia rakudo-moar f0b3b5: OUTPUT«bag(a, c(4), b(2))␤»
scott nice!
08:08 ocbtec joined
scott oh, of course, I can also just write .key, .value 08:09
`.sort({ -.value, .key })` is also more what I want, and maybe more readable 08:12
the only part I still dislike is `.map(|*<directors>)` - not sure if that's really the best way to flatten those arrays of directors 08:15
08:18 kanl joined
moritz scott: if you paste a runnable snippet that includes two or three items of the data structure, I can look for nicer ways 08:18
08:21 pierre_ left
DrForr_ yoleaux: hi 08:23
Okey-dokey, no messages, I guess.
08:23 zakharyas joined
scott moritz: I made a simplified sample here, based on the .perl output for these few gist.github.com/solson/5f6872e8e9b...c68b210894 08:25
08:25 pierre_ joined 08:27 DrForr_ is now known as DrForr
moritz scott: the best I can come up with right now is .map(*<directors>.Slip), but that just replaces prefix | with .Slip 08:30
scott fair enough. thanks for checking!
moritz scott: unrelated, Bag.new(...) can be bag(...)
scott also, I found out I can tack .Bag onto the array instead of wrapping in bag(...) 08:31
which makes it a bit more linear
nadim Good morning P6! 08:42
DrForr Mornin'.
08:42 bjz_ joined 08:47 rurban left 09:05 kurahaupo left 09:06 pierre_ left 09:14 pierre_ joined 09:18 pierre_ left 09:31 araujo joined 09:32 araujo left, araujo joined 09:33 canopus left, Dunearhp joined 09:34 araujo left 09:35 araujo joined 09:37 araujo left, araujo joined 09:40 araujo left, canopus joined, araujo joined 09:42 zakharyas left, zakharyas joined 09:46 zakharyas left 09:51 llfourn_ left 10:01 pierre_ joined 10:07 Actualeyes left 10:09 keix joined 10:22 gregf_ joined 10:26 ka left 10:27 TEttinger left 10:28 _matt joined 10:29 _matt is now known as matt_, pierre_ left 10:30 krunen__ left, krunen left 10:32 ka joined 10:35 pierre_ joined 10:39 pierre_ left 10:41 pierre_ joined 10:57 pmurias joined
pmurias hi 10:57
moritz ho
11:05 woolfy joined 11:06 bob777 left
SmokeMachine____ zengargoyle: for that '0liners' (but in my case not with that name) for perl5 o use App::Rad 11:08
DrForr . o ( Let's go! ) 11:10
11:12 labster left 11:16 pierre_ left 11:20 rindolf left 11:22 Dunearhp left 11:30 bob777 joined, rurban joined
RabidGravy there, HTTP::Server::Tiny passing it's tests again :) 11:37
11:38 pdcawley joined
RabidGravy tokuhirom++ has given me commit so it shouldn't fall apart again (assuming I don't go mad and become a crazy erlang hacker or something) 11:40
11:44 ka left 11:53 perlawhirl joined 11:55 aod left 11:59 cuonglm joined
cuonglm Zoffix: this issue seems to be fixed in latest version of rakudo rt.perl.org/Public/Bug/Display.html?id=123838 11:59
rakudo: my $f = open("x", :w); $f.print("abc"); say $f.tell 12:00
camelia rakudo-moar f0b3b5: OUTPUT«open is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in sub open at src/RESTRICTED.setting line 9␤ in block <unit> at <tmp> line 1␤␤»
12:03 rindolf joined 12:12 hackedNODE joined 12:13 profan_ is now known as profan 12:14 tsadok is now known as jonadb, jonadb is now known as jonadab
hackedNODE cuonglm: out of curiosity, what does that ticket have to do with Zoffix? 12:14
jkramer I've asked this some time ago but forgot about the solution. :( How do I get the possible values of an enum? .enums gives me a map of Str => Int, but I want the actual values, not the string representations 12:17
Bool.pick(*) returns a list of the actual values but I think the RNG is a bit useless overhead here :)
timotimo m: say Bool::.values
camelia rakudo-moar f0b3b5: OUTPUT«(True False)␤»
jkramer Goddamn me 12:18
Thanks :D
12:18 hackedNODE left 12:20 hackedNODE joined 12:26 rgrinberg joined 12:27 rgrinberg left, rgrinberg joined
RabidGravy :) 12:30
cuonglm hackedNODE: Hmm, I saw Zoffix have been added to perl6 group in Github, and he recently merged my PRs and response to the RT thread 12:32
So I just want to ask him to close it 12:33
psch RT bug admin and GH perl6 group permissions aren't directly related
hackedNODE cuonglm: but there's not even such nick in this channel. If ticket needs to be changed, I think it's best to mention it in #perl6-dev rather than pinging some random specific person :) 12:34
cuonglm psch: Yep, but I saw Zoffix closed it in RT
hackedNODE: Ok, will do it next time.
psch cuonglm: zoffix just likes messing around with their nick all the time and then being snarky about it, don't worry about it :)
hackedNODE Thanks.
RabidGravy yeah, I'm in the GH group and can't do anything to the tickets in RT ;-) as it should be .... 12:35
12:37 wamba left 12:38 nemo_ is now known as nemo 12:41 pdcawley left 12:42 pdcawley joined 12:45 perlpilot_ joined, perlpilot left, perlpilot_ is now known as perlpilot 12:48 ka joined 12:49 andrzejku joined 13:01 Actualeyes joined 13:02 pierre_ joined 13:12 cdg joined 13:13 ptolemarch joined 13:17 cdg left 13:21 cdg joined
sammers hi perl6 13:21
hackedNODE \o
moritz \o sammers
sammers how is everyone today? 13:22
tonight? afternoon?
RabidGravy .seen masak
yoleaux I saw masak 25 Sep 2016 14:10Z in #perl6: <masak> I mean, if you know up-front exactly what inputs you're going to give, irrespective of any outputs that come back...
hackedNODE sleepy
moritz it's always morning in UGT!
13:22 cog__ joined
sammers good morning moritz ! 13:23
it is almost 2230 here in Japan
question about panda, is there a way to tell panda to exclude files in a folder, something like .gitignore? 13:25
hackedNODE Is there a way to pun a role, while still leaving it as a :U?
moritz sammers: wow, Japan is more than 200 years ahead of us! :-)
jnthn hackedNODE: .^pun I think 13:26
psch m: role R { }; my $r = R.^make_pun; say $r.WHAT; say $r ~~ R:U
camelia rakudo-moar f0b3b5: OUTPUT«(R)␤True␤»
psch m: role R { method foo(R:U) { say "okay" } }; my $r = R.^make_pun; $r.foo
camelia rakudo-moar f0b3b5: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in method foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
psch m: role R { method foo(R:U: ) { say "okay" } }; my $r = R.^make_pun; $r.foo
camelia rakudo-moar f0b3b5: OUTPUT«okay␤»
hackedNODE c: Blob.^pun, 'allocate', \(42, 'meow') 13:27
Undercover hackedNODE, The code is NOT hit during stresstest See perl6.WTF/src_core_Buf.pm.coverage.html#L48 for details
hackedNODE Sweet, jnthn++ thanks
psch colons everywhere
m: Blob.^pun
camelia ( no output )
psch m: role R { method foo(R:U: ) { say "okay" } }; my $r = R.^pun; $r.foo
camelia rakudo-moar f0b3b5: OUTPUT«okay␤»
psch vOv
sammers yes moritz, Kirk will be born in a few more years.
psch that's again one of those .^can vs .^lookup things isn't it
where they have slightly different meaning and i just can't for the live of me figure them out nor remember them :P 13:28
andrzejku hi guys 13:32
:)
hackedNODE \o
13:32 mniip left
andrzejku how to build operating system with perl6? 13:33
13:34 skids joined
hackedNODE hahahaha 13:34
moritz andrzejku: what's your goal?
13:35 gregf_ left
hackedNODE
.oO( SlowOS... sounds catchy )
13:35
andrzejku ...
I want to learn Perl6
and C++
by mixing them
so I got a great idea to make OS
13:36 mniip joined
psch that doesn't sound like a great idea to me, honestly. it's kind of outside of the scope of *both* languages, isn't it 13:36
moritz well, I don't think why C++ wouldn't be suited
perlpilot andrzejku: maybe start with making a command line shell in Perl 6 ?
psch i mean, sure, C++ probably works but there's a lot of stuff you don't really want or need for building an OS
andrzejku mmm 13:37
what about rewriting perl6 vm to c++?
;D
13:37 sufrostico joined
timotimo i think the operating system of the nintendo 3ds is written in C++ 13:37
moritz I kinda agree with psch. There are many more things where you can mix those two languages that sound much more workable 13:38
timotimo at least the API it provides to user space programs is based on C++ objects
perlpilot andrzejku: or find a C++ library that's really useful and make a Perl 6 binding for it?
andrzejku not I want to write C++
;-)
and Perl
not just checking a documentation
moritz andrzejku: there's a nice numerical library called Eigen, or Eigen2 13:39
andrzejku: the interesting thing is that it uses template expressions
so there's no straight-forward mapping to a C API
hooking Perl 6's MOP to the template expression thingy in C++ sounds like an interesting challenge (if you're into that kind of masochism)
psch o.o 13:40
yes, probably a *lot* of fun hidden there
timotimo if you want to write a C++ compiler in perl6, then yeah, that sounds fun
andrzejku :-)
too many options
what about Perl6 embedded? 13:41
for AVR?
Woodi_ andrzejku: I have request: vim clone based on Perl6 :)
andrzejku that would be slow 13:42
moritz question of the day: What's more work, writing an OS or a C++ compiler? :-)
13:43 skids left
psch i'm going with "yes" 13:43
moritz cheater! 13:44
hackedNODE A C++ compiler
Woodi_ OS is simple. you do OS part that do something and add IP stack, which is hard becouse that must cooperate with other implementations :) 13:45
moritz hackedNODE: I tend to agree, simply because C++ has a spec, and you need to implement all of it. An OS can be rather minimal
(nobody mentioned a GUI, or networking. Right? :-) 13:46
timotimo that's correct
13:46 cog__ left
timotimo not even that it has to do any sort of multiprocessing 13:46
RabidGravy .tell masak I'm just fixing your github.com/tokuhirom/p6-HTTP-Serve.../issues/28 while I'm in the mood :)
yoleaux RabidGravy: I'll pass your message to masak.
moritz RabidGravy++ # while I'm in the mood :) 13:48
andrzejku moritz, what's Perl 6 MOP? 13:49
RabidGravy "Meta Object Protocol"
andrzejku docs.perl6.org/language/mop
jkramer What's the protocol for porting/rewriting P5 modules for P6? Can I just use the name or should I contact the original author first? 13:52
psch i think we're on first-come-first-serve basis with namespace spots? 13:53
moritz jkramer: you can just use the name (unless the author registered a trademark, I think)
psch although asking definitely wouldn't hurt
timotimo since everything has an implicit :auth<github:yourusername> ... :P
psch oh, yeah, trademark might be a concern potentially
jkramer Are there trademarks on module names? o_O
psch hopefully not :)
hackedNODE Ask mst :)
metacpan.org/release/Nagios-Plugin :) 13:54
moritz jkramer: if you go to a trademark office and register one for YourSuper::Duper::Org::API, I'm sure they'll grant it :/
timotimo i'm pretty sure apple is going to sue our asses for having an App:: namespace 13:55
hackedNODE :D
jkramer :D
WTF that actually happened? (Nagios= 13:56
13:56 pierre_ left
moritz yes, those guys have a reputation for being nasty on occasion 13:57
RabidGravy Also Docker have had github repos beginning with "docker" removed 13:58
jkramer o_O
timotimo nastyos 13:59
moritz there's also the piece of nastiness in law that you can lose trademark that you don't defend 14:00
so if you don't have an explicit policy of allowing such things that contain your trademark'd name, you basically *have* to go after those folks to not lose it
ilmari moritz: the policing requirement is nowhere near as strict as lots of companies would like you to think 14:01
RabidGravy yeah and they could make, if they so wished, specific provision for certain uses 14:03
14:03 zacts left
moritz ilmari: I guess I should read up on the actual requirements 14:03
ilmari twitter.com/RickSandersLaw/status/...2150694916 14:04
IMO docker-foo does not dilute the docker trademark if it's a thing for using docker and foo together 14:05
jkramer I shall register IO::File™ and become insanely rich. Or maybe strict™ 14:07
hackedNODE jkramer: I'd go for v6 :) 14:08
14:09 imcsk8_ is now known as imcsk8
jkramer I present to you the great new Log::Dispatch™ for Perl v6™! gist.github.com/jkramer/9e4431b293...e448de502f 14:10
Sadly you can't use it or I'll sue you
14:10 zoosha_ left 14:11 grondilu joined
ugexe actually its Log::Dispatch:auth<github:jkramer> 14:13
perl6 needs improvements for commiting traderight infringement by module authors
trademark 14:14
ilmari shouldn't Output be a role, not a class? 14:15
14:15 zoosha joined
timotimo No Copyright Intended™ 14:16
jkramer ilmari: Don't know, does make a big difference in the case for me. What advantage would a role bring here? 14:18
ugexe role is 1 letter less to type 14:19
jkramer :D
ilmari jkramer: you can't usefully instantiate Object
abstract classes are a workaround for lack of rolse
*roles
s/Object/Output/
14:19 rurban left
jkramer Yeah, I ugexe alredy conviced me :) 14:20
ugexe you can also abuse parameterized roles to use a different style of class invocation 14:21
m: role Foo[$bar] { has $.baz; method bar {$bar}; }; say Foo[1].new(baz => 2).bar; 14:22
camelia rakudo-moar f0b3b5: OUTPUT«1␤»
jkramer $!fh = open $.path, :a or die $!fh unless $!fh; - is this doing what I want it to do? It seems to work but it looks weird :) 14:23
ugexe role Log::Dispatch[Logger $logger] { has IO::Handle $.stdout; has IO::Handle $.stderr; method log { ... } } for instance
14:23 wamba joined 14:25 user9 left 14:26 user9 joined
[Coke] stares at irc logs over coffee 14:26
timotimo careful, don't wanna spill irc logs into your coffee 14:27
RabidGravy right that's me done with fixing other people's software for the day, let's fix some of mine instead :) 14:28
14:28 brrt joined
RabidGravy .tell masak I closed that PR on HST on the grounds that it doesn't spew that error any more ;-) 14:29
yoleaux RabidGravy: I'll pass your message to masak.
14:29 brrt left
RabidGravy .tell masak err, "issue" not "PR" 14:29
yoleaux RabidGravy: I'll pass your message to masak.
14:30 cuonglm left
RabidGravy anyone else notice that the Travis-CI for OS/X is a lot slower than for Linux? 14:34
14:34 kaare_ joined
RabidGravy or rather it seems to share load in a way that makes the OS/X jobs more likely to stall and time out 14:35
timotimo that's just because it uses clang 14:36
RabidGravy ah, of course
anyway that's Cache::Memcached back on the straight and narrow, now back to breaking this streaming server 14:38
14:39 zacts joined, bob777 left 14:40 bob777 joined
timotimo the only reason clang times are so bad is because interp.c takes *ages* to compile with it 14:41
everything else hardly changes, i'd think
RabidGravy I keep meaning to try and compile it with openwatcom, that used to be by far and away the fastest back in the last century 14:43
timotimo openwat
geekosaur can't help but think of watfiv >.>
timotimo i don't know what that is 14:44
RabidGravy that is to say when it was still the "Watcom C compiler" it was the fastest, it has since been bought by someone and then opensourced 14:47
14:47 girafe joined 14:48 salva left 14:50 perlawhirl left 14:52 bob777 left
geekosaur waterloo fortran iv compiler 14:53
RabidGravy yeah they're both from the same place, I think that one was fast as well 14:54
not that I have done more than about four lines of fortran in the last twenty years
14:57 wamba left 15:01 andrzejku left 15:03 ka left, gregf_ joined 15:06 wamba joined, ka joined 15:10 wamba left
grondilu I don't know what's going on but today compiling rakudo takes ages. 15:18
For once, I'm compiling something else at the same time, but still.
lizmat grondilu: it is a 1.4MB source file, with 42.5K lines 15:19
15:19 optikalmouse joined
timotimo is your device swapping? 15:20
slow hard drive wouldn't make it take ages i don't think
15:21 acrussell joined, skids joined
grondilu yes, lots of swap. I'm now pretty sure I can blame the other compilation 15:22
grondilu interrupts the rakudo compilation and waits for the other one to finish 15:24
timotimo vms that do garbage collection like rakudo does have a bad time when you run out of ram 15:28
15:31 MilkmanD1n left
timotimo when you want to write "nice make" and it comes out as "mike" instead ... 15:32
moritz would have expected "mice" 15:33
optikalmouse I would have expected mexican spice. 15:34
but then, I'm hungry.
timotimo i just had a sammich
ugexe fortune 500 company asked about possible perl6 uses today :) 15:37
hackedNODE what answer did they get? :) 15:38
awwaiid I assume they were confused. The first users of new languages tend to be the sorts who don't "ask"
15:39 andrzejku joined
ugexe hackedNODE: that it's not ready from a web framework perspective but that it would fit for our parsing and backend processing needs 15:41
TimToady_ jkramer: I'd probably write that as: $!fh ||= open($.path, :a) || die $!; 15:42
presuming you meant die $! there, not die $!fh
15:43 optikalmouse left 15:47 duncan_dmg joined, ka left
ugexe awwaiid: why wouldn't they ask? the alternative is to read a bunch of reddit comments from people who have never used it 15:47
15:50 MilkmanDan joined
RabidGravy of course a fortune 500 company could probably invest some employee time into improving the web framework thing :) 15:50
if they were keen enough to see Perl 6 as a strategic language of course 15:51
timotimo if the company has enough money, perhaps
15:51 domidumont left
RabidGravy though of course there have always been plenty of large companies who are only interested in passively consuming open source software 15:52
(there are of course some notable exceptions)
profan s/large companies/companies/ and it still applies :p 15:53
ugexe I imagine they'd like to get their feet wet with the good parts and business logic before getting hit with the idea of investing money into writing a web framework 15:55
they are a TPF sponsor so they aren't just a passive consumer 15:56
RabidGravy cool 15:57
15:59 ka joined
avuserow m: multi foo() {nextwith(1)}; multi foo($a) {note "here"}; foo(); # Can someone unconfuse my use of nextwith here? 15:59
camelia ( no output )
RabidGravy I think now people are becoming more accepting of "mixed architectures" with different languages playing to their strengths in certain subsystems of an application
15:59 optikalmouse joined
timotimo avuserow: "next" will only go through things that are already up for consideration 15:59
the foo($a) candidate wasn't considered because your call was foo() 16:00
you want callwith instead
jnthn Want samewith, no? :)
callwith also iterates the same candidate lsit
*list
timotimo oh
good catch
avuserow ah, didn't know about samewith. looks like that's what I want, thanks
16:01 FROGGS joined
avuserow is it new-ish? it's not mentioned in the docs around nextwith/callwith as far as I can tell (in language/functions for example) 16:02
moritz moritz@pete:~/p6/doc$ git grep --word nextwith|wc -l
11
avuserow looks like samewith is 2013 vintage, so not super new, but newer than some of the advent stuff I stumbled upon 16:03
lizmat I thought of "samewith" at that time 16:04
RabidGravy avuserow, you just reminded me to check the PR on Audio::Taglib::Simple :) It''s fixed so I'll close it
jkramer TimToady_: Yup, I already rewrote pretty much like that
lizmat but from a performance point of view, you'd probably be better of doing "self.nameofmethod(your params)" 16:05
at least for the foreseeable future
awwaiid ugexe: I mean that -- I hypothesize initial use of a new tech (esp without large corporate backing) tends to be bottom-up, from random engineers on small projects, rather than top-down, which is how I interpret the idea of a Company asking things 16:07
RabidGravy is it a massive difference in the performance thing? I do tend to use samewith quite a lot
16:08 optikalmouse left
lizmat RabidGravy: i would say massive, yes 16:09
16:09 optikalmouse joined
jkramer Is there some kind of destructor thing in P6 that gets called when an object's life is over? 16:09
RabidGravy Hmm maybe I''ll take a look at that at some point as I say I tend to use it quite a lot
lizmat fwiw, I think I can make it a bit better, but basically, if you use samewith, you have no chance of it getting optimized atm
16:09 ptolemarch left
jkramer Does DESTROY still exist? 16:10
lizmat RabidGravy: samewith is about 30x slower
RabidGravy yikes
maybe I ought to find a choice module that uses it a lot and swap it then 16:11
lizmat m: multi a() { samewith(42) }; multi a($a) { $a }; my $now = now; for ^10000 { a }; say now - $now
camelia rakudo-moar 74b5d7: OUTPUT«0.1814039␤»
lizmat m: multi a() { a(42) }; multi a($a) { $a }; my $now = now; for ^10000 { a }; say now - $now
camelia rakudo-moar 74b5d7: OUTPUT«0.0049243␤»
jnthn jkramer: DESTROY exists, but you have on promises about when it will be called or, if your object lives until close the program exit, if it will be called at all.
*no promises
16:12 andrzejku left, andrzejku joined
jnthn (To be specific, it gets run shortly after the GC determines the object can be freed.) 16:13
16:13 xiaomiao left
jkramer m: class A { sub DESTROY { say "boom!" } }; { my $a = A.new; say "done" }; say "done even more" 16:14
camelia rakudo-moar 74b5d7: OUTPUT«done␤done even more␤»
16:14 ptolemarch joined
jkramer Meh 16:15
16:15 xiaomiao joined
jnthn Right, GC never happened 16:15
So, don't use it for resource management.
(It's a trade-off. If you ref-count, you give up a bunch of other nice things.)
jkramer Ok, I was hoping for something that would be called as soon as the object leaves the scope
jnthn You can write a LEAVE block in the scope itself
16:16 ka left, rurban joined
ugexe awwaiid: its breaking a perl5 monolith into microservices so it *would* be small stand-alone projects - a mix of perl5 and perl6 each playing to their own strengths 16:16
TimToady_ m: class A { }; { my $a will leave { say "boom" } = A.new; say "done" }; say "done even more"
camelia rakudo-moar 74b5d7: OUTPUT«done␤boom␤done even more␤»
hackedNODE :o
timotimo leaving a scope is very easy compared to "is no longer referenced by anything"
because leaving a scope is pretty much discoverable statically with a little help for exception handling and such 16:17
RabidGravy ugexe, sounds like something Perl 6 could fit in with nicely
FROGGS o/
16:17 andrzejku left
hackedNODE \o 16:17
psch i'd like the declarant as $_ in the 'will leave' Block, i think 16:18
16:18 MasterDuke_ joined
TimToady_ m: { my $a will leave { say "terminating " ~ $_ } = 'your visit'; say "done" }; say "done even more" 16:18
camelia rakudo-moar 74b5d7: OUTPUT«done␤terminating your visit␤done even more␤»
16:18 rurban left
TimToady_ psch: just went into my time machine and fixed it for you 16:19
psch m: class A { method left { "bye" } }; { my $a will leave { .left } = A.new; say "done" }; say "really done"
camelia rakudo-moar 74b5d7: OUTPUT«done␤really done␤»
psch TimToady_: you did? :)
TimToady_: time machine is probably right though
TimToady_ you didn't say it
psch yeah
MasterDuke_ while a large number of @LARRY are in the room, any opinion on RT #129248? 16:20
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129248
psch i saw that right then
TimToady++ # responsible time machine use
bit sad we can't have Whatever there, but parsing that would probably be really weird 16:21
jkramer Can I use 'will leave' inside to object so it'll be triggered whenever it leaves any scope? :)
Ah, I guess that's GC-stuff again and not easy to detect 16:22
psch jkramer: i think a new declarator is probably your best bet there
like, my-leaving $a or something
jkramer: just gotta figure out a way to tell it globally what to call :)
16:22 acrussell left
psch jkramer: the thing is, 'will leave' is still phaser-y, which is still always bound to the Block it's in 16:23
jkramer: so the class itself can't bring it, unless it does black CALLER:: magic in .new at runtime to install phasers
s/runtime/compile time/ 16:24
which i don't think we actually *can* do because .new isn't compile time
jkramer psch: The problem is I don't want to user of the class to take care of the cleanup :) So it should happen transparently somewhere inside the class. But it's not that important, I was just wondering if there's something like that
Woodi_ maybe Perl6 is good for prototyping (to discover some architecture things) becouse: a) code can look clean/readable during reimplementation; b) chance of skipping reimplementation is very low :) no good GUI is two edge sword...
RabidGravy okay finding the module with the greatest number of samewith is taking some time
16:25 Woodi_ is now known as Woodi
RabidGravy and strangely the one with the greatest number is not released yet 16:25
hackedNODE s: &trait_mod:<will>, \(:leave)
SourceBaby hackedNODE, Something's wrong: ␤ERR: Could not find candidate that can do \(:leave)␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 37␤ in block <unit> at -e line 6␤␤
hackedNODE :(
psch jkramer: i'm not sure, but maybe you can somehow get EXPORT to install a LEAVE phaser in the importing scope..?
jkramer: i mostly don't know if you can (1) find the right scope to install the phaser in and (2) EXPORT runs early enough 16:26
TimToady_ MasterDuke_: rindex is not symmetrical with index, since positions are measured from the start of the needle, not the end, so I'd say the rindex("1234","2",4) should fail indicating the correct range is 0..3, since the actual allowed range is not 0 .. 4 but rather 0 .. 4 - $needle.chars 16:28
avuserow RabidGravy: thanks, been meaning to do a bit of cleanup on my various modules. appreciate the PR, and I'm going to eventually set up travis so I'll catch stuff like that in advance :)
RabidGravy avuserow, there's still a fail on "bitrate" here though, not sure what that''s all about
jkramer psch: It's alright, it's not that important that I'd hack weirdo stuff like that :) It'd just be nice to have in this case
TimToady_ MasterDuke_: though I suppose we could just return Nil up through 4 just for convenience 16:29
RabidGravy (I'm only using the module to test Audio::Encode::LameMP3 at the moment)
jkramer But you reminded me of another question I had. Can I still use somehow use the 'use' parameters for random module options and stuff like in P5 or is it only for 'is export' stuff now? The only thing I found was for export tags. 16:30
TimToady_ MasterDuke_: or we could say that if they give us a position within the string that is too long to match, we just force it to the first position that could match
avuserow RabidGravy: do you remember what OS/arch combination this appears on? 16:31
TimToady_ such that rindex("1234","2",4) would simply return 1, and rindex("1234","2",5) would report failure
and then it wouldn't matter if it said 0..3 or 0..4
RabidGravy avuserow it's Linux x86_64 16:32
TimToady_ MasterDuke_: so I think the last thing I said is probably the best approach 16:33
hmm, I seem to have grown a tail...
maybe I'm not really me... 16:34
16:34 duncan_dmg left, TimToady_ is now known as TimToady, TimToady left, TimToady joined
RabidGravy avuserow, my working hypothesis is that it's actually the underlying library rather than the module 16:34
MasterDuke_ TimToady: thanks for the input
TimToady hmm, maybe you're not really you :) 16:35
dogbert2 TimToady: up for another question wrt duckmap?
TimToady we should pay attention to iterable if it's undefined, if that's the question
*shouldn't
darn n't key is broken again 16:36
RabidGravy well there's four samewith ridded anyway
avuserow RabidGravy: certainly possible. if you have a test file, I can take a look. I have an old C++ binary around taglib I can use for this stuff.
dogbert2 it's probably the question, what should this return: my @a = [1, "a"]; dd duckmap({ $_ ~~ Int ?? $_ !! Any }, @a);
avuserow RabidGravy: I've also been meaning to write a pure Perl6 parser for some tag formats partially as a demo for Binary::Structured (once I'm happier with its features/API/stability) 16:37
RabidGravy I've got an MP3 frame parser in Perl 6 somewhere around
gfldex i wonder if IO::Handle.open should check for stale symlinks. That file-i-can-clearly-see-does-not-exist-error always trips me of. 16:38
16:39 robertle joined, andrzejku joined
avuserow RabidGravy: is it online anywhere? I'm interested in having a look 16:39
RabidGravy It's github.com/Perl6-Noise-Gang/Audio-Format-MP3 - if you want a hack you can join the noise gang 16:41
:)
actually I've just invited you :) 16:42
16:42 cog__ joined 16:44 andrzejku left, andrzejku joined 16:46 dogbert2 left, dogbert17 joined, acrussell joined 16:51 dalek left 16:52 dalek joined, ChanServ sets mode: +v dalek
TimToady dogbert2: it oughta return [1,Any], not try to iterate Any 16:57
even if it were [1,List], it should return [1,List] rather than trying to iterate a type object 16:58
dogbert17 TimToady: thanks, the docs were a bit vague so for a second I was wondering if it should return [1, "a"] 17:00
TimToady actually, duckmap is intended for methods, not functions, so the functional form doesn't really make sense
you can have [1,2,3].foo failing to dispatch, which is what triggers the iteration on a defined [1,2,3]
dogbert17 m: my @a = [1, [2,3],4]; dd duckmap({ $_ ~~ Int ?? $_ !! Any }, @a) 17:02
camelia rakudo-moar 74b5d7: OUTPUT«(1, (2, 3), 4)␤»
TimToady but detecting failure to dispatch on a foo([1,2,3]) is a bit more problematic, unless maybe we test explicitly for the appropriate dispatch failure, which {} is never going to produce
17:03 gregf_ left
TimToady I mean, with foo() we know at compile time that the name 'foo' actually exists, but maybe it won't bind to any signature 17:03
we can't indicate failure to dispatch by returning an undefined value, in any case, because undefined values are a valid return from a duckmap 17:04
dogbert17 so if the expression returns undef and the element in question is NOT iterable, then we should return Any ? 17:06
17:06 poohman joined, cog__ left
TimToady so what duckmap really needs to test is that the call returns a failure to dispatch, and then iterate if the input value is defined and Iterable 17:06
otherwise it should just return the undefined return value, whatever it was 17:07
which might or might not be Any
we never test the returned value for definedness, only for failure to dispatch 17:08
17:09 optikalmouse left
TimToady you should be able to duckmap to undefined values just fine 17:09
as long as they aren't dispatch failures
this is all based on, if .quack or quack() works, it's a duck
otherwise see if it's a flock of ducks 17:10
where "works" is defined as "dispatches and binds okay"
poohman Hello all, where can I find documentation about running Perl6 on JVM - eventually in Windows
dogbert17 I was hoping that something like this would be enough. 17:11
multi sub duckmap(\op, \obj) {
nodemap(-> \arg { try { op.(arg) } // try { arg ~~ Iterable ?? duckmap(op,arg) !! arg } }, obj);
}
dogbert17 is probably in over his head
TimToady the // is incorrect there 17:12
hackedNODE poohman: no idea about docs, but this can buildd it: git clone github.com/rakudo/rakudo/; cd rakudo; perl Configure.pl --gen-nqp --backends=jvm; make; make test; make install
TimToady since op.(arg) may have intended to map to an undefined value, which should be allowed
dogbert17 the src in rakudo is this: nodemap(-> \arg { try { op.(arg) } // try { duckmap(op,arg) } }, obj); 17:13
psch poohman: github.com/rakudo/rakudo/blob/nom/...LL.txt#L36
poohman Thanks 17:14
psch poohman: while that's a linux prompt it's not that different for r-j on windows
17:14 firstdayonthejob joined
psch poohman: you do still need make, as mentioned in INSTALL.txt 17:14
poohman: also note that rakudo-j is a bit behind feature-wise 17:15
TimToady it's more like: nodemap(-> \arg { my \result = try { op.(arg) }; result ~~ Failure ?? try { arg.defined && arg ~~ Iterable ?? duckmap(op,arg) !! arg } !! result }, obj);
poohman ok
TimToady or maybe just arg ~~ Iterable:D
which is probably faster and more better anyway than explicitly calling .defined 17:16
poohman thanks - let me have a look at the Install file
17:17 MasterDuke_ left 17:18 dha joined
dogbert17 TimToady: with your change, my @a = [1, [2,3], 'a']; say duckmap({ $_ ~~ Int ?? $_ !! Any }, @a) would return (1 (Any) (Any)) 17:18
TimToady as I said, it makes no sense for a block that has no signature 17:20
dogbert17 if that's the intended behavior then you have fixed the bug :-)
TimToady try it with -> Int { $_ } to get the binding to fail 17:21
or whatever the correct incantation is :0
-> Int $x { $x }
17:21 setty1 joined
dogbert17 (1 Nil Nil) if I did this correctly 17:23
TimToady arguable whether it should return [1,[2,3],'a'] or [1,[2,3],Nil]
17:24 Dunearhp joined
hackedNODE m: &duckmap 17:24
camelia rakudo-moar 6974b8: OUTPUT«WARNINGS for <tmp>:␤Useless use of &duckmap in sink context (line 1)␤»
hackedNODE s: &duckmap
SourceBaby hackedNODE, Sauce is at github.com/rakudo/rakudo/blob/38ec...ps.pm#L683
TimToady m: say try { push(now) }.WHAT 17:25
camelia rakudo-moar 6974b8: OUTPUT«Nil␤»
TimToady m: try { push(now) }; say $!.WHAT
camelia rakudo-moar 6974b8: OUTPUT«(NoMatch)␤»
TimToady I guess try doesn't actually return the failure
dogbert17 hackedNODE, could that be an alias for Z...
hackedNODE nah 17:26
TimToady m: my \x = push(now); say x.WHAT
camelia rakudo-moar 6974b8: OUTPUT«Cannot resolve caller push(Instant: ); none of these signatures match:␤ (Any:U \SELF: |values is raw)␤ in block <unit> at <tmp> line 1␤␤»
TimToady and I guess that doesn't work
hackedNODE m: sub {CATCH {.return}; push(now)}().WHAT.say 17:29
camelia rakudo-moar 6974b8: OUTPUT«(NoMatch)␤»
dogbert17 should we commit your fix or do you think more code is necessary?
TimToady hackedNODE is on the right track
dogbert17 hackedNODE is as clever as they get :-) 17:30
tony-o i'm looking at implementing the pluggable interfaces in zef and looking for input on what actions should be pluggable and what points in each should have interfaces for extension. right now i'm just looking at putting in the pre/post pluggables for build|install|test and the way i have prototyping structured is you just need to 'does' a role and tell zef to attempt to use that as a plugin. curious what
environment variables, data, etc people would want passed around to plugins
RabidGravy if like me you are afflicted with samewith-mania then "find . -name '*.pm' | xargs grep -c samewith | sort -t ':' -k 2 -g" may help ;-)
17:31 eliasr joined, wamba joined 17:33 setty1 left
TimToady nodemap(sub (\arg) { { CATCH { return arg ~~ Iterable:D ?? duckmap(op,arg) !! arg }; op.(arg); } }, obj); 17:33
or so...
17:33 dakkar left
TimToady hmm, useless brackets there 17:34
nodemap(sub (\arg) { CATCH { return arg ~~ Iterable:D ?? duckmap(op,arg) !! arg }; op.(arg); }, obj);
or possibly: 17:35
nodemap(sub (\arg) { CATCH { return arg ~~ Iterable:D ?? duckmap(op,arg) !! $_ }; op.(arg); }, obj);
depending on whether we want to return "a" or the failure
I can argue that either way 17:36
which may mean that we want to give the user the choice of behavior 17:37
17:37 domidumont joined
TimToady if we make it return the "a", that works out better for "just adjust the nodes you recognize, and leave the others the same" 17:38
RabidGravy there all the released modules don't have 'samewith', lizmat++ cheers for the "heads up"
TimToady which is sort of the spirit of duckmap 17:39
dogbert17 yes, sounds better than "(1 (2 3) Type check failed in binding to $x; expected Int but got Str ("a")"
RabidGravy if nothing else it has improved my apparent productivity for the day ;-)
TimToady if they really want the failure, they can write a function that returns a handled $failure, which won't throw 17:41
17:41 optikalmouse joined
dogbert17 your second suggestion, i.e. nodemap(sub (\arg) { CATCH { return arg ~~ Iterable:D ?? duckmap(op,arg) !! arg }; op.(arg); }, obj); it is then 17:42
maybe hackedNODE has already implemented it
TimToady also, if they feed it [1,[2,3],"a"], it should really give back [1,[2,3],"a"] rather than (1,(2,3),"a")
mappers should try to preserve structure types
17:43 poohman left
TimToady especially since duckmaps are likely to be applied to wonky iterable types 17:44
that might or might not quack in the night
dogbert17 the ordinary map doesn't seem to retain structure either 17:45
TimToady m: say ([1,2,3] but role { method quack { say "QUACK!" } }).quack
camelia rakudo-moar 38ec2e: OUTPUT«QUACK!␤True␤»
TimToady such as that
m: say ([1,2,3] but role { method quack { say "QUACK!" } }).WHAT 17:46
camelia rakudo-moar 38ec2e: OUTPUT«(Array+{<anon|80947680>})␤»
TimToady a duckmapper should preserve that anonymous type
well, any mapper should, to the extent possible 17:47
dogbert17 m: my @a = [1,2,3]; say @a.map(-> Int $x { $x })
camelia rakudo-moar 38ec2e: OUTPUT«(1 2 3)␤»
TimToady arguable that's wrongish 17:48
17:48 labster joined
TimToady m: my @a = [1,[2,3],4]; say @a.deepmap({ $_ + 1 }) 17:49
camelia rakudo-moar 38ec2e: OUTPUT«[2 [3 4] 5]␤»
TimToady well, deepmap does it right 17:50
maybe .map is coercive to list, and that's okay
hackedNODE dogbert17: nah, I didn't implement anything. I'm a Perl 6 n00b :)
(I've been using it for like three days ;)) 17:51
dogbert17 well, figuring out what destroys the structure is a bit over my tiny head I'm afraid :(
TimToady so whatever .deepmap is doing to preserve [], .duckmap should too 17:52
really, the only difference between deepmap and duckmap is whether it gives priority to the duckiness or to the flockiness 17:53
well, I said that backwards, one way or the other
deepmap first check flockiness, duckmap first checks duckiness 17:54
*checks
so if a flock of geese has a .fly method in order to fly in formation, $flock.duckmap will fly the flock, rather than flying each individual goose 17:56
or a flock of ducks will quack in unison, or whatever 17:57
dogbert17 :-)
dogbert17 finds himself in a quackmire 17:58
18:02 kyclark joined
mst _o< _o< did somebody say ducks? >o_ >o_ 18:03
_o< _o< everybody loves ducks >o_ >o_
geekosaur possibly better than a quaggamire
18:04 itcharlie joined 18:07 poohman joined
masak duck! mashable.com/2016/09/26/giant-infla...k-glasgow/ 18:09
yoleaux 13:46Z <RabidGravy> masak: I'm just fixing your github.com/tokuhirom/p6-HTTP-Serve.../issues/28 while I'm in the mood :)
14:29Z <RabidGravy> masak: I closed that PR on HST on the grounds that it doesn't spew that error any more ;-)
14:29Z <RabidGravy> masak: err, "issue" not "PR"
masak RabidGravy: oh hey -- thanks
masak chuckles at his "and version * of HTTP::Server::Tiny"
RabidGravy tokuhirom made the grave mistake of giving me commit on that ;-) 18:10
masak *evil cackle* 18:11
kyclark panda says that "p6doc" is installed, but it's not found in my path. I get "The 'p6doc' command exists in these Perl 6 versions: moar-2015.12" How do I fix this?
masak RabidGravy: github.com/tokuhirom/p6-HTTP-Serve...9097086524 -- nice and small fix
too bad about the text-based pattern match... ;)
ugexe kyclark: rakudobrew rehash
kyclark I tried that. Same error. 18:12
"Currently running moar-2016.09"
hackedNODE kyclark: do you have ~/.rakudobrew/moar-nom/install/share/perl6/site/bin in path?
RabidGravy yeah, I may track down and Exceptionify the source of that at some point tomorrow
kyclark $ echo $PATH | sed "s/:/^M/g" | grep rakudo 18:13
ugexe you dont point your path to rakudobrew perl6 bin paths
kyclark "/Users/kyclark/.local/binw/moar-nom/install/share/perl6/site/bin"
ugexe that defeats the point of rakudobrew
masak RabidGravy: you're like a golden avocado. precious.
ugexe ~/.rakudobrew/bin should be at the start of your path
hackedNODE kyclark: and where is p6doc installed to? (find ...)
masak er, I mean ++RabidGravy :)
kyclark ./moar-2015.12/install/share/perl6/site/bin/p6doc 18:14
well, ~/.rakudobrew/...
RabidGravy :) 18:15
geekosaur suppose there's always rakudobrew exec p6doc
El_Che RabidGravy: The author of Crust said at FOSDEM that it had trouble (blocking) with > 200 process concurrency. Doe HTTP-Server-Tiny have similar trouble? 18:16
ugexe sounds like PATH is incorrect and you're invoking a module installer under a specific rakudo version instead of letting rakudobrew handle it
RabidGravy El_Che, Crust is typically a layer over HTTP::Server::Tiny so yes, probably ;-) 18:17
It may have improved with some of the concurrency stabilization work in the last six months 18:18
my current interest in HST is switching the streaming server WIP I have to use it rather than the hacked up reinvention it uses now 18:22
right lets remove these last samewiths from the yet to be released 'Sofa' 18:23
El_Che I have some questions from people using the built-in go http server (golang.org/pkg/net/http/) and were looking for a perl 6 lib 18:24
[ptc] is testers.perl6.org still current? Or is modules.perl6.org the definitive reference for modules and their testing status? 18:26
just wondering...
18:27 domidumont left
awwaiid I didn't even know there was a testers.perl6.org 18:27
kyclark OK, I finally figured out my path problems. Finally I "p6doc Test" and get "No Pod found in Test" --- so, where can I find docs on Test? 18:28
Nothing here either: modules.perl6.org/
awwaiid kyclark: docs.perl6.org/language/testing is what I've looked at 18:29
[ptc] awwaiid: it looks very much like cpantesters
however almost all of the modules are currently showing "N/A" for the testing status, so I was wondering if maybe it's not the one to look at anymore
kyclark Helpful! Thanks awwaiid
awwaiid [ptc]: I looked and don't see my module on there. dunno 18:30
18:30 cdg left
[ptc] awwaiid: I think it needs to be submitted, just like how test reports for cpantesters need to be explicitly submitted 18:30
18:34 labster left 18:40 rgrinberg left 18:41 acrussell left 18:44 Dunearhp left
[Coke] mst: ducksarethebest.com/ 18:45
18:46 acrussell joined
[ptc] ... except in cricikt 18:46
*cricket
18:46 labster joined
RabidGravy okay, that's a WOW 18:48
avuserow there is also (or used to be) smoke.perl6.org/report but it seems unused at this point...
RabidGravy my smoke test of all my modules is down to 11 minutes
which is less than a quarter of the high mark 18:49
geekosaur "never pick up a duck in a dungeon"
RabidGravy and half from the last time
so good work everybody :) 18:51
18:51 setty1 joined
RabidGravy that's 57 modules BTW 18:51
[ptc] avuserow: yes, I'd forgotten about smoke.perl6.org! 18:52
18:56 mohae joined 18:57 sjoshi joined, sjoshi left 18:58 sjoshi joined 18:59 mohae_ left 19:00 BillSussman joined 19:01 AndyBotwin left 19:02 poohman left 19:04 sjoshi left 19:08 domidumont joined 19:12 ka joined 19:16 rgrinberg joined, ka left 19:18 darutoko left 19:22 TEttinger joined 19:25 pygra1 joined 19:27 ocbtec left
skids m: my $v := array[uint8].new(0,1,2); dd (|$v); Buf[uint8].new(|$v[*]).say; Buf[uint8].new(|(0,1,2)).say; Buf[uint8].new(|$v).say 19:28
camelia rakudo-moar 38ec2e: OUTPUT«slip(0, 1, 2)␤Buf[uint8]:0x<00 01 02>␤Buf[uint8]:0x<00 01 02>␤Type check failed in initializing element #0 to Buf[uint8]; expected uint8 but got Int (0)␤ in any at gen/moar/m-Metamodel.nqp line 1752␤ in block <unit> at <tmp> line 1␤␤Actual…»
19:34 pygra1 left
hackedNODE m: my \Perl = so 'gangsta'; for i { .roll, .floor for .reals } 19:35
camelia ( no output )
hackedNODE m: say q|my \Perl = so 'gangsta'; for i { .roll, .floor for .reals }|.subst: :g, /<-[\w\s]>+/, '';
camelia rakudo-moar 38ec2e: OUTPUT«my Perl so gangsta for i roll floor for reals ␤»
hackedNODE m: say q|my \Perl = so 'gangsta'; for i { .roll, .floor for .reals }|.words; 19:36
camelia rakudo-moar 38ec2e: OUTPUT«(my \Perl = so 'gangsta'; for i { .roll, .floor for .reals })␤»
hackedNODE aw
19:36 sufrostico left
hackedNODE m: class That's {}; That's.HOW, i.roll 19:37
camelia ( no output )
hackedNODE ^_^
19:37 domidumont left, rindolf left
hackedNODE m: i .tan for Perl 19:40
camelia ( no output )
avuserow m: i .roll with class {} 19:41
camelia ( no output )
hackedNODE m: i, gather i.^can, die for Perl 19:43
camelia ( no output )
19:52 perlawhirl joined
skids m: :2b or not :2b 19:53
camelia rakudo-moar 38ec2e: OUTPUT«WARNINGS for <tmp>:␤Useless use of "not " in expression "not :2b" in sink context (line 1)␤»
19:57 nadim left 20:02 cog__ joined 20:03 perlawhirl left, cdg joined 20:11 itcharlie left
andrzejku hi 20:21
;)
20:21 kaare_ left 20:25 optikalmouse left, telex left 20:26 cog__ left, telex joined
TEttinger m: say ٢³ 20:27
camelia rakudo-moar 38ec2e: OUTPUT«8␤»
andrzejku TEttinger, do you know where can I find some Perl 6 friend? 20:28
TEttinger I don't really use perl 6! 20:29
m: say ߃߂³
camelia rakudo-moar 38ec2e: OUTPUT«32768␤»
20:32 setty1 left 20:33 setty1 joined, aindilis joined 20:37 edehont joined, edehont left 20:41 nadim joined 20:42 cpage_ left 20:43 devmikey joined 20:52 lichtkind joined
tony-o [ptc]: modules.zef.pm has a listing of modules - testing results from actual people's systems are not yet but in the works 20:54
modules.zef.pm has travis pass/fail but no logs
20:57 CIAvash left
dalek line-Perl5: 2f6ca76 | niner++ | / (2 files):
Save 4 native calls on each function/method/coderef call

Use an rw flag to communicate whether an error occured and only if it actually did, try to handle it. Saves 4 native calls (p5_err_sv, p5_type, p5_sv_utf8 and p5_sv_to_char_star) when no error occured (which is quite often).
Saves ~ 16 % in the csv-ip5xs.pl benchmark.
21:01
21:03 wamba left
jnthn nine++ # nice! :) 21:04
21:04 acrussell left
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/09/26/...oar-tests/ 21:06
lichtkind jnthn: greetings is the mail from your jnthn site still valifd? 21:07
21:07 skids left
lichtkind valid 21:07
21:08 dha left 21:09 pmurias left
jnthn lichtkind: Yes 21:11
21:11 BillSussman left
jnthn lichtkind: Are you planning to send me something, or did I miss something/should go hunt in my spam folder? :) 21:11
El_Che lizmat: maybe for the next P6W: native linux packages of the monthly rakudo releases github.com/nxadm/rakudo-pkg/releases <-- it's probably only dogfood at the moment :) 21:15
nine_ We're now down to 10 native calls per iteration of the benchmark (which calls 3 methods).
(used to be 70 native calls not long ago) 21:21
21:22 andrzejku left 21:24 robertle left
lichtkind jnthn: its basically a resent bu i got fresh information too 21:27
jnthn: its out 21:32
21:36 canopus left, sufrostico joined 21:42 canopus joined, sufrostico left 21:43 bbkr joined
jnthn lichtkind: Moc dobře, that one arrived. :-) 21:46
Will reply shortly (or tomorrow :)) 21:47
21:51 cpage_ joined 22:00 perlawhirl joined 22:02 rgrinberg left 22:04 Unavowed left
stmuk_ I think MoarVM/issues/410 affects linux 22:05
22:09 sufrostico joined 22:17 cpage_ left 22:20 RabidGravy left 22:21 cpage_ joined 22:24 Unavowed joined
gfldex m: sub f( | ( :$a) where $a.defined ) {}; f 42 22:24
camelia rakudo-moar 447d59: OUTPUT«Cannot call method 'defined' on a null object␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex i
i'm quite sure that is a bug but am not sure where
m: sub f( | ( :$a) where :$a.defined ) {}; f 42
camelia rakudo-moar 447d59: OUTPUT«Too many positionals passed; expected 0 arguments but got 1 in sub-signature␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: sub f( | ( :$a) where :$a.defined ) {}; f :a(42)
camelia ( no output )
gfldex m: sub f( | ( :$a) where $b.defined ) {}; f 42 22:25
camelia rakudo-moar 447d59: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$b' is not declared␤at <tmp>:1␤------> 3sub f( | ( :$a) where 7⏏5$b.defined ) {}; f 42␤»
SmokeMachine____ do you guys know if is there any open perl6 job position? 22:29
22:29 bjz_ left
SmokeMachine____ *are 22:29
22:29 ShimmerFairy left
gfldex singular was the right pick, see news.perlfoundation.org/2016/09/jon...ent-g.html 22:30
22:30 firstdayonthejob left
gfldex and that open position is already taken :-> 22:30
stmuk_ SmokeMachine____: plenty of open volunteer roles!
22:31 Matias[m] joined
SmokeMachine____ stmuk_: I am studying to try to get those too... :) 22:32
22:34 ShimmerFairy joined 22:36 ShimmerFairy left 22:38 aries_liuxueyang joined 22:40 ShimmerFairy joined 22:41 Unavowed left, ShimmerFairy left, Unavowed joined 22:43 ab6tract left 22:57 skids joined 23:02 Unavowed left, Unavowed joined 23:04 bjz joined 23:07 bjz left 23:16 mr-foobar left 23:21 BenGoldberg joined 23:22 cog__ joined 23:23 vytas left 23:24 cpage_ left 23:25 vytas joined 23:27 Unavowed left, cpage_ joined, adu joined 23:28 bjz joined, cpage_ left 23:30 bjz left 23:32 Dunearhp joined, cpage_ joined 23:33 Dunearhp left, ptolemarch left 23:34 Unavowed joined 23:36 devmikey left 23:41 cpage_ left 23:42 bjz joined, bjz left 23:47 cdg left 23:49 cog__ left, stevieb left 23:55 sufrostico left 23:57 cpage_ joined