Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-01-06

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 huggable joined #perl6
00:00 RabidGravy I'm wondering whether JVM would work nicer on Raspberry Pi than Moar due to the certain java optimisation on some Arm parts
00:01 huggable joined #perl6
00:01 Skarsnik I kind of want to try on my arm chromebook
00:01 Skarsnik but I don't want to destroy battery consuption with a chroot x)
00:02 Zoffix huggable, int
00:02 huggable Zoffix, class int [Integer (native storage; machine precision)]: http://doc.perl6.org/type/type/nativeInt
00:02 Zoffix huggable, Zoffix :is: awesome
00:02 huggable Zoffix, Added Zoffix as awesome
00:02 Zoffix huggable, Zoffix
00:02 huggable Zoffix, awesome
00:02 Zoffix my job here is done
00:02 Zoffix (anyone can add new factoids BTW)
00:02 RabidGravy crack monkey
00:02 Skarsnik huggable, Signature
00:02 huggable Skarsnik, class Signature [Parameter list pattern]: http://doc.perl6.org/type/type/Signature
00:03 Skarsnik huggable, @*ARGS
00:03 huggable Skarsnik, nothing found
00:03 Zoffix It only got types from here: http://doc.perl6.org/type/
00:03 Zoffix ATM :)
00:03 Zoffix Warframe time
00:04 RabidGravy Zoffix++ # good work, I hope it's made in Perl 6
00:04 RabidGravy anyway it's bedtime
00:05 RabidGravy toodles people
00:05 Skarsnik Good night RabidGravy
00:09 raoulvdberge joined #perl6
00:11 raoulvdberge left #perl6
00:12 glaukommatos joined #perl6
00:14 khw joined #perl6
00:16 glaukommatos Soo, my understanding of the documentation for hash literals [ https://doc.perl6.org/language/syntax#Hash_literals ] is that I should be able to do my %hash = { three => 3 }; and end up with a hash with key 'three' and value 3 (duh!). However, I get an error from the compiler complaining about a useless use of a hash composer on the right hand side of the assignment. Replacing the curly braces with par
00:16 glaukommatos ens makes things work as I'd expect. However, the wording of the documentation is that the curly braces on a hash literal on the right hand of an assignment with a left side sporting a % sigil are 'optional' and I would expect that the assignment would work as I have typed it. Am I missing something, or is it possible that there is an error in the documentation?
00:16 timotimo not quite
00:17 timotimo either you have my %hash = foo => 123, bar => 999
00:17 timotimo or you do my $hash = :{ ... }
00:17 Skarsnik {} work to pass to a routine
00:18 timotimo that's right
00:18 glaukommatos Interesting. So it seems that the %lhs = ... assignment only works with the naked pairs?
00:18 timotimo the only thing you don't want is to assign a { } to a %var
00:18 Skarsnik m: sub foo($a, %b); foo(1, {a => 1});
00:18 camelia rakudo-moar 75c6b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xr8pbuZH2w␤A unit-scoped sub definition is not allowed except on a MAIN sub;␤Please use the block form.␤at /tmp/xr8pbuZH2w:1␤------> 3sub foo($a, %b);7⏏5 foo(1, {a => 1});␤»
00:18 cfl_ joined #perl6
00:18 bzipitidoo Mouq: just trying out the grammar capabilities.  Wrote a little code to substitute parentheses with square brackets. https://gist.github.com/anonymous/4beb237a975e65e6e775
00:18 Skarsnik m: sub foo($a, %b) {}; foo(1, {a => 1});
00:18 camelia rakudo-moar 75c6b9: ( no output )
00:19 bzipitidoo that snippet of code adds spaces to the output, and I'd like to know how to fix it
00:20 bzipitidoo m: https://gist.github.com/anonymous/4beb237a975e65e6e775
00:20 camelia rakudo-moar 75c6b9: OUTPUT«(a (b))(c (d))␤␤* * * * *␤␤[[a  [b]] [c  [d]]]␤»
00:20 Mouq bzipitidoo: Right, I was confused by the output, but the difference is that Perl 6 no longer "say"s lists by printing them with a space between each element; instead it now surrounds them with the bracket type of the list
00:20 Mouq m: https://gist.github.com/Mouq/7eb9d723d7f05a511529
00:20 camelia rakudo-moar 75c6b9: OUTPUT«(a (b))(c (d))␤␤* * * * *␤␤[a  [b]][c  [d]]␤»
00:21 glaukommatos Cool, thanks. I'll try to get in touch with the maintainer of the document and see if we can make that particular bit clearer. :)
00:22 timotimo this channel is the maintainer of that document :)
00:22 Skarsnik you can fill an issue on perl6/doc project on github
00:22 glaukommatos Oh, well, that was easy. ~
00:23 Mouq m: my @a = [1,2,3]; say @a.perl
00:23 camelia rakudo-moar 75c6b9: OUTPUT«[1, 2, 3]␤»
00:23 glaukommatos Skarsnik: Cool, thanks.
00:23 Skarsnik m: my @a = [1,2,3]; say @.Str;
00:23 camelia rakudo-moar 75c6b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wbsKzCUQe5␤Variable @.Str used where no 'self' is available␤at /tmp/wbsKzCUQe5:1␤------> 3my @a = [1,2,3]; say @.Str7⏏5;␤    expecting any of:␤        argument list␤        term␤»
00:23 Skarsnik m: my @a = [1,2,3]; say @a.Str;
00:23 camelia rakudo-moar 75c6b9: OUTPUT«1 2 3␤»
00:23 Skarsnik m: my @a = [1,2,3]; say @a.gist;
00:23 camelia rakudo-moar 75c6b9: OUTPUT«[1 2 3]␤»
00:23 bzipitidoo Mouq: thx.  Any idea how to stop it from adding spaces? There are 2 spaces following the 'a' and the 'c'. Should only be 1 space
00:24 Skarsnik do you have an empty element?
00:24 gfldex glaukommatos: you may be interested in http://perl6intro.com/#_functions_and_mutators
00:24 gfldex the order one reads the docs seams to be quite important
00:25 Mouq m: https://gist.github.com/Mouq/7eb9d723d7f05a511529
00:25 camelia rakudo-moar 75c6b9: OUTPUT«(a (b))(c (d))␤␤* * * * *␤␤[a [b]][c [d]]␤»
00:25 Mouq Like that?
00:25 Mouq (see "Revisions" tab for diff)
00:26 bzipitidoo Mouq: yes!  thx again
00:26 glaukommatos gfldex: Oh, that's interesting. Thanks.
00:27 timotimo glaukommatos: do you have a specific suggestion for how to re-word it?
00:28 Skarsnik m: say {a => 1}.WHAT;
00:28 camelia rakudo-moar 75c6b9: OUTPUT«(Hash)␤»
00:28 Skarsnik I don't get why you can pass this to a hash
00:29 Skarsnik m: say ({a => 1}).WHAT;
00:29 camelia rakudo-moar 75c6b9: OUTPUT«(Hash)␤»
00:29 Hotkeys ?
00:29 Skarsnik m: say {a => 1}.VAR.WHAT;
00:29 camelia rakudo-moar 75c6b9: OUTPUT«(Hash)␤»
00:29 glaukommatos timotimo: The current wording is "When assigning to a % sigil variable, the curly braces are optional." However, it seems that "When assigning to a % sigil variable, the curly braces are omitted or parenthesis are used." That seems to describe the behavior I've seen.
00:30 gfldex timotimo: the problem is that this part talks about hash literals, what are not hash contains. We do not talk about hash containers. At least not that I could find any.
00:30 timotimo hm
00:30 timotimo right
00:31 glaukommatos Although there's every chance there's a subtlety there that my wording misses. I'm not actually very familiar. But the current wording definitely was confusing to me.
00:32 gfldex m: my %h = {a=>1}; dd %h;
00:32 camelia rakudo-moar 75c6b9: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at /tmp/fkDrGvnq_y:1␤    ------> 3my %h = {a=>1}7⏏5; dd %h;␤Hash %h = {:a(1)}␤»
00:32 gfldex m: my %h := {a=>1}; dd %h;
00:32 camelia rakudo-moar 75c6b9: OUTPUT«Hash % = {:a(1)}␤»
00:32 gfldex it's anything but optional
00:33 glaukommatos Yeah, it seemed to me that it must not be there. Otherwise the compiler is rather unhappy. :)
00:33 gfldex m: my %h := :{(now)=>1}; dd %h;
00:33 camelia rakudo-moar 75c6b9: OUTPUT«:{Instant.from-posix((<868320164499/598>, 0)) => 1}␤»
00:33 gfldex m: my %h = :{(now)=>1}; dd %h;
00:33 camelia rakudo-moar 75c6b9: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at /tmp/TW60OxzoIv:1␤    ------> 3my %h = :{(now)=>1}7⏏5; dd %h;␤Hash %h = {"Instant:1452040452.176621" => 1}␤»
00:34 Skarsnik Instant.from-posix, fun
00:34 Hotkeys m: my %h = now => 1; dd %h
00:34 camelia rakudo-moar 75c6b9: OUTPUT«Hash %h = {:now(1)}␤»
00:34 Hotkeys oops
00:34 Hotkeys m: my %h = (now) => 1; dd %h
00:34 camelia rakudo-moar 75c6b9: OUTPUT«Hash %h = {"Instant:1452040500.893461" => 1}␤»
00:34 gfldex m: my %h{Any} = (now) => 1; dd %h
00:34 camelia rakudo-moar 75c6b9: OUTPUT«Hash[Any,Any] %h = (my Any %{Any} = Instant.from-posix((<630185577139/434>, 0)) => 1)␤»
00:35 gfldex also: https://doc.perl6.org/type/Hash#Hash_assignment
00:36 gfldex and that is linked from the literals section
00:36 * gfldex .oO( PLEASE FOLLOW THE LINKS TO YOUR RIGHT! )
00:37 gfldex the docs are trying to be more then one thing at a time without issuing a clear warning that they do so
00:38 glaukommatos Ah, the Hash documentation is much clearer.
00:40 gfldex PR send to https://github.com/tony-o/perl6-http-server-async/pull/20
00:40 gfldex tony-o: ^^^
00:40 gfldex 24h grace period started before attempt of hostile takeover YARRRR!
00:42 dalek doc: 6681b73 | coke++ | htmlify.p6:
00:42 dalek doc: Localize EVAL scope.
00:42 dalek doc:
00:42 dalek doc: Fixes #300
00:42 dalek doc: review: https://github.com/perl6/doc/commit/6681b73ac1
00:44 glaukommatos Also- should I expect the debugger to crash a lot? In code that uses a few panda modules I get a lot of "Unhandled exception: ctxlexpad needs an MVMContext" errors and I'm not really sure if its the code or the debugger being wonky.
00:44 gfldex glaukommatos: the debugger could do with fixes
00:48 glaukommatos K, I just wasn't sure. I should learn more about MoarVM and co and try to fix some stuff. But it's a bit out of my depth.
00:51 tony-o gfldex++
00:51 tony-o thank you
01:01 _nadim is it possible to define a grammar that parses bits for a 8its chars or a stream of bits?
01:04 Skarsnik Good question
01:05 _nadim I did find this for a starter https://gist.github.com/smls/bc5d0fb42f199574e339
01:05 Skarsnik but good night #perl6
01:08 Mouq 'night Skarsnik
01:08 timotimo hmm
01:08 timotimo m: my %foo = { a => 123, b => 456 }
01:08 camelia rakudo-moar 75c6b9: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at /tmp/IB9rcCfheX:1␤    ------> 3my %foo = { a => 123, b => 456 }7⏏5<EOL>␤»
01:08 timotimo right
01:08 Mouq _nadim: There are some libraries that do it without the speculative things in smls++
01:08 Mouq *'s gist
01:09 yeahnoob joined #perl6
01:09 _nadim and which are they?
01:09 _nadim I guess you meant non perl libraries
01:10 n0tjack joined #perl6
01:10 Mouq https://github.com/FROGGS/p6-Archive-Tar, although it's a Perl 5 translate so may not be idiomatic
01:10 sprocket_ joined #perl6
01:11 Mouq …hm, I'm not sure where others are… years ago I did work on a https://github.com/Mouq/Image-GIF
01:11 secwang joined #perl6
01:11 Sgeo_ joined #perl6
01:13 _nadim I will look at both, thanks.
01:13 Mouq but in general, what you're asking is NYI... partly because it's been considered low priority, and partly because it's debated
01:13 Mouq how it should be implemented
01:14 _nadim And I want to pick bits in a stream, maybe not even thought of as a usecase
01:15 Mouq Yeah, having Grammars work on "Cat"s, or streams, is also a long-speculated feature
01:17 _nadim and long speculated meaning, 'soon to be born' or 'forgotten forever'?
01:18 pierre-vigier joined #perl6
01:20 yeahnoob joined #perl6
01:21 Mouq _nadim: A set of goals was made for Christmas, and what wasn't on the list was meant to be more or less pushed aside entirely until then. Christmas just happened, so who knows :)
01:22 Mouq Though I'd like to think it's the former, esp. with how often they come up
01:22 skids _nadim: There are enough people wanting binary grammars that I think it will come to be.  But they will probably be byte-aligned at first -- going sub-byte and dealing with endianness at the same time would be biting off more than can be chewed.
01:23 yeahnoob joined #perl6
01:23 skids https://gist.github.com/skids/cfb129509b0849f50deb has some links with thoughts from various people at the end of it.
01:43 colomon oooo, binary grammars
01:44 Actualeyes joined #perl6
01:56 xpen joined #perl6
01:58 gfldex m: my $r = /abc/; (('abc' ~~ /abc/).WHAT, ('abc' ~~ $r).WHAT)>>.say;
01:58 camelia rakudo-moar 75c6b9: OUTPUT«(Match)␤(Bool)␤»
01:58 gfldex m: my $r = /abc/; (('abc' ~~ /abc/).WHAT, ('abc' ~~ / $r /).WHAT)>>.say;
01:58 camelia rakudo-moar 75c6b9: OUTPUT«(Match)␤(Match)␤»
01:59 cpage_ joined #perl6
02:01 gfldex m: my $r = /abc/; (('abc' ~~ /abc/), ('abc' ~~ / $r /))>>.say;
02:01 camelia rakudo-moar 75c6b9: OUTPUT«「abc」␤「abc」␤»
02:05 secwang joined #perl6
02:07 molaf_ joined #perl6
02:11 n0tjack joined #perl6
02:11 cpage_ joined #perl6
02:12 kaare_ joined #perl6
02:42 regreg joined #perl6
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:47 woodruffw joined #perl6
02:47 bpmedley joined #perl6
02:54 woodruffw joined #perl6
02:54 woodruffw joined #perl6
02:57 glaukommatos joined #perl6
03:01 secwang joined #perl6
03:04 glaukommatos joined #perl6
03:05 noganex_ joined #perl6
03:08 shmibs joined #perl6
03:08 n0tjack joined #perl6
03:10 shmibs joined #perl6
03:10 jme_ joined #perl6
03:13 bpmedley joined #perl6
03:16 sprocket joined #perl6
03:19 pierrot joined #perl6
03:20 psy_ joined #perl6
03:28 secwang joined #perl6
03:29 nbrown joined #perl6
03:31 dylanwh joined #perl6
03:54 phyreprooph joined #perl6
04:04 khw joined #perl6
04:05 gfldex does Koalatee test for a LICENSE file?
04:06 _Vi joined #perl6
04:09 zwu joined #perl6
04:10 glaukommatos Ugh, I'm confused. I have a class like 'class Thing { has @.thingies; }', and I try to construct it with Thing.new(thingies => @thingies), but instead of getting @.thingies to be an array in my class, it's an array containing the array I passed in and I cannot for the life of me figure out why.
04:11 glaukommatos I made a simpler example to try to understand how it was working, where I did Thing.new(thingies => [1,2,3]) and it worked fine. :\
04:12 gfldex m: class C { has @.l; }; my $c = C.new(l => (1,2,3)); dd $c.l;
04:12 camelia rakudo-moar 75c6b9: OUTPUT«Array @!l = [1, 2, 3]␤»
04:13 glaukommatos Although I have reproduced the behavior if I use $thingies = [1,2,3] instead of @thingies = [1,2,3]; however, in my original code, I apparently have been given a $thingies and need it to act like a @thingies. :o
04:13 gfldex m: class C { has @.l; }; my @a = 1,2,3; my $c = C.new(l => @a); dd $c.l;
04:13 camelia rakudo-moar 75c6b9: OUTPUT«Array @!l = [1, 2, 3]␤»
04:14 glaukommatos m: class C { has @.l; } my $a = [1,2,3]; my $c = C.new(l => $a); dd $c.l;
04:14 camelia rakudo-moar 75c6b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QFQebMhzEG␤Strange text after block (missing semicolon or comma?)␤at /tmp/QFQebMhzEG:1␤------> 3class C { has @.l; }7⏏5 my $a = [1,2,3]; my $c = C.new(l => $a)␤    expecting any of:␤        infi…»
04:14 glaukommatos m: class C { has @.l; }; my $a = [1,2,3]; my $c = C.new(l => $a); dd $c.l;
04:14 camelia rakudo-moar 75c6b9: OUTPUT«Array @!l = [[1, 2, 3],]␤»
04:15 timotimo m: class C { has @.l; }; my $a = [1,2,3]; my $c = C.new(l => @$a); dd $c.l;
04:15 camelia rakudo-moar 75c6b9: OUTPUT«Array @!l = [1, 2, 3]␤»
04:15 timotimo i ought to be in bed already ...
04:15 timotimo good night!
04:15 glaukommatos Thank you!
04:16 gfldex m: say so [1,2,3] eqv (1,2,3);
04:16 camelia rakudo-moar 75c6b9: OUTPUT«False␤»
04:17 glaukommatos I'm pretty sure it was actually a [...], because I did .WHAT on it and it said (Array). I need to get more accustomed to the contexts of Perl 6.
04:17 gfldex glaukommatos: if you code doesn't work provide a gist and we can have a look
04:18 gfldex code-hearsay ain
04:18 gfldex code-hearsay ain't no good
04:18 glaukommatos It's working now. I guess the @ in front of $a ensures that $a gets interpreted as an array?
04:18 timotimo i think it compiles to a call to .list
04:19 gfldex @-sigiled contains are ment to have elements of a list as their toplevel items
04:19 gfldex what is not the same then to have a List or Array as a top level item.
04:20 timotimo $-sigiled things want to be interpreted as a single thing
04:20 timotimo that's what you use $ sigils for, usually
04:20 timotimo however, in many cases, having a single $-sigiled thing as the only argument will iterate over it instead of treating it as a single item
04:20 timotimo that's the "single argument rule"
04:20 gfldex to make things more convenient and allow signature-fu @-sigiled containers spill their content into other @-sigiled containers on assingment
04:21 gfldex (this is a bit of a lie for children)
04:22 glaukommatos Ah, ok. I think I see what's going on. Thanks.
04:23 n0tjack joined #perl6
04:27 BenGoldberg joined #perl6
04:30 zacts what would the perl6 equivalent of perl5's Moose be?
04:30 timotimo https://twitter.com/js_do/status/684566935783096321  -  suddenly
04:31 dalek rakudo/nom: e353e70 | hoelzro++ | src/Perl6/Compiler.nqp:
04:31 dalek rakudo/nom: Don't always assume there is a problem when loading Readline/Linenoise
04:31 dalek rakudo/nom:
04:31 dalek rakudo/nom: The old behavior would warn the user that there was a problem
04:31 dalek rakudo/nom: with loading Readline or Linenoise; however, that approach has three
04:31 dalek rakudo/nom: problems:
04:31 dalek rakudo/nom:
04:31 dalek rakudo/nom:   1) It warns if neither is installed, even if the user doesn't care
04:31 dalek rakudo/nom:   2) It doesn't say which between them failed
04:31 dalek rakudo/nom:   3) It doesn't explain why they failed
04:31 dalek rakudo/nom:
04:31 dalek rakudo/nom: This change makes it so that a warning is only issued if at least one
04:31 dalek rakudo/nom: of the two modules is installed, but there is some problem in how the
04:31 dalek rakudo/nom: module is set up.  The warning also now contains the error message so
04:31 dalek rakudo/nom: users have more information to go off of
04:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e353e7004e
04:31 dalek rakudo/nom: 29f49af | hoelzro++ | src/Perl6/Compiler.nqp:
04:31 dalek rakudo/nom: Provide recommendations on how to get a line editor
04:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29f49afb6a
04:31 dalek rakudo/nom: 9bf8594 | hoelzro++ | src/Perl6/Compiler.nqp:
04:31 dalek rakudo/nom: Be more transparent about line editor status
04:31 dalek rakudo/nom:
04:31 dalek rakudo/nom: This should help users understand what's going on, as well as
04:31 dalek rakudo/nom: help the developers diagnose issues with line editors in the REPL
04:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9bf85945bd
04:35 Tonik joined #perl6
04:38 SwellJoe joined #perl6
04:44 ugexe the perl6 equivilent of moose is perl6
04:45 ugexe you might be interested in reading up on how moose came to be
04:45 gfldex zacts: guess where the moose folk got their ideas from :)
04:46 perigrin to be fair Perl6 as it is _now_ got some of the ideas from Moose.
04:46 perigrin it's ... ironically ... a meta-circular relationship.
04:50 geekosaur "got their ideas from"
04:50 geekosaur moose was written as a testbed for the perl 6 MOP
04:51 geekosaur and prototype
04:51 geekosaur and even as slow as it was trying to do MOP stuff in perl 5, it was so much better than anything else for perl 5 that it took on a life of its own
04:55 geekosaur and yes, since then perl 6's MOP has evolved, and Moose's MOP has evolved somewhat differently, and each has taken ideas from the other
04:58 zacts gfldex: heh
04:58 zacts I see
05:02 cpage_ joined #perl6
05:08 nige1 joined #perl6
05:19 pierre-vigier joined #perl6
05:21 glaukommatos When I use a panda package, is there some really good reason why the installed modules all end up looking like /Users/kyle/.rakudobrew/moar-nom/install/share/perl6/site/sources/D2D23EC3AF921633F7A9E6C0EDC4FC29D8D3D388 ? Or can I make it call it something sensible like GET.pm6 (which is what that file ought to be called). I'm confused. :)
05:22 glaukommatos Also, is there some vm cache or something I can clear out? I had a package insist a moment ago that it couldn't require a module until I edited the file to add a 'say' for debugging purposes, and then it suddenly started working. ~
05:23 _mg_ joined #perl6
05:25 n0tjack joined #perl6
05:25 perlawhirl zacts: here's a paste comparing simple object creation in Moose and Perl 6 http://pastebin.com/cy4Qh7BE
05:26 perlawhirl It also uses Perl 6's funky unicode operators =D
05:27 glaukommatos Oh, maybe this is a rakudobrew thing. :o
05:27 geekosaur glaukommatos, there is no reliable mapping between a perl 6 module name and the file it is in, because different modules with the "same" name may in fact have different sources (see the auth and ver modifiers, among others).
05:28 geekosaur I believe there is some work ongoing to make the file names reported back look more like what you would expect, but the names in the CompUnitRepo are necessarily mangled to avoid collisions
05:28 geekosaur and no, rakudobrew has no say in it
05:29 _Vi joined #perl6
05:29 glaukommatos Ah, ok. I must have been mistaken when I thought earlier that I was seeing more reasonable file names for stuff I installed with panda.
05:29 uvtc joined #perl6
05:32 vendethiel joined #perl6
05:32 uvtc glaukommatos, I think panda installs and precompiles modules. I don't know how to tell it, "say, leave me the module's source files so I can nose around in them later".
05:40 Cabanossi joined #perl6
05:40 dalek perl6.org: ceea8f9 | (John Gabriele)++ | source/downloads/index.html:
05:40 dalek perl6.org: de-hyphenize instruction for build panda
05:40 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/ceea8f9956
05:52 jme` joined #perl6
06:04 ugexe rakudo precompiles modules. and the sources are available under their sha1 names at the installation location
06:08 ugexe m: say CompUnit::RepositoryRegistry.repository-for-name('perl').prefix.child('sources').dir[0].slurp
06:08 camelia rakudo-moar 9bf859: OUTPUT«unit class Pod::To::Text;␤␤method render($pod) {␤    pod2text($pod)␤}␤␤my &colored;␤if %*ENV<POD_TO_TEXT_ANSI> {␤    &colored = try {␤        use MONKEY-SEE-NO-EVAL;  # safe, not using EVAL for interpolation␤     EVAL q{ use Terminal::ANSIC…»
06:09 ugexe m: say CompUnit::RepositoryRegistry.repository-for-name('perl').prefix.child('dist').dir[0].slurp; # mappings
06:09 camelia rakudo-moar 9bf859: OUTPUT«{␤  "files" : { },␤  "name" : "CORE",␤  "source-url" : null,␤  "provides" : {␤    "NativeCall::Compiler::MSVC" : {␤      "pm" : {␤        "cver" : "2015.11-750-ga860e8f",␤        "file" : "66E443C9581F0554873812D9BB6C914C6498FC81",␤      …»
06:16 uvtc Thanks, ugexe, though, I just did `panda install Acme::Meow`, and it installed, but I don't see a Meow.pm anywhere under my ~/.rakudobrew or ~/.perl6.
06:17 ugexe ~/.rakudobrew/moar-nom/install/share/perl6/site/sources
06:18 uvtc Ah, I see. Those files with names like sha sums are the source code files.
06:19 ugexe its a sha1 of Module::Name:ver<xxx>:auth<xxx>:api<xxx>
06:20 pjscott joined #perl6
06:20 ugexe https://github.com/rakudo/rakudo/blob/nom/src/core/Distribution.pm#L32
06:21 ugexe so if you have a module name like Test::(poop emoji) your file system will still be able to save it
06:22 ugexe er thats the sha1 of the dist (in the /dist folder, not sources)
06:22 ugexe then you look in that file and it will list the sha1 of all the modules it contains and map them to their real names
06:23 CIAvash joined #perl6
06:26 n0tjack joined #perl6
06:26 uvtc Thanks, ugexe. I see the sha1sum in the site/dist/F15BE... file that refers to the site/sources/E307DC... file.
06:26 ugexe m: say CompUnit::RepositoryRegistry.repository-for-name('perl').prefix.child('dist').dir[0].slurp.&from-json.<provides><Test>; # so Test is in the /perl/sources/<sha1 shown here file>
06:26 camelia rakudo-moar 9bf859: OUTPUT«pm => cver => 2015.11-750-ga860e8f, file => 6E6816E2739B8D226785223F56FACCCC5FDCB1F7, time => 1450651719␤»
06:26 TimToady joined #perl6
06:26 * TimToady back after a power failure...
06:26 ugexe for your installed modules change 'perl' to 'site' or 'home'
06:27 yeahnoob joined #perl6
06:30 uvtc In Perl 6, it seems like variables have an extra level of indirection --- that is, $x points to / refers to a container, which actually contains the value. Is that indeed the case? It reminds me of how Clojure handles mutation: having a name point to, say, an atom, which then contains a value.
06:32 uvtc But, unlike Clojure, in Perl 6 you don't need to explicity "decontainerize". In Clojure you have to explicitly deref the container.
06:36 sjoshi joined #perl6
06:40 uvtc Ah. Binding seems to bypass the container. `my @a := <foo bar baz>;` gets me a List rather than an Array, and that list is immutable...
06:45 pjscott joined #perl6
06:48 CIAvash joined #perl6
06:50 n0tjack joined #perl6
06:51 Kcop joined #perl6
06:54 aindilis joined #perl6
06:55 uvtc Though I see there is a [Containers](https://doc.perl6.org/language/containers) doc, I think it would be a big help if there were an "Arrays and Lists" document as well (or maybe if the Containers doc were just extended to contain a section on Arrays vs Lists).
07:09 domidumont joined #perl6
07:14 domidumont joined #perl6
07:14 glaukommatos joined #perl6
07:15 [Tux] g'morning #perl6
07:15 [Tux] csv-ip5xs        50000    18.357    18.237
07:15 [Tux] test             50000    23.823    23.703
07:15 [Tux] test-t           50000    13.000    12.880
07:15 [Tux] csv-parser       50000    50.138    50.018
07:18 n0tjack joined #perl6
07:18 pierre-vigier joined #perl6
07:25 grondilu you can view lists as Perl 6 tuples.
07:27 grondilu .tell uvtc also notice there is a whole synopsis about lists:  S07
07:27 yoleaux grondilu: I'll pass your message to uvtc.
07:28 FROGGS joined #perl6
07:33 CIAvash joined #perl6
07:33 yeahnoob joined #perl6
07:37 firstdayonthejob joined #perl6
07:39 FROGGS o7
07:50 yeahnoob joined #perl6
07:52 yeahnoob_ joined #perl6
07:55 virtualsue joined #perl6
08:04 pierre-vigier joined #perl6
08:14 darutoko joined #perl6
08:14 Actualeyes joined #perl6
08:17 glaukommatos joined #perl6
08:22 pierre-vigier joined #perl6
08:24 RabidGravy joined #perl6
08:26 zakharyas joined #perl6
08:27 wamba joined #perl6
08:32 itaipu joined #perl6
08:37 RabidGravy erp
08:55 sno joined #perl6
08:56 pierre-vigier joined #perl6
09:03 nige1 joined #perl6
09:07 yurivish joined #perl6
09:10 nine .tell orbus The NativeCall test failures are because of issues with passing int8 and uint8 to C and back and because of nativesizeof(SomeStructOrClass) doesn't seem to work correctly. Neither have a high probability of affecting Inline::Perl5, but there may be other issues.
09:10 yoleaux nine: I'll pass your message to orbus.
09:19 glaukommatos joined #perl6
09:24 Herby__ joined #perl6
09:24 Herby__ Hello, everyone!
09:25 FROGGS nine: what failures ooc?
09:26 nine FROGGS: apparently we almost support ARM
09:26 nine http://paste.scsys.co.uk/503880
09:27 nine Hi Herby__!
09:27 FROGGS nine: I remember nwc10++ mentioning that there were smaller issues on his raspberry I think
09:27 Herby__ o/
09:28 n0tjack joined #perl6
09:28 FROGGS .tell orbus can I get detailed output of the failing tests? like if you'd run perl6 t/04-nativecall/02-simple-args.t etc
09:28 yoleaux FROGGS: I'll pass your message to orbus.
09:33 rindolf joined #perl6
09:35 dakkar joined #perl6
09:39 masak antenoon, #perl6
09:39 RabidGravy erp
09:41 regreg joined #perl6
09:41 jme_ joined #perl6
09:42 Herby__ Hello, masak!
09:46 AlexDaniel joined #perl6
09:49 RabidGravy FROGGS, yeah that change to the t/04-nativecall/13-cpp-mangling.cpp is fine for Linux too, I'm just a lazy typist
09:49 RabidGravy :)
09:56 nine Oh, jnthn++ blogged twice this week already
09:57 pierre-vigier joined #perl6
09:58 leont joined #perl6
09:58 moritz heh, I blogged four times (if you include the Sunday in this week), but not about Perl 6 :-)
09:59 * moritz liked jnthn++'s posts
10:05 leont Yeah, it seems I'll subtly modify some of my code because of tricks I've seen in his that makes otherwise working code that little bit cleaner
10:06 AlexDaniel POD question! Is there any dedicated syntax to specify the license? Or I should just keep it as a regular comment like in any other language?
10:08 * RabidGravy compiles rakudo on the Pi to see what the failing tests are all about
10:08 moritz AlexDaniel: nothing special iirc
10:08 espadrine joined #perl6
10:08 nine Actually I was looking for jnthn's proposal for how we handle post 6.c. Does anyone have a link handy?
10:09 stmuk_ https://gist.github.com/jnthn/f3a691016c20f0cc4cfa
10:09 stmuk_ ?
10:09 nine stmuk_: thanks! I wonder why this isn't listed in https://gist.github.com/jnthn
10:09 stmuk_ its private I think
10:09 masak because it's a secret gist
10:10 masak nine: this is not the first time people ask for that gist URL. should we just add it to Rakudo's docs/ ?
10:10 nine masak: on it
10:10 masak nine++
10:11 dalek rakudo/nom: 0a9c3b7 | (Stefan Seifert)++ | docs/language_versions.md:
10:11 dalek rakudo/nom: Add jnthn++'s proposal for handling language versions to docs/
10:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0a9c3b76f7
10:12 nine I'm currently investigating how to implement the nested CORE.d setting
10:13 espadrine_ joined #perl6
10:13 masak nice
10:14 masak I'm currently musing about unquotes and recursion :)
10:21 AlexDaniel .u 👡
10:21 yoleaux U+1F461 WOMANS SANDAL [So] (👡)
10:21 AlexDaniel .u SANDAL
10:21 yoleaux U+1F461 WOMANS SANDAL [So] (👡)
10:21 AlexDaniel >:(
10:23 AlexDaniel .u ampersand
10:23 yoleaux U+0026 AMPERSAND [Po] (&)
10:23 AlexDaniel .u 🙴
10:23 yoleaux No characters found
10:24 * masak .oO( WOMANS AMPERSANDAL )
10:24 AlexDaniel m: say join ‘’, (0..0x1FFFF ==> grep { .uniname ~~ m/‘AMPERSAND’/ })».chr
10:24 camelia rakudo-moar 9bf859: OUTPUT«&۽⅋﹠&🙴🙵␤»
10:24 dalek rakudo/nom: 57deadf | RabidGravy++ | / (3 files):
10:24 dalek rakudo/nom: Add name mangling for unsigned types
10:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/57deadf39e
10:24 dalek rakudo/nom: 27ac304 | RabidGravy++ | lib/NativeCall/Compiler/MSVC.pm6:
10:24 dalek rakudo/nom: Add mangling for unsigned types (not tested.)
10:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/27ac304f92
10:24 dalek rakudo/nom: 70686f9 | RabidGravy++ | t/04-nativecall/13-cpp-mangling.cpp:
10:24 dalek rakudo/nom: Fixes for Windows suggested by FROGGS++
10:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70686f9c6d
10:24 dalek rakudo/nom: 95b9163 | FROGGS++ | / (4 files):
10:24 dalek rakudo/nom: Merge pull request #675 from jonathanstowe/cpp-mangle
10:24 dalek rakudo/nom:
10:24 dalek rakudo/nom: C++mangling additions
10:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/95b91631af
10:25 AlexDaniel .u 🔂
10:25 yoleaux U+1F502 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY [So] (🔂)
10:25 AlexDaniel .u ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
10:25 yoleaux U+1F504 ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS [So] (🔄)
10:26 lnrdo joined #perl6
10:26 AlexDaniel .u 🔃🗘
10:26 yoleaux U+1F503 CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS [So] (🔃)
10:26 AlexDaniel come on, what's the difference between the two?
10:26 AlexDaniel oh, it is SEMIcircle!
10:27 RabidGravy FROGGS++ now I can carry on with the SoundTouch thing :)
10:29 dalek rakudo/nom: 505dc4f | FROGGS++ | t/04-nativecall/CompileTestLib.pm:
10:29 dalek rakudo/nom: replace GNU make directive in VM config
10:29 dalek rakudo/nom:
10:29 dalek rakudo/nom: I dunno how we got away with this when running the NativeCall tests on Windows using GCC,
10:29 dalek rakudo/nom: maybe we did not.
10:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/505dc4fa76
10:29 FROGGS RabidGravy: gcc/windows is also happy
10:30 RabidGravy just testing on a raspberry PI :-\  this might take some time
10:30 FROGGS yeah
10:33 skids joined #perl6
10:47 nine Step 1 complete: slaying the build monster.
10:47 nine Although to do that I had to create another monster: building everything twice :/
10:49 stmuk_ jnthn++ # the "bread & butter" type programming is v interesting as well
10:52 masak yes, I am liking the series so far :)
10:52 masak hadn't thought about overriding .parse and .subparse like that
10:54 lnrdo joined #perl6
10:55 betsyy3 joined #perl6
10:56 ilmari .u U+FBF9
10:56 yoleaux U+FBF9 ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM [Lo] (ﯹ)
10:56 ilmari the longest unicode character name
11:00 abraxxa joined #perl6
11:01 pierre-vigier joined #perl6
11:02 uhuihuibu joined #perl6
11:02 n0tjack joined #perl6
11:06 zakharyas joined #perl6
11:06 jkramer joined #perl6
11:06 jkramer Hello
11:09 ZoffixWin joined #perl6
11:09 DrForr Afternoon there.
11:11 ZoffixWin RabidGravy, yes, huggable is written entirely in Perl 6. It's essentially my soon-to-be-released IRC::Client::Plugin::Factoid: https://github.com/zoffixznet/perl6-IRC-Client-Plugin-Factoid/blob/master/DESIGN.md
11:11 RabidGravy FROGGS, yeah, the name mangling is fine on a Raspberry Pi too, just going to look at the other NC related fails
11:15 RabidGravy ZoffixWin, cool
11:15 ZoffixWin LTA Error:
11:15 ZoffixWin m: Date.new: "2015-01-01" .. Date.new: "2015-02-02"
11:15 camelia rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments␤  in block <unit> at /tmp/rGcITLj8xY line 1␤␤»
11:15 ZoffixWin m: Date.new("2015-01-01") .. Date.new("2015-02-02") # it DOES take positionals
11:15 camelia rakudo-moar 505dc4: OUTPUT«WARNINGS for /tmp/7lhcO6wNJR:␤Useless use of ".." in expression ".new(\"2015-01-01\") .. Date.new(\"2015-02-02\")" in sink context (line 1)␤»
11:17 abraxxa joined #perl6
11:21 glaukommatos joined #perl6
11:22 El_Che is a regular Proc (without the Proc::Async.new invocation) run async? I have a weird race condition on serial code
11:23 moritz El_Che: if you open it as a pipe, it's async
11:23 El_Che I do a run, @a_ssh_commands_with_&&_inside
11:26 El_Che https://gist.github.com/nxadm/6ef0b373297f6d7531e2 The first call to the method creates a file, a second call checksums it
11:26 El_Che if a call the method serially, to have a 100% success test rate I need to had a sleep in the second ssh command (or before the method call)
11:27 El_Che most of the time it works fine without
11:29 AlexDaniel m: say Date.new("2015-01-01") .. Date.new: "2015-02-02"
11:29 camelia rakudo-moar 505dc4: OUTPUT«Date.new(2015,1,1)..Date.new(2015,2,2)␤»
11:30 AlexDaniel ZoffixWin: Somehow I think that the error message in this case should not be better if you have precendence problems
11:31 AlexDaniel you are basically trying to do this
11:31 AlexDaniel m: say Date.new("2015-01-01" .. Date.new: "2015-02-02")
11:31 camelia rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments␤  in block <unit> at /tmp/DY5fyldNt5 line 1␤␤»
11:31 AlexDaniel aaaaaaah wait
11:31 AlexDaniel m: say Date.new("2015-01-01")
11:31 camelia rakudo-moar 505dc4: OUTPUT«2015-01-01␤»
11:31 AlexDaniel ZoffixWin: right, indeed, the error message is wrong
11:32 El_Che it's probably filesystem related
11:33 AlexDaniel “Default constructor only takes named arguments” I'm not even sure how to interpret this. What is a “default constructor”?
11:34 AlexDaniel like… then use non-default consructor please? :)
11:36 ZoffixWin Yes, my qualm is it saying "only takes named arguments," when clearly it does take positionals too
11:37 ZoffixWin m: say Date.new("2015-01-01-blarg")
11:37 camelia rakudo-moar 505dc4: OUTPUT«Invalid Date string '2015-01-01-blarg'; use yyyy-mm-dd instead␤  in block <unit> at /tmp/J1mwVBXtBN line 1␤␤»
11:37 AlexDaniel m: say Date.new("2015-01-aa")
11:37 camelia rakudo-moar 505dc4: OUTPUT«Invalid Date string '2015-01-aa'; use yyyy-mm-dd instead␤  in block <unit> at /tmp/HFyAY4wUKB line 1␤␤»
11:37 AlexDaniel m: say Date.new("2015-01-99")
11:37 camelia rakudo-moar 505dc4: OUTPUT«Day out of range. Is: 99, should be in 1..31␤  in block <unit> at /tmp/aFfu51hZcc line 1␤␤»
11:37 ZoffixWin m: say Date.new(42)
11:37 camelia rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments␤  in block <unit> at /tmp/FSlXiPHUJb line 1␤␤»
11:37 AlexDaniel m: say Date.new("2015-02-99")
11:37 camelia rakudo-moar 505dc4: OUTPUT«Day out of range. Is: 99, should be in 1..28␤  in block <unit> at /tmp/p48uhoOqId line 1␤␤»
11:37 AlexDaniel fine!
11:38 AlexDaniel ZoffixWin: well, will you submit a ticket? The error message could be better
11:38 ZoffixWin In fact, this is another thing: inconsistency
11:38 ZoffixWin m: say Date.new(now.Int)
11:38 camelia rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments␤  in block <unit> at /tmp/c12NFHqs4v line 1␤␤»
11:38 ZoffixWin m: say DateTime.new(now.Int)
11:38 camelia rakudo-moar 505dc4: OUTPUT«2016-01-06T11:39:03Z␤»
11:38 ZoffixWin Hm. K, I can see why it wouldn't like an epoch. Never mind
11:38 ZoffixWin AlexDaniel, yeah, I'll submit it in an hour or so
11:39 FROGGS ZoffixWin: does it perhaps miss a proto method new?
11:41 kaare_ joined #perl6
11:47 lizmat joined #perl6
11:47 nine El_Che: yes, I think that run call is async. You need to close .out before you can read the exitcode.
11:50 abraxxa joined #perl6
11:51 El_Che nine: it was a remote-VM-on-NFS-slow-FS issue
11:51 jkramer left #perl6
11:53 nine ah ok
11:53 bpmedley joined #perl6
11:55 nine El_Che: But what I said is still true. Have a look at src/core/IO/Pipe.pm method close. It's what sets the Proc object's status (exitcode)
11:55 El_Che nine: thx. I will do that
11:57 El_Che mm
11:58 El_Che reading the exit_code before .out.slurp-rest seems to work
11:59 nine Maybe the command does not actually output anything?
11:59 nine Then I guess the file handle would be closed automatically.
11:59 El_Che it does (a checksum)
12:01 El_Che anyway, I went with your suggestion and added a explicit out.close
12:01 El_Che however, I still read the exit status *before* reading and closing the out
12:02 Skarsnik joined #perl6
12:04 guest1_ joined #perl6
12:07 Skarsnik Hello
12:10 nine Good morning Mr. Skarsnik. I wish you a very safe and productive day.
12:14 Skarsnik Hey nine, is there a way to unregister a module at run time, to reload it again with require? Like the delete in @INC entry in p5 to reload module file
12:15 kid51 joined #perl6
12:16 nine I seem to remember from tha backlog that you already found the %!loaded hash that prevents this. Thing is, I don't know what else might be in the way. I don't know how the compiler would react seeing symbols go away or worse: symbols staying but the code behind them being replaced.
12:17 nine Anyway what's your use case?
12:17 Skarsnik plugins
12:17 Skarsnik like for an irc bot
12:18 Skarsnik typicaly you don't want to disconnect/Reconnect a irc bot to change stuff
12:18 regreg joined #perl6
12:19 pdcawley Gah! I so want to do: "> my $foo = 20\n > my $f<TAB>" in the REPL and have '$foo' as one of the expansion options. Is enough of the runtime/parse state available anywhere to be able to do that?"
12:21 pdcawley I realise that "my $foo;\\nsay $f<TAB>" isn't going to work for a while, but still... this would be nice.
12:21 pdcawley (And similarly nice for editors)
12:23 glaukommatos joined #perl6
12:26 pierre-vigier joined #perl6
12:29 sftf joined #perl6
12:33 lnrdo joined #perl6
12:41 SwellJoe joined #perl6
12:41 ZoffixMobile joined #perl6
12:42 bpmedley joined #perl6
12:43 ZoffixMobile nine, well, there's a wider usecase: developing a module for an application that takes a long time to load. For example, every change I make for an IRC bot plugin, I have to reconnect to the server. This is exacerbated by every error in the code that requires restarts.
12:43 n0tjack joined #perl6
12:43 ZoffixMobile Being able to reaload a piece of code without bringing down the whole application would significantly speed up development.
12:44 pjscott joined #perl6
12:45 lizmat ZoffixMobile Skarsnik : could you perhaps try with EVALFILE and see how that works out ?
12:46 nine Ok, the naive approach of just including the CORE.setting code in CORE.d.setting doesn't work out that well. I'm almost glad ;)
12:49 hankache joined #perl6
12:49 nine But that leaves the question of if I can actually stack those outer_ctx
12:49 hankache m: cmp-ok 3, '<', 4, '3 is less than 4';
12:49 camelia rakudo-moar 505dc4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Q7D1yMDC1n␤Undeclared routine:␤    cmp-ok used at line 1␤␤»
12:49 hankache what am i doing wrong ? ^^
12:50 nine m: use Test; cmp-ok 3, '<', 4, '3 is less than 4';
12:50 camelia rakudo-moar 505dc4: OUTPUT«not ok 1 - 3 is less than 4␤␤# Failed test '3 is less than 4'␤# at /tmp/mfSHeViAQK line 1␤# Could not use '<' as a comparator␤»
12:50 FROGGS m: use Test; cmp-ok 3, &[<], 4, '3 is less than 4';
12:50 hankache nine++
12:50 camelia rakudo-moar 505dc4: OUTPUT«ok 1 - 3 is less than 4␤»
12:50 FROGGS m: say &[<]
12:50 camelia rakudo-moar 505dc4: OUTPUT«sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|47415424>}|75017024) ... }␤»
12:51 hankache FROGGS++  in the docs it says that i can enclose them in quotes
12:51 nige1 joined #perl6
12:51 hankache https://doc.perl6.org/language/testing#By_arbitrary_comparison
12:51 FROGGS hmmm, I hope the docs are wrong here
12:51 FROGGS unless...
12:52 nine try EVAL "&infix:<$op>"
12:52 hankache m: use Test; cmp-ok 3, '==', 3, '3 is less than 4';
12:52 camelia rakudo-moar 505dc4: OUTPUT«ok 1 - 3 is less than 4␤»
12:52 FROGGS m: use Test; cmp-ok 3, &infix:("<"), 4, '3 is less than 4';
12:52 camelia rakudo-moar 505dc4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6mzD1DIHXC␤You can't adverb ␤at /tmp/6mzD1DIHXC:1␤------> 3use Test; cmp-ok 3, &infix:("<")7⏏5, 4, '3 is less than 4';␤»
12:52 hankache == works in quotes
12:52 FROGGS ewww
12:52 FROGGS of course
12:52 hankache m: use Test; cmp-ok 3, '==', 3;
12:52 camelia rakudo-moar 505dc4: OUTPUT«ok 1 - ␤»
12:53 FROGGS EVAL "&infix:<$op>" does not work well for "<"
12:53 nine That option should never have been included
12:53 FROGGS m: my $inf = '<'; say &infix:«$inf»
12:53 camelia rakudo-moar 505dc4: OUTPUT«Use of uninitialized value $inf of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in code  at /tmp/dRHiaJCijD line 1␤5===SORRY!5=== Error while compiling /tmp/dRHiaJCijD␤Undeclared rout…»
12:53 FROGGS m: BEGIN my $inf = '<'; say &infix:«$inf»
12:53 camelia rakudo-moar 505dc4: OUTPUT«sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|47415424>}|70642896) ... }␤»
12:54 hankache nine what option. cmp-ok ?
12:54 Guest64716 joined #perl6
12:54 FROGGS hankache: to be able to pass a string
12:54 _Vi joined #perl6
12:55 llfourn does anyone else get the SORRY! printed out three times when you have a compilation error?
12:56 hankache FROGGS nine so should i always use &[operator] ?
12:56 lizmat llfourn: I don't see it generally
12:56 FROGGS llfourn: https://rt.perl.org/Public/Bug/Display.html?id=127176
12:56 FROGGS hankache: yes
12:56 hankache FROGGS nine thanks
12:56 FROGGS hankache: because then you resolve the op at compile time
12:56 FROGGS which is safer and faster
12:57 llfourn FROGGS: cheers
12:57 hankache Danke :)
12:57 FROGGS :o)
12:57 hankache did i say it right?
12:57 FROGGS yes
12:57 lizmat hankache: think so
12:57 hankache hiya lizmat
12:57 lizmat hankache o/
12:58 FROGGS lizmat: what do you say?
12:58 lizmat Dank je
12:58 lizmat Dank je wel
12:58 FROGGS ahh, k :o)
12:58 lizmat Danke
12:58 * hankache opening google translate
12:58 lizmat Danke schön
12:58 _nadim joined #perl6
12:59 lizmat the local dialect where we live, is more like the German "Danke"
12:59 FROGGS languages are awesome
13:00 hankache how many languages do you speek?
13:00 lnrdo joined #perl6
13:01 hankache speak*
13:02 * lizmat speaks Dutch, English, German and French (sort of)
13:03 xpen joined #perl6
13:03 * hankache speaks Arabic, French and English
13:03 * ilmari speaks Norwegian, Finnish and English
13:04 FROGGS well... German and English mostly... had Russian at school and can still say what my name and age is :D
13:04 hankache hehe
13:04 ilmari aurum pointed out at yapc::eu last year that whenever she hangs out with perl geeks, the conversation at some point turns to languages or linguistics
13:04 FROGGS but besides that I like the fact that German (Latin / Central European) words, you can understand much of other languages
13:04 FROGGS (besides French)
13:05 hankache oh lol
13:05 FROGGS err, my sentence was rubbish actually
13:06 FROGGS but I really enjoy these intersections between languages
13:06 FROGGS stuff like Kindergarden or Doppelgängers just to name some
13:06 hankache do they feel more like dialects of the same language?
13:07 FROGGS the languages itself not, just the words
13:07 ilmari english doesn't just borrow words from other languages. it knocks them out, drags them into an alleyway and goes through their pockets for loose vocabulary and grammar.
13:07 lizmat well, you could certainly argue that for Dutch/German, I feel
13:07 FROGGS like numbers etc
13:07 FROGGS ilmari: *g*
13:09 lizmat Well, German's "handy" would be another example of confusion  :-)
13:09 FROGGS true
13:09 FROGGS just explained that yesterday to my 6 year old
13:09 * lizmat wonders why that never took off in the english speaking world
13:09 lizmat seems so logical  :-)
13:09 hankache what is handy?
13:10 FROGGS also how the German seems to be called by the Polish
13:10 lizmat hankache: the question is really "what is a handy" :-)
13:10 FROGGS hankache: mobile phones are handy :o)
13:10 ilmari hankache: in german: a mobile phone. in english: a handjob
13:10 FROGGS O.o
13:10 hankache oh!
13:11 hankache well in my country we use that word, it means cordless phones
13:12 ZoffixW joined #perl6
13:12 ZoffixW lizmat, no love with EVALFILE. Redeclaration error: https://gist.github.com/zoffixznet/3185815f60f72eaf34e4
13:12 lnrdo joined #perl6
13:12 lizmat well, then we will first have to fix that, I think  :-)
13:13 hankache ok back to work. Nice chatting with you guys & gals
13:13 Skarsnik ZoffixW, try delete GLOBAL::Foo:delete ?
13:14 pierre-vigier joined #perl6
13:15 FROGGS m: use MONKEY-SEE-NO-EVAL; my $str = 'class Foo { }'; say EVAL $str; GLOBAL::<Foo>:delete; say EVAL $str
13:15 camelia rakudo-moar 505dc4: OUTPUT«(Foo)␤(Foo)␤»
13:15 hankache ah another question.
13:15 hankache how come use-ok work even without loading the module ?
13:16 hankache doesn't it only looked if it is installed?
13:16 FROGGS m: use MONKEY-SEE-NO-EVAL; my $str = 'my $x = rand; class Foo { method bar { $x } }'; say (EVAL $str).bar; GLOBAL::<Foo>:delete; say (EVAL $str).bar
13:16 camelia rakudo-moar 505dc4: OUTPUT«0.944414178283907␤0.0629416904039236␤»
13:16 ZoffixW Skarsnik, nah. No error, but changing the Foo.pm6 doesn't change the output of the program
13:16 hankache **does it it only look if it is installed?
13:17 FROGGS hankache: no, it does an EVAL "use $thing"
13:17 ZoffixW hankache, in P5, it actually loads the module for you. I don't see that part of the behaviour in P6, but I don't see why you need to `use` a module just to check whether it's `use`able :)
13:17 ZoffixW (loads the module so you can use its functions in the scope of your test)
13:18 * FROGGS nods
13:18 hankache thanks :)
13:18 hankache ZoffixW I am not saying it should. Just asking
13:20 ZoffixW FROGGS, seems your code is cheating somehow
13:20 hankache see ya later #perl6
13:20 ZoffixW If I put that class in a file and eval it with EVALFILE or EVAL 'Foo.pm6'.IO.slurp; I don't get the changed value
13:22 ZoffixW As in this: https://gist.github.com/zoffixznet/d8ed10c0be4dd19bfe8e
13:23 FROGGS ZoffixW: drop that -MFoo ?
13:24 FROGGS and then access Foo as ::('Foo') after the EVALFILE
13:24 ZoffixW OMG! It works!
13:24 ZoffixW FROGGS++
13:25 FROGGS \o/
13:26 virtualsue joined #perl6
13:26 FROGGS though I bet you cannot precomp the module that does the EVALFILE... at least not today
13:26 ZoffixW Sweet. I've successfully reloaded a module in a testcase :) Gonna see how well the method applies in real world code. This is what worked BTW: https://gist.github.com/zoffixznet/47f908a2cc42681472df
13:27 ZoffixW FROGGS, that's a minor issue, considering it takes me ~10 seconds to reconnect to the server every time there's a syntax error in my module :P
13:27 FROGGS yeah
13:28 ZoffixW heh, I see someone fixed DateTime.new not taking an Instant. That was fast :D
13:28 ZoffixW m: say DateTime.new: now
13:28 camelia rakudo-moar 505dc4: OUTPUT«2016-01-06T13:28:50.290566Z␤»
13:29 El_Che nine: the out.close and exit status weirdness comes down to this bug: https://rt.perl.org/Public/Bug/Display.html?id=125757
13:32 ZoffixW RT for the LTA error discussed this morning has been created: https://rt.perl.org/Ticket/Display.html?id=127186
13:32 ZoffixW Affects DateTime too
13:32 El_Che so if $proc has a non zero exit status, $proc.out.close will die by design. At the same time you should call $proc.exitcode only after closing out, so you can not make the $proc.close conditional. Head explodes
13:35 El_Che I suppose I can try-catch the exception, but it feels wrong (I will never get the real exitcode by example)
13:36 lnrdo joined #perl6
13:38 lnrdo joined #perl6
13:39 mort96 Hey, what exactly is the difference in perl between self and $ in methods?
13:41 lizmat self and $ ?
13:41 lizmat what's $ ?
13:41 llfourn lizmat: $.method
13:41 El_Che does my rambling make sense, if so, you I provide sample code?
13:41 lizmat ah, you can interpolate $.method in a string, you cannot do that with self.method unless you use curlies
13:42 * llfourn learns something new lizmat++
13:42 mort96 are they otherwise the same?
13:42 lizmat personally, I hate using $.method when it is actually just a method
13:42 lizmat because it gives you the idea it's an attrbute
13:43 llfourn mmm I think self.method and $.attr is a good convention
13:43 mort96 http://doc.perl6.org/language/classtut#Private_Methods that uses $!myproperty and self!mymethod
13:43 lizmat m: class A { method foo { $.say } }; A.foo   # yuck
13:43 camelia rakudo-moar 505dc4: OUTPUT«(A)␤»
13:44 llfourn correction: self.method for methods, $.attr for superclass attr and $!attr for private attrs
13:44 lizmat mort96: $!foo does *not* call a method, it's a direct access to the attribute
13:44 llfourn (is my convention)
13:45 llfourn $!attr for local class attributes rahter :)
13:45 lizmat llfourn: sounds very sane  :-)
13:51 mort96 so, in a class, I have `my Str $!host`, and in the new method, `return self.bless(host => $host)` (where $host is a local variable), and in another method, `say $!host`. That prints "(Str)" to the console, which doesn't seem right
13:51 n0tjack joined #perl6
13:51 El_Che ok,about my rambling: it's a regression (close did not use to throw an exception). I'll append it to the ticket
13:51 lizmat mort96: don't you mean "has Str $!host" ?
13:52 moritz mort96: you've declared a private attribute, which means it's not settable through .new and .bless
13:52 mort96 right, yes, it's has, not my
13:52 arnsholt Also, a custom new() method has to call BUILD on its own
13:52 moritz mort96: you can add   submethod BUILD(:$!host) { }  to make it settable
13:52 moritz arnsholt: no
13:52 moritz arnsholt: .bless does that
13:52 arnsholt Oh!
13:52 mort96 ugh, constructors in perl 6 are really weird.
13:53 arnsholt I thought it didn't!
13:53 moritz https://doc.perl6.org/language/objects#Object_Construction
13:54 llfourn protip: don't use private attributes unless you really want them to be private
13:55 mort96 well, it's properties nobody really has any business knowing
13:56 llfourn mort96: I p6 doesn't have a good way of dealing with attributes that in one context are "public" ie you can set them in constructor, but in other contexts they are private.
13:56 llfourn s/I //
13:57 llfourn so I feel your frustration :)
13:57 lizmat feels to me that if you can set an attribute through the constructor, they ate by definition public
13:57 mort96 moritz: to have .new take a positional argument, must I then implement it and make it call BUILD and bless manually, or does some magic happen and do things?
13:57 El_Che https://rt.perl.org/Public/Bug/Display.html?id=125757 <- Exception cause chicken-and-egg problem with proc.close and proc.exitstatus
13:57 El_Che exitcode
13:57 moritz mort96: method new($host) { self.bless(:$host) }; submethod BUILD(:$!host) { }
13:57 moritz mort96: should be enough
13:58 mort96 alright
13:58 llfourn lizmat: you may want to have routines that create the objects to be able to set the attributes but routines that get passed them as an argument nnot be be able to see them IMO
13:58 moritz mort96: though it makes your constructors much more composable if you stick to named arguments
13:59 llfourn or at least when I program in other languages I use patterns like that
13:59 llfourn once I got used to p6 I don't find myself reaching for them
14:00 mort96 alright, I'll use named arguments, seems like that's the easiest
14:03 dalek roast: 5e7d2ad | lizmat++ | S32-temporal/Date (2 files):
14:03 dalek roast: Add tests for RT #127170
14:03 dalek roast: review: https://github.com/perl6/roast/commit/5e7d2adefd
14:03 Skarsnik rip bot that give rt link :(
14:04 dalek rakudo/nom: fec0619 | lizmat++ | src/core/Date (2 files):
14:04 dalek rakudo/nom: Fix for RT #127170
14:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fec061913a
14:08 moritz RT#127170
14:08 moritz nope, it wasn't the space
14:08 Skarsnik Could be cool to have a something to tell that all the class in an unit share the same traits
14:09 lizmat moritz: ??
14:09 Skarsnik module BunchOfClass { class are rw are export; class A {}; class B {}}
14:10 lizmat ah, the RT bot...  carry on  :-)
14:10 lizmat afk for a bit &
14:11 jkramer joined #perl6
14:11 jkramer Ahoy again.
14:11 glaukommatos joined #perl6
14:11 Skarsnik could that be done with macro actually?
14:12 jkramer I just started learning about parallelism in P6, and I'm wondern if @array.race(or hyper).grep is supposed to work or not (and why). race/hyper.map works just fine as in the example.
14:13 jkramer grep returns an empty list though.
14:13 AlexDaniel Skarsnik: I wonder if anybody ever used macros in Perl 6 successfully…
14:13 jkramer Also .grep without race/hyper works as well
14:13 Skarsnik AlexDaniel, hi. You did not repport your pg issue!
14:14 AlexDaniel Skarsnik: yes, I know. Thanks for reminding
14:14 AlexDaniel Skarsnik: I have to research it a little bit before reporting
14:14 AlexDaniel Skarsnik: I have it written down, so I don't think that I'll forget about it :)
14:15 AlexDaniel right now I wonder how can I serve binary files with Bailador?
14:15 Skarsnik Still no sessin with Bailador?
14:15 AlexDaniel “Type check failed in assignment to $output; expected Str but got Buf”
14:15 Skarsnik good question
14:16 Skarsnik Probably need to create the http::message yourself?
14:16 AlexDaniel whoooaaa…
14:17 loren joined #perl6
14:17 Skarsnik Does it take HTTP::Message object in some way?
14:17 loren Hi, #Perl 6~
14:18 AlexDaniel Skarsnik: honestly, I have no idea
14:19 AlexDaniel Skarsnik: but I feel like it doesn't…
14:20 Skarsnik My feeling with bailaidor that it does not do much aside if you want write json output xD
14:21 loren m: my %hash = a => 1, b => 2; "1" ~~ /^ %hash{'b'} $/;
14:21 camelia rakudo-moar fec061: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mFkUzsvMW7␤Missing quantifier on the left argument of %␤at /tmp/mFkUzsvMW7:1␤------> 3my %hash = a => 1, b => 2; "1" ~~ /^ %7⏏5hash{'b'} $/;␤»
14:22 loren Does anyone know how to interpolate Hash value to regex match ?
14:22 pierre-vigier joined #perl6
14:22 Skarsnik no empty method on Array/List?
14:23 Skarsnik m: my %hash = a => 1, b => 2; "1" ~~ /^ "%hash{'b'}" $/;
14:23 camelia rakudo-moar fec061: ( no output )
14:23 Skarsnik m: my %hash = a => 1, b => 2; "1" ~~ /^ "%hash{'a'}" $/;
14:23 camelia rakudo-moar fec061: ( no output )
14:23 Skarsnik m: my %hash = a => 1, b => 2; say "1" ~~ /^ "%hash{'a'}" $/;
14:23 camelia rakudo-moar fec061: OUTPUT«「1」␤»
14:23 Skarsnik m: my %hash = a => 1, b => 2; say "1" ~~ /^ "%hash{'b'}" $/;
14:23 camelia rakudo-moar fec061: OUTPUT«Nil␤»
14:24 donaldh joined #perl6
14:24 loren m: say ((1, 2, 3)); say ((1, 2, 3),); # and and this little problem
14:24 camelia rakudo-moar fec061: OUTPUT«(1 2 3)␤((1 2 3))␤»
14:24 jkramer m: (0..10).grep({ $_.is-prime })
14:24 camelia rakudo-moar fec061: ( no output )
14:25 jkramer m: say (0..10).grep({ $_.is-prime })
14:25 camelia rakudo-moar fec061: OUTPUT«(2 3 5 7)␤»
14:25 AlexDaniel Well, at some point I started to realize that if the repo is owned by tadzik then it is potentially dead or just unusable… nvm, don't mind this cryout, I just want to serve a goddamn binary file…
14:25 loren Skarsnik, good!
14:25 jkramer m: say (0..10).hyper.grep({ $_.is-prime })
14:25 camelia rakudo-moar fec061: OUTPUT«   it has 0 elements.␤()␤»
14:25 loren Skarsnik, thanks
14:25 AlexDaniel m: ^10 .grep: *.is-prime
14:25 camelia rakudo-moar fec061: ( no output )
14:25 AlexDaniel m: say ^10 .grep: *.is-prime
14:25 camelia rakudo-moar fec061: OUTPUT«(2 3 5 7)␤»
14:26 jkramer But how do I get hyper/race to work with grep?
14:26 AlexDaniel jkramer: I'm not sure if it works correctly right now, there was a bug report recently
14:26 jkramer Hmm ok, I googled this a lot but can't find anything
14:27 AlexDaniel ah, actually maybe it works
14:27 AlexDaniel jkramer: the bug report I'm referencing to is https://rt.perl.org/Public/Bug/Display.html?id=127099
14:27 AlexDaniel say ^10 .grep: *.is-prime
14:27 AlexDaniel m: say ^10 .grep: *.is-prime
14:27 camelia rakudo-moar fec061: OUTPUT«(2 3 5 7)␤»
14:27 AlexDaniel m: say ^10 .hyper.grep: *.is-prime
14:27 camelia rakudo-moar fec061: OUTPUT«   it has 0 elements.␤()␤»
14:28 AlexDaniel m: say ^10 .race.grep: *.is-prime
14:28 camelia rakudo-moar fec061: OUTPUT«   it has 0 elements.␤()␤»
14:28 AlexDaniel what has 0 elements? What's that?
14:28 jkramer Yeah that's my problem :) With hyper/race the result is an empty list
14:29 AlexDaniel m: say ^1000 .hyper.map: * + 10
14:29 camelia rakudo-moar fec061: OUTPUT«HyperSeq.new␤»
14:29 RabidGravy joined #perl6
14:29 AlexDaniel m: my @a = ^1000 .hyper.map: * + 10; say @a
14:29 camelia rakudo-moar fec061: OUTPUT«[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 …»
14:30 AlexDaniel m: my @a = ^1000 .hyper.map(* + 10).grep(* > 5); say @a
14:30 camelia rakudo-moar fec061: OUTPUT«[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 …»
14:30 jkramer map works just fine, just grep doesn'
14:30 AlexDaniel m: my @a = ^1000 .hyper.grep(* > 5); say @a
14:30 camelia rakudo-moar fec061: OUTPUT«   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elem…»
14:32 pierre-vigier joined #perl6
14:35 AlexDaniel jkramer: https://rt.perl.org/Public/Bug/Display.html?id=127190
14:36 jkramer Thanks, I'll follow there :)
14:37 AlexDaniel jkramer: you can probably work around it for now
14:37 PerlJam It's not really grep is it?
14:37 AlexDaniel m: my @a = ^1000 .hyper.map(*).grep(* > 5); say @a
14:37 camelia rakudo-moar fec061: OUTPUT«Cannot call map(HyperSeq: Whatever); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/stcUrxYN55 line 1␤␤»
14:37 AlexDaniel m: my @a = ^1000 .hyper.map({$_}).grep(* > 5); say @a
14:37 camelia rakudo-moar fec061: OUTPUT«[]␤»
14:37 PerlJam m: say my @a = ^1000 .hyper;
14:37 camelia rakudo-moar fec061: OUTPUT«   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elem…»
14:37 AlexDaniel hmmm
14:37 PerlJam It's hyper/race
14:37 AlexDaniel PerlJam: oh!
14:37 jkramer AlexDaniel: Don't really need it, I was just playing around with parallelism for learning
14:37 jkramer I mean, I don't need it right now :)
14:38 AlexDaniel m: my @a = ^1000 .hyper.map(* + 10); say @a
14:38 camelia rakudo-moar fec061: OUTPUT«[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 …»
14:38 AlexDaniel PerlJam: I'm not sure that I understand. How would you explain this ↑ then? :)
14:38 AlexDaniel m: my @a = ^1000 .hyper.grep(* > 10); say @a
14:38 camelia rakudo-moar fec061: OUTPUT«   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elements.␤   it has 0 elem…»
14:38 AlexDaniel just changing map to grep makes the difference
14:39 ilmari the "it has 0 elements" comes from a note() in HyperSeq.iterator!block-for-result
14:40 mspo how many threads will hyper create by default?
14:41 tipdbmp left #perl6
14:42 jkramer Hahaha, .hyper(degree => 0) just does nothing and never finishes :D
14:42 AlexDaniel mspo: how can you know? :) Ideally it should probably check for various things… Like, it depends on the machine
14:42 mspo also is that the equivilent of a coroutine/goroutine/erlang process/whatever haskell thinggy is called
14:42 jkramer Probably should have a check for that and throw an error :)
14:42 AlexDaniel mspo: according to docs it is :batch(64) and :degree(4)
14:43 mspo is there a doc on the scheduler for all of this stuff?
14:43 AlexDaniel jkramer: what about negative values? What about Inf? What about NaN?
14:44 AlexDaniel ah, it is Int, so no Inf and no NaN
14:45 jkramer I think a simple sanity check like > 0 should do :)
14:45 AlexDaniel jkramer: consider submitting a pull request or at least a bug report :)
14:46 jkramer Yep, will do :)
14:47 AlexDaniel jkramer++ # thanks!
14:50 Sm4rkey joined #perl6
14:50 Casan joined #perl6
14:51 RabidGravy surely *threads* it's:
14:51 RabidGravy m: say $*SCHEDULER.perl
14:51 camelia rakudo-moar fec061: OUTPUT«ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable)␤»
14:51 RabidGravy 16 max
14:53 Sm4rkey left #perl6
14:53 _nadim joined #perl6
14:56 FROGGS joined #perl6
15:01 Skarsnik is there an easy way display stuff aligned? like I want to write "int a;" "int b;" "unsigned long int c;" but with a/b/c at the same column
15:02 PerlJam Skarsnik: hit your space bar the appropriate number of times?  :)
15:03 wamba joined #perl6
15:03 RabidGravy sprintf ?
15:03 mspo RabidGravy: nice
15:04 AlexDaniel Skarsnik: perhaps vim/emacs macros can do that? If not, just a little bit of scripting will do :)
15:04 Skarsnik In perl6 code xD
15:04 xpen joined #perl6
15:05 nine ZoffixWin: just came to me: maybe those plugins for your IRC client shouldn't actually be running in the same process. Imaging having a process per plugin that could be restarted independently. Could also be running in a sandbox for security.
15:05 AlexDaniel Skarsnik: you are generating code with Perl 6 code?
15:05 Skarsnik Yes
15:05 AlexDaniel oh
15:05 RabidGravy wonderful :)
15:05 Skarsnik printf could work
15:06 AlexDaniel yes, printf should work if you know some stuff ahead
15:06 AlexDaniel though I'm interested to see some automated solution that would work for any code, hm
15:06 PerlJam It would be nice to have some Text::Autoformat goodness for P6 though.  (with plugins to align specific types of text)
15:06 AlexDaniel like that ↑, yes
15:06 jme` joined #perl6
15:06 mspo does perl6 detail any of the perl5 perlform stuff?
15:07 mspo s/detail/retain
15:07 Skarsnik there is the Form module
15:07 cognominal joined #perl6
15:08 RabidGravy well it's like Perl 3 form stuff that just stuck around through 5 ;-)
15:08 mspo sure
15:09 mspo Practical Extraction & Reporting Language
15:09 RabidGravy I think I've used forms exactly once in Perl 5
15:09 n0tjack joined #perl6
15:10 hankache joined #perl6
15:10 mspo I never did, just read the docs and thought it looked cool
15:10 masak mspo: no, "forms are relegated to a module, not core" seems to have been a decision that was taken on Day 1 for Perl 6, and then not changed :)
15:10 hankache hiya #perl6
15:10 masak mspo: there's a Form module in the ecosystem, but it's incomplete
15:10 mspo but I don't print dot matrix reports :)
15:10 masak mathw_: want to work on Form sometime? :)
15:11 masak mathw_: (together, I mean)
15:11 rindolf hankache: hi! Sup?
15:11 glaukommatos joined #perl6
15:11 hankache hi rindolf, all is well. You?
15:12 rindolf hankache: I was irritated earlier.
15:12 AlexDaniel I've always wondered how did this feature made it through so many versions
15:12 rindolf hankache: but now I'm feeling better.
15:12 Skarsnik printf does not work, or could you have a right padding?
15:12 hankache rindolf oh! I hope all is well now
15:12 rindolf hankache: it mostly is.
15:13 hankache rindolf Great
15:14 Skarsnik oh %-30s
15:14 hankache rindolf btw great job on http://www.shlomifish.org/
15:15 rindolf hankache: thanks!
15:15 rindolf hankache: I still need to properly adapt it to those pesky mobile devices.
15:15 molaf joined #perl6
15:16 hankache rindolf I think bootstrap is what most people are using these days. Though I am no expert.
15:16 hankache http://getbootstrap.com/
15:17 * masak .oO( <mumble>Bootstrap's bootstraps</mumble> )
15:17 rindolf hankache: Bootstrap makes most sites I browse look the same . :-(.
15:18 masak that's because people don't tailor it enough
15:18 rindolf Or at least I think that is what it is.
15:18 masak yes, very likely
15:19 hankache what are the alternatives by the way?
15:20 _nadim joined #perl6
15:20 Skarsnik that look better :) https://gist.github.com/Skarsnik/003b499ec8a0ad20193d
15:20 hankache wordpress?
15:20 hankache i hear they will be dumping PHP for javascript
15:20 mspo https://github.com/mourner/dead-simple-grid
15:20 mspo that would be nice (re wordpress)
15:21 RabidGravy polymer
15:21 _mg_ joined #perl6
15:21 timotimo o/
15:21 RabidGravy harr!
15:21 hankache yo
15:22 dalek modules.perl6.org: 49b29cc | (Zoffix Znet)++ | modules.perl6.org-init.d:
15:22 dalek modules.perl6.org: Explicitly specify PID file
15:22 dalek modules.perl6.org:
15:22 dalek modules.perl6.org: If we don"t, Toadfarm creates it in /tmp and when the build script tries to restart the app, hypnotoad--not finding the pid file in bin/--attempts to cold-start the app and fails due to the port being already taken. Placing the PID file into bin/ makes it find it and do the hot-restart correctly
15:22 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/49b29cc523
15:28 ZoffixW joined #perl6
15:29 ZoffixW nine, unless there's some IPC super magic in Perl 6 I don't know about, a separate process won't work. My plugins receive the IRC::Client object that has a connected socket as one of its attributes.
15:30 ZoffixW I'd need some abstraction and I don't see the benefit in creating it (well, other than the whole "takes 10seconds to see the change because I have to reconnect to the server")
15:30 jkramer AlexDaniel: https://rt.perl.org/Ticket/Display.html?id=127191&amp;results=46ced347ab8b2e55d2544ad776353d3c
15:30 jkramer Took a while because I had to recover my bitcard account :)
15:31 AlexDaniel jkramer: you can just write an email :)
15:31 timotimo a pidfile insied bin/??
15:31 timotimo that's *weird*
15:31 muraiki joined #perl6
15:31 ZoffixW timotimo, bin/ not /bin mind you :)
15:32 Skarsnik m: info "Hello";
15:32 camelia rakudo-moar fec061: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kNu9_24r2x␤Undeclared routine:␤    info used at line 1␤␤»
15:32 timotimo still weird :)
15:32 ZoffixW heh
15:32 Skarsnik oh it's note
15:32 hoelzro o/ #perl6
15:33 ZoffixW \o
15:33 hankache o/
15:34 nine True or false? The setting is the outer lexical scope of the compilation unit.
15:35 sftp joined #perl6
15:36 dj_goku hi
15:36 ZoffixW \o
15:36 hankache o/
15:37 hankache \oo/
15:37 * hankache is playing
15:37 DrForr Is that you, Zaphod?
15:37 llfourn nine: not if your inside an EVAL but I don't know enough to comment on the general idea
15:38 timotimo nine: true afaik
15:39 nine So having the CORE setting be the outer lexical scope for the CORE.d setting and this then be the outer lexical scope for the compilation unit should be quite possible, als lexical scopes are very stackable indeed
15:40 timotimo CORE.d?
15:40 nine From docs/language_versions.md: "Additions to the setting will be made in a "nested" setting. That is, a "use v6.d" will load CORE.d.setting or so. It can use augment and supercede in order to effect changes."
15:40 nine I'm trying to figure out how to actually implement that
15:41 timotimo ah
15:41 timotimo yeah, should be quite doable
15:41 nine It's just the "how" that I don't know yet :)
15:42 timotimo *cough cough* i'll let someone with more of a clue about the internals handle this question ... %)
15:42 jkramer Is there some sweet syntactic sugar for creating an array of repeating elements? Like x for strings? I.e. [0] x 3 => [0,0,0] or even [1,2,3] x 2 => [1,2,3,1,2,3]
15:43 pierre-vigier joined #perl6
15:43 timotimo yeah, xx
15:43 yurivish_ joined #perl6
15:43 nine timotimo: oh come on. I don't have a clue either :) Yet it's still possible that we can figure this out
15:43 llfourn m: [ 0 xx 3 ].note
15:43 camelia rakudo-moar fec061: OUTPUT«[0 0 0]␤»
15:44 llfourn m: [ flat 1..3 xx 2 ].note
15:44 camelia rakudo-moar fec061: OUTPUT«[1 2]␤»
15:44 nine Most of what I've done since summer is poking at it with a stick and watching how it reacts ;)
15:44 llfourn m: [ flat (1..3 xx 2) ].note
15:44 camelia rakudo-moar fec061: OUTPUT«[1 2]␤»
15:44 timotimo :)
15:44 llfourn m: [ flat (1,2,3 xx 2) ].note
15:44 camelia rakudo-moar fec061: OUTPUT«[1 2 3 3]␤»
15:45 llfourn m: [ flat (1..3) xx 2) ].note
15:45 camelia rakudo-moar fec061: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_tkOaoluRP␤Unable to parse expression in array composer; couldn't find final ']' ␤at /tmp/_tkOaoluRP:1␤------> 3[ flat (1..3) xx 27⏏5) ].note␤    expecting any of:␤        postfix␤        stat…»
15:45 llfourn m: [ flat (1..3) xx 2 ].note
15:45 camelia rakudo-moar fec061: OUTPUT«[1 2 3 1 2 3]␤»
15:45 * llfourn will stop now
15:46 khisanth_ joined #perl6
15:48 loren m: say ((1, 2, 3));    say ((1, 2, 3),); # why parser treat them difference
15:48 camelia rakudo-moar fec061: OUTPUT«(1 2 3)␤((1 2 3))␤»
15:49 timotimo because of the single-argument-rule
15:49 timotimo the trailing comma is a way to get "the other" meaning
15:51 loren But there is nothing after..
15:51 RabidGravy nine, y'know that ARM thing this morning, the test is actually mislabeled it's uint16 -> unsigned short that is the problem
15:52 nine RabidGravy: are you sure? There were a couple of int8 tests that failed
15:52 nine unit8 from Perl6 -> C and int8 from C -> Perl6
15:53 nine Wait... uint16 -> unsigned short? That cannot possibly work?
15:53 psy_ joined #perl6
15:53 moritz off-topic question: I have a loand EEE PC with Windows XP (yuck, I know), and want to run some linux environment
15:53 moritz what's the best way to do it?
15:53 RabidGravy in the t/04-nativecall/02-simple-args.t it say "is TakeUint16(0xFFFE),     11, 'passed uint8 0xFFFE';"
15:53 Skarsnik nine, pls can you fix this https://github.com/rakudo/rakudo/blob/nom/lib/NativeCall.pm6#L89 it should be char not int x)
15:53 moritz I've looked at user-mode linux and colinux, but they both seem to be pretty dormant/old projects, with no new-ish distros supported
15:53 moritz any other ideas?
15:54 loren maybe msys or cygwin
15:54 loren or virtual machine
15:54 gfldex moritz: does it boot form USB-Sticks?
15:54 timotimo loren: if there was something after the , it wouldn't be a trailing comma
15:54 moritz gfldex: no; that's the first thing I tried
15:55 moritz loren: it doesn't have hardware support for virtualization, and it's rather slow :(
15:55 RabidGravy on ARM it gets, -2 not 65534 (which is weird)
15:55 gfldex moritz: as long as it got sufficient ramz you could also use a livecd
15:55 moritz I guess I'll take a look at msys
15:56 loren moritz, oh, that may be troublesome
15:56 RabidGravy I've got an EEE with ubuntu on somewhere
15:56 nine Skarsnik: can do
15:56 nine Skarsnik: why on earth has this been no problem till now?
15:57 Skarsnik I think FROGGS add this in rush to have bool/size_t not provocing an error in a part of Moar that does not have definition for it
15:57 nine It works!
15:57 nine nine@sphinx:~/rakudo/src/core_d (language_versions *)> perl6 -e 'use v6.c; CompUnit.test'
15:57 Skarsnik try a blame on the file:line?
15:57 nine Method 'test' not found for invocant of class 'CompUnit'
15:57 nine nine@sphinx:~/rakudo/src/core_d (language_versions *)> perl6 -e 'use v6.d; CompUnit.test'
15:57 nine it works!
15:57 Skarsnik Ohhh
15:58 nine It's as straight forward as one can imagine :)
15:58 loren timotimo, what parser do with the first one
15:59 jkramer literal: Thanks!
16:00 Skarsnik nine, it probably work because it's only used when bool is in a routine not a struct. and int32 containt enought space for char...
16:01 jkramer Is there by any chance a p6lint already that looks at my code and tells me what I can do better/shorter/sweeter?
16:01 CIAvash joined #perl6
16:01 timotimo loren: the first what?
16:02 Skarsnik nine, I think it's int8 even, not char x)
16:02 loren timotimo, forget it. Thanks for your explanation. Night ..
16:02 nine Skarsnik: have you tested the fix?
16:02 loren I have to go to sleep now ^_^…………...
16:02 Skarsnik I have no idea what kind of bug it provoq
16:03 timotimo gnite loren :)
16:03 nine 'char' should be the right answer, as it's on the right hand side of the => and it's the same answer for int8
16:03 Skarsnik Oh yeah, it's definitly char
16:04 khisanth_ joined #perl6
16:08 dalek rakudo/language_versions: 08571f9 | (Stefan Seifert)++ | / (5 files):
16:08 dalek rakudo/language_versions: First attempt at adding a CORE.d setting
16:08 dalek rakudo/language_versions: review: https://github.com/rakudo/rakudo/commit/08571f959f
16:08 nine lizmat: ^^^
16:09 ilmari .tell DrForr Readline has a bunch of native functions with Int parameter/return types, which NativeCall now complains about
16:09 yoleaux ilmari: I'll pass your message to DrForr.
16:09 awwaiid I created a separate Inline::Ruby::Sweet so that Inline::Ruby can avoid magic. Here is a sample session in which I load a ruby JSON file and traverse down to some values via p6 [] calls https://gist.github.com/awwaiid/a0bbb20c88b3c7f52c2d
16:10 lnrdo joined #perl6
16:10 literal jkramer: hm?
16:12 jkramer literal: Something like hlint for haskell or clint for C, but for perl6
16:12 literal not sure I follow
16:13 jkramer Something that looks at the source and tells me (for example) that (0..9) can be written as ^10 instead. Or that [0,0,0,0,0] could be written as 0 xx 5.
16:13 literal <jkramer> literal: Thanks!  <-- I was just wondering what that was about :)
16:14 jkramer Ohh :D
16:14 jkramer completion fail, I mean llfourn
16:14 jkramer Sorry
16:14 literal I see
16:15 llfourn jkramer: sorry what's up?
16:15 nige1 joined #perl6
16:16 llfourn jkramer: hmm we don't have p6lint yet I don't think :)
16:16 llfourn though since p6 can parse itself one day we should be able to do it!
16:16 marshyon joined #perl6
16:17 jkramer Nothing, said thanks for the xx hint earlier and accidentally hit literal instead, lots of confusion
16:17 jkramer Alright, then I guess I have to actually learn the idoms myself :D
16:18 awwaiid jkramer: also ... idioms are still being invented :)
16:22 gfldex my $method = $!uri.substr(1,$!uri.index('/', 1) // Inf); <-- first time i found good use of Int
16:22 gfldex s/Int/Inf/
16:22 Juerd I've found several good uses of Inf already. Especially lists that go up to Inf are nice.
16:23 uvtc joined #perl6
16:24 Skarsnik m: my int32 $a = Inf; say $a;
16:24 camelia rakudo-moar fec061: OUTPUT«This type cannot unbox to a native integer␤  in block <unit> at /tmp/izbEM5ZCzp line 1␤␤»
16:25 hankache if i have 2 files in the same directory and one "require" the other how do i do?
16:25 awwaiid hankache: I've been doing: use lib '.'
16:25 awwaiid for modules
16:26 uvtc m: my @a = <a b>; my @b = <x y>; @a.push(@b); say @a;
16:26 yoleaux 07:27Z <grondilu> uvtc: also notice there is a whole synopsis about lists:  S07
16:26 camelia rakudo-moar fec061: OUTPUT«[a b [x y]]␤»
16:26 hankache awaiid++
16:26 hankache awwaiid++
16:26 uvtc Is rakudo behaving as expected there? It seems to disagree with S07.
16:26 Juerd Is there a nicer way to write "flat @foo Z ^Inf"?
16:26 hankache uvtc yes it is
16:27 awwaiid m: my @a = <a b>; my @b = <x y>; @a.push(|@b); say @a;
16:27 camelia rakudo-moar fec061: OUTPUT«[a b x y]␤»
16:27 hankache uvtc unless what you want is this ^^
16:27 Juerd m: my @a = <a b>; my @b = <x y>; @a.append(@b); say @a;
16:27 camelia rakudo-moar fec061: OUTPUT«[a b x y]␤»
16:27 awwaiid oh right, I keep forgetting about .append
16:27 hankache oh append!!
16:28 uvtc hankache: S07 says that it should push @b.elems values onto @a, but what I'm seeing here is that it pushes one value onto @a.
16:28 hankache Juerd++
16:28 Juerd I still haven't decided whether I like push(|@b) or append(@b) most.
16:28 Juerd I really hate having two methods that do almost the same thing
16:28 hankache uvtc use append as Juerd did above
16:28 awwaiid uvtc: that is a bug in S07; can you point me to the specific section?
16:28 Skarsnik append put at the begining and push at the end?
16:28 Juerd Imagine every API having two methods, with wildly different names, for every method that takes a list.
16:29 alpha123 isnt append just implemented as push(|@b)
16:29 Juerd Skarsnik: No, both at the end. .unshift and .prepend work at the beginning.
16:29 uvtc awwaiid: thanks. I filed a bug report https://github.com/perl6/specs/issues/104 .
16:29 Skarsnik oh append flat?
16:29 awwaiid uvtc: perfect, thanks!
16:30 uvtc awwaiid: my pleasure
16:30 dalek rakudo/nom: 2363f35 | (Stefan Seifert)++ | lib/NativeCall.pm6:
16:30 dalek rakudo/nom: Fix possible bool and size_t type mismatch in NativeCall
16:30 dalek rakudo/nom:
16:30 dalek rakudo/nom: Spotted by Skarsnik++
16:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2363f35511
16:30 nine Skarsnik: ^^^
16:30 alpha123 Juerd: I don't think there's anything weird about this. JavaScript for example has push() and concat(), as does Python (append() and +)
16:31 alpha123 (why python uses append for push is beyond me)
16:31 Juerd alpha123: Not weird, just incredibly annoying.
16:31 alpha123 Juerd: they do very different things, it just so happens you can get push() to work like append by using list flatten operator
16:32 Juerd alpha123: They do the same thing, only interpreting their arguments slightly differently.
16:32 Skarsnik assuming longlong are 8 bits is really weird for me x)
16:32 alpha123 mm... technically correct I suppose, but that leads to very different results
16:32 Skarsnik *8 bytes I am not even sure if it's true for every arch
16:32 Juerd alpha123: But the discussion is useless. The decision has been made and it's not going to be changed.
16:32 alpha123 fair
16:32 alpha123 Skarsnik: when is long long not 8 bytes?
16:33 alpha123 (AArch64, x86_64, and IA64 all have 8 byte long longs)
16:34 co-gnome joined #perl6
16:35 Skarsnik long long must contain at least 64 bits.
16:36 uvtc hankache: thanks.
16:36 uvtc grondilu : thanks for the pointer to S07. It's nicely written and short. :)
16:36 khw joined #perl6
16:36 hankache uvtc welcome dear
16:41 timotimo i wonder if buildall has some opportunities for optimization
16:41 uvtc left #perl6
16:42 timotimo i think i'll start by outputting all buildallplans and then time every execution
16:42 timotimo like, how many buildallplans are just a single item? how many are empty? how costly are those?
16:44 hankache how would you store a txt file in an array, each line being stored as an element ?
16:44 hankache IO.lines ?
16:44 timotimo yeah, that's how i'd do it
16:45 timotimo you may be interested in the chomp named parameter, too
16:46 hankache thanks
16:46 virtualsue joined #perl6
16:47 brrt joined #perl6
16:48 bpetering joined #perl6
16:48 bpetering o/
16:48 yoleaux 5 Jan 2016 18:46Z <timotimo> bpetering: great to hear we're getting libsodium bindings :)
16:48 bpetering regarding libsodium bindings, I have another point of confusion with NativeCall
16:48 bpetering what's the correct type and signature to get a C library to write back into a string?
16:49 brrt \o #perl6
16:50 timotimo bpetering: sounds like you want to have a CArray of int8 or char or something and pass that so it gets passed to the C function as a pointer to the storage area
16:50 bpetering o/ brrt
16:50 dalek rakudo/language_versions: de5628d | (Stefan Seifert)++ | / (5 files):
16:50 dalek rakudo/language_versions: First attempt at adding a CORE.d setting
16:50 dalek rakudo/language_versions: review: https://github.com/rakudo/rakudo/commit/de5628d12d
16:50 dalek rakudo/language_versions: c528f0e | (Stefan Seifert)++ | / (4 files):
16:50 dalek rakudo/language_versions: Bring back IO::ArgFiles in 6.c and remove it only in 6.d
16:50 dalek rakudo/language_versions:
16:50 dalek rakudo/language_versions: nine@sphinx:~> perl6 -e 'IO::ArgFiles.new;'
16:50 dalek rakudo/language_versions: nine@sphinx:~> perl6 -e 'use v6.d; IO::ArgFiles.new;'
16:50 dalek rakudo/language_versions: Could not find symbol '&ArgFiles'
16:50 dalek rakudo/language_versions: review: https://github.com/rakudo/rakudo/commit/c528f0e5a1
16:50 nine lizmat: ^^^
16:50 bpetering timotimo: I'm trying with a Str (since that's what NativeCall docs say to use for char*)
16:50 bpetering gist: https://gist.github.com/bpetering/d30f940f5c3b3369a23e
16:51 bpetering (also, to my mind it seems like a Buf is the more appropriate type, but I'm just going along with the docs)
16:51 Skarsnik This should work
16:51 timotimo Buf works well, too.
16:51 timotimo really anything with VMArray repr should do the trick
16:51 Skarsnik what does it do bpetering ?
16:52 timotimo Str only works well when passed as a const char* (or whatever spelling means "can't change it") or returned from a native routine
16:52 timotimo since Str will always be encoded for you when passing to a C function
16:53 bpetering $out is empty
16:53 timotimo and that means you get a different memory area every time
16:53 timotimo passing a Str that's supposed to be changed from the C code will not work for that reason
16:53 bpetering timotimo: ah. makes sense
16:54 bpetering that clears up one confusion
16:54 Skarsnik hm nc give a copy?
16:55 timotimo don't forget Str is actually an opaque array of NFG codepoints
16:55 bpetering yeah, that's why I think Buf makes more sense
16:55 timotimo aye
16:55 bpetering C doesn't know about NFG codepoints
16:55 timotimo right, and exposing NFG codepoints should always be considered a bug in moarvm
16:55 ZoffixW joined #perl6
16:55 bpetering anyway, changing to "Buf is rw" just segfaults
16:56 timotimo you don't need "is rw" there
16:56 Skarsnik You need to alloc/size the buf correctly
16:56 timotimo "is rw" would give you an extra * for the signature
16:56 timotimo that, too
16:56 bpetering timotimo: thanks, good catch
16:56 bpetering Skarsnik: give a copy?
16:56 ZoffixW Fun example from our Facebook page. Without running the code, predict the output of the program: my $x = time; is-prime(2016 ** 2016 - 15175) and say $x - time;
16:57 Skarsnik You can try explicitly-managed on the Str, it change some thing on the string
16:57 timotimo ZoffixW: hm. 0?
16:57 ZoffixW timotimo, yeah :)
16:57 timotimo our is-prime is very fast due to being the stochastic method
16:57 timotimo also ... that's not a prime, eh?
16:58 ZoffixW timotimo, oh, that's what I first thought too, but nope, that's NOT the answer. The code takes forever to run due to raising to 2016 power and it *is* a prime
16:58 timotimo oh, eh?
16:58 ZoffixW timotimo, it's 0 because the expression inside .is-prime() is optimized at compile time to a proper number :)
16:58 timotimo m)
16:58 timotimo excellent
16:59 timotimo i forgot about compile-time-evaluation
16:59 Skarsnik lol
16:59 timotimo yeah, if you have that in a module, the compilation will be slow, but running it will be very fast every time
16:59 bpetering Skarsnik: no segfault, but no output either
17:00 bpetering timotimo: is there a way to size/alloc a Buf without passing a nonsense list (of the appropriate size) to .new?
17:00 timotimo should be able to just set the nth element
17:00 Skarsnik yes, like with CArray
17:00 Skarsnik NC need a realy CStr type
17:01 Skarsnik an unencoded Str type with the nice method of Str but more craw
17:01 _Vi joined #perl6
17:01 pierre-vigier joined #perl6
17:01 bpetering Skarsnik: i suspect so, since perl 6 Strs are not C strings
17:02 bpetering my first inclination was to use a Buf though
17:02 timotimo bpetering: i see you didn't revise your gist yet
17:02 lnrdo joined #perl6
17:03 dalek ecosystem: d21b0bc | (Zoffix Znet)++ | META.list:
17:03 dalek ecosystem: Add IRC::Client::Plugin::Factoid to ecosystem
17:03 dalek ecosystem:
17:03 dalek ecosystem: IRC::Client plugin providing capabilities of a factoid bot: https://github.com/zoffixznet/perl6-IRC-Client-Plugin-Factoid
17:03 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/d21b0bcf34
17:03 bpetering timotimo: updated
17:03 ELBeavers joined #perl6
17:03 mspo C strings?
17:03 bpetering That works now, since $out[0] == 104
17:03 bpetering I'm assuming the rest is correct
17:04 Skarsnik Where is my feature to add even ZoffixW!
17:04 timotimo bpetering: i didn't know you could write the signature without variables like that ...
17:04 bpetering but Buf doesn't do Stringy, is there a clever way to get back to something sayable?
17:04 timotimo you'd decode it
17:04 ZoffixW Skarsnik, which one?
17:04 Ch0c0late joined #perl6
17:05 bpetering timotimo: NativeCall seems to have gained a lot of flexibility in the last few months
17:05 bpetering someone++ (jnthn?)
17:05 ZoffixW Skarsnik, what do you mean?
17:05 timotimo bpetering: on the other hand, maybe it just compiles by accident and doesn't work for that reason?
17:05 Skarsnik m: sub foo(Str) {say $}; foo("Hello");
17:05 camelia rakudo-moar 2363f3: OUTPUT«(Any)␤»
17:06 Skarsnik m: sub foo(Str) {say "plop"}; foo("Hello");
17:06 camelia rakudo-moar 2363f3: OUTPUT«plop␤»
17:06 Skarsnik timotimo, NC only care about the type of the param
17:06 timotimo hm, OK
17:06 Skarsnik Why would the name matter?
17:06 bpetering timotimo: nah, language/nativecall explicitly has examples of nameless arguments
17:06 ilmari m: sub foo(Str) { say $^a }; foo "Hello"
17:06 camelia rakudo-moar 2363f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jIBYm1Cpux␤Placeholder variable '$^a' cannot override existing signature␤at /tmp/jIBYm1Cpux:1␤------> 3sub7⏏5 foo(Str) { say $^a }; foo "Hello"␤»
17:06 timotimo i thought perhaps it's syntax for "if the Str type object is passed, invoke this candidate"
17:06 bpetering sub RenderBarChart(Str, int, ...
17:06 timotimo just like multi sub foo(1) etc
17:07 bpetering timotimo: I didn't consider that
17:07 Skarsnik ZoffixW, having pluging in irc::client that add new event
17:07 timotimo but it seems to be all right
17:07 bpetering timotimo: I was assuming (unconsciously) that it was similar to old-style C arguments, where the signature doesn't include argument names
17:08 timotimo mhm
17:08 ZoffixW Skarsnik, that's still on the TODO list :)
17:08 ZoffixW Skarsnik, the plugins I'm writing ATM let me see what sucks in IRC::Client. And I'm fixing those things
17:09 bpetering timotimo: anyway, success! updated gist that works: https://gist.github.com/bpetering/d30f940f5c3b3369a23e
17:09 Skarsnik Should I only convert const char* in routine call to Str and let the char * as Buf or Array with gptrixie?
17:09 bpetering timotimo: setting the Buf length did the trick (though I think there should be a less hacky way to do this)
17:10 bpetering timotimo: and basically the entirety of libsodium is taking two buffers and writing back into one of them, so I'm happy now :)
17:10 Skarsnik bpetering, new on Buf as nothing to set the size?
17:10 bpetering timotimo++ Skarsnik++
17:10 Skarsnik *has
17:10 bpetering umm, I think it only takes a list of contents
17:11 Skarsnik maybe Blob has it? these two class are confusing x)
17:11 bpetering unless there's some undocumented stuff
17:12 bpetering Blob seems not to have it either
17:12 Skarsnik m: for Buf.^attributes -> $a { say $a.name};
17:12 camelia rakudo-moar 2363f3: ( no output )
17:12 ZoffixW How can I execute a bit of code when my module is `use`ed. Similar to how Perl 5 has sub import { ... }
17:12 Skarsnik BEGIN?
17:13 timotimo bpetering: you can also just assign 0 xx $len
17:13 timotimo Skarsnik: no.
17:13 Skarsnik m: for @(Buf.^attributes) -> $a { say $a.name};
17:13 camelia rakudo-moar 2363f3: ( no output )
17:13 timotimo ZoffixW: just put code into the mainline of the modules
17:13 ZoffixW Oh, goodie "Constraint type check failed for parameter '$precomp-id'"
17:13 bpetering timotimo: that was my other thought
17:14 bpetering m: my $b = Buf.new(0 xx 12); say $b[11]
17:14 camelia rakudo-moar 2363f3: OUTPUT«0␤»
17:14 bpetering timotimo: it works, but seems less than ideal
17:14 ZoffixW timotimo, hm. I guess my further question is: is it possible to provide arguments to the `use`? use Foo::Bar 'gibblets';
17:14 Skarsnik bpetering, did you try https://github.com/Skarsnik/gptrixie on your lib? x)
17:14 bpetering oooohhhhhhh
17:15 bpetering writing something like that was in the back of my mind this week, nice
17:15 lsm-desktop joined #perl6
17:15 Skarsnik Probably need to figure how to work this Str vs Buf issue
17:15 timotimo ZoffixW: yes, you write an EXPORT sub for that
17:15 bpetering Skarsnik: i'm strongly against strings, since Perl 6 has deliberately moved away from byte semantics
17:15 bpetering *strongly against Str
17:16 bpetering Skarsnik: I suggest using Buf, but figure out some way to set the size more elegantly
17:16 bpetering Skarsnik: (I'm surprised that's not there already)
17:18 Skarsnik There is an is encoded trait in NC to handle the encode of Str
17:18 Skarsnik but I could probably generate Str in case of const char* and Buf in case of char * only
17:19 Skarsnik in C routine
17:20 bpetering Skarsnik: that ought to work, but I think it's confusing (maybe I wouldn't complain, but NativeCall is meant to be... seamless, or something)
17:21 bpetering Skarsnik: but I can't think of anything better off the top of my head, either :o)
17:22 Skarsnik I should maybe output each arg with his full C type definition in comment
17:22 ZoffixW Reported the precomp bug mentioned above: https://rt.perl.org/Ticket/Display.html?id=127192
17:22 bpetering Skarsnik: yes, definitely... I think that should be a best practice for NativeCall code
17:22 Skarsnik sadly I can't pick up in the header file. I only get the starting line of the sub defintion xD
17:22 bpetering Skarsnik: otherwise you waste heaps of time looking up definitions when debugging
17:24 Skarsnik bpetering, https://gist.github.com/Skarsnik/003b499ec8a0ad20193d the output for C struct
17:25 bpetering Skarsnik: is XML the easiest way to get at the AST or whatever?
17:25 pierre-vigier joined #perl6
17:25 Skarsnik gccxml is the only tool I manage to have working to ouput the ast
17:26 Skarsnik I tried some stuff based around CLang but nothing work for me x)
17:27 Skarsnik I mean if I had time I should write something based on clang/llvm c++ libs...
17:28 bpetering Skarsnik: that's probably a more reliable way to do it, but takes tuits :)
17:28 Skarsnik anyways. afk for a while :)
17:28 bpetering Skarsnik: thanks for your help, and nice work
17:28 Skarsnik well compared to nothing, it's better xD
17:29 bpetering very much so
17:30 ZoffixW timotimo, I'm failing to find EXPORT on docs or in the spec. Do you where there are any? Says "&EXPORT sub did not return an Map" and I don't know what it wants me to return
17:31 timotimo a hash-like of symbols the user of the module wants to have in their lexical environment
17:34 RabidGravy joined #perl6
17:36 ZoffixW I'm guessing this is it. Gonna document it, if I figure it out: https://github.com/rakudo/rakudo/blob/0f26aef534dbfe5f650194ca6957470f754c08c0/src/Perl6/World.nqp#L310
17:36 abraxxa joined #perl6
17:37 dalek rakudo/nom: c19142c | moritz++ | src/core/Date (2 files):
17:37 dalek rakudo/nom: RT#127186: Improve error message for Dat and DateTime constructor
17:37 dalek rakudo/nom:
17:37 dalek rakudo/nom: by adding a proto we can get rid of the Mu.new fallback
17:37 dalek rakudo/nom: which produces a misleading error message on dispatch failure
17:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c19142cf26
17:40 timotimo thank you, ZoffixW
17:41 ZoffixW I don't know *where* to document though.
17:41 ZoffixW Oh, ffs.. It *is* documented lol :) http://docs.perl6.org/language/modules#EXPORT
17:41 ZoffixW Our search just sucks
17:42 salv0 joined #perl6
17:42 bpetering ZoffixW: I've found the same thing... maybe for now check out the source files and find | xargs grep?
17:43 moritz git grep is faster :-)
17:43 bpetering moritz: yeah, or that :)
17:43 moritz or a google search on site:doc.perl6.org
17:44 bpetering that makes me wonder, do we have sensible anchors and so on so Google can link straight to particular sections of the docs?
17:44 bpetering that's frequently quite useful
17:45 bpetering (I'm happy to work on that, how is the build for docs.perl6.org currently set up?)
17:45 dalek doc: d930521 | (Zoffix Znet)++ | doc/Language/modules.pod:
17:45 dalek doc: Add index flag for EXPORT
17:45 dalek doc: review: https://github.com/perl6/doc/commit/d9305216e0
17:45 gfldex m: sub f( &c:(Int) ){}; sub a(Int){}; sub b(){}; f(&a); f(&b);
17:45 camelia rakudo-moar 2363f3: OUTPUT«Cannot call 'shift' on an immutable 'List'␤  in sub f at /tmp/8kwRlXv_YW line 1␤  in block <unit> at /tmp/8kwRlXv_YW line 1␤␤»
17:46 gfldex LTA error i assume
17:46 ZoffixW I'd say so, considering there's no `shift` in sight :P
17:46 gfldex m: sub f( &c:(Int) ){}; sub a(Int){}; sub b(){}; f(&a); # f(&b);
17:46 camelia rakudo-moar 2363f3: ( no output )
17:47 gfldex it's a failed type check against the given signature
17:47 ZoffixW What's "&c:(Int)"?
17:47 gfldex :(Int) is the signature of that callback
17:47 gfldex or better the "type check" thereof
17:47 gfldex i shall doc
17:48 nige1 joined #perl6
17:48 ZoffixW I see. But there's no sub c {}. Shouldn't it cry?
17:48 moritz ZoffixW: &c is the parameter
17:48 ZoffixW Oh, it's in the sig
17:48 ZoffixW I'm blind :P
17:53 kaare_ joined #perl6
17:55 ZoffixW huggable, export
17:55 huggable ZoffixW, nothing found
17:55 ZoffixW huggable, EXPORT
17:55 huggable ZoffixW, Perform custom logic, take parameters, or generate custom symbols to export on module's `use`: http://docs.perl6.org/language/modules#EXPORT
17:55 ZoffixW \o/
17:56 ZoffixW huf, I foresee myself often giving you bot commands in the future... 'huTAB'
17:58 timotimo neato
17:58 bpetering huggable: Buf
17:58 huggable bpetering, role Buf [Mutable buffer for binary data]: http://doc.perl6.org/type/type/Buf
17:59 timotimo huggable: NativeCall
17:59 huggable timotimo, nothing found
17:59 huf ZoffixW: write an irssi script that recognises bot commands and re-sends them to the bot
17:59 huf and i'll run it
17:59 timotimo haha
17:59 bpetering "http://doc.perl6.org/type/type/Buf" has an extra /type I think
18:00 bpetering huggable: nativecall
18:00 huggable bpetering, nothing found
18:00 ZoffixW bpetering, it only knows the Types and the couple of commands I manually told it to remember
18:01 domidumont joined #perl6
18:01 bpetering ah. it's quite cool regardless
18:01 xxpor_lap joined #perl6
18:03 ZoffixW huggable, Buf
18:03 huggable ZoffixW, role Buf [Mutable buffer for binary data]: http://doc.perl6.org/type/Buf
18:03 ZoffixW bpetering++ thanks fixed.
18:04 gfldex m: class Foo { has &.callback:(Int) };
18:04 camelia rakudo-moar c19142: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dWnFbmBEuT␤You can't adverb has &.callback␤at /tmp/dWnFbmBEuT:1␤------> 3class Foo { has &.callback:(Int)7⏏5 };␤»
18:05 gfldex how do i do that?
18:05 ilmari gfldex: what are you trying to do? specify the signature of the callback?
18:05 timotimo i think it only works in function signatures?
18:06 ZoffixW m: class Foo { has (&.callback:(Int)) }; sub f(Int){}; my $f = Foo.new; $f.callback = &f;
18:06 camelia rakudo-moar c19142: OUTPUT«Method 'callback' not found for invocant of class 'Foo'␤  in block <unit> at /tmp/G3kPb0YcJn line 1␤␤»
18:06 ZoffixW :/
18:07 ZoffixW m: class Foo { has ($.bars) }; Foo.new.bars = 42;
18:07 camelia rakudo-moar c19142: OUTPUT«Cannot modify an immutable Any␤  in block <unit> at /tmp/5sqd1TGmjJ line 1␤␤»
18:07 ZoffixW What is has ($.bars)?
18:07 ZoffixW Oh nm
18:07 ZoffixW There's not writable by default
18:08 ugexe is there a way other than a black/white list of characters so either the file creation fails, or the check of existence fails?
18:08 ugexe Windows: `perl6 -e "'foo:bar'.IO.spurt('test')" # empty file "foo" created` -- `perl6 -e "'foo:bar'.IO.e.say" # True`
18:08 ZoffixW :o
18:09 ZoffixW Both of those are bugs
18:10 ugexe .abspath shows C:\blah\blah\foo:bar
18:10 ugexe i wondered if the check for existence could somehow compare that against what is actually there
18:12 leont joined #perl6
18:13 ZoffixW I think it'd need to be more comprehensive thatn black/white list characters only. A filename with just spaces in it is not valid, for example.
18:13 ZoffixW And what's shocking is it works on Linux... and ls -alF fails to show it :o
18:14 * geekosaur whispers "-b"
18:14 geekosaur or -1, which at least would clue you in a bit
18:14 ZoffixW That works -b
18:14 geekosaur oh, -l would imply that anyway
18:15 ZoffixW Oh, it does show up with -alF. It's just not very obvious when it's a single file :P
18:15 geekosaur on posix systems any character except / and \0 can be a filename component. but tools like ls will not always do something sensible
18:16 lichtkind joined #perl6
18:17 geekosaur (interestingly I note gnu ls seems to handle another screw case there: the filename $'\n\n\n' (in bash syntax) shows as '???')
18:20 lichtkind why  want to create a directory?
18:20 ugexe the fact the spurt returns True although it does not write anything to it is strange
18:20 ugexe you dont want to, its to prevent injection attacks
18:22 ugexe if you use $some-url.basename.spurt(get($some-url)) and it returns true even though it does not create the correct path or write anything to that file it can also lead to problems/confusion
18:23 ugexe so even if you think you sanitized the path, how do you actually check
18:23 lichtkind i get
18:23 lichtkind Failed to create directory '/home/lichtkind/.perl6/2015.11-522-g82f273b/dist' with mode '0o777': Failed to mkdir: 13
18:24 ugexe my statement was prefixed with "Windows:"
18:24 lichtkind for doing perl6 -I lib c.pl
18:24 ZoffixW Where's nqp::open() defined? I see sub open in nqp repo, but it just calls nqp::open :S https://github.com/perl6/nqp/blob/master/src/core/IO.nqp#L13
18:24 lichtkind i dont get it
18:24 ugexe -Ilib not -I lib
18:24 lichtkind same thing
18:24 dalek doc: a281cb8 | (Wenzel P. P. Peppmeyer)++ | doc/ (3 files):
18:24 dalek doc: doc signature constraints
18:24 dalek doc: review: https://github.com/perl6/doc/commit/a281cb8ac4
18:24 dalek doc: d4cf940 | (Wenzel P. P. Peppmeyer)++ | doc/ (3 files):
18:24 dalek doc: Merge pull request #320 from gfldex/master
18:24 dalek doc:
18:24 dalek doc: doc signature constraints
18:24 dalek doc: review: https://github.com/perl6/doc/commit/d4cf9401ae
18:24 ZoffixW lichtkind, what's c.pl?
18:24 lichtkind ugexe i tried many permutations
18:25 lichtkind its a simple print
18:25 lichtkind jsut testing how it winds modules
18:25 ZoffixW gfldex++ # docs
18:25 nine lichtkind: that looks like a seriously outdated rakudo version
18:26 lichtkind i will recompile but i thought it was fresh
18:27 lichtkind maybe i always refreshed only on one mashine
18:31 aenaxi joined #perl6
18:31 abraxxa joined #perl6
18:31 cygx joined #perl6
18:33 SwellJoe joined #perl6
18:33 cygx ZoffixW: for moarvm, open is defined in https://github.com/perl6/nqp/blob/master/src/vm/moar/QAST/QASTOperationsMAST.nqp#L2023 and implemented in https://github.com/MoarVM/MoarVM/blob/master/src/core/interp.c#L3173 calling https://github.com/MoarVM/MoarVM/blob/master/src/io/syncfile.c#L457
18:34 gfldex m: sub f(Int --> Str){ 'foo' }; say so &f ~~ :(Int --> Str);
18:34 camelia rakudo-moar c19142: OUTPUT«False␤»
18:34 ZoffixW Ah, I get how it works now. Thanks, cygx++
18:34 ZoffixW I guess I finally have a useful need to learn C heh
18:35 * ZoffixW tried multiple times in the past, but got bored due to having nothing to code
18:36 lichtkind nine++ shameful i have to admit
18:36 lichtkind it was old
18:36 pierre-vigier joined #perl6
18:36 lichtkind it works now
18:36 lichtkind this version had bug with -T.
18:36 lichtkind this version had bug with -I.
18:37 ugexe a rigged solution i suppose would be to grep the contents of $dir.IO.dir
18:39 abraxxa joined #perl6
18:40 zakharyas joined #perl6
18:40 gfldex m: sub f(Int --> Str){ 'foo' }; say so &f.signature ~~ :(Int --> Str);
18:40 camelia rakudo-moar c19142: OUTPUT«True␤»
18:40 * gfldex slaps gfldex
18:42 japhb .tell lizmat Thanks for fixing my Date + role bug!  Nice not to have to work around that one.  :-)
18:42 yoleaux japhb: I'll pass your message to lizmat.
18:46 [Coke] nine++ # use v6.d
18:47 japhb nine: Now that the precomp stuff has settled a bit, what's the recommended way to have a library of local modules to be used for personal scripts, but that doesn't make those scripts really slow to load.  Should I be making a library project tree, and 'panda install .' every time I edit one of the libs?  If so, is ufo still the right tool for making that project tree locally installable?
18:47 ZoffixW japhb, the first time you use those modules, they'll precompile in the .precomp folder
18:47 ZoffixW (i.e. you don't need to install anything)
18:48 japhb ZoffixW: So even stuff that's just referred to via -Ilib or RAKUDOLIB or 'use lib "lib"' or so will all precompile properly?
18:48 ZoffixW Yeah
18:48 japhb \o/
18:48 japhb Oh that makes things way easier.
18:50 japhb It does mean that my "rebuild the world" script should probably end by running a child script that 'use's all my local modules, just so I can make sure they are precomped even after a total rebuild (which I do nearly daily)
18:50 cdg joined #perl6
18:52 japhb ZoffixW: Er, where does the .precomp folder end up?
18:53 japhb Wait, it ends up in .../rakudo/lib instead of .../rakudo/install/lib ?  That seems ... odd.
18:54 japhb Also, how can you tell which modules are loaded from already-precompiled forms, and which had to be compiled on the fly?
18:54 araujo joined #perl6
18:54 araujo joined #perl6
18:55 ugexe at the moment, probably have to capture output from RAKUDO_PRECOMP_DEBUG or whatever or check if the sha1 of the source exists as a file at some location
18:55 ZoffixW jdv79, my wild guess is it ends up in the /lib path under which the module was found: https://gist.github.com/zoffixznet/7678f694d110ad8fd479
18:56 nine [Coke]: I'd hoped this would make you happy :)
18:56 cygx if you pass a -I manually, it apparently ends up in the first of those
18:56 * cygx still hasn't read up on it precompilation :(
18:57 cygx s/it//
18:57 ZoffixW A better example: https://gist.github.com/zoffixznet/2ff5b21a26db9c6453a8
18:57 ZoffixW Ah
18:57 nine japhb: the major difference between an installation repo and a plain -I is that the former supports versioning, auths and apis. If you use lib or -I or PERL6LIB to load from a plain directory, those modules will always be loaded regardless of requested version or auth.
18:58 ZoffixW I don't really care where it ends up, as long as it works ^_^
18:58 nine japhb: other than that, both do precompilation on first load
18:59 nine japhb: when you run with -Ifoo/lib we store precompiled files in foo/lib/.precomp
18:59 nine japhb: without any PERL6LIB or -I or use lib we store in ~/.perl6
19:00 japhb nine: Ah, OK, thank you
19:00 nine japhb: RAKUDO_MODULE_DEBUG=1 or RAKUDO_PRECOMP_LOG=1 may answer questions about which modules had to be precompiled
19:00 * [Coke] hopes someone takes that ^^ and adds it to a precompilation doc page.
19:00 japhb [Coke]: Agreed.
19:01 lnrdo_ joined #perl6
19:02 firstdayonthejob joined #perl6
19:02 ugexe i imagine that will change though to not require storing in a user specific path for every CU::R so it might not be worth documenting yet
19:03 ugexe a system wide install for instance
19:03 japhb Woah, RAKUDO_MODULE_DEBUG gives a lot of interesting output, not all of it obvious.  Is it documented somewhere, or "use the source, luke"?
19:04 RabidGravy my working hypothesis for the t/04-nativecall/13-union.t failing on RPi is that nativesizeof isn't taking the arm's eight byte alignment for eight byte types into account
19:05 hoelzro japhb: it probably should be doc'd
19:05 hoelzro yikes, are any of the RAKUDO_* env vars doc'd?
19:05 hoelzro I know in MoarVM we're pretty good about it
19:06 hoelzro I wonder if we should have a "VM tuning" doc page that covers RAKUDO_*, MVM_*, and links to some JVM tuning stuff
19:06 timotimo there's not terribly much "tuning" the env vars allow you
19:06 ugexe rakudo jvm on windows fails to install at tools/build/install-core-dist.pl with
19:06 * japhb is particularly interested whether checking every module 'use' as a pragma first has non-negligable cost, and what "Late loading" and "3766 SET RMD" actually mean
19:06 ugexe Missing serialize function for REPR ContextRef D57DE2EF74B56D825F14A3B5B0E6402D49B53D5B C:\Users\Nick\Documents\GitHub\rakudobrew\jvm-nom\install\share\nqp\sources\D57 DE2EF74B56D825F14A3B5B0E6402D49B53D5B Return status 256
19:07 japhb hoelzro: +1
19:07 hoelzro ugexe: that happens on *nix too =(
19:07 spider-mario joined #perl6
19:08 ugexe ah, the travis shows it as passing but thats incorrect i see
19:12 telex joined #perl6
19:13 b2gills m: #`( reliably backwards, may be useful for testing hyper/race ) my @a; ++@a[5]; say eager (^5).race(:1batch,:5degree).map: {until @a[$_+1] {sleep .001}; sleep .01; ++@a[$_]; $_} # designed so that exact timing doesn't matter, and it runs decently fast
19:13 camelia rakudo-moar c19142: OUTPUT«(4 3 2 1 0)␤»
19:13 pi4 joined #perl6
19:14 hoelzro ugexe: yeah, travis a liar
19:14 ugexe i think the tap harness is a liar
19:16 hoelzro as far as the exit code goes?
19:16 ugexe yeah
19:16 nine ugexe: yes, I think we will store all precomp files in ~/.perl6 in the future.
19:17 nine japhb: checking for pragmas is just a hash lookup
19:18 nine "3766 SET RMD" is $*PID, "CORE setting" and "RakudoModuleDebug"
19:18 ugexe thats a shame
19:19 diego_k o/ is there any "recommended" module for http client?. I'm using HTTP::UserAgent and it mostly works ok but it always fails when requesting on localhost (but works using 127.0.0.1) :-)
19:20 llfourn joined #perl6
19:21 gfldex m: my role Foo { has $.a = 42; }; my $a = sub () {} does Foo; say $a.a;
19:21 camelia rakudo-moar c19142: OUTPUT«42␤»
19:21 japhb nine: Ah, OK.  What is the "Late loading" thing about.  All my modules seem to have that.
19:21 * japhb keeps ending his questions with a period for some reason ....
19:22 RabidGravy diego_k, remove the ipv6 address from your /etc/hosts for localhost
19:22 japhb RabidGravy: It doesn't speak IPv6?
19:23 RabidGravy er
19:23 RabidGravy it does, but I bet the http server on localhost doesn't
19:23 japhb Ah!  I see.
19:24 RabidGravy there's an RT on rakudo, it will try to use v6 if it get's a v6 address and fails if it can't connect
19:25 diego_k RabidGravy: oh!, now it works... I guess I should document it if I release this till that RT is solved, right?
19:26 diego_k RabidGravy: thank you!
19:27 japhb nine: Oh wait, "Late loading" just means "Not during bootstrap"?
19:27 RabidGravy I guess so,  occassionally the tests for H::UA fail when the DNS returns a v6 address for one of the test hosts
19:29 nige1 joined #perl6
19:31 bpmedley joined #perl6
19:31 pierre-vigier joined #perl6
19:31 hoelzro I think that problem goes as low as IO::Socket, because I remember panda having that problem when it implemented its own little HTTP client
19:31 nine japhb: exactly
19:33 tony-o suwhy would we store all the precomp files in ~/.perl6 ?
19:33 lichtkind -> is way  to high in precedence table
19:34 nine tony-o: because precompilation on installation doesn't work anyway, or at least not usefully. And people don't like those .precomp directories.
19:34 RabidGravy hoelzro, yeah, I think it's infact a libuv thing.  If it does gethostbyname it just uses the first adress it gets and if that's a v6 address where the socket isn't listening it fails
19:34 lichtkind for ^($.row-count - 1) -> $r {
19:34 lichtkind without these braces it does not work
19:35 moritz lichtkind: but that's because of relative precendence of prefix:<^> and infix:<->
19:35 nine lichtkind: after 15 years of adjusting and optimizing those things, I tend to assume that all other options would be worse in other use cases
19:35 moritz lichtkind: not because of ->
19:36 FROGGS I agree with moritz
19:36 FROGGS it is not about -> at all
19:36 FROGGS m: say ^10 - 1
19:36 camelia rakudo-moar c19142: OUTPUT«-1..^9␤»
19:36 FROGGS m: say ^(10 - 1)
19:36 camelia rakudo-moar c19142: OUTPUT«^9␤»
19:36 ZoffixW wat
19:36 ZoffixW m: say 5 - 1
19:36 camelia rakudo-moar c19142: OUTPUT«4␤»
19:36 RabidGravy it seems the io::socket::inet ignores the AF_ family
19:37 ZoffixW m: my @a = ^10 - 1; say @a
19:37 camelia rakudo-moar c19142: OUTPUT«[-1 0 1 2 3 4 5 6 7 8]␤»
19:37 ZoffixW *mind blown* Perl 6++
19:37 lichtkind but minus is way higher in the table than ^
19:37 FROGGS that's a recent addition by TimToady++ btw
19:37 AlexDaniel ZoffixW: yeah, that's actually pretty recent
19:37 AlexDaniel m: my @a = ^10 * 5; say @a
19:37 camelia rakudo-moar c19142: OUTPUT«[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49]␤»
19:37 ugexe why not fix precompilation on install if thats the actual problem?
19:38 AlexDaniel m: my @a = 3..5 * 5; say @a
19:38 camelia rakudo-moar c19142: OUTPUT«[3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25]␤»
19:38 FROGGS lichtkind: you wanna tell me that an infix is tighter than a prefix?
19:38 AlexDaniel m: my @a = (3..5) * 5; say @a
19:38 camelia rakudo-moar c19142: OUTPUT«[15 16 17 18 19 20 21 22 23 24 25]␤»
19:38 AlexDaniel ok
19:38 AlexDaniel hmm
19:38 AlexDaniel m: say (3..5) * 5
19:38 camelia rakudo-moar c19142: OUTPUT«15..25␤»
19:39 AlexDaniel m: say (3..5)²
19:39 camelia rakudo-moar c19142: OUTPUT«9␤»
19:39 AlexDaniel m: say (3..5) % 2
19:39 camelia rakudo-moar c19142: OUTPUT«1␤»
19:40 FROGGS lichtkind: do you mix the prefix - and the infix minus by any chance?
19:40 renatolrr joined #perl6
19:40 lichtkind FROGGS no my error was rather seen any other ^ in the table as the one i used
19:40 ZoffixW m: say (3..5) * (3..5)
19:40 camelia rakudo-moar c19142: OUTPUT«9␤»
19:41 lichtkind I actually dont see that in the table
19:41 ugexe its kind of a step backwards from where we were a year ago
19:42 FROGGS lichtkind: but as a rule of thumb: postfix, prefix, infix (from tighter to looser)
19:42 ZoffixW lichtkind, what's the error>?
19:42 ZoffixW m: my $row-count = 5; for ^$row-count - 1 -> $r { say $r }
19:42 camelia rakudo-moar c19142: OUTPUT«-1␤0␤1␤2␤3␤»
19:42 ZoffixW m: my $row-count = 5; for (^$row-count - 1) -> $r { say $r }
19:42 camelia rakudo-moar c19142: OUTPUT«-1␤0␤1␤2␤3␤»
19:42 FROGGS m: my $row-count = 5; for ^($row-count - 1) -> $r { say $r }
19:42 camelia rakudo-moar c19142: OUTPUT«0␤1␤2␤3␤»
19:42 lichtkind ZoffixW its fixed by now
19:42 FROGGS that's his thinko
19:43 ZoffixW What's "thinko"? :)
19:43 dalek ecosystem: 6345e77 | jnthn++ | META.list:
19:43 dalek ecosystem: Add Test::IO::Socket::Async.
19:43 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/6345e77bbc
19:43 masak ZoffixW: a thinking error
19:43 masak ZoffixW: like a typo, but for thoughts
19:43 ZoffixW ahhh
19:43 ZoffixW masak++
19:43 masak I sure hope "thinko" is in S99 ;)
19:44 ZoffixW heh yeah: http://design.perl6.org/S99.html#thinko
19:44 lichtkind FROGGS but ^ is not in the table?
19:45 FROGGS lichtkind: show me that table please
19:45 masak I don't know if I agree with "improperly expecting code to DWIM" -- a thinko could be basically anything
19:45 FROGGS aye
19:45 lichtkind https://design.perl6.org/S03.html#Operator_precedence
19:45 ZoffixW ehe.. Linode got hax0red: https://blog.linode.com/2016/01/05/security-notification-and-linode-manager-password-reset/
19:46 leont joined #perl6
19:47 FROGGS m: say &prefix:<^>.prec, &prefix:<->.prec
19:47 camelia rakudo-moar c19142: OUTPUT«prec => v=prec => v=␤»
19:47 * masak kind of enjoys that the explanation of "ufo" is "see here", with a link that takes you to a README that goes on and on about an alien abduction :P
19:47 FROGGS lichtkind:   L  Symbolic unary    ! + - ~ ? | || +^ ~^ ?^ ^
19:47 ZoffixW lichtkind, isn't it in the "L  Symbolic unary    ! + - ~ ? | || +^ ~^ ?^ ^" row?
19:47 FROGGS I think the same
19:47 ZoffixW lichtkind, which is higher than "L  Additive          + - +| +^ ~| ~^ ?| ?^"
19:47 Upasaka joined #perl6
19:47 FROGGS these are our prefixes
19:48 ZoffixW Or wait
19:48 masak prefixes are pretty tight, yes
19:48 masak you wouldn't expect -9 + 1 to come out as -10
19:48 lichtkind additive is higher than Structural infix
19:48 lichtkind this it at lease where i thought a single ^ is too
19:48 ZoffixW lichtkind, but you're not using a structural infix
19:49 PerlJam lichtkind: so ... all the ^ in that bit of the table really just distracted you from the Symbolic Unary line?  :)
19:49 ZoffixW m: my $row-count = 5; for 0..^$row-count - 1 -> $r { say $r }
19:49 camelia rakudo-moar c19142: OUTPUT«0␤1␤2␤3␤»
19:49 ZoffixW lichtkind, ^ that's what that row shows
19:50 FROGGS and that minus is looser than the range
19:50 lichtkind it was in one row with | so i thought it was a xor
19:50 ZoffixW Is | a xor?
19:50 FROGGS lichtkind: that | is for flattening, so it is also a prefix
19:51 FROGGS ZoffixW: no, he thought the ^ is the xor
19:51 lichtkind yes the junctive is lower
19:51 ZoffixW Ah
19:51 FROGGS lichtkind: your xor is +^ though
19:51 FROGGS or ?^
19:51 FROGGS m: say 1 ?^ 0
19:51 camelia rakudo-moar c19142: OUTPUT«True␤»
19:51 FROGGS m: say 1 ?^ 1
19:51 camelia rakudo-moar c19142: OUTPUT«False␤»
19:51 lichtkind sure but there is a junctive xor too
19:52 FROGGS you mean the word "xor"?
19:52 lichtkind but when | is junctive or
19:52 lichtkind did they change that?
19:52 masak m: class A::B {}; class C { has A::B $.ab .= new } # [RT #126975]
19:52 camelia rakudo-moar c19142: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol A::B␤»
19:53 lichtkind m: say 1 | 2
19:53 camelia rakudo-moar c19142: OUTPUT«any(1, 2)␤»
19:53 FROGGS lichtkind: | can be either a prefix or infix
19:53 FROGGS lichtkind: like + can be
19:53 lichtkind m: say 1 ^ 2
19:53 camelia rakudo-moar c19142: OUTPUT«one(1, 2)␤»
19:53 lichtkind sure
19:53 TEttinger joined #perl6
19:53 lichtkind i just wanted explain my reasoning
19:53 FROGGS yeah, I see now
19:54 lichtkind at least i got it now
19:54 lichtkind thanks for the patience
19:54 FROGGS :o)
19:55 ZoffixW joined #perl6
19:56 n0tjack m: say [\?^] 5..35;
19:56 camelia rakudo-moar c19142: OUTPUT«(5 False True False True False True False True False True False True False True False True False True False True False True False True False True False True False True)␤»
19:56 n0tjack m: say [\^] 5..35;
19:56 camelia rakudo-moar c19142: OUTPUT«(one(5) one(5, 6) one(5, 6, 7) one(5, 6, 7, 8) one(5, 6, 7, 8, 9) one(5, 6, 7, 8, 9, 10) one(5, 6, 7, 8, 9, 10, 11) one(5, 6, 7, 8, 9, 10, 11, 12) one(5, 6, 7, 8, 9, 10, 11, 12, 13) one(5, 6, 7, 8, 9, 10, 11, 12, 13, 14) one(5, 6, 7, 8, 9, 10, 11, 12, 13, …»
19:59 masak ZoffixW++ # https://rt.perl.org/Public/Bug/Display.html?id=127176
19:59 masak ZoffixW: I experience that one too sometimes
20:00 [Coke] BTW, I wouldn't expect the SYN to be up to date going forward; roast/6.c took over part of it, and the docs site should be taking over the rest.
20:00 dalek doc: c3bd982 | (Siavash Askari Nasr)++ | doc/Language/unicode_entry.pod:
20:00 dalek doc: Add another way of entering unicode chars in Emacs
20:00 dalek doc: review: https://github.com/perl6/doc/commit/c3bd98209e
20:00 dalek doc: eb3ba23 | moritz++ | doc/Language/unicode_entry.pod:
20:00 dalek doc: Merge pull request #321 from CIAvash/unicode_entry_emacs_rfc1345_input_method
20:00 dalek doc:
20:00 dalek doc: Add another way of entering unicode characters in Emacs
20:00 dalek doc: review: https://github.com/perl6/doc/commit/eb3ba2399a
20:00 [Coke] is it a sign of precompilation done twice, or of failing during precomp and then failure during execution?
20:01 [Coke] (RT #127176)
20:01 ZoffixW [Coke], would it even get to any execution if compilation failed?
20:03 [Coke] not compilation, pre-compilation. :|
20:03 [Coke] maybe precomp is failing, then comp is failing, is what I'm saying.
20:04 n0tjack m: say 4 = one(6,22,07+8i,4,0,-1);
20:04 camelia rakudo-moar c19142: OUTPUT«Potential difficulties:␤    Leading 0 does not indicate octal in Perl 6.␤    Please use 0o7 if you mean that.␤    at /tmp/j9WMEcfv17:1␤    ------> 3say 4 = one(6,22,077⏏5+8i,4,0,-1);␤Cannot modify an immutable Int␤  in block <unit> at /tm…»
20:04 n0tjack m: say 4 = one(6, 22, -7+8i, 4, 0, -1);
20:04 camelia rakudo-moar c19142: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at /tmp/XuFUhZbamb line 1␤␤»
20:04 iml_ joined #perl6
20:04 n0tjack m: say 4 ~~ one(6, 22, -7+8i, 4, 0, -1);
20:04 camelia rakudo-moar c19142: OUTPUT«True␤»
20:04 ZoffixW m: say $x = one(6,22,07+8i,4,0,-1);
20:04 camelia rakudo-moar c19142: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nhzziI2ZtX␤Variable '$x' is not declared␤at /tmp/nhzziI2ZtX:1␤------> 3say 7⏏5$x = one(6,22,07+8i,4,0,-1);␤»
20:05 ZoffixW (still the 0o7 error if you fix the compile error)
20:05 n0tjack I meant comparison, not assigment
20:05 ugexe [Coke]: probably  https://github.com/rakudo/rakudo/blob/f3e5bee284f1d3ad325a1960989f989d25292033/src/core/CompUnit/Repository/FileSystem.pm#L79
20:05 n0tjack just have too many notations in my head right now
20:06 ZoffixW Oh, I thought the 4,0,-1 part was the one with error. Missed the 07 bit
20:07 n0tjack that was just a typo; finger hit 0 instead of adjacent -
20:09 brrt joined #perl6
20:12 dalek doc: fc0732b | moritz++ | / (2 files):
20:12 dalek doc: Mention graphviz dependency in README.md and CONTRIBUTING.md
20:12 dalek doc:
20:12 dalek doc: Closes #322
20:12 dalek doc: review: https://github.com/perl6/doc/commit/fc0732bbe7
20:13 dalek doc: 915df9d | (John Gabriele)++ | CONTRIBUTING.md:
20:13 dalek doc: de-hyphenize rakudobrew build-panda
20:13 dalek doc: review: https://github.com/perl6/doc/commit/915df9db0a
20:15 ugexe the hyphen was there to differentiate it visually from a perl6 backend, mimicking perlbrew's options
20:16 ugexe perlbrew install-cpanm
20:21 llfourn joined #perl6
20:23 nige1 joined #perl6
20:26 muraiki users found it confusing
20:26 muraiki and "build panda" also worked anyways but was undocumented
20:27 moritz let's hope rakudo never gets a VM backend called "panda" :-)
20:28 masak moritz: don't give people ideas! :P
20:29 ugexe right, hence visually. so those instructions dont match the usage from rakudobrew (not saying anything about if it works)
20:33 deniska joined #perl6
20:33 deniska joined #perl6
20:33 ugexe i argued to have build-panda change to build panda in usage long ago when these points were made to me. also it was stated it was confusing to users. so no matter what its going to be confusing to some users
20:33 nowan_ joined #perl6
20:34 ugexe so now i think consistency is the least confusing option
20:34 RabidGravy I've just put https://rt.perl.org/Ticket/Display.html?id=127194 regarding NC test failures on RPi, I had a bit of a dig but couldn't find anything obvious in the code.
20:38 Juerd What's the nicest way of iterating over two lists? I find "for flat ^Inf Z @things -> $i, $thing { ... }" rather ugly.
20:39 RabidGravy but now the C++ mangling is right for SoundTouch :)
20:41 nowan joined #perl6
20:41 Juerd Also, why does @foo Z @bar create lots of 2-element lists, while @foo X @bar creates one big flattened list?
20:41 Juerd m: say <1 2> Z <a b>
20:41 camelia rakudo-moar c19142: OUTPUT«((1 a) (2 b))␤»
20:41 moritz Juerd: instead of ^Inf Z @things you can iterate over @thinks.kv
20:41 Juerd m: say <1 2> X <a b>
20:41 camelia rakudo-moar c19142: OUTPUT«((1 a) (1 b) (2 a) (2 b))␤»
20:42 vendethiel joined #perl6
20:42 Juerd moritz: That's great in this specific case, thanks :)
20:42 Juerd moritz: But I do think that eventually I'll want to iterate over two named arrays
20:42 moritz Juerd: and in general, Z is the right answer
20:42 moritz I don't find it particularly ugly either
20:43 uvtc joined #perl6
20:43 Juerd Ignore my question about Z and X. I wasn't thinking straight.
20:43 Juerd moritz: Well, what I find ugly is having to use "flat" and "Z" together.
20:43 _nadim joined #perl6
20:44 Juerd I find the resulting code hard to read: for flat @foos Z @bars -> $foo, $bar { ... }
20:44 moritz m: my @a = < a b>; my @x = <x y>; for @a Z @x -> ($a, $b) { say "$a $b" }
20:44 camelia rakudo-moar c19142: OUTPUT«a x␤b y␤»
20:44 moritz Juerd: ^^ a way to avoid the "flat"
20:44 uvtc Personally, what makes the most sense to me would be `rakudobrew build --backend=moar` and `rakudobrew install-panda`, but I saw here that the decision was made to remove the hyphen, and it was removed in the rakudobrew readme, so I then went and removed it elsewhere (perl6.org, perl6/doc).
20:45 itaipu joined #perl6
20:45 Juerd moritz: Oh, that's great! I'd add () around (@a Z @x) for symmetry, but this is a good example.
20:45 Juerd Also, I'll update the rosettacode example, because it seems out of date (pre-GLR?)
20:45 Juerd http://rosettacode.org/wiki/Loop_over_multiple_arrays_simultaneously#Perl_6
20:46 ugexe i agree install makes more sense
20:46 moritz Juerd: yes, very much pre-GLR :-)
20:46 moritz it's from 2011
20:50 jnap joined #perl6
20:51 jnap on the download page (http://perl6.org/downloads/) the git clone command given is "git clone https://github.com/tadzik/rakudobrew ~/.rakudobrew".
20:52 gfldex m: my @a; with "abc".split('/') { @a.append: |.item; }; dd @a;
20:52 camelia rakudo-moar c19142: OUTPUT«Array @a = ["abc"]␤»
20:52 gfldex where does .item come from?
20:52 jnap but that downloads a lot of stuff, for those of us on limited bandwidth, or paying by the byte.  If you are not actually hacking on it, can't do a shallow clone ( --depth 1)?
20:52 masak jnap: probably can, yes
20:53 jnap just thinking if so, maybe could be a documentation patch
20:53 masak jnap: it might even be a good default!
20:53 masak given that it'd go faster for everyone
20:53 jnap if we agree I'm happy to give a patch, if I can find the docs somewhere
20:53 ugexe it makes it a pain to upgrade
20:53 masak now that Git has no trouble deepening a shallow clone, I think it's a good default
20:53 masak ugexe: how do you mean?
20:53 tony-o i think separate the precom stuff from the source
20:54 tony-o nine: ^
20:54 ugexe i've tried a bunch of iterations of --depth=1 shallow-clone, and whatever other options i can find and eventually it will fail to update because of a deleted or added file
20:54 jnap I only mention because I'm on today my cellular data, since my DSL is flaky :)
20:55 jnap hmmm
20:55 tony-o i don't think anyone really cares if it's in a .precomp folder, arguably it's better since you can remove .precomp stuff more easily and find it more easily.  it also makes upgrades easier, it makes version control a lot easier, there are a lot of benefits to doing it that way and the only real downside is having two folder trees with files of similar name in them
20:55 tony-o nine: ^
20:55 jnap I can play with it, but need to wait till my DSL comes back!
20:55 gfldex m: Mu.item; <-- not doced
20:55 camelia rakudo-moar c19142: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_BbLDm4xEC␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at /tmp/_BbLDm4xEC:1␤------> 3Mu.item; <-- not doced7⏏5<EOL>␤    expecting any of:␤        quote words␤…»
20:56 nowan joined #perl6
20:56 jnap ugexe: but are you just compiling to use perl6, or you are actually hacking on Perl6?  I probably won't hack on Perl6
20:56 ugexe i tried to do --depth=1 + friends stuff for cloning/updating all modules in the ecosystem and it would hit failures rather quickly
20:56 tony-o nine: the other thing is that *not* doing something because something else is broken is how we end up with a 'wtf' scenario a year from now, if precomp is broken then just don't load precomp files currently.  it was working a year ago, is there some reason we cannot revert?
20:56 ugexe i could have been doing it wrong, but i did try lots of combinations of commands
20:57 uvtc left #perl6
20:58 jnap I see it does  ton of stuff, lots of submodules.  maybe I should play with it more before saying something....
20:59 ugexe it would work, probably for awhile. however i think eventually rakudobrew self-upgrade would fail and would need to be reinstalled if files change in a certain way
20:59 jnap ah.
21:00 nowan joined #perl6
21:01 cooper_ joined #perl6
21:01 cooper_ joined #perl6
21:01 Juerd Damn. Wrote something for rosettacode, website borks. CloudFlare provides a cached version, but that's read only of course.
21:01 PerlJam ugexe: we could still have a patch that enables --depth 1 (or whatever) and let people (jnap :) try it to see what happens.
21:01 PerlJam (I'd probably use it too btw)
21:02 Hotkeys does anyone have a good example of an unusual helpful perl 6 error message
21:02 Hotkeys weird request I know
21:02 Hotkeys Trying to explain how nice the errors typically are in perl 6 to someone
21:02 Juerd There it is :)
21:02 PerlJam Hotkeys: unusual and helpful or unusually helpful?
21:02 Hotkeys but I can't think of a good example
21:02 Juerd Still borken, appears not to serve its CSS
21:02 ugexe it doesnt need to be enabled in any way. you use the command itself to install rakudobrew
21:02 Hotkeys that isn't really simple
21:03 Juerd http://rosettacode.org/wiki/Loop_over_multiple_arrays_simultaneously#Perl_6  # updated
21:03 Hotkeys PerlJam: probably the first but either one is good
21:03 SwellJoe joined #perl6
21:03 PerlJam ugexe: aye, that's true.
21:03 * PerlJam considers doing it.
21:04 nige1 joined #perl6
21:04 ugexe just self-upgrade could have a notice that it will have to download the rest of the history, or to reclone rakudobrew manually otherwise
21:04 PerlJam it would be nice if it could determine if if *needed* to do that
21:06 ugexe yea, it just gets messy because after you *do* have the full history there isnt a point anymore in a shallow clone because updating could take more bandwidth with a new shallow clone than a pull
21:06 xfix joined #perl6
21:07 iml_ joined #perl6
21:07 ab6tract joined #perl6
21:08 ab6tract o/ #perl6
21:10 iml_ joined #perl6
21:10 xpen joined #perl6
21:11 ab6tract is it possible to get a 'late-binding' reference to self in submethod BUILD ? nothing happens if i pass 'self' to the constructor of another object
21:12 ab6tract but i not that self appears to be available in 'new'
21:12 leont The self of BUILD is the type-object, I think
21:12 Juerd m: 'a' xx 5
21:12 camelia rakudo-moar c19142: ( no output )
21:12 Juerd m: say 'a' xx 5
21:12 camelia rakudo-moar c19142: OUTPUT«(a a a a a)␤»
21:13 Juerd m: say 'a' xx 5, 'b' xx 3
21:13 camelia rakudo-moar c19142: OUTPUT«(a a a a a)(b b b)␤»
21:13 ab6tract leont: appears to be, yes
21:13 ab6tract but we cascade-call BUILD when new calls self.build
21:14 ugexe is BUILDALL the same?
21:14 ab6tract but the object variables will not be available in new
21:15 PerlJam leont: if the self of BUILD is the type-object, how do you initialize instance attributes in BUILD?
21:15 ab6tract ugexe: iirc, that's the spot in core setting which does the cascade call
21:15 masak m: class C { submethod BUILD { say self === C } }; C.new
21:15 camelia rakudo-moar c19142: OUTPUT«False␤»
21:15 leont PerlJam: good question. I may be mistaken
21:15 masak you know you can just run code to test stuff instead of asserting a lot of things, right? :P
21:16 masak leont: yes, you are. see above.
21:16 PerlJam masak: my query was supposed to illicit some self-discovery  :)
21:16 masak PerlJam: "elicit". it didn't ;)
21:16 PerlJam (multi-pun there!)
21:16 PerlJam which ever
21:18 ab6tract strange..
21:19 ab6tract my minimal example has me confused about why my code isn't working
21:19 masak in BUILD, `self` refers to the new object (which has already been created at that point by `.bless`)
21:20 masak but since we're not out of construction yet, you're not meant to call instance methods on `self`, only set bang attributes
21:20 masak trying to call instance methods at that stage, besides being disallowed, is just asking for inheritance-based dependency trouble
21:20 llfourn joined #perl6
21:23 ab6tract indeed. i should have gotten this minimal case together first
21:23 ab6tract m: class X { has $.x }; class Y { has $.x; submethod BUILD { $!x := X.new(:x(self)) } }; my $y = Y.new; say $y === $y.x.x
21:23 camelia rakudo-moar c19142: OUTPUT«True␤»
21:23 lizmat good *, #pelrl6!
21:23 yoleaux 18:42Z <japhb> lizmat: Thanks for fixing my Date + role bug!  Nice not to have to work around that one.  :-)
21:23 Mouq masak: That's why I don't make my BUILDs submethods! /s
21:23 ab6tract since that is failing in my larger code.. it seems i have a bug :)
21:24 * lizmat admits to not having the energy to backlog anymore
21:24 lizmat so please, if anybody wants me to look at something, please .tell me
21:24 ab6tract o/ lizmat
21:25 timotimo i find it hard to backlog, to ...
21:25 timotimo too*
21:31 masak I gave up backlogging sometime in the mists of becoming a father
21:32 moritz same here too
21:32 moritz I guess that was redundant :-)
21:32 _nadim where things like 0x< af bo > described, spefically what "adjective" can be but in front of < .. >. i could not find it in "quoting constructs".
21:32 brrt \o lizmat
21:33 lizmat brrt o/
21:33 brrt well, it's kind of getting busy in this channel :-)
21:33 moritz _nadim: S02/Literals
21:33 moritz _nadim: might be missing from doc.perl6.org
21:35 itaipu joined #perl6
21:36 _nadim thanks. i am stuck in moving from my apparment and starting the fundations of my summer house on another continent, but when things cool dow, I'll help with the docs, it's a good way to learn.
21:36 moritz ++_nadim
21:36 moritz _nadim: sounds like a fun and stressful time for you :-)
21:38 _nadim I don't do stress, I am old enough to not stress anymore but moving is like having to program in java, all my body urts afterwards ;)
21:42 dalek rakudo/nom: e32910b | lizmat++ | src/core/Exception.pm:
21:42 dalek rakudo/nom: Add X::Invalid::Value error class
21:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e32910b13d
21:42 dalek rakudo/nom: 70640bf | lizmat++ | src/core/Iterable.pm:
21:42 dalek rakudo/nom: Fix for RT #127191
21:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70640bfeaf
21:44 masak (no stress)++
21:44 masak is the "old enough to not stress anymore" a limit you reach where you might die at any moment, so the normal deadlines don't have any power over you anymore? :P
21:48 Juerd m: get
21:48 camelia rakudo-moar c19142: ( no output )
21:48 yqt joined #perl6
21:50 colomon joined #perl6
21:50 tony-o masak: i've been pretty stress since the marine corps.  i think you just hit a point where you stop caring about things that aren't going to kill you
21:50 dalek roast: 4a59ba3 | lizmat++ | S0 (3 files):
21:50 dalek roast: Add tests for RT #127191
21:50 dalek roast: review: https://github.com/perl6/roast/commit/4a59ba39a8
21:51 _nadim Masak, you'll understand when you become an adult ;)
21:51 diakopter .oO(  will my daughter kill me?  )
21:52 perigrin diakopter: if the answer isn't "probably" then whatever it is isn't worth doing :)
21:52 Juerd http://rosettacode.org/wiki/A%2BB#Perl_6  # provided a new simple solution: "get.words.sum.say"
21:52 perigrin this may explain my relationship with my daughter
21:53 tony-o are you worried?  if so, then possibly :-p
21:53 Juerd A lot of the rosettacode examples are broken :(
21:53 Juerd Anyone else who wants to spend some time on checking them? I'm doing /^A/ :)
21:54 Juerd (I'm skipping anything that says it works with 2015.09 or more recent)
21:54 espadrine joined #perl6
21:55 bpetering Juerd: will do /^B/
21:55 Juerd If something is broken and you can't or don't want to fix it, add {{broken|Perl 6}}
21:55 bpetering cool cool
21:55 lizmat Juerd: tat
21:56 lizmat Juerd: that won't work with 2015.12
21:56 Juerd If it works, {{works in|Rakudo|2015.12}} or something similar.
21:56 Juerd lizmat: Is it more recent?
21:56 Juerd Maybe I should use 2016.01 instead :)
21:56 lizmat the support for .words on get is from the IO::CatHandle
21:56 lizmat yes, that should probably be more correct
21:57 Juerd Huh, .words is Str.words
21:57 Juerd Maybe Cool.words by the way
21:57 nine lizmat: https://github.com/rakudo/rakudo/commit/de5628d12df4fe04d81eb8e78144eadddb8a07ab https://github.com/rakudo/rakudo/commit/c528f0e5a1f2815eedfd3d70c19ed22612f83ee5
21:58 lizmat looks good, I guess ?
21:58 dalek rakudo/nom: 0fa13c0 | (Geoffrey Broadwell)++ | src/ (3 files):
21:58 dalek rakudo/nom: Add timestamps to RAKUDO_MODULE_DEBUG output
21:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0fa13c0e85
21:59 lizmat japhb++
22:00 lizmat japhb: what would maybe even be more useful, is that it would show the difference between that and the previous RAKUDO_MODULE_DEBUG output ?
22:01 lizmat and perhaps convert to milliseconds ?  :-)  please ?   :-)
22:01 japhb lizmat: I thought about that, but there seems to be a few different places that produce that debug output, some in NQP land, and some in Perl 6 land.  I decided to go with "simple and working"
22:01 japhb lizmat: I thought about that, but there seems to be a few different places that produce that debug output, some in NQP land, and some in Perl 6 land.  I decided to go with "simple and working"
22:01 japhb AFK for a bit
22:01 lizmat japhb:  ok
22:02 nine lizmat: it still needs a bit of work, but I think, we can soon work on 6.d and stop breaking 6.c :)
22:02 lizmat nine: I'm not sure if there is something that you would like me to do ?
22:02 masak _nadim: what if I don't want to become an adult? :) it sounds both hard and boring at the same time.
22:02 vendethiel- joined #perl6
22:02 geraud joined #perl6
22:03 nine lizmat: no, I'm just happy to report that there's progress on the backwards compat front :)
22:03 lizmat ok, but to be really backcompat, we would need to remove IO::CatHandle and friends as well
22:03 yurivish joined #perl6
22:03 lizmat e.g., Juerd's example of summing 2 values from an input stream, only works because of IO::CatHandle
22:04 nine lizmat: rather move them to core.d/
22:04 virtualsue_ joined #perl6
22:04 lizmat so what's the state of nom in all this ?
22:04 lizmat I'm starting to get really confused now
22:04 d4l3k_ joined #perl6
22:05 Amnez777 joined #perl6
22:05 nine lizmat: all changes that would break the 6.c test suite go to files in core.d/ and need a use 6.d; to become active. Bugfixes can still go to core/.
22:06 Amnez777 joined #perl6
22:06 nine lizmat: that can and should happen on nom
22:06 ilbelkyr joined #perl6
22:06 mephinet joined #perl6
22:06 lizmat what if the test-suite was wrong ?
22:06 Amnez777 joined #perl6
22:06 nine tony-o: I may have missed some discussion. Why do you think precomp is so broken that we have to revert to the state of a year ago?
22:07 Amnez777 joined #perl6
22:07 masak lizmat: maybe mark the new (correct but failing) test as TODO?
22:07 colomon joined #perl6
22:07 nine lizmat: I guess that will be case by case decisions. We can probably still affort a bit of leniency there, but not too much.
22:08 pnu joined #perl6
22:08 alber joined #perl6
22:08 Actualeyes joined #perl6
22:08 lizmat masak: so, that would require creating a 6.c branch in roast, in which the original test would be corrected and todoed ?
22:08 nine What is now in the 6.c branch of roast should be moved into a 6.c directory, so it can be tested alongside the 6.d tests. The latter need a use 6.d; to be able to test the new features.
22:09 diakopter that's a lot of file; why not check out the branch into a subdir when that's needed
22:09 alber Hello, When I tried to install Rakudo for MoarVM and JVM I got the following error: ./perl6-j tools/build/install-core-dist.pl /mnt/lib/perl6/rakudo/install/share/nqp Unhandled exception: java.lang.StackOverflowError  <<<<... 400 lines of stack dump skipped...>>>>  Return status 256    in block <unit> at tools/build/install-core-dist.pl line 13  Actually thrown at:   in block <unit> at tools/build/install-core-dist.pl line 13  Makefile:
22:10 nine diakopter: how often do you think people will run tests on that branch?
22:10 ilbelkyr_ joined #perl6
22:11 diakopter nine: I suppose I should backlog a lifetime or two if I want to contribute :p never mind
22:11 xpen joined #perl6
22:11 nine I can run make spectest and wait. Having to do make spectest && git stash && git checkout 6.c && make spectest && git checkout master will become tedious. Most of all because those commands do not even work, because they're missing the cd t/spec
22:12 nine So I probably won't run 6.c all that often and others won't, too ;)
22:12 zengargoyle joined #perl6
22:12 diakopter make spectest already runs cd & git commands for you
22:12 alber The error happened at 'make 'install' after Configure.pl and make finished successfully.
22:13 tony-o nine: i don't think we have to, i think it was more stable and much less finicky than a year ago.  it also wasn't designed to have to do precomp for every user that might use a module
22:13 nine diakopter: but the git checkout will fail if there's local changes. So we need git stash in between. And make sure to only git stash pop if we actually stashed anything, and...
22:13 tony-o s/than//
22:14 nine tony-o: it also did precompile a lot less and startup times were a lot worse
22:14 alber The error happened on Archlinux
22:14 tony-o what did it not precomp a year ago?
22:15 nine -Ilib for example
22:15 tony-o why would i want that to precomp ?
22:15 nine also after a change to an installed source file, you did have to remember to delete the precomp file and very few users would now how to recreate them
22:15 nine Because it loads so much faster? For example the test suits?
22:16 tony-o it doesn't load faster if you have to modify the source
22:16 alber Could someone advise please why this error could happen?
22:16 nine Precomp makes a factor 5 difference for Inline::Perl5's test suite
22:16 nine You only pay the compilation cost for a single test file, not for all of them.
22:16 nine That's 29 test files for Inline::Perl5 and that number is growing.
22:17 tony-o there are very few people that care about how fast Inline::Perl5's test suite runs
22:17 dalek doc: 2f52904 | lizmat++ | doc/Language/unicode_texas.pod:
22:17 dalek doc: Add 𝑒 , and document value also for π and τ
22:17 dalek doc: review: https://github.com/perl6/doc/commit/2f5290477d
22:17 tony-o including me
22:18 tony-o in fact, if i'm running a test suite, i don't care about precomp at all in case i need to fix a bug
22:18 nine tony-o: there are lots of people developing modules with more code than Inline::Perl5 and who write more tests than me so they will wait even longer
22:18 tony-o in fact, if i'm running a test suite, i don't care about precomp at all in case i need to fix a bug
22:18 lizmat tony-o: the old precomp system was untenable, as it would add to bare startup time, like 30 *econds* if you have like 100 modules installed
22:18 lizmat *seconds
22:18 nine Oh yes, there was that, too.
22:19 jsimonet joined #perl6
22:19 tony-o that's a problem that is worth fixing but doing a fix that has such a huge scope to correct a minor issue doesn't seem like a great plan
22:19 lizmat to give you an idea of the speed increase: settings take about 60 seconds to compile on my machine, it takes .1 second to load precompiled
22:19 lizmat that's 600x faster
22:19 nine tony-o: and you really don't care if your test suite runs in 20 seconds or 3 minutes?
22:20 DrParis_ joined #perl6
22:20 skarn joined #perl6
22:20 [Tux] joined #perl6
22:20 tony-o that's not any faster if you have to re-precomp every time you want to run a test suite
22:20 lizmat most importantly, if I recompile the settngs now, I don't need to reinstall all modules with panda all over again
22:20 tony-o i mean, yea if you ignore the process as a whole, that makes sense
22:20 lizmat which means, there's a much lower threshold to find out about ecosystem fallout
22:20 moritz tony-o: if you have 10 test files, you'll precompile every module only once
22:20 tony-o but stealing from one hand to give to the other isn't an accurate comparison
22:21 diakopter ^_^ it runs in 2 minutes with the deserialization fix [still in a moarvm branch]
22:21 diakopter oh, 20 seconds, should be even faster
22:21 llfourn joined #perl6
22:22 tony-o moritz: i understand that, but if i go change a source file then it needs to be re-precomp'd .. i get it for installed modules which is a whole other issue (precomp per user, why?)..  for module development it doesn't make sense to have jump through that hoop until you think your source is solid
22:22 tony-o and yes, i'd rather wait an extra minute for my module to test than have to deal with a finicky precomp system
22:22 Juerd Lots of rosettacode examples "say" a list, which then gets ( ). One solution is to prefix the list with "|" but then the whitespace in between the elements is also gone
22:23 alber Could someone advise please the appropriate place where Rakudo installation problems should be reported?
22:23 ZoffixWin tony-o, just yesterday, I was working on a lib with ~8 files loaded with -Ilib. The start up without precomp was about 9 seconds, while nearly instant with it *even if I modified one of the files*.
22:23 Juerd Is there an aesthetically pleasing way of saying a list, whitespace separated, without parens?
22:23 hoelzro alber: the JVM build is currently broken =(
22:23 moritz Juerd: say join ' ', @list;
22:23 ZoffixWin alber, https://github.com/rakudo/rakudo/#reporting-bugs you can also discuss it here first
22:23 moritz Juerd: say ~@list
22:24 Juerd ~ does the trick! Thanks :)
22:24 ZoffixWin huggable, rakudobug :is: rakudobug@perl.org or use perl6 query on http://rt.perl.org ; see https://github.com/rakudo/rakudo/#reporting-bugs
22:24 huggable ZoffixWin, Added rakudobug as rakudobug@perl.org or use perl6 query on http://rt.perl.org ; see https://github.com/rakudo/rakudo/#reporting-bugs
22:24 moritz huggable: alber was interested; ZoffixWin knows that already :-)
22:24 huggable moritz, nothing found
22:24 moritz oh
22:24 diakopter *giggle
22:25 * ZoffixWin snorts
22:25 alber Thanks! Will use MoarVM till JVM is fixed.
22:25 moritz you see, I don't backlog comprehensivly either :-)
22:25 ZoffixWin :)
22:25 nine tony-o: please try to listen
22:25 tony-o i am listening.
22:26 tony-o i'm waiting for you to say something other than 'its faster'
22:26 tony-o i care more about reliability than speed
22:26 nine So what reliability problems are there?
22:26 tony-o and having it sometimes work and sometimes not seems like a bigger issue than loading modules a little more quickly
22:27 diakopter imho, the precomp system should be totally seamless and behind-the-scenes (invisible)... if it isn't, or someone writing/installing a script or module has to worry at all about precomp or not, then it's done wrong and needs fixing
22:27 tony-o aside from the ones you're not listening to?  read the logs.
22:27 nine diakopter: so we fix it
22:27 tony-o this is broken, it's built on a boiler plate that was meant for a discussion - not an implementation
22:27 nine tony-o: no, I'm going to bed rather than have this pointless discussion. I will not do your work for you. You want a change? At least have the decency to argue for it.
22:28 stmuk_ I do find the SHA hash filenames make debugging harder but guess that can be fixed in time
22:28 nine stmuk_: it can, and it will.
22:28 moritz tony-o: I think it's best if you file rakudobugs for each issue, and point nine++ to them
22:28 tony-o nine: lol.  okay.  ignore the evidence and claim victory.  that's a wonderful way to live life.
22:28 stmuk_ nine++
22:28 moritz tony-o: that path worked very well for me in the past
22:28 * masak finds it weird that people are rude to nine++ who did actual work
22:28 lizmat nine++ indeed
22:28 alpha123 tony-o: wat
22:29 masak in general, we should be kind to the people who do actual work
22:29 ZoffixWin nine++ # indeed, as mentioned before, the speed boost is very noticable
22:29 diakopter tony-o: nine is obviously stressed out and burnt out; give some patience and let him recover emotionally from the pressure he's let himself be put under :)
22:29 tony-o diakopter++
22:29 tony-o that's reasonable.  telling me i haven't done any work after rejecting code i submitted that was built to spec, isn't
22:29 lizmat tony-o: a ticket is worth a thousand words
22:29 diakopter yes, stressed people can be unreasonable
22:30 diakopter <- especially
22:30 tony-o no worries, i'm not trying to be critical of nine specifically, it's just been a thorn in my side for a long time
22:30 masak reasoning and stress aren't very compatible, no
22:31 diakopter this conversation mirrors quite similarly to one here with ShimmerFiery the night before the blogpost-that-shall-not-be-named
22:31 tony-o lol
22:31 lizmat tony-o: please realiize that most of Perl 6 is currently built on -Ofun
22:32 masak diakopter: https://shimmeryfairy.wordpress.com/2015/12/31/a-calmer-go-at-it/ -- that one? or the one that was removed?
22:32 tony-o i do, i'm not being critical of *anyone*
22:32 lizmat if you take that away, especially from the people that actually put in long hours to get the core further developerd
22:32 diakopter yes
22:32 diakopter (masak)
22:32 lizmat you wind up having to do it yourself
22:33 dalek rakudo-star-daily: 55a0fdf | coke++ | log/ (5 files):
22:33 dalek rakudo-star-daily: today (automated commit)
22:33 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/55a0fdfb22
22:33 lizmat which may be a good idea to begin with :-)
22:33 masak I wonder if we can do something structural/systematic to help people not fall off the -Ofun (that is, not become stressed or burn out or stuff)
22:33 lizmat that's at least how *I* got more involved with Perl 6
22:33 funkiller huggable: hug?
22:33 masak the sad thing is that this seems to be connected with doing significant/unappreciated work in core
22:33 huggable funkiller, nothing found
22:34 funkiller huggable: ?
22:34 huggable funkiller, nothing found
22:34 funkiller huggable: nothing
22:34 huggable funkiller, nothing found
22:34 masak huggable: nothing found?
22:34 huggable masak, nothing found
22:34 masak huggable: how much was found, you say?
22:34 huggable masak, nothing found
22:34 stmuk_ it's almost as if developing a powerful computer lang is hard :)
22:34 masak huggable: please enumerate the things that were found
22:34 funkiller huggable: did you find nothing or anything?
22:34 huggable masak, nothing found
22:34 huggable funkiller, nothing found
22:35 ZoffixWin Huggable only has the Types and a couple of commands I manually added
22:35 ZoffixWin ATM
22:35 masak huggable: have you found yourself yet?
22:35 ZoffixWin huggable, source
22:35 huggable masak, nothing found
22:35 huggable ZoffixWin, I'm a factoid bot. See me in the nude at https://github.com/zoffixznet/perl6-IRC-Client-Plugin-Factoid
22:35 funkiller huggable: FaRtat
22:35 huggable funkiller, nothing found
22:35 masak huggable: what did the philosopher say to the P-zombie?
22:35 funkiller huggable: FatRat
22:35 huggable masak, nothing found
22:35 huggable funkiller, class FatRat [Rational number (arbitrary-precision)]: http://doc.perl6.org/type/FatRat
22:35 ZoffixWin Eventually there'll be search and possibly "dump all things" (see DESIGN.md)
22:36 masak huggable: how many angels can dance on the tip of a pin?
22:36 huggable masak, nothing found
22:36 funkiller huggable: three blind FatRat
22:36 huggable funkiller, nothing found
22:36 masak huggable: which parts of the Perl 6 spec do you think are stable?
22:36 huggable masak, nothing found
22:36 ZoffixWin poor bot
22:37 masak huggable: how much money you got?
22:37 funkiller huggable: how long until a memory leak bites you
22:37 huggable masak, nothing found
22:37 huggable funkiller, nothing found
22:37 masak indeed poor
22:37 ZoffixWin hah
22:37 ZoffixWin Things will come. I have the "ignore abuser" plugin still on the TODO list
22:37 masak huggable: remind me again -- was something found or what?
22:38 mst masak: now you're just being cruel
22:38 huggable masak, nothing found
22:38 abuser huggable: tell me "nothing found" if masak is a troll
22:38 huggable abuser, nothing found
22:38 masak gosh
22:38 stmuk_ huggable, Zoffix
22:38 huggable stmuk_, nothing found
22:38 diakopter huggable:
22:38 huggable diakopter, nothing found
22:38 * masak .oO( 2016 directive: don't taunt the non-sentient beings on channel )
22:39 masak huggable: 0 <-- LOOK
22:39 huggable masak, nothing found
22:39 ZoffixWin huggable, 42
22:39 diakopter masak: around here we call those "doings". as in, beings vs doings
22:39 hankache joined #perl6
22:39 masak diakopter: oh, cute
22:39 hankache o/ *
22:39 diakopter pronounced DOYNGS, of course
22:39 ZoffixWin so. you broke it, eh? :)
22:40 diakopter comma->colon
22:40 ZoffixWin It should handle commas too
22:40 diakopter .oO( but it replies with a comma... )
22:40 ZoffixWin huggable, 42
22:41 ZoffixWin oh, those are \o aren't they?
22:41 stmuk_ huggable, Tap
22:41 ZoffixWin \0
22:41 huggable stmuk_, class Tap [Subscription to a]: http://doc.perl6.org/type/Tap
22:41 ZoffixWin m: say "" ~~ /\0/
22:41 camelia rakudo-moar 0fa13c: OUTPUT«Nil␤»
22:42 ZoffixWin to me, that char looks as a box with 4 zeros inside
22:42 diakopter looks to me like black K with white background
22:42 stmuk_ huggable, Any
22:43 huggable stmuk_, class Any [Thing/object]: http://doc.perl6.org/type/Any
22:43 AlexDaniel huggable: please find some good unicode character for Whatever
22:43 huggable AlexDaniel, nothing found
22:44 AlexDaniel 👌
22:44 diakopter .u 01F44C
22:44 yoleaux U+1F44C OK HAND SIGN [So] (👌)
22:45 bpetering .tell Skarsnik I've added a whole bunch of features to gptrixie function stuff, including putting the C definition above the generated subs https://github.com/bpetering/gptrixie
22:45 yoleaux bpetering: I'll pass your message to Skarsnik.
22:45 stmuk_ huggable, div by zero :is: {1/0}
22:45 huggable stmuk_, Added div by zero as {1/0}
22:46 stmuk_ huggable, div by zero
22:46 huggable stmuk_, {1/0}
22:46 ZoffixWin stmuk_, were you hoping it evaled the response? :)
22:47 stmuk_ O:-)
22:47 ZoffixWin BTW, it handles /notice and /msg  too
22:47 AlexDaniel well, perhaps it should be possible to make it say something without prefixing it with a nick :)
22:48 AlexDaniel so that you can make it trigger m:
22:48 ZoffixWin :o
22:48 AlexDaniel e.g. div by zero :is: m: 1/0
22:49 ZoffixWin Opened an issue: https://github.com/zoffixznet/perl6-IRC-Client-Plugin-Factoid/issues/2
22:49 ZoffixWin Gonna take a look in the next 4 days
22:49 AlexDaniel ZoffixWin: I haven't tried it yet, by the way
22:50 AlexDaniel ZoffixWin: your awesome module I mean
22:50 AlexDaniel ZoffixWin: what's the right place to submit plugins, by the way?
22:51 ZoffixWin AlexDaniel, heh, it's fine. I see some Annoying Things with it anyway and will change them. So far, just using listening to irc-to-me event and responding with $irc.respond: |%res, :what('blah blah'); is non annoying. The rest is stupid :)
22:51 AlexDaniel ZoffixWin: aww!
22:51 ZoffixWin As for nickless thing, it'll likely it'd be triggered with "div by zero @", because I'm adding a feature where you can make the bot tell the thing to someone by doing "foo @ Zoffix", so by omiting the nick, you can make it say "m: blah"
22:52 ZoffixWin AlexDaniel, submitting plugins? Well, first and obvious, you can just release them as normal modules. If you think they should be in the core distro, submit an Issue/PR on https://github.com/zoffixznet/perl6-IRC-Client/
22:52 AlexDaniel ZoffixWin: oh, looking at modules directory it seems like you expect every plugin to be a separate module. Ok
22:52 gfldex picking up a loose and I dropped yesterday, here is my attempt of a 6ish webframework. Your kind comments are very welcome. https://github.com/gfldex/perl6-ballet/blob/master/examples/basic.p6
22:52 gfldex s/loose/loose end/
22:53 AlexDaniel gfldex: awesome! Amazing! Great!
22:53 AlexDaniel gfldex: I'll take a look shortly
22:53 ZoffixWin AlexDaniel, yeah, pretty much. I do have some P5 plugins that I grouped by topic, so a single dist installs multiple plugins, like https://metacpan.org/release/POE-Component-IRC-PluginBundle-WebDevelopment and https://metacpan.org/release/POE-Component-IRC-PluginBundle-Toys and
22:54 flussence I like the use of traits for basic http stuff there
22:54 flussence managing headers inline with the code is as bad as mixing code and HTML, IME
22:55 * ZoffixWin doesn't TBH
22:55 ZoffixWin Looks like spaghetti to me.
22:55 RabidGravy :)
22:55 gfldex next experiment is type safety to prevent missing quotes
22:55 AlexDaniel Actually, I just use 「Tag」 module for html stuff
22:56 tony-o lizmat: that's fine if doing it yourself is an option.  having a hissy fit about trying to talk about design problems is something else.
22:56 flussence ZoffixWin: I guess you could argue the thing that makes a sub a route is too much typing here...
22:57 ZoffixWin Well, I was mostly complaining, but what really stands out to me is the inline HTML stuff
22:57 ZoffixWin That's like CGI.pm era
22:57 flussence oh that, I wasn't even talking about that...
22:57 lizmat tony-o: why is doing it yourself not an option for you ?
22:57 flussence it's alright for a one-screen demo, but I'd never do that in real life
22:57 Juerd b2gills: I've removed most of the code you wrote for
22:58 masak 'night, #perl6
22:58 lizmat gnight masak
22:58 RabidGravy you could do some EXPORTHOW::DECLARE thing to make like   "ballerina { ....... }"
22:58 tony-o because i don't have access to merge PRs on the repo and if they go ignore/rejected then there isn't much else i can do about it then try to discuss it with the person doing the work
22:58 awwaiid nine (or others): are there any examples of hooking in to "use Foo:from<bleh>" yet?
22:58 Juerd b2gills: I've removed most of the code you wrote for http://rosettacode.org/mw/index.php?title=Array_length&amp;diff=213402&amp;oldid=213215 -- Maybe start a blog, or submit documentation to doc.perl.org? :)
22:58 tony-o i wrote a precomp to the docs over a year ago and it was rejected
22:58 AlexDaniel ZoffixWin: there's no problem with that, in fact it is pretty convenient if your page has lots of autogenerated stuff
22:58 flussence RabidGravy: I was *just* looking at OO::Monitors to see how it does that :)
22:58 Juerd b2gills: I think the huge amount of code for a very simple operation is a good way to scare beginners away.
22:59 tony-o there isn't much else that's more 'do it yourself'
22:59 AlexDaniel ZoffixWin: but sure there's no one thing that would fit all
22:59 lizmat tony-o: maybe you need to work on accepting rejection ?
22:59 ZoffixWin gfldex, well, I'd like to see more :) We really do need a decent web framework.
22:59 tony-o i've accepted it and am trying another method, thanks for your input though
22:59 * lizmat reminds tony-o she has the most reverted commits in core
22:59 tony-o i'm not arguing because my stuff was rejected, i'm arguing because i want something to work
23:00 tony-o if you want to live in a hug bubble then the real world may not be for you
23:00 lizmat well, then I suggest we argue less and do more
23:00 * diakopter pushed quite a few hundred-thousand line commits to moarvm before jnthn helped me rewrite history (this was when generating unicodedb.c or whatever)
23:01 tony-o avoiding the argument gets you in a position where every user has to have their own precomp for a module that is installed system wide
23:01 tony-o very nearly identical to the current trajectory of precomp
23:01 lizmat tony-o: I prefer a hug bubble to the cut-throat flame wars on p5p of log forgotten times
23:01 lizmat *long
23:01 ZoffixWin tony-o, does it? I think only -Ilib has .precomp in the lib. The rest are precomped in the installation dir
23:02 diakopter to be fair, this is a very-much unsolved problem in computing (repeated code, in every sort of form)
23:02 tony-o i don't think anyone has forgotten the cut-throat'edness of p5.  p5 is actually productive, though.
23:02 gfldex the advantage of traits is that they are called pretty early. If return types are to be enfoced, it can bail as soon as it spots the first faulty one.
23:02 inokenty joined #perl6
23:02 tony-o ZoffixWin: this is in reference to saying that the precomp direction is to to put al precomp modules into ~/.precomp
23:02 diakopter god knows how many variously-hand-optimized implementations of common datastructures there are in a 8.5GB installation of Windows 10
23:03 tony-o so, yes, that is the current direction.  it's in ref to a discussion between ugexe and nine had yesterday.  which is part of the reason he doesn't want to read the logs
23:03 ZoffixWin gfldex, neat. And you know what's even more awesome. You can do parameter validation with custom types! use My::Fancy::Types; sub social-security (ValidSIN $sin) { ... }
23:03 * ZoffixWin is now excited
23:04 lizmat tony-o: fwiw, I don't want to read the logs either anymore.... there are just too many of them
23:04 stmuk_ putting into ~/.precomp sounds ok to me
23:04 lizmat you could help by pointing us to a specific discussion
23:04 hoelzro awwaiid: apparently there's a Perl6::ModuleLoader.register_language_module_loader method, but I don't think that's accessible in "userspace"
23:04 Hotkeys ?p6> say pi; say pi.Rat
23:05 Hotkeys oops
23:05 Hotkeys wrong syntax for this chan
23:05 Hotkeys m: say pi; say pi.Rat
23:05 camelia rakudo-moar 0fa13c: OUTPUT«3.14159265358979␤3.141593␤»
23:05 lizmat saying "a discussion that ugexe and nine had yesterday" is just costing me too much time to figure out whether that is actually what you are taliking about
23:05 Hotkeys why is so much less precise
23:05 Hotkeys the second*
23:05 gfldex ZoffixWin: as long as you put it behind where, that's enfoced already. Right now I cast from Str (that dropps out of the request URL) to the type give in the signature of the sub. Next on my list are copy constructors to support custom types.
23:05 awwaiid thanks hoelzro , good place for me to start
23:05 lizmat tony-o: so please provide a link, if you want to refer to a discussion
23:06 stmuk_ I assume ~/.precomp only is to solve the binary packaging for distros problem?
23:06 lizmat which, I think, is a general courtesy to anybody on this channel nowadays when referring to previous discussions
23:06 RabidGravy HotKeys, the printed version is less precise
23:07 diakopter tony-o: irc log is at irc.perl6.org (sorry if you already knew this!)
23:07 Hotkeys m: say pi.Rat.nude
23:07 RabidGravy m: say pi.Rat.perl
23:07 camelia rakudo-moar 0fa13c: OUTPUT«(355 113)␤»
23:07 camelia rakudo-moar 0fa13c: OUTPUT«<355/113>␤»
23:07 mst stmuk_: nine and I have been discussing approaches that might make it still workable, ish
23:07 ZoffixWin gfldex, is there a repo I could star so I'd get notifications of updates to it?
23:07 mst I -think- it's possible
23:07 Hotkeys RabidGravy: that isn't any more precise though
23:07 mst I suspect the spec may be at least 50% bollocks though
23:08 gfldex ZoffixWin: https://github.com/gfldex/perl6-ballet
23:08 mst but I've mostly been reading the CUR sources in the pub through a stinking head cold
23:08 ZoffixWin cheers
23:08 lizmat tony-o: http://irclog.perlgeek.de/perl6/2016-01-06#i_11841766   # example of a link
23:08 mst so, uh, please nobody assume I'm making sense -yet-
23:08 AlexDaniel m: say pi.perl; say pi.Rat.Num.perl
23:08 camelia rakudo-moar 0fa13c: OUTPUT«3.14159265358979e0␤3.14159292035398e0␤»
23:08 * AlexDaniel laughs
23:09 * lizmat needs to get up early tomorrow, so goes to bed now
23:09 diakopter the Rats of Num...
23:09 ZoffixWin night
23:09 lizmat good night, #perl6!
23:09 * flussence would prefer one of {$XDG_CACHE_DIR/,~/.}perl6/precomp, if anything
23:09 mst diakopter: ... I wonder how few people got that.
23:09 mr_micawber joined #perl6
23:09 * diakopter too
23:09 * flussence didn't
23:09 mst flussence: my thought is that basically we go to just that first
23:09 stmuk_ got it
23:10 mst then try and get more clever later once that becomes a reasonable to priority
23:10 mst *top
23:10 diakopter flussence: https://en.wikipedia.org/wiki/Mrs._Frisby_and_the_Rats_of_NIMH
23:10 stmuk_ diakopter: I recall it was quite good
23:11 flussence I'm an uncultured swine but the name does ring a bell now :)
23:11 perigrin THe movie wasn't bad, I've heard the book was much better but I never managed to read it.
23:12 diakopter mst is our Jeremy
23:12 sno joined #perl6
23:12 xpen joined #perl6
23:13 AlexDaniel soo… Do I get it right that Num → Rat conversion attempts to get a beautiful approximate values for rat?
23:13 b2gills m: say pi.Rat(0.0000001).nude.join('/')
23:13 camelia rakudo-moar 0fa13c: OUTPUT«103993/33102␤»
23:13 AlexDaniel instead of doing it as precisely as possible?
23:13 b2gills m: say pi.Rat.nude.join('/')
23:13 camelia rakudo-moar 0fa13c: OUTPUT«355/113␤»
23:13 AlexDaniel b2gills: am I the only one who goes “WTF????” when sees that?
23:14 b2gills NUmerator DEnominator
23:14 AlexDaniel b2gills: I mean, the fact that by default it does something… weird?
23:16 diakopter well it does approximate
23:16 AlexDaniel diakopter: hey, but isn't it a bit too much?
23:19 diakopter dunno
23:19 Hotkeys I just realized
23:19 Hotkeys that the default epsilon is 1.0e-6
23:19 diakopter m: say pi.is-transcendental
23:19 camelia rakudo-moar 0fa13c: OUTPUT«Method 'is-transcendental' not found for invocant of class 'Num'␤  in block <unit> at /tmp/B9qmOVxcox line 1␤␤»
23:20 Hotkeys that's why it was imprecise
23:20 alber joined #perl6
23:20 Hotkeys ?p6> pi.Rat(1.0e-14).Num.perl
23:20 Hotkeys shoot
23:20 Hotkeys m: pi.Rat(1.0e-14).Num.perl
23:20 camelia rakudo-moar 0fa13c: ( no output )
23:20 Hotkeys m: say pi.Rat(1.0e-14).Num.perl
23:20 AlexDaniel no sink warning
23:20 camelia rakudo-moar 0fa13c: OUTPUT«3.14159265358979e0␤»
23:21 diakopter "I demand that pi be its unexpanded taylor series, and the necessary precision computed on-demand!"
23:21 diakopter <- being silly
23:21 stmuk_ m: say pi.fmt("%.14f").Rat.nude.join("/")
23:21 camelia rakudo-moar 0fa13c: OUTPUT«314159265358979/100000000000000␤»
23:22 stmuk_ m: pi.fmt("%.0f").Rat.nude.join("/")
23:22 camelia rakudo-moar 0fa13c: ( no output )
23:22 stmuk_ m: say pi.fmt("%.0f").Rat.nude.join("/")
23:22 camelia rakudo-moar 0fa13c: OUTPUT«3/1␤»
23:22 stmuk_ thats good enough!
23:22 llfourn joined #perl6
23:23 diakopter heh
23:23 Juerd Rosseta /^A/ verified. Lots of broken examples.
23:24 Juerd http://rosettacode.org/wiki/Category:Perl_6_examples_needing_attention
23:24 alber Hi, after installing Rakudo, I tried to install Panda, but on 'perl6 bootstrap.pl' command got the error: Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.so'    at <unknown>:1  (/mnt/lib/perl6/rakudo/perl6.moarvm:<dependencies+deserialize>:81)
23:24 alber What can cause the problem?
23:24 Juerd Fixed a few simple ones, added the {{broken}} tag to the ones I couldn't immediately fix
23:25 zwu joined #perl6
23:25 lichtkind hai
23:25 * perigrin has images of a large number of rats embarassed by a lack of clothing.
23:25 lichtkind FROGGS, its for a good cause anyway :)
23:25 diakopter alber: I don't know; which platform/toolchain did you use
23:26 alber Archlinux
23:26 alber MoarvM
23:26 diakopter would you mind trying rakudobrew?
23:27 Juerd So, I've done /^A/, bpetering is doing (or has done?) /^B/. Anyone up for checking the /^C/ Perl 6 articles on Rosetta Code?
23:27 bpetering doing
23:27 alber diakopter, thanks, will try.
23:29 solarbunny joined #perl6
23:29 Hotkeys How does .WHY work
23:30 Skarsnik hello
23:30 yoleaux 22:45Z <bpetering> Skarsnik: I've added a whole bunch of features to gptrixie function stuff, including putting the C definition above the generated subs https://github.com/bpetering/gptrixie
23:30 Skarsnik oh nice
23:31 bpetering Skarsnik: (I also broke void* pointers, but everything else works, and speeds up libsodium binding work by about 10x, so thanks :)
23:32 bpetering Skarsnik: let me know if you want a pull request at any point
23:32 Skarsnik I need to rewrite the part that get the data form xml to do it in 1-2 pass x)
23:32 zwu I don't understand the code line my (*@x) := foo(); # signature binding in the design doc. I tried to run, not sure what should the variable @x be.
23:32 Skarsnik and use Gumbo to parse the xml
23:32 Skarsnik XML is slow
23:32 bpetering Skarsnik: tell me about it :P
23:33 Skarsnik Well I will look at getting Gumbo parsing XML file tomorrow. Gumbo is a C html5 parser, but it can parse everything that look like xml x)
23:34 bpetering sounds good :)
23:36 mr_micawber I just posted a short question on reddit.com/r/perl6 as infoaddicted if anyone would care to check it out.  It's about flattening.
23:37 ZoffixWin mr_micawber, flatten into what?
23:37 ZoffixWin You could slip it
23:38 Skarsnik bpetering, let the void* be Pointer. you can always nativecast them later
23:38 zwu what is signature binding? Can you please show example code? Thanks!
23:38 bpetering Skarsnik: ok
23:39 ZoffixWin m: my @a = ^3; my @b = 4..6; my @c = (@a Z @b).map: *.Slip; say @c
23:39 camelia rakudo-moar 0fa13c: OUTPUT«[0 4 1 5 2 6]␤»
23:40 mr_micawber 'p6;[('a1', 'b1') ('a2', 'b2')].flat'
23:40 ZoffixWin mr_micawber, what's the result you expect from what?
23:40 mr_micawber not sure how to use the chatbox right :-/
23:41 ZoffixWin Type "m: " followed by the code you want to execute
23:41 Skarsnik ZoffixWin, I was wondering what to you use to parse the doc?
23:41 ZoffixWin m: [('a1', 'b1') ('a2', 'b2')]>>.flat
23:41 camelia rakudo-moar 0fa13c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Kcb2cjbFst␤Two terms in a row␤at /tmp/Kcb2cjbFst:1␤------> 3[('a1', 'b1')7⏏5 ('a2', 'b2')]>>.flat␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        st…»
23:41 ZoffixWin m: say [('a1', 'b1'), ('a2', 'b2')]>>.flat
23:41 camelia rakudo-moar 0fa13c: OUTPUT«[((a1) (b1)) ((a2) (b2))]␤»
23:41 ZoffixWin :(
23:41 ZoffixWin Skarsnik, parse which doc?
23:41 Skarsnik p6 doc
23:42 ZoffixWin Skarsnik, never used p6 doc in my life :)_
23:42 Skarsnik Your bot!
23:42 zhmylove joined #perl6
23:42 mr_micawber thanks, gotta go for now
23:42 mr_micawber left #perl6
23:42 wamba joined #perl6
23:42 Skarsnik Or you use some toc in p6/doc?
23:42 ZoffixWin m: say [('a1', 'b1'), ('a2', 'b2')].Slip>>.Slip
23:42 camelia rakudo-moar 0fa13c: OUTPUT«((a1 b1) (a2 b2))␤»
23:43 ZoffixWin How to get this to end up as <a1 b1 a2 b2> ?
23:43 ZoffixWin Skarsnik, what do you mean "parse the doc"?
23:43 Skarsnik To get the doc link
23:44 zhmylove joined #perl6
23:44 Skarsnik bpetering, I would like a pr (but remove the precomp file x))
23:44 ZoffixWin Skarsnik, ah, I just used a P5 script: https://github.com/zoffixznet/perl6-IRC-Client-Plugin-Factoid/blob/master/_dev/load-db.pl
23:44 ZoffixWin (it has a bug that doubles /type/type in the URL ATM)
23:44 bpetering Skarsnik: sure :o)
23:45 ZoffixWin Skarsnik, which just parses this page: http://docs.perl6.org/type.html
23:45 ZoffixWin (as I've said, the bot ATM only knows the types)
23:46 Skarsnik huggable, IRC::Art
23:46 huggable Skarsnik, nothing found
23:46 Skarsnik it should link modules :)
23:47 inokenty joined #perl6
23:47 ZoffixWin I can code that in right now :)
23:49 diakopter aw you have to reset the process ;)
23:50 ZoffixWin So far yeah :)
23:51 ZoffixWin And read the docs to fix compile errors apparently :P
23:52 ZoffixWin Ah, right.
23:52 huggable joined #perl6
23:52 ZoffixWin huggable, module IRC::Client
23:52 huggable ZoffixWin, Link to module: http://modules.perl6.org/repo/IRC::Client
23:52 ZoffixWin \o/
23:53 ZoffixWin huggable, module NotReallyAModuleButWhoCares :D
23:53 huggable ZoffixWin, Link to module: http://modules.perl6.org/repo/NotReallyAModuleButWhoCares :D
23:53 diakopter huggable module '
23:53 ZoffixWin Small addition too: https://gist.github.com/zoffixznet/ad206482a952cbdd5b09
23:53 diakopter huggable, module '
23:53 huggable diakopter, Link to module: http://modules.perl6.org/repo/'
23:53 diakopter huggable, module
23:53 ZoffixWin :/
23:53 huggable diakopter, Link to module: http://modules.perl6.org/repo/
23:54 diakopter just being fuzzilicious
23:54 ZoffixWin I thought I taught it to handle addressing without , or . :(
23:54 ugexe huggable, module 1'); DROP TABLE fart;--
23:54 huggable ugexe, Link to module: http://modules.perl6.org/repo/1'); DROP TABLE fart;--
23:54 ZoffixWin Ah, forgot to make optional.
23:54 ZoffixWin ugexe, pfft
23:56 brabo joined #perl6
23:57 AlexDaniel ZoffixWin: would be more useful if it was just .module
23:57 ZoffixWin yeah
23:58 AlexDaniel huggable: hugg
23:58 huggable AlexDaniel, nothing found
23:58 ZoffixWin Eventually I'll add that :)
23:58 ugexe those links point at distro names as well, not neccesarily modules
23:58 mr_micawber joined #perl6
23:59 ugexe search `provides` to find the true distro name

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

Perl 6 | Reference Documentation | Rakudo