Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-03-10

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 IOninja Not really, due to nodality...
00:01 IOninja m: (^3, [1, 2, 3])».Numeric.say
00:01 camelia rakudo-moar 68a40f: OUTPUT: «((0 1 2) [1 2 3])␤»
00:01 IOninja m: (^3, [1, 2, 3]).map(*.Numeric).say
00:01 camelia rakudo-moar 68a40f: OUTPUT: «(3 3)␤»
00:01 mcmillhj joined #perl6
00:02 IOninja huggable: eco 1-character
00:02 huggable IOninja, nothing found
00:02 IOninja look hrdr!
00:02 IOninja buggable: eco 1-character
00:02 buggable IOninja, M 'M, the 1-character Map: non-nodal, non-autothreading .map(*.some-method)': https://github.com/zoffixznet/perl6-M
00:03 IOninja Hmm
00:03 unicodable6 joined #perl6
00:07 mcmillhj joined #perl6
00:07 IOninja m: grammar { token TOP { <foo>+ }; token foo { <bar>**1 { make ~$/ } }; token bar { \d+ | <[a..z]>+ } }.parse: '1a2b33cc'; say $<foo>».made
00:07 camelia rakudo-moar 68a40f: OUTPUT: «[1 a 2 b 33 cc]␤»
00:07 IOninja m: grammar { token TOP { <foo>+ }; token foo { <bar>**1 { make ~$/ } }; token bar { \d+ | <[a..z]>+ } }.parse: '1a2b33cc'; say $<foo>.map: *.made
00:07 camelia rakudo-moar 68a40f: OUTPUT: «(1 a 2 b 33 cc)␤»
00:08 IOninja One's an Array other's not :/
00:09 skids m: grammar { token TOP { <foo>+ }; token foo { <bar>**1 { make ~$/ } }; token bar { \d+ | <[a..z]>+ } }.parse: '1a2b33cc'; say dd $<foo>
00:09 camelia rakudo-moar 68a40f: OUTPUT: «[Match.new(ast => "1", list => (), hash => Map.new((:bar([Match.new(ast => Any, list => (), hash => Map.new(()), to => 1, orig => "1a2b33cc", from => 0)]))), to => 1, orig => "1a2b33cc", from => 0), Match.new(ast => "a", list => (), hash => Map.new((:bar…»
00:11 itaipu joined #perl6
00:11 IOninja m: grammar { token TOP { <foo>+ }; token foo { <bar>**1  }; token bar { \d+ | <[a..z]>+  { make ~$/ } } }.parse: '1a2b33cc'; sub foo  { "[$^a]".say;  }; $<foo>».&foo
00:11 camelia rakudo-moar 68a40f: OUTPUT: «[1]␤[a]␤[2]␤[b]␤[33]␤[cc]␤»
00:11 IOninja m: grammar { token TOP { <foo>+ }; token foo { <bar>**1  }; token bar { \d+ | <[a..z]>+  { make ~$/ } } }.parse: '1a2b33cc'; sub foo is nodal { "[$^a]".say;  }; $<foo>».&foo
00:11 camelia rakudo-moar 68a40f: OUTPUT: «[1]␤[a]␤[2]␤[b]␤[33]␤[cc]␤»
00:11 IOninja `is nodal` on a sub don't do nothing?
00:12 raschipi joined #perl6
00:13 Cabanossi joined #perl6
00:15 TimToady skids: re $!braid, the class is not Cursor, but NQPCursor; see https://gist.github.com/TimToady/474bdc4ac6f6035015ec9745bdcdf62c
00:17 skids Hrm.  I'll see if changing that line in .FOREIGN_LANGUAGE works when I get done breaking my local build.
00:17 cibs joined #perl6
00:18 IOninja m: use MONKEY; augment class Array { method foo is nodal { "[{self}]".say; }  }; ([1, 3, 4], [1, 3])».foo
00:18 camelia rakudo-moar 68a40f: OUTPUT: «No such method 'foo' for invocant of type 'Int'␤  in block <unit> at <tmp> line 1␤␤»
00:18 IOninja Guess it works in setting only...
00:18 IOninja and yeah, I was wrong ».made and map: *.made are the same
00:21 TimToady skids: but do see the gist; I had to pull NQPCursor out of the cursor's mro, since it's not visible
00:21 skids I think it might be in Grammar.nqp.
00:22 skids I will put that trick in my quiver though :-)
00:22 BenGoldberg .tell pukku You said you are interested in a DOM manipulator which doesn't change the order of attributes when you stringify it... first, look at https://github.com/zostay/perl6-ArrayHash; then, look at DOM::Tiny, specifically the source of DOM::Tiny::HTML.  Note that there are precisely three places where Hash.new is used; if these were changed to ArrayHash, I'm 99% sure that you'd have a solution.
00:22 yoleaux BenGoldberg: I'll pass your message to pukku.
00:23 mcmillhj joined #perl6
00:24 geekosaur joined #perl6
00:25 TimToady skids: why it doesn't work, I dunno; I guess structural equivalence is not good enough between NQPCursor and Cursor, despite being derived from the same role; maybe jnthn++ has an opinion
00:28 TimToady jnthn: the original referent is http://irclog.perlgeek.de/perl6/2017-03-09#i_14230054
00:37 bjz joined #perl6
00:38 BenGoldberg m: Int.^add_method( 'sink', method (Int:) { say "sunk" } );  Int.^compose; say 'pe'; say 'rl6';
00:38 camelia rakudo-moar 68a40f: OUTPUT: «pe␤rl6␤»
00:39 * BenGoldberg wonders why the Int returned by the first say doesn't get it's .sink called on it.
00:39 mcmillhj joined #perl6
00:40 IOninja m: Bool.^add_method( 'sink', method () { say "sunk" } );  Bool.^compose; say 'pe'; say 'rl6';
00:40 camelia rakudo-moar 68a40f: OUTPUT: «pe␤sunk␤rl6␤sunk␤»
00:41 IOninja m: Int.^add_method( 'sink', method () { say "sunk" } );  Bool.^compose; say 'pe'; say 'rl6';
00:41 camelia rakudo-moar 68a40f: OUTPUT: «pe␤sunk␤rl6␤sunk␤»
00:42 BenGoldberg whu?
00:42 BenGoldberg m: dd say ''
00:42 camelia rakudo-moar 68a40f: OUTPUT: «␤Bool::True␤»
00:43 BenGoldberg Oh, it's returning Bool, *blushes*, /me wonders why'd he'd thought it was an Int.
00:45 Dunearhp joined #perl6
00:50 IOninja BenGoldberg: Bool *is* an Int. But you didn't recompose the Bool after messing with Int
00:50 BenGoldberg Ahh.
00:52 * BenGoldberg is thinking that adding a .sink to e.g. Int and/or Bool, and playing with callframe, would be an interesting way to produce lots of fun debugging info.
00:58 Cabanossi joined #perl6
01:06 zakharyas joined #perl6
01:07 cdg joined #perl6
01:09 BenGoldberg m: class Foo { method ^parameterize(Mu:U \p, Mu \t) { say "in parameterize, t is {t}" } }; Foo[3].new;
01:09 camelia rakudo-moar 68a40f: OUTPUT: «in parameterize, t is 3␤»
01:10 cdg joined #perl6
01:11 TimToady joined #perl6
01:13 BenGoldberg Aha!  I've got an idea for a possible solution for the NativeCall callback memory leak problem.
01:14 BenGoldberg Basically, add a method ^parameterize(Mu:U \p, Signature:D $s) to NativeCall::Types::Pointer, which mixes something into Pointer so that two-way marshalling of perl Callables and C function pointers can happen, *and* when it goes out of scope, that's the moment when stuff gets freed.
01:17 aborazmeh joined #perl6
01:17 aborazmeh joined #perl6
01:35 agentzh joined #perl6
01:55 bjz joined #perl6
01:58 Cabanossi joined #perl6
02:08 mcmillhj joined #perl6
02:23 mcmillhj joined #perl6
02:36 mcmillhj joined #perl6
02:48 ilbot3 joined #perl6
02:48 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:51 cibs joined #perl6
02:57 mcmillhj joined #perl6
03:09 labster joined #perl6
03:09 mcmillhj joined #perl6
03:11 xtreak joined #perl6
03:23 mcmillhj joined #perl6
03:28 Cabanossi joined #perl6
03:33 bjz joined #perl6
03:42 agentzh joined #perl6
03:45 noganex joined #perl6
03:57 wamba joined #perl6
03:58 Xliff joined #perl6
04:12 Cabanossi joined #perl6
04:21 mcmillhj joined #perl6
04:39 mcmillhj joined #perl6
04:40 agentzh joined #perl6
04:46 Geth ¦ whateverable/master: 6 commits pushed by (Aleks-Daniel Jakimenko-Aleksejev)++
04:46 Geth ¦ whateverable/master: 362615e8bb | Make Unicodable work as yoleaux replacement
04:46 Geth ¦ whateverable/master: 4200209c50 | Add experimental 「propdump:」 command
04:46 Geth ¦ whateverable/master: 6d0b621b10 | Handle invalid codepoints properly
04:46 Geth ¦ whateverable/master: 6b34e1c72f | Ancient oops!
04:46 Geth ¦ whateverable/master: 21ef3e071c | Allow uppercase U in codepoints
04:46 Geth ¦ whateverable/master: 96835e6bf9 | Add unicodable tests
04:46 Geth ¦ whateverable/master: review: https://github.com/perl6/whateverable/compare/8281f80d2a...96835e6bf9
04:50 mcmillhj joined #perl6
04:56 bisectable6 joined #perl6
04:56 benchable6 joined #perl6
04:56 committable6 joined #perl6
04:56 statisfiable6 joined #perl6
04:56 evalable6 joined #perl6
04:56 unicodable6 joined #perl6
04:57 Cabanossi joined #perl6
04:58 naxieAlDle unidump: 🙌
04:58 unicodable6 naxieAlDle, https://gist.github.com/a1d5930e674129bf11d3d03bbeb2ae4a
04:59 naxieAlDle feedback is welcome
05:00 naxieAlDle samcv: ↑ ^_^
05:00 cibs joined #perl6
05:04 TEttinger that's wonderful, naxieAlDle
05:04 TEttinger I wonder if there's a way to generate all those gists beforehand and just link to existing ones (potentially for a site to refererence)
05:05 naxieAlDle interesting idea
05:05 TEttinger all zillion chars in unicode 9
05:05 naxieAlDle right now you can use more than one character
05:05 TEttinger ah ok
05:05 naxieAlDle unidump: ✓✗
05:05 unicodable6 naxieAlDle, https://gist.github.com/997468ea4d379ea446ea4882f819737a
05:06 naxieAlDle and also, the result is going to improve over time, I think. If I'm not mistaken, some properties are not showing up
05:06 TEttinger oh man, there are MORE???
05:07 naxieAlDle but yes, that could be a nice addition to docs
05:07 naxieAlDle TEttinger: no, that's a full list! But some properties are empty
05:07 TEttinger I like that they're public, https://gist.github.com/Whateverable
05:08 TEttinger sooo... somebody's testing ligatures. https://gist.github.com/Whateverable/1f6c6a843537f7b656885ef3f36aa20e
05:08 * sjn would have loved it if 🙌  hd the alias "YAY!"  :)
05:08 TEttinger what's the plan with ligatures?
05:09 naxieAlDle dunno, should work?
05:09 naxieAlDle m: say "aaaastaaa" ~~ m:i/st/;
05:09 camelia rakudo-moar 68a40f: OUTPUT: «「s」␤»
05:10 naxieAlDle hm :)
05:12 naxieAlDle buggable: UNI
05:12 naxieAlDle buggable: tag UNI
05:12 buggable naxieAlDle, There are 30 tickets tagged with UNI; See http://perl6.fail/t/UNI for details
05:16 mcmillhj joined #perl6
05:24 naxieAlDle night o/
05:30 flw joined #perl6
05:37 mcmillhj joined #perl6
05:44 xtreak joined #perl6
05:51 mcmillhj joined #perl6
06:01 curan joined #perl6
06:02 mcmillhj joined #perl6
06:07 dotness joined #perl6
06:13 mcmillhj joined #perl6
06:18 Todd joined #perl6
06:19 Todd Hi All, what works in rhel, does not in Fedora.
06:19 Todd sub XDisplayName(Str:D $name) is native('X11') returns Str { * };
06:19 Todd gives
06:19 Todd annot locate native library 'libX11.so': libX11.so
06:19 Todd $ rpm -qa \*libX11\* libX11-1.6.4-1.fc25.i686 libX11-1.6.4-1.fc25.x86_64 libX11-common-1.6.4-1.fc25.noarch
06:20 Todd what is going on?
06:20 samcv I have a libX11.so at /usr/lib
06:20 Todd $ ls -a /usr/lib64/libX11* /usr/lib64/libX11.so.6      /usr/lib64/libX11-xcb.so.1 /usr/lib64/libX11.so.6.3.0  /usr/lib64/libX11-xcb.so.1.0.0
06:21 Todd ls -a /usr/lib/libX11* /usr/lib/libX11.so.6      /usr/lib/libX11-xcb.so.1 /usr/lib/libX11.so.6.3.0  /usr/lib/libX11-xcb.so.1.0.0
06:21 Todd it got something in both usr and usr64
06:22 samcv Todd, that works for me on my arch computer
06:22 Todd # ln /usr/lib64/libX11.so.6 /usr/lib64/libX11.so
06:22 Todd # ln /usr/lib/libX11.so.6 /usr/lib/libX11.so
06:23 Todd fixzed the issue.  Is this a bug in NativeCall?
06:23 samcv maybe, if it doesn't automatically pick a version it could be
06:23 samcv not 100% sure
06:24 Peter_R joined #perl6
06:24 Todd Where to file such a bug?
06:24 samcv Todd, https://rt.perl.org/Search/Simple.html?q=nativecall any of these bugs yours?
06:24 mcmillhj joined #perl6
06:24 samcv if they are not, then send the bug report by email to rakudobug@perl.org
06:25 Todd I have an account over there, I am just on the comptuer that has the log on info.  I will eMail to rakudobug@perl.org (or wait till tomorrow and do it on the other computer)
06:25 Todd Thank yoU!
06:27 ufobat joined #perl6
06:27 samcv great thank you
06:27 ufobat good morning :)
06:29 samcv morning ufobat
06:29 Todd Can anyone fix the syntax for me on the following:
06:29 Todd # char *XFetchBytes(Display *display, int *nbytes_return)
06:29 Todd sub XFetchBytes(Str:D $display, int32 $length) is native('X11') returns Str { * };
06:29 Todd Calling XFetchBytes(List) will never work with declared signature (Str:D $display, int32 $length --> Str)
06:30 samcv Todd, can you share some code and i can try it out
06:30 ufobat Todd, are you calling it like this XFetchBytes ("foo", 1)
06:31 Todd What is the best way to send it?  eMail it to perl6-users@perl.org  ??
06:31 ufobat https://gist.github.com/ maybe?
06:31 Todd I can probably shorten it to four lines and place it here
06:33 Todd gist looks like I need to sign up for something
06:33 ufobat ah you probably need to have a github account, yeah
06:33 Todd #!/usr/bin/perl6
06:33 Todd # char *XFetchBytes(Display *display, int *nbytes_return)
06:33 Todd sub XFetchBytes(Str:D $display, int32 $length) is native('X11') returns Str { * };
06:34 mcmillhj joined #perl6
06:35 Todd my $Bytes; my $Length; $Bytes = XFetchBytes ( ":0.0", $Length );
06:35 Todd print "\$Length <$Length>\n\$Bytes <$Bytes>\n\n";
06:35 ufobat ufobat> Todd, are you calling it like this XFetchBytes ("foo", 1)
06:35 ufobat thats your mistake
06:35 Todd well five lines;  looks a lot smaller without the comments.  here is the reference I am using:
06:35 ufobat try this: my $Bytes; my $Length; $Bytes = XFetchBytes( ":0.0", $Length );
06:35 samcv Todd, try http://vpaste.net/
06:36 Todd https://tronche.com/gui/x/xlib/utilities/XFetchBytes.html
06:36 ufobat there must be no space between sub-name and opening '('
06:37 ufobat if there is a blank the (":0.0", $foo) will be a list passed to the subroutine
06:39 xtreak joined #perl6
06:40 samcv m: say (1,2,4)
06:40 camelia rakudo-moar 9d7c0a: OUTPUT: «(1 2 4)␤»
06:40 samcv m: say(1,2,4)
06:40 camelia rakudo-moar 9d7c0a: OUTPUT: «124␤»
06:42 Cabanossi joined #perl6
06:45 Todd for some reason  my browser popped me overt to something weird
06:45 mcmillhj joined #perl6
06:45 Todd http://vpaste.net/9rhJO
06:46 Todd $Bytes = XFetchBytes( ":0.0", $Length );
06:46 Todd is giving
06:46 Todd Cannot unbox a type object (Any) to int.
06:46 ufobat probably your $Length is undefined?
06:47 Todd my $Length; $Bytes = XFetchBytes( ":0.0", $Length );
06:47 ufobat maybe try: my int32 $Length = 10;
06:49 Todd Segmentation fault (core dumped)
06:49 ufobat i am not sure whether 'my int32' is a bad idea in this example. i think usually 'Int' is the best?
06:49 Todd oops.  What did I do?
06:49 ufobat Todd, well yeah, at least youre in the C world now ;)
06:49 Todd C gives me a head ache
06:50 ufobat i cant help you any further, sorry
06:50 Todd Int for int32 also seg faults
06:50 Todd thank your for hte help anyway.  Much apreciated
06:51 RabidGravy joined #perl6
06:52 Todd In the C world "int *nbytes_return" means a pointer to address on an "int", which is a form of Integer, probably 32 bit.
06:53 Todd Is me passing "$Length" to it properly tranlated to the pointer and all?
06:54 Todd Just out of curiousity, isn't Perl written in C?
06:55 ChoHag joined #perl6
06:55 abraxxa joined #perl6
06:56 mcmillhj joined #perl6
06:57 effbiai joined #perl6
06:57 effbiai joined #perl6
07:03 domidumont joined #perl6
07:03 cibs joined #perl6
07:04 Todd my browser is still acting weird, so I am going to exit and log back in (love clicking on those street signs)
07:05 Todd joined #perl6
07:05 Todd I am back in.  Any luck with the seg faults?
07:07 mcmillhj joined #perl6
07:12 Cabanossi joined #perl6
07:18 mcmillhj joined #perl6
07:28 Todd I am looking through perl6 docs for Str:D and finding a bunch of stuff but no explaination.  What does it do?
07:28 mcmillhj joined #perl6
07:29 gfldex https://docs.perl6.org/syntax/$COLOND
07:30 Todd Reading
07:33 Todd so the ":D" means to use "defined".  So "Str:D" means to only use "defined strings".  Would "int:D" mean to only use a "defined integer"??
07:33 Todd And what would the difference be between "Str" and "Str:D"?  Is one short hand for the other?
07:34 ufobat my Str $foo; and now $foo is undefined
07:34 ufobat m: my Str:D $foo;
07:34 camelia rakudo-moar 9d7c0a: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable definition of type Str:D requires an initializer␤at <tmp>:1␤------> 3my Str:D $foo7⏏5;␤    expecting any of:␤        constraint␤»
07:34 ufobat m: my Str:D $foo = "whoa!";
07:34 camelia rakudo-moar 9d7c0a: ( no output )
07:34 ufobat m: my Str:U $foo;
07:34 camelia rakudo-moar 9d7c0a: ( no output )
07:34 ufobat m: my Str:U $foo = "whoa!";
07:34 camelia rakudo-moar 9d7c0a: OUTPUT: «Type check failed in assignment to $foo; expected Str:U but got Str ("whoa!")␤  in block <unit> at <tmp> line 1␤␤»
07:35 ufobat Str means string but you dont care whether it is defined or not. with :U or :D you do care
07:35 xtreak joined #perl6
07:37 Todd by "defined", do you mean it has a "my", or do you mean "initialized"?
07:37 ufobat it is more "initialized"
07:38 Todd "more"
07:38 Todd "more"?
07:38 ufobat but thats not perfectly true, because something that is initialized can set to a "undefined" value afterwards, it is/was still initilized, right?
07:39 Todd Here is where I am confused.  In the C code "char *XDisplayName(char *string);" , "char *string" is a C pointer to a string.
07:39 mcmillhj joined #perl6
07:40 Todd In Native call, it gets changed to
07:40 Todd sub XDisplayName(Str:D $name) is native('X11') returns Str { * };
07:40 ufobat i think in C you could do a: char *string;
07:41 Todd What is confusing me is how does native Call know to translate the value i am sending it to a C pointer and does "Str:D" have anythingto do with that?
07:41 ufobat this pointer points to nowhere now? right?, thats probably the equivalent of Str:U in this example
07:41 samcv `my $var` => undefined `my $var = 'blah'`
07:42 Todd sam, what are you trying to tell me?
07:42 Todd Does the ":U" mean "undefined"?
07:43 ufobat i dont know NativeCall yet, but i'd assume that Str:D would convert to a char *  The Documentation said (C String) https://docs.perl6.org/language/nativecall#Passing_and_Returning_Values
07:43 ufobat is this a char *?
07:43 ufobat yeah :U is undefined
07:45 Todd so "my $var;" is just shothand for "my Str:U $var;"  ????
07:47 ufobat no
07:47 ufobat my $var; <- now ware could be anything
07:47 ufobat s/ware/$var/
07:48 Todd So what exactly is a "Defined string (Str:D)"?  Is the purpose to undo conversatoins with other languages that are not “lexiconical”?
07:48 samcv defined string is any string that has been defined
07:48 samcv m: my Str $thing #this string is undefined
07:48 camelia rakudo-moar 9d7c0a: ( no output )
07:48 samcv m: my Str $thing; say $thing.WHAT; #this string is undefined
07:48 camelia rakudo-moar 9d7c0a: OUTPUT: «(Str)␤»
07:49 ufobat for example real world person allways have a Str:D $name
07:49 samcv Todd, yeah the :U means undefined
07:49 ufobat whereas pets sometimes have no name, so Str $name would be appropriate
07:49 samcv pets?
07:49 ufobat ever called your cat at home just "cat"?
07:49 Todd would not [my $var = "hello"] define it as a "Str:D"?
07:50 samcv i see your point ufobat
07:50 samcv yes Todd
07:50 sunnavy joined #perl6
07:50 samcv an empty string is defined, but is coerces to False
07:50 samcv for example. and 0 as a number is defined but evals as False
07:50 mcmillhj joined #perl6
07:51 Todd So how does C know "Str:D $name" is a C pointer to a string (array of characters)?
07:51 samcv though there's `Nil` which is an undefined value. but that's a little different. but there's several ways something can not be defined
07:51 samcv when programming in perl 6? well there's a translation layer
07:52 samcv MoarVM uses dyncall library to do it
07:52 Todd Does it figure it out on its own?  What is a pointer and what is not?
07:53 Todd Be nice if it did
07:53 samcv yeah it mostly does Todd
07:53 samcv i mean as long as you actually supply the correct types
07:53 samcv like if you try using a string when the C function wants an integer, weird things happen
07:54 samcv or if you use the wrong size of integer or whatever
07:54 Todd I think I am not providing the correct types.
07:54 samcv show me your code again?
07:54 Todd Will do.  I has gotten more complex
07:55 samcv also you may be interesting in gpxtrixie which will create a bunch of code for you. it's not always 100% correct. but you can take what you need and leave the rest. you'll need clang and uh some other thing
07:55 samcv it supports gcc but i never have gotten it working with that
07:55 samcv https://github.com/Skarsnik/gptrixie
07:56 samcv i couldn't find gccxml on my distro, so i just used the clang one which is castxml
07:56 Todd http://vpaste.net/Ley6g
07:56 bjz joined #perl6
07:57 mcmillhj joined #perl6
07:57 Todd I will look a gptrixie
07:57 Todd did vpaste work?
07:58 samcv yep. also which part is not working
07:58 Todd Calling XStoreBytes(List) will never work with declared signature (Str:D $display, Str:D $str, int32:D $len)   in method CALL-ME at /usr/share/perl6/sources/24DD121B5B4774C04A7084827BFAD92199756E03 (NativeCall) line 326   in block <unit> at ./XFetchBytesTest.pl6 line 39
07:59 Todd It does not like the way I am declaring (Str:D $display, Str:D $str, int32:D $len)
07:59 Todd # XStoreBytes(displayptr, string, numbytes) sub XStoreBytes(Str:D $display, Str:D $str, int32:D $len) is native('X11') { * }
08:00 Todd Do you feel safe running my code?
08:00 samcv yeah i read it. code is fine
08:00 samcv I get this printed out: `$Display = <:0>`
08:00 samcv seems accurate
08:01 Todd The first native call works.  I put it in to help figure out the other two
08:01 samcv ah
08:01 samcv ok so it's XStoreBytes that doesn't work
08:02 samcv ok yeah it's returning a Display pointer
08:02 Todd yes.  If you comment it out, XFetchBytes is whining too.
08:03 samcv looks like you need a command to get the Display* and then use that to fetch and store bytes
08:03 samcv since it wants a display pointer
08:04 Todd I thought it was either to hard code ":0.0" or to send it the result in $Display.
08:05 Todd NativeCall would change it over to a C pointer
08:05 samcv i think it may be a special C type. but at minimum i know it's a pointer
08:05 samcv the XDisplayName returns a char * not a Display *
08:06 Todd In my case it returns four characters, not one.
08:06 samcv XDisplayName you mean?
08:07 Todd Yes,  maybe it is look for an integer?
08:07 samcv no that seems fine. the problem is that you don't want the display name, you want the display pointer
08:07 Todd not ":0.0"
08:07 samcv some special object
08:07 samcv so you need something that returns a Display *
08:07 mcmillhj joined #perl6
08:08 samcv Todd, ftp://www.x.org/pub/xorg/X11R7.5/doc/man/man3/XOpenDisplay.3.html looks like you want this
08:08 samcv you give it a char * aka a string of the display name, then it gives you back a Display *
08:08 samcv which you can use for the other calls
08:09 Todd by chance is "char" is C short hand for "array of characters"?  In Modula2 (where I come from), "char" is a single byte
08:10 samcv yep exactly a char * is an array of characters and a char is defined as one bytes
08:10 samcv that holds a ascii number usually. though you can store utf-8 in a char *
08:11 Todd so "char *" is an array of characters and "*char" is a pointer to either an array of characters or a single character?
08:12 samcv no they are the same thing
08:12 samcv char* and char * are the same thing
08:12 samcv err wait
08:12 samcv where do you see *char
08:13 Todd so "char *XDisplayName(char *string);" means it is returning a pointer to an array of characters and I am supplying it a pointer to an array of characters
08:13 Todd ?
08:13 samcv yep
08:13 samcv exactly
08:14 Todd And NativeCall get the dubious task of unravelling it?
08:14 samcv yep
08:14 Todd So "char *XFetchBytes(Display *display, int *nbytes_return)" means
08:14 Todd 1) it will return a pointer to an array of characters
08:14 samcv yeah that * is attached to the 'char' not the function name btw
08:15 samcv char* XFetchBytes is what most people would write
08:15 samcv or a space or something, not attach it to the other thing
08:15 Todd 2) I will provide is some unkown type called "Display *display"
08:15 samcv yes that is a pointer to a display object
08:16 samcv i assume it's similar to what would be a filehandle. since you have to open the display before you can use any of the functions
08:16 Todd 3) "int *nbytes_return" will tell me how long the returned array of characters is
08:16 samcv so think of it like that
08:17 samcv yeah you give it a pointer to an int, and it puts the correct value in there
08:17 Todd So what is the type I shospecify in Native Call for the return lenth or just let Natice call figure it out?
08:17 samcv so that value will probably change after you run it
08:17 samcv wait what did you say in that last sentence?
08:18 samcv length? uh. it just says int so i'd just make it an int or something. though Int might work too
08:18 Todd I am trying to figure out hwo to tell NativeCall that I want it to turn those two pointers into a Perl string
08:19 samcv you had it say returns Str right?
08:19 samcv that should be all you need
08:19 Todd yes
08:19 wamba joined #perl6
08:20 Todd I want those two pointer turned into a perl string
08:20 samcv well you get the actual string back always if you have it return a Str
08:20 samcv only if you made it say "returns Pointer" would you get a pointer
08:20 samcv which is not as useful to you
08:21 samcv NativeCall::Types::Pointer<0x55da56b3d490>
08:21 samcv $Display = <:0>
08:21 samcv that seemed to work fine
08:21 samcv https://gist.github.com/0f84ddcac905b40d57b0cfd7ffb72b45 at least i know i got a pointer back. so that's nice
08:21 Todd I am testing something interesting.  hold a sec
08:22 mcmillhj joined #perl6
08:23 samcv but for XFetchBytes you need $display to be a Pointer not a Str
08:23 n1ce joined #perl6
08:24 Todd Segmentation fault
08:24 Todd poop!
08:25 samcv did you try and take bytes
08:25 samcv without giving it any
08:25 El_Che it's been a while since I tried nativecall, but it was fun
08:25 samcv also can you explain what those actually do
08:25 El_Che the C api I wanted to wrap, less so
08:25 samcv hehehe
08:26 El_Che lib-ldap
08:26 Todd I ctrl-v and center clicked.  There is stuff in both buffer
08:26 El_Che undocumented internal data type
08:26 El_Che s
08:26 El_Che and then I saw a squirrel and forgot about it
08:29 mcmillhj joined #perl6
08:29 Todd Well, shortening it to
08:30 Todd sub XFetchBytes(Str:D $display) is native('X11') returns Str { * };
08:30 Todd Figureing NativeCall would figure it out gave me a seg fault
08:31 El_Che in my short experience most of it was figuring how to match data types
08:31 kanishka joined #perl6
08:36 rindolf joined #perl6
08:38 Todd I looked up "Display" and got "hostname:number.screen_number" over at
08:38 Todd https://tronche.com/gui/x/xlib/display/opening.html#Display
08:38 Todd so it looks like I am giving it the right stuff
08:42 xtreak joined #perl6
08:42 mcmillhj joined #perl6
08:48 Todd I have been looking at
08:48 Todd https://docs.perl6.org/language/nativecall.html
08:49 Todd and although it is very verbose, it does not show what the C call looks like and how to was rewritten in NativeCall.  That is a YUUUGE oversight.
08:49 samcv idk if it supports returning integer pointers, but i haven't tried that before
08:49 samcv Yuge
08:50 Todd Isn't NativeCall suppose to turn all those pointer into real values?
08:50 Todd It occures to me that I may not be calling the correct C line to read the clipboard
08:50 samcv well i've only tried it for char * and some other pointer types
08:51 Todd and I may be doign the seg fault to myself
08:51 samcv i don't think that one is related to clipboard but
08:53 mcmillhj joined #perl6
08:53 samcv Todd, https://jtanx.github.io/2016/08/19/a-cross-platform-clipboard-library/#implementation-details
08:53 samcv see this
08:53 samcv maybe this is what you want
08:55 Todd Wasn't helpful as it did not give the hooks.  Rats!
08:56 samcv it looks fairly complicated
08:56 samcv to do X11 clipboard if you read the section
08:56 samcv but i would try installing https://github.com/jtanx/libclipboard and then using that api to get the clipboard. because it's pretty damn involved
08:56 samcv then use their nice api to get clipboard
08:57 Todd I didn't see it
09:00 Todd oh poop.  There is a ton more to the clipboard that just asking for it
09:00 samcv yeah
09:02 Todd okay.  I will stick with doing a shell to xclip.
09:03 samcv i wouldn't use a shell
09:03 Todd qx?
09:03 samcv just use proc or proc async
09:03 samcv qx uses a shell
09:03 samcv you can skip running a shell and run the program directly
09:04 mcmillhj joined #perl6
09:04 Todd This guy?  https://docs.perl6.org/syntax/proc
09:04 samcv https://docs.perl6.org/routine/run
09:04 samcv i would try run
09:04 samcv run 'xclip', '-p'; then that should do what you want
09:05 Todd Maybe it is all the C code tonight, but gee wiz the proc page is confusing.
09:05 samcv well there's more to it i guess
09:06 El_Che samcv: did you get a camelia sticker?
09:06 samcv no i don't have one
09:06 samcv did somebody mail me one?
09:07 El_Che I hoped so, but it doesn't look that way
09:07 El_Che if I make it to yapc eu, I'll mail one then
09:07 Todd Hi sam, would you mind showing me how to call "xclip -selection clipboard -o" with "run"
09:07 samcv Todd, yeah the proc page sucks
09:07 abraxxa joined #perl6
09:08 samcv thanks El_Che
09:08 samcv sec Todd
09:08 salv0 joined #perl6
09:08 Todd If I ever get getting at this and I want to propose soem verbage to one of those pages, do 1) the powers that be get annoyed and 2) do I just post it to the bug area you sent me earlier?
09:12 Todd This looks pretty: https://perl6advent.wordpress.com/2014/12/06/day-06-running-external-programs-from-perl-6/
09:12 samcv uhm the docs have their own ticket tracker
09:12 Cabanossi joined #perl6
09:13 Todd It looks like "run" will only return you the exit code
09:15 samcv nah, i'm working on what it is. hold on
09:15 mcmillhj joined #perl6
09:15 Todd perl6 -e "say q:x /xclip -selection clipboard -o/"
09:15 Todd works.  But does it call a shell?
09:15 samcv yep
09:15 moritz you can also use say run('yourcomamnd', :out).out.slurp-rest
09:16 DrForr ;x is an adverb modifier.
09:16 moritz read the docs for run. They have some examples, and more explanation
09:16 samcv ok fixd it Todd
09:16 samcv Todd, https://gist.github.com/samcv/6d41202ee55503ec6502cdc77174f67b here you go
09:17 Todd Thank you!
09:17 samcv the page on run really needs to be a lot better
09:17 Todd gasp!
09:17 Todd I coudl be C
09:19 moritz nah, in C it would be 20 lines instead of 2 :-)
09:19 abraxxa joined #perl6
09:21 Todd and a bottle of asprin
09:21 Todd the code you send only prints out
09:21 Todd my $proc = run('xclip', '-selection', 'clipboard', '-o', :out); #my $proc = run('echo', 'wat', :out); say $proc.out.get;
09:23 moritz .get only gives you the first line
09:23 moritz .slurp-rest gives you all the output
09:23 bjz_ joined #perl6
09:24 Geth ¦ doc: cdd2fceed5 | (Samantha McVey)++ | doc/Type/IO.pod6
09:24 Geth ¦ doc: Make `run` documentation better
09:24 Geth ¦ doc:
09:24 Geth ¦ doc: Explain how to capture output, and don't include confusing
09:24 Geth ¦ doc: irrelevant information about other commands.
09:24 Geth ¦ doc: review: https://github.com/perl6/doc/commit/cdd2fceed5
09:24 samcv there we go, that's at least somewhat better
09:25 samcv will take some time for the site to update though Todd. hopefully this will make it easier for the next person.
09:28 mcmillhj joined #perl6
09:29 xtreak joined #perl6
09:30 Todd I am playing with it.  Yippee!
09:33 samcv :)
09:34 Geth ¦ ecosystem: scmorrison++ created pull request #306: Add Web::Cache to ecosystem
09:34 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/pull/306
09:36 Todd Hi Sam, what would give me the return code from that run command along with the text?  Do I have to run the line twice?
09:36 Todd $? is the code
09:38 robertle joined #perl6
09:39 mcmillhj joined #perl6
09:39 moritz Todd: you must call $proc.out.close
09:40 moritz Todd: and then it's in $proc.status, if I remember correctly
09:40 Ven joined #perl6
09:42 Cabanossi joined #perl6
09:42 Geth ¦ ecosystem: 2806f19851 | (Sam Morrison)++ | META.list
09:42 Geth ¦ ecosystem: Add Web::Cache to ecosystem
09:42 Geth ¦ ecosystem:
09:42 Geth ¦ ecosystem: See https://github.com/scmorrison/perl6-Web-Cache
09:42 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/2806f19851
09:42 Geth ¦ ecosystem: 1bc15b5af8 | (Juan Julián Merelo Guervós)++ | META.list
09:42 Geth ¦ ecosystem: Merge pull request #306 from scmorrison/master
09:42 Geth ¦ ecosystem:
09:42 Geth ¦ ecosystem: Add Web::Cache to ecosystem
09:42 Geth ¦ ecosystem: Thanks!
09:42 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/1bc15b5af8
09:47 shdb joined #perl6
09:50 mcmillhj joined #perl6
09:52 g4 joined #perl6
10:00 mcmillhj joined #perl6
10:02 Todd Hi Sam,  I wrote myself up an example with qx, qxx, and run.  Maybe you could use some of it the manual?  http://vpaste.net/nIwaM
10:05 Todd $proc.out.close messed up the data on the print commands above it
10:06 Todd what is close suppose to do?
10:06 moritz close the output pipe
10:09 Todd how do you get the data to stick?
10:09 itaipu joined #perl6
10:09 DrForr Superglue?
10:10 Todd wait, I was echoing commads from the clipboard
10:11 mcmillhj joined #perl6
10:14 Todd This is a better example, as it includes the close.  Also has less run on statements http://vpaste.net/IQ0zZ
10:15 wamba joined #perl6
10:18 Todd what is the best way to go about popping up an informational window with an "okay" for the user to click to get rid of the window?
10:22 Ven joined #perl6
10:22 mcmillhj joined #perl6
10:24 moritz Todd: http://www.linuxjournal.com/article/2807 is an easy way
10:24 xtreak joined #perl6
10:28 faraco joined #perl6
10:28 Todd Thank you.  I had been using zenity
10:29 Todd Is there a perl module that will work on both Linux and that "other" operating system with all the bugs?
10:31 faraco o/
10:33 mcmillhj joined #perl6
10:34 faraco I got rakudo tarball, not sure what moarvm offers compared to JVM.
10:34 DrForr MoarVM is more mature than the JVM implementation.
10:34 El_Che faraco: at the moment rakudo is the most complete/Stable implementation
10:36 faraco moarvm to go.
10:36 itaipu joined #perl6
10:36 jnthn Also, the startup time is a good bit shorter with MoarVM :-)
10:38 Todd I got to call it a night.  Thank you all for the wonderful help, especially Sam!
10:44 mcmillhj joined #perl6
10:47 Peter_R joined #perl6
10:50 mcmillhj joined #perl6
10:51 Ven joined #perl6
10:57 Cabanossi joined #perl6
11:01 mcmillhj joined #perl6
11:12 mcmillhj joined #perl6
11:16 IOninja DrForr: wasn't there some sort of improvement comming to blogs.perl6.org? I'm trying to login to give a piece of my mind to this blog post, but it keeps telling me "permission denied" even after I reset my password :/
11:17 IOninja Here, "Perl Developer Survey 2017" to "paint the picture of Perl in 2017!"  http://blogs.perl.org/users/bip/2017/03/perl-developer-survey-2017.html
11:17 IOninja And the entire survey is about Perl 5, with a single question "have you tried Perl 6" for Perl 6.
11:21 masak perhaps a thread where Perl 6 should figure more prominently: https://news.ycombinator.com/item?id=13830177
11:21 masak (there's already a link to an advent post)
11:21 IOninja guess my next grant report will be on perl6.party... Can't login to blogs.perl.org at all now..
11:23 mcmillhj joined #perl6
11:34 mcmillhj joined #perl6
11:46 mcmillhj joined #perl6
11:47 faraco Is there any company that already adopted Perl 6 in their production use?
11:48 lukaramu joined #perl6
11:50 IOninja faraco: judging by the number of people who were asking questions while mentioning the code was part of their work, quite a few.
11:51 IOninja faraco: but the question is a bit vague. For example, I'm the only developer in my company. If I start writing in Perl 6 alone, will that mean my company adopted anything? What if I use Perl 6 for all the one-liners and one-offs but use another lang for web apps? Is that "adopting" it?
11:52 IOninja faraco: and in the past year, 95% of new code I wrote was for open source projects... It's still production use, even though there's no "company" behind the code.
11:54 bjz joined #perl6
11:54 perlawhirl joined #perl6
11:56 Cabanossi joined #perl6
11:57 mcmillhj joined #perl6
12:06 Ven joined #perl6
12:08 mcmillhj joined #perl6
12:12 raschipi joined #perl6
12:14 TeamBlast joined #perl6
12:19 naxieAlDle joined #perl6
12:24 SmokeMachine u: arrow
12:24 unicodable6 SmokeMachine, U+02C2 MODIFIER LETTER LEFT ARROWHEAD [Sk] (˂)
12:24 unicodable6 SmokeMachine, U+02C3 MODIFIER LETTER RIGHT ARROWHEAD [Sk] (˃)
12:24 unicodable6 SmokeMachine, 617 characters in total: https://gist.github.com/e8e2461279d01d6f2b9c170c599be7b8
12:24 raschipi m: say so 2
12:24 camelia rakudo-moar 9d7c0a: OUTPUT: «True␤»
12:25 mcmillhj joined #perl6
12:26 naxieAlDle unidump: ½
12:26 unicodable6 naxieAlDle, https://gist.github.com/89e1ee6b4b23e6e070a7727643346d78
12:26 raschipi naxieAlDle: Nice bot, congrats.
12:26 cgfbee joined #perl6
12:26 naxieAlDle :)
12:27 perlawhirl hi perlers
12:27 raschipi Heya perlawhirl
12:27 naxieAlDle o/
12:28 raschipi naxieAlDle: You should contact http://www.fileformat.info and help them improve their Unicode information pages
12:28 perlawhirl parts 4 and 5 of my matplotlib in p6 series are up: http://www.0racle.info/
12:28 perlawhirl i mainly ask because... what the "reddiquette", should i make a new post?
12:29 * perlawhirl is new to blogging
12:29 raschipi perlawhirl: in oposition to what?
12:29 perlawhirl ha... i dunno
12:29 raschipi Making posts with your own blogposts in reddit might get one bannned for SPAM, be careful
12:30 naxieAlDle raschipi: “Character.getNumericValue() -2” haha
12:30 IOninja naxieAlDle++ that's fancy
12:31 perlawhirl raschipi: i get it. i was truly unsure tho... i don't post on reddit often. all good i'll make a new post
12:31 naxieAlDle raschipi: TEttinger suggested to pregenerate these pages and include them in our docs somewhere. I kinda like this idea
12:31 IOninja perlawhirl, post a new reddit post. No one will ban you in r/perl6, I don't know what raschipi is talking about
12:31 raschipi perlawhirl: just participate in the comments and keep it on topic and you'll be fine
12:32 raschipi Well, in r/perl6 it may be, but I was talking in general
12:33 IOninja Even in general... I doubt anyonr got banned for posting on-topic information they produced themselves.
12:35 aborazmeh joined #perl6
12:35 aborazmeh joined #perl6
12:35 perlawhirl IOninja: I though he was being sarcastic, tbh
12:35 raschipi IOninja: For example, if you post the same thing to 10 subreddits and don't talk to the users, one might get in trouble.
12:37 mcmillhj joined #perl6
12:43 skids joined #perl6
12:46 mcmillhj joined #perl6
12:52 user___ joined #perl6
12:54 gfldex joined #perl6
12:56 grondilu_ joined #perl6
12:57 Cabanossi joined #perl6
12:57 jonas1 joined #perl6
12:57 mtsd joined #perl6
13:03 mtsd left #perl6
13:22 Ven joined #perl6
13:25 ZzZombo joined #perl6
13:25 ZzZombo joined #perl6
13:29 timotimo somehow i'm having difficulty backlogging when todd's been around :\
13:29 ZzZombo how can I remove a character from <punct> in a regex match, so it won't match, say, apostrophes?
13:31 IOninja timotimo: hehe, I gave up backlogging months ago :)
13:31 IOninja Too much volume.
13:32 timotimo i'm glad we split the channel into #perl6 and #perl6-dev
13:33 IOninja Definitely.
13:33 IOninja I think there's #perl6-toolchain too
13:34 lukaramu_ joined #perl6
13:34 timotimo yes, and #perl6-release
13:34 timotimo i'm not in either of those
13:34 IOninja I think #perl6-release got closed down
13:34 IOninja Due to lack of need.
13:39 Geth ¦ modules.perl6.org/tags: f864e5358f | (Zoffix Znet)++ | 5 files
13:39 Geth ¦ modules.perl6.org/tags: Start sketching out tags support
13:39 Geth ¦ modules.perl6.org/tags: review: https://github.com/perl6/modules.perl6.org/commit/f864e5358f
13:41 perlpilot ZzZombo: <+punct-[']>
13:42 ZzZombo thanks!
13:43 perlpilot IOninja: #perl6-release has 8 people and 3 bots still  :)
13:43 wamba joined #perl6
13:45 perlpilot 7 people now that I've left and told my IRC client to stop auto joining
13:48 IOninja ... 2 bots now :)
13:48 curan joined #perl6
13:49 timotimo masak: a data point from the stats of perl6advent's wp-admin says that accesses coming from hacker news are a tiny number. only 6 so far. 35 visitors coming from "search engines" during its "today" period
13:55 Mithaldu joined #perl6
13:57 Cabanossi joined #perl6
14:03 raschipi I was thinking: we're further away from the first publication of Unicode than it was from the first publication of ASCII at the time.
14:05 perlpilot raschipi: eh?
14:06 perlpilot you mean the most recent modification is further away in time from the first publication?
14:06 raschipi Unicode is an older standard than ASCII was when Unicode was published.
14:07 perlpilot ASCII started in 1960 and was first published in 1963.  Unicode was first published in 1991, when did work on Unicode start?
14:08 llfourn joined #perl6
14:08 raschipi 88: http://unicode.org/history/unicode88.pdf
14:08 raschipi I conted the date of the first written document published
14:08 raschipi because it's a bright line
14:13 mcmillhj joined #perl6
14:29 cale2 joined #perl6
14:30 cale2 What is the best way to pass a file in to a MAIN function?
14:31 cale2 Should you specify the parameter type as "IO::Path", or simply pass a Str and do `$file.IO` to turn it into one?
14:32 skids joined #perl6
14:32 perlpilot cale2: you're going to get a string from the command line in any case.
14:32 jnthn Might be able to do IO(Str) in the signature also
14:33 perlpilot yep, I just tried that and it works fine.
14:33 perlpilot cale2: so ... what jnthn said :)
14:33 Mudada joined #perl6
14:34 cale2 Ah, I was forgetting to put .IO on the end of it
14:35 cale2 Does this coerce it to an IO role-fulfiller?
14:36 perlpilot cale2: IO(Str) in the sig you mean?  That's "accept a Str, but call .IO on it" essentially.
14:36 masak timotimo: I, I meant mostly that someone/we could point out that Perl 6 does very well in the problem space the HN thread was discussing.
14:36 masak s/I/oh/
14:37 Ven joined #perl6
14:40 cdg joined #perl6
14:41 cdg joined #perl6
14:42 DrForr my $text = $filename.IO.slurp; is a good alternative and lets you use the filename later in error messages. Not to dissuade you from the IO(Str) solution, but it feels more useful to me.
14:42 raschipi u: 🐨
14:42 unicodable6 raschipi, U+1F428 KOALA [So] (🐨)
14:43 IOninja DrForr: IO::Path stringifies to filename tho
14:43 cale2 I like "slurp" more, but I needed to call "get" on the file handle so it will get the first line and effectively delete it from there on out
14:43 cale2 m: say 'ABCD'[$_] for ^4;
14:43 camelia rakudo-moar 9d7c0a: OUTPUT: «ABCD␤Index out of range. Is: 1, should be in 0..0␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
14:44 Mudada Hi, i just tried to install a package with zef in osx but it throws me an error which i can't understand,  `CompUnit::Repository install target is not writeable/installable: /Users/username/auto Need a valid installation target to continue` i tried with sudo so i dont think it's a permission problem, does anyone ever get this and solved it ?
14:44 IOninja Strings aren't arrays.
14:44 DrForr Ah, also good to know. I'm going to write a simple brace-rebalancing thing for Perl6::Tidy over the weekend so the module can at least do something mildly useful out of the gate.
14:44 cale2 IOninja: I forgot, .comb can coerce strings to arrays
14:45 IOninja Mudada: never experienced such error :/
14:45 cale2 m: say 'ABCD'.comb.[$_] for ^4;
14:45 camelia rakudo-moar 9d7c0a: OUTPUT: «A␤B␤C␤D␤»
14:45 Unavowed joined #perl6
14:47 IOninja Ugh. I've reached the point. I hate Perl 5. It's unprogrammable after long period of programming Perl 6.
14:47 IOninja and modules.perl6.org's dev server apparently just forkbombed my devbox too -_-
14:48 raschipi IOninja: what other languages can you stand?
14:49 IOninja raschipi: JS
14:49 raschipi yuck
14:49 IOninja Heh
14:50 perlpilot js is becoming more perl-like over time.
14:50 naxieAlDle .oO( "use strict" )
14:51 Mudada rofle
14:51 naxieAlDle .oO( … “use strict” ? )
14:52 * IOninja doesn't see the resemblance
14:54 raschipi I try to avoid even make files because of the semantic whitespace.
14:54 naxieAlDle raschipi: but… what do you use instead?
14:54 naxieAlDle I've been looking for a decent alternative since forever
14:56 drrho joined #perl6
14:58 cale2 m: say <a b c d e f g>.index("b");
14:58 camelia rakudo-moar 9d7c0a: OUTPUT: «2␤»
14:58 naxieAlDle cale2: GOTCHA!
14:59 cale2 yeah... what happened there?
14:59 moritz strings happened
14:59 moritz m: say <a b c d e f g>.Str
14:59 camelia rakudo-moar 9d7c0a: OUTPUT: «a b c d e f g␤»
14:59 moritz m: say <a b c d e f g>.Str.index('b')
14:59 camelia rakudo-moar 9d7c0a: OUTPUT: «2␤»
14:59 naxieAlDle cale2: https://github.com/perl6/doc/issues/992
14:59 moritz m: say <a b c d e f g>.first('b', :k)
14:59 camelia rakudo-moar 9d7c0a: OUTPUT: «1␤»
15:00 naxieAlDle wtf bdfoy downvoted it? ×D
15:01 IOninja naxieAlDle: he seems to be downvoting all your replies on that thread: )
15:01 raschipi naxieAlDle: CMake
15:01 cale2 So adding :k should fix it
15:02 naxieAlDle IOninja: not just this thread, I noticed :)
15:02 TeamBlast joined #perl6
15:02 IOninja He clearly likes you ;)
15:06 DrForr O gods.
15:08 * [Coke] hurls https://nolanlawson.com/2017/03/05/what-it-feels-like-to-be-an-open-source-maintainer/ which was a good read.
15:09 DrForr "If you're gonna spew, spew into this."
15:09 IOninja tl;dr. Summarize it in one sentence! :)
15:12 Cabanossi joined #perl6
15:23 stmuk "If there’s one thing I’ve learned in open source, it’s this: the more work you do, the more work gets asked of you. "
15:23 moritz fwiw this is not only true in open source
15:23 moritz it's basically everywhere
15:23 cale2 I like that wayne's world reference
15:23 [Coke] "the best thing about my job is that when I do it well I have to do your job too!"
15:23 IOninja mhm
15:24 moritz at work, or volunteering with dishes or cooking at home or in a sports club or whever
15:24 IOninja Which why learning to say "No" is important.
15:25 timotimo "Latest commit b8527e9  on 10 Oct 2016"
15:25 timotimo er, ww
15:26 Woodi_ I think it is important when you helping and when someone is trying to abuses good heart...
15:26 cale2 "Nobody opens an issue or a pull request when they’re satisfied with your work"
15:26 cale2 Is that normal? I thought that's what stars were for
15:27 moritz stars get much less attention
15:27 moritz then issues/pull requests
15:27 timotimo i very rarely use the star feature on github
15:27 moritz fwiw I try to be happy about pull requests and bug reports, because it means somebody cares about my stuff
15:27 moritz and sometimes I manage to do that :-)
15:28 timotimo yeah
15:28 Woodi_ cale2: that's other problem :) good is taked for granted :)  hard to appreciate that...
15:28 cale2 "You feel guilty about that too, since you know open source is frequently regarded as an exclusive club for privileged white males, like yourself." What does race have to do with github contributions....
15:29 Geth ¦ modules.perl6.org/tags: d01a07b730 | (Zoffix Znet)++ | 8 files
15:29 Geth ¦ modules.perl6.org/tags: Fully working tags handling implementation
15:29 Geth ¦ modules.perl6.org/tags: review: https://github.com/perl6/modules.perl6.org/commit/d01a07b730
15:29 moritz cale2: indirectly through education and free time, which often comes through wealth
15:30 cale2 or sex for that matter
15:30 timotimo do we have an env var or something taht turns off precompilation?
15:30 nine timotimo: nope.
15:30 stmuk I think there is a pragma
15:30 timotimo pragma isn't good enough for what i want to do
15:30 nine What do you want to do?
15:30 timotimo i'm looking to help our perl6-debugger users put breakpoints into other modules
15:31 timotimo for that to work these other modules have to go through perl6-debugger's Compiler instance, too
15:31 timotimo because it generates different code, i.e. calls into the debugger after every line
15:31 cale2 moritz: success is definitely exponential. Or it feels that way. It feels like I was working in a factory and studying just yesterday
15:31 nine timotimo: src/core/CompUnit/PrecompilationRepository.pm:16
15:36 wamba joined #perl6
15:37 naxieAlDle “Nobody opens an issue or a pull request when they’re satisfied with your work” – no, it simply means that nobody is using your project :P
15:38 moritz but I can totally relate to the feeling
15:39 naxieAlDle and if somebody found something lacking, then you simply have a user…
15:40 timotimo nine: i see!
15:41 cale2 that's a good point
15:43 timotimo at some point we'll surely want a debugger that understands moarvm bytecode and its line annotations and such
15:43 bdmatatu joined #perl6
15:43 timotimo perhaps an implementation that instruments the bytecode using the spesh architecture
15:43 timotimo that particular piece of infrastructure has seen many uses so far, it's pretty neat
15:56 cale2 Is there a way to delete an item from an array without creating a hole? https://docs.perl6.org/syntax/$COLONdelete
15:56 cale2 :delete just seems to make a hole in the list with (Mu)
15:56 Geth ¦ doc: 6ec652dbda | (Will "Coke" Coleda)++ | doc/Type/IO.pod6
15:56 Geth ¦ doc: remove trailing whitespace
15:56 Geth ¦ doc: review: https://github.com/perl6/doc/commit/6ec652dbda
15:56 Geth ¦ doc: 8c7795d380 | (Will "Coke" Coleda)++ | doc/Language/objects.pod6
15:56 Geth ¦ doc: Prefer Amerenglish.
15:56 Geth ¦ doc:
15:56 Geth ¦ doc: (pass xt/aspell.t)
15:56 Geth ¦ doc: review: https://github.com/perl6/doc/commit/8c7795d380
15:56 timotimo yes, splice
15:57 timotimo it'd probably be good to point towards splice from that entry
15:58 timotimo also, you can use grep :)
15:59 cale2 I'm using grep to find the thing to delete
15:59 cale2 @wrong-answer.=splice(@wrong-answer.grep($correct-answer, :k), 1);
15:59 cale2 pretty verbose :/
15:59 timotimo wait, you're using grep, but you're also using :delete?
16:00 timotimo did you perhaps mean "first" instead of "grep"?
16:00 cale2 It was previously @wrong-answer[@wrong-answer.grep($correct-answer, :k)]:delete;
16:00 cale2 Sad there isn't a pretty way to do this
16:00 timotimo so why don't you @wrong-answer.grep(* ~~ !$correct-answer)?
16:00 jnthn Maybe: @wrong-answer .= grep: * !=== $correct-answer;
16:01 timotimo er, why did i put the ! there
16:01 jnthn Or !~~ depending on what you want
16:01 cale2 Oh that would work
16:01 SmokeMachine naxieAlDle: great bot! What do you think if when you give more than one char it make the tables with more than one value column? Not more tables for each char?
16:02 timotimo oooh
16:02 timotimo that could be neat
16:02 cale2 ah much prettier: my @wrong-answer = %data.values.grep(* !~~ $correct-answer);
16:04 IOninja my @wrong = keys %data.values ∖ $correct
16:05 IOninja my $wrong = %data.values ∖ $correct
16:05 cale2 IOninja:
16:06 cale2 "\" is difficult to search for in docs. What is that doing?
16:06 naxieAlDle SmokeMachine: sounds like a nice PR :)
16:07 IOninja cale2: "Set difference operator." https://docs.perl6.org/language/setbagmix.html#infix_%28-%29
16:07 naxieAlDle SmokeMachine: this is the whole sub: https://github.com/perl6/whateverable/blob/master/Unicodable.p6#L186-L202
16:07 SmokeMachine naxieAlDle: I'll try! :)
16:07 IOninja cale2: it's not \ it's ∖
16:07 IOninja u: ∖
16:07 unicodable6 IOninja, U+2216 SET MINUS [Sm] (∖)
16:08 cale2 is that a joke?
16:08 cale2 oh... they look exactly the same
16:08 IOninja No.
16:08 IOninja On some fonts, yes, they're hard to distinguish
16:09 b2gills For me \ (set minus) is slightly thicker and longer than ∖ (reverse solidus)
16:09 naxieAlDle heh, well, with some fonts it's hard to distinguish these: 0Oo l1i :P
16:09 tony-o in monaco they're exactly the same
16:11 cale2 calling .pick on a Seq doesn't work...
16:11 stmuk in inconsolata they all look different
16:12 naxieAlDle m: say <a b c>.Seq.pick
16:12 camelia rakudo-moar 9d7c0a: OUTPUT: «a␤»
16:12 naxieAlDle m: say <a b c>.Seq.pick
16:12 camelia rakudo-moar 9d7c0a: OUTPUT: «c␤»
16:12 naxieAlDle cale2: do you have an example?
16:12 Cabanossi joined #perl6
16:17 cale2 oh the issue is that I can't call .push on a Seq
16:17 cale2 can I just convert that back to an Array with .Array
16:17 IOninja yes
16:19 timotimo there used to be speculation for a "lazy push" called "plan"
16:19 timotimo not sure what the status of that in general is
16:20 firestarter joined #perl6
16:20 firestarter hey guys
16:20 timotimo greetings
16:20 firestarter i have a question for you
16:20 timotimo are you going to ask me a very personal question?
16:21 timotimo (just a dumb joke)
16:21 firestarter this time it will be professional, if you don't mind
16:21 firestarter :)
16:21 firestarter i have a grammar, which has a proto TOP token
16:21 firestarter and when i call parse with an actions class
16:22 firestarter the TOP method on my actions doesn't get called
16:22 firestarter but when i change the TOP regex into a non-proto version, it gets called
16:22 timotimo you have a method "TOP" in both cases, yeah?
16:22 firestarter yes
16:22 araraloren joined #perl6
16:23 timotimo i recall there was a stackoverflow question about proto tokens and their interaction with action methods recently
16:23 jnthn A proto just delegates to one of the candidates, so the methods are also per candidate
16:23 timotimo right, was about to say that
16:23 jnthn So you'd write a method TOP:sym<foo>($/) { ... } etc.
16:23 timotimo so you'd have a multiple methods in your action class
16:23 firestarter wow, didn't know that
16:23 IOninja timotimo: don't worry, you're not really going to ask them anything? :)
16:23 firestarter is it possible to consolidate these methods without explicitly specifying all of them?
16:24 firestarter i'm talking about the action methods
16:24 skids You could break the proto out to a level below TOP and make TOP just call that rule, then put an action on TOP.
16:25 jnthn Alternatively, don't use a proto but just an alternation in TOP instead
16:25 timotimo IOninja: :D
16:26 jnthn Protos are actually just a way of spreading an alternation out into a bunch of methods, to allow extension/overriding in subclasses and/or to make it easy to process the different branches differently in the actions
16:27 * IOninja swaps the brains of modules.perl6.org...
16:27 timotimo uh oh! :)
16:27 firestarter thanks for the explanation
16:27 itaipu joined #perl6
16:27 lichtkind joined #perl6
16:27 lichtkind cheers
16:27 firestarter and guys... how do you debug your code?
16:27 lichtkind does anyone know what MONKEY-SEE-NO-EVAL is?
16:27 IOninja .... if I remember which box its on :/
16:27 timotimo so, uh, S05-subst*/match.rakudo.moar ... is it supposed to fail right now?
16:28 IOninja firestarter: copius amounts of `dd`
16:28 timotimo lichtkind: it allows you to use EVAL with things other than constant strings
16:28 jnthn firestarter: If it's a grammar you're debugging, see Grammar::Tracer
16:28 skids firestarter: Also be aware of RT#125374
16:28 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=125374
16:28 firestarter but do you use some sort of IDE? i come from the python world, so PyCharm was like my swiss knife
16:28 naxieAlDle lichtkind: basically, you have to explicitly state that you're aware of what you're doing :)
16:28 IOninja m: my $c = "say 'all your base are belong to us'"; EVAL $c
16:28 camelia rakudo-moar 9d7c0a: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤EVAL is a very dangerous function!!! (use the MONKEY-SEE-NO-EVAL pragma to override this error,␤but only if you're VERY sure your data contains no injection attacks)␤at <tmp>:1␤------> 3ll your base…»
16:29 timotimo we do hvae a few perl6 plugins for atom, but nothing that'll put it onto the same level as PyCharm
16:29 IOninja lichtkind: it exists to prevent programmers from adding exploits to their code ^
16:29 lichtkind ah like sledge hammer: trust me im know hwat i do
16:29 lichtkind thank you
16:29 araraloren It's not recommend use EVAL ~
16:29 IOninja lichtkind: it's handier when you're doing a regex and some token you're interpolating is evaled as a code. Such uses might be hard to spot even if you *do* know what you're doing.
16:30 DrForr "Trust me, I know what I'm doing." Rarely have more dangerous words been uttered.
16:30 lichtkind IOninja yes but currently just reading code of an module i try to understand
16:30 timotimo hmm. when i run it without the harness it doesn't seem to fail
16:30 IOninja m: my $token = ".+"; "" ~~ /<$token>/
16:30 camelia rakudo-moar 9d7c0a: ( no output )
16:31 IOninja m: my $token = q/.+ {say q|all your base are belong to us|}/; "" ~~ /<$token>/
16:31 camelia rakudo-moar 9d7c0a: OUTPUT: «5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Prohibited regex interpolation (use the MONKEY-SEE-NO-EVAL pragma to override this error,␤but only if you're VERY sure your data contains no injection attacks)␤at /home/camelia/EVAL_0:1…»
16:31 IOninja ^ example
16:35 IOninja ...here goes nothing....
16:35 Geth ¦ modules.perl6.org: zoffixznet++ created pull request #67: Implement support for META tags
16:35 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/pull/67
16:36 Geth ¦ modules.perl6.org: f864e5358f | (Zoffix Znet)++ | 5 files
16:36 Geth ¦ modules.perl6.org: Start sketching out tags support
16:36 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/f864e5358f
16:36 Geth ¦ modules.perl6.org: d01a07b730 | (Zoffix Znet)++ | 8 files
16:36 Geth ¦ modules.perl6.org: Fully working tags handling implementation
16:36 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/d01a07b730
16:36 Geth ¦ modules.perl6.org: 099958e80a | (Zoffix Znet)++ | 9 files
16:36 Geth ¦ modules.perl6.org: Merge pull request #67 from perl6/tags
16:36 Geth ¦ modules.perl6.org:
16:36 Geth ¦ modules.perl6.org: Implement support for META tags
16:36 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/099958e80a
16:36 IOninja uh-oh
16:37 timotimo when is it back up? :)
16:38 IOninja I don't know why it's down... I was planning on a hot swap
16:38 timotimo :D
16:38 timotimo technology is always like this
16:40 timotimo bwahaha
16:41 timotimo that feel when modules.perl6.org presents an error in a line of code preceded with # TODO XXX: there gotta be a less stupid way to do this?
16:41 timotimo yes, this is the programming i remember!
16:41 IOninja Oh, I found the problem.
16:41 timotimo cool
16:42 IOninja timotimo: nah, nothing wrong with code.
16:43 timotimo yeah, but it's beautiful to look at
16:43 IOninja I changed the schema layout, so need to rebuild the database from scratch... Not a problem, just cloned the repo on my other server and sat waiting for it to build everything for an hour.... Problem is, I forgot to switch to my TAGS BRANCH DAMMIT!
16:43 IOninja :)
16:44 timotimo oooh!
16:44 araraloren ..
16:44 timotimo yeah, that'd cause a table to be missing
16:44 timotimo man, we have quite a few modules
16:44 IOninja k, so modules.perl6.org is now back up on a previous commit; and updates are currently turned off. Gonna rebuild the db off the proper branch now and fix it. Gonna take like an hour to build it tho -_-
16:44 lichtkind hurray its back
16:44 timotimo oh, does it have to make a bajillion http requests?
16:44 IOninja There's like 3 per module
16:45 timotimo fair enough :S
16:45 IOninja And we space them out a bit to not hit GitHub limits
16:45 naxieAlDle .oO( github limits? )
16:47 * naxieAlDle looks at 2247 gists uploaded by *ables
16:47 eroux joined #perl6
16:48 IOninja You're surprised GitHub is not OK with people raping their services with bajillion requests?
16:48 IOninja :)
16:48 IOninja Hm, per --help on build script "Pause for "N" seconds after building each dist (value of zero is acceptable). Defaults to 5 seconds, which is just enough to prevent going over GitHub's rate-limit of 5,000 requests per hour, when script is running continuously."
16:48 IOninja Gonna set it to 0
16:48 IOninja Zoffix++ # documenting features
16:48 * naxieAlDle also remembers that he was told by github support to delete one of his accounts, which he avoided by simply not replying back…
16:50 cale2 What are the conditions that you can pass `:my-boolean` as an argument to a sub?
16:51 cale2 it's weird that it doesn't require a sigil on it
16:51 IOninja cale2: that it expects a Bool or wider named argument
16:51 moritz :my-boolean is just named argument  my-boolean => True
16:51 IOninja m: sub foo (:$my-boolean) { dd $my-boolean }( :my-boolean )
16:51 camelia rakudo-moar 9d7c0a: OUTPUT: «Bool $my-boolean = Bool::True␤»
16:51 IOninja m: sub foo (:$my-boolean) { dd $my-boolean }( :!my-boolean )
16:51 camelia rakudo-moar 9d7c0a: OUTPUT: «Bool $my-boolean = Bool::False␤»
16:51 ilmari cale2: it's equivalent to :mo-boolean(True) or my-boolean => True
16:51 ilmari s/mo/my/
16:51 IOninja camelia: see also: https://twitter.com/zoffix/status/839807414211854337
16:52 raschipi Or Pair.new('key', 'value');
16:52 naxieAlDle IOninja: :o
16:52 IOninja raschipi: nope. That'd get passed as a positional, not named argument.
16:52 naxieAlDle IOninja: you are starting to talk with bots… I wonder if that's a sign of anything :)
16:52 raschipi I see.
16:53 moritz it's a sign of self actualization
16:53 IOninja I meant..
16:53 IOninja cale2: see also: https://twitter.com/zoffix/status/839807414211854337
16:53 naxieAlDle camelia: you don't really care when people talk to you, right?
16:53 IOninja naxieAlDle: also... "starting"? You clearly aren't aware of my years long friendship with GumbyBRAIN
16:54 naxieAlDle evalable6: hey! Feel like chatting?
16:54 evalable6 naxieAlDle, Full output: https://gist.github.com/30dc984776701cdb0fb4615bbde2cfc2
16:54 evalable6 naxieAlDle, rakudo-moar 9d7c0ab8f: OUTPUT: «(exit code 1) ===SORRY!=== Error while compiling /tmp/5hSb8lY5nG␤Negatio…»
16:54 IOninja I even engraved an urn for him when he got banned in freenode/#perl :)
16:54 labster joined #perl6
16:54 IOninja http://zoffix.com/new/GumbyBRAIN-perl-urn-engraving/
16:55 naxieAlDle IOninja: … wow…
16:55 IOninja Hah, amusing to see which quote I chose to go on the urn :P
17:00 Geth ¦ ecosystem: melezhik++ created pull request #307: Sparrowdo module to run goss scenarios
17:00 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/pull/307
17:01 Geth ¦ ecosystem: 533761b504 | (Alexey Melezhik)++ | META.list
17:01 Geth ¦ ecosystem: Sparrowdo module to run goss scenarios (#307)
17:01 Geth ¦ ecosystem:
17:01 Geth ¦ ecosystem: https://github.com/melezhik/sparrowdo-goss
17:01 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/533761b504
17:02 IOninja alright... take #2
17:05 IOninja oh shoot
17:05 IOninja Well, the good news—it works!
17:05 IOninja But I didn't realize we had that many damn tags :o
17:07 moritz how many do we have? two?
17:07 IOninja moritz: http://modules.perl6.org/
17:08 naxieAlDle cool
17:08 IOninja Well, I'm gonna leave it like that for now. And will sort out something more usable in ~7-8 hours.
17:08 xzhao joined #perl6
17:12 Cabanossi joined #perl6
17:15 cale2 So when you use these colon-pairs, what is the type of the colon part? Is it always a Bool?
17:15 cale2 or it's always just an Any Scalar?
17:16 b2gills :foo is short for :foo(True) but can also be written as foo => True
17:16 b2gills :!foo is short for :foo(False)
17:16 IOninja cale2: Str => whatever
17:17 IOninja cale2: and colonpair itself is a Pair
17:18 MilkmanDan joined #perl6
17:18 IOninja m: dd [.^name, .key.^name, .value.^name ] for :foo, :42bar, :meow[<a b c>]
17:18 timotimo IOninja: is gumbybrain a bot that used to tell people to move perl6 chat to a different channel?
17:18 camelia rakudo-moar 9d7c0a: OUTPUT: «["Pair", "Str", "Bool"]␤["Pair", "Str", "Int"]␤["Pair", "Str", "Array"]␤»
17:18 IOninja timotimo: it's a Markov chain bot
17:18 timotimo OK
17:18 xzhao joined #perl6
17:21 eroux joined #perl6
17:22 cale2 so there is no such thing as keywords in Perl 6
17:22 cale2 they just kind of spoof a keyword
17:23 cale2 It's actually a string underneath the :word
17:23 Ven joined #perl6
17:24 SmokeMachine naxieAlDle: it's not finding Uniprops... neither does zen...
17:24 SmokeMachine *zef
17:25 IOninja cale2: heh, not sure there's much relation between colonpairs and keywords...
17:25 IOninja cale2: :word is more or less just an alternate way to write |Pair.new: "word", True
17:26 zakharyas joined #perl6
17:26 IOninja cale2: and you can use whatever type you want for the key
17:28 itaipu joined #perl6
17:29 IOninja https://perl6.party/post/Tag-Your-Dists
17:29 xzhao joined #perl6
17:29 IOninja I mean..
17:29 IOninja New post: "Camelia wants YOU to tag your dists": https://perl6.party/post/Tag-Your-Dists
17:31 cale2 That issue I had with splitting lines is back again. https://glot.io/snippets/env5vqftj7 I can't recall why/how this is working this way
17:32 lizmat cale2: the first line doesn't have a " - ", could that be an issue ?
17:32 lizmat ah no, you shift that
17:34 IOninja cale2: what issue?
17:34 IOninja oh there comments
17:35 [Coke] What do you expect @lines.split(" - ") to do?
17:35 timotimo hah
17:35 girafe joined #perl6
17:35 [Coke] split works on a Str, not an Array
17:35 timotimo split is a Str method, it'll call @lines.Str for you before it .split s
17:35 IOninja cale2: @lines.split(" - ") treats your array as one bigass string
17:37 lizmat cale2: how about: my %h = @lines.map( { |.split(" - ") } )
17:37 cale2 Even when I tried @lines>>.split it did the same thing
17:37 IOninja cale2: say @lines».split(" - ").flat.flat.Hash;
17:37 lizmat cale2: how about: my %h = @lines.map( { |.split(" - ") } )
17:37 IOninja cale2: right, 'cause you're still .Hashing a list of lines (a list of lists)... not a list of splits
17:38 Ven joined #perl6
17:38 [Coke] wonder if we could write a diagnostic module that would warn you when something got coerced.
17:38 cale2 What I want to understand is how the first method is different from the others
17:38 [Coke] (via a sig.)
17:38 IOninja cale2: the first method you're processing each line one-by-one. In the others you're processing all of them in one statement
17:39 [Coke] in the first one, you're iterating over lines workingon the elements. in the latter, you're converting the arrya intoa single string and workign on that
17:39 * [Coke] taps out and lets IOninja handle this. )
17:39 cale2 .split(" - ").Hash.say for @lines; @lines>>.split(" - ").Hash.say;
17:40 cale2 those two should be the same. Just a difference of where @lines goes
17:40 [Coke] none of your code has >>. , btw.
17:40 IOninja They're not the same
17:40 timotimo very different, actually
17:40 lizmat my %h = @lines.map( { |.split(" - ") } )  # loop over all lines, map each line to its split, and slip that: the result is a sequence of key,value,key,value that can serve as the initialization of a hash
17:40 IOninja cale2: in first one, you're calling .Hash on result of split. In second one you're calling it on @lines
17:40 IOninja cale2: on lines from @lines, now split.
17:41 IOninja cale2: the ». applies only to that one method calls, further method calls are called on the list
17:41 * lizmat feels like she is talking to a well and decides to shut up about this
17:41 timotimo IOninja: calling .Hash on *results* of .split ;)
17:41 IOninja lizmat: I tried your method and it works FWIW :)
17:41 khw joined #perl6
17:42 moritz The Lizmat Method works!
17:43 naxieAlDle SmokeMachine: join #whateverable :)
17:43 cale2 ahhh
17:43 cale2 so this should work: @lines>>.split(" - ")>>.Hash.say;
17:43 cale2 and it does :)
17:43 IOninja timotimo: on a list with those results...
17:43 lizmat cale2: but it doesn't create a single hash
17:44 lizmat it creates a hash for each line
17:44 timotimo IOninja: in the first one, the one with a "for @lines" at the end, you're calling .Hash for every line, rather than once
17:44 timotimo i wanted to make that clear, so i thought i'd suggest "results" instead of "result"
17:45 cale2 this works though
17:45 cale2 my %data = @lines>>.split(" - ")>>.Hash; say %data;
17:45 IOninja timotimo: but there's only one result -_- exactly because it's called everyba vsdf/t.ljka;;'
17:45 cale2 The question is now which version is more intelligible. I like lizmat's, but the flat operator is confusing there
17:45 timotimo now you're putting a list of hashes into %data; does that give you what you want?
17:45 timotimo IOninja: okay!
17:46 Geth ¦ whateverable: 86d7cf3600 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Uniprops.pm6
17:46 Geth ¦ whateverable: Commit forgotten file
17:46 Geth ¦ whateverable:
17:46 Geth ¦ whateverable: Needed for unidump experimental feature.
17:46 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/86d7cf3600
17:46 lizmat my %h = @lines.map( | *.split: " - " )   # better readable ?
17:47 IOninja Does split support junctions?
17:48 cale2 lizmat's version produces the same output as my version
17:48 moritz m: say 'a|b!c'.split('|' | '!')
17:48 camelia rakudo-moar f190f2: OUTPUT: «any((a b!c), (a|b c))␤»
17:48 cale2 @lines>>.split(" - ")>>.Hash
17:48 moritz roughtly what I expected
17:48 IOninja m: my %h = "foo - bar\nmeow - me\nb - z".lines.split: ["\n", " - "]; dd %h
17:48 camelia rakudo-moar f190f2: OUTPUT: «Hash %h = {:foo("bar meow"), "me b" => "z"}␤»
17:48 IOninja huh
17:48 IOninja Oh right
17:49 IOninja m: my %h = "foo - bar\nmeow - me\nb - z".split: ["\n", " - "]; dd %h
17:49 camelia rakudo-moar f190f2: OUTPUT: «Hash %h = {:b("z"), :foo("bar"), :meow("me")}␤»
17:49 IOninja win
17:49 timotimo m: say "a!b,c!d|e|f|g".split("!" | "|" | ",") == 2
17:49 camelia rakudo-moar f190f2: OUTPUT: «any(False, False, True)␤»
17:53 cale2 Is it just me, or does Rakudo not output data shapes consistently?
17:53 MilkmanDan joined #perl6
17:54 naxieAlDle cale2: example?
17:54 cale2 m: say ("a is this", "b is that", "c is over there");
17:54 camelia rakudo-moar f190f2: OUTPUT: «(a is this b is that c is over there)␤»
17:54 bdmatatu joined #perl6
17:54 cale2 this is where commas would be VERY helpful
17:55 unicodable6_ joined #perl6
17:55 IOninja Don't use say?
17:55 timotimo m: put ("a is this", "b is that", "c is over there");
17:55 camelia rakudo-moar f190f2: OUTPUT: «a is this b is that c is over there␤»
17:55 timotimo m: dd ("a is this", "b is that", "c is over there");
17:55 camelia rakudo-moar f190f2: OUTPUT: «("a is this", "b is that", "c is over there")␤»
17:55 cale2 m: say "a is this", "b is that", "c is over there";
17:55 camelia rakudo-moar f190f2: OUTPUT: «a is thisb is thatc is over there␤»
17:56 timotimo that's an entirely different beast, though
17:56 timotimo that's multiple arguments to say, which is supposed to output each with no space in between
17:58 cale2 yeah dd is way better
17:58 lichtkind IOninja : you are aware of the issues with module list?
17:59 perlpilot lichtkind: he is.
17:59 IOninja lichtkind: possibly. The dubplciation thing?
17:59 perlpilot lichtkind: unless you've got a new issue you'd like to enlighten us with?  :)
17:59 unicodable6 joined #perl6
17:59 lichtkind i found it starnge that some isnt duplicated and some is quadrupeled
18:00 lichtkind strange
18:00 IOninja quadrupled?
18:00 IOninja lichtkind: which one?
18:01 IOninja I only see dupes
18:01 perlpilot yeah, I've only seen doubles myself.
18:01 domidumont joined #perl6
18:02 IOninja Only `Foo` but that one is a test module that has two entrries
18:02 IOninja lichtkind: any other quadrupled?
18:02 IOninja I need to know, because I was about to try a fix, but if any are quadrupled then it won't help...
18:02 lichtkind i think it was File::find but after reload thats gon
18:02 lichtkind but i check again
18:05 IOninja Well. I may have pushed the update while the ecosystem updater script was running and it inserted a bunch of dupes. This is my assumption. It was running right now. I killed it and copied over the fresh db I built on another server. If I was right with my assumption the dupes are gone. If not, they'll reappear and I'll debug it later in the evening.
18:06 IOninja I hope no potential future employers are reading this log of my making mistakes one after the other :P
18:07 IOninja gah, I see the dupes again!
18:09 Ven joined #perl6
18:10 perlpilot IOninja: You should welcome future employers to read this.   It gives them an opportunity to ask, "What did you learn from your mistakes?"    And if they aren't asking that question, but judging on the mistakes themselves, you don't want to work for such people.
18:11 IOninja I learned: don't push to production unless your next 2-3 hours are free to debug any problems :P
18:12 TeamBlast joined #perl6
18:13 IOninja aha, I killed the bash updater, but that didn't kill the perl udater the bash script started... there's still hope :P
18:13 perlpilot IOninja: do we have a staging area for modules.perl6.org?  Maybe we should create one if not.
18:14 IOninja perlpilot: what's a "staging area"?
18:15 cale2 a dev environment?
18:15 perlpilot Just a place where we can deploy code for testing with a wider audience without affecting modules.perl6.org
18:16 IOninja perlpilot: no, we don't. The current modules.perl6.org is meant to be temporary in the first place. :/
18:16 IOninja Based on the update log it *was* the build script that was inserting dupes.
18:16 perlpilot IOninja: you know how many "temporary" things have been in place for decades?
18:17 IOninja perlpilot: how many?
18:17 perlpilot lots
18:17 IOninja Stupid.
18:17 perlpilot temporary is an intent that isn't always fulfilled.
18:18 IOninja It's somewhat good though. Perl 6 is now more reasonable to use for the ecosystem website than it was 1.5 years ago
18:18 lichtkind IOninja found the quad it was Foo
18:18 timotimo ninety million hundred fifty thousand hundred temporary things
18:18 lichtkind literally :)
18:19 lichtkind and its actually repeated 5 times
18:19 IOninja lichtkind: <IOninja> Only `Foo` but that one is a test module that has two entrries
18:19 perlpilot now that *is* weird.
18:20 IOninja I see it in triplicate now :/
18:20 IOninja Oh yeah, there *are* three entries with it in meta.list
18:20 perlpilot There are 2 Foo that are the same, one that's different, then 2 that are the same again.
18:21 IOninja refresh your page...
18:21 perlpilot yay!
18:23 lichtkind yes Fow now thrice
18:23 Ven joined #perl6
18:24 IOninja OK. Updater's running again and not inserting any more dupes.
18:24 IOninja My job here is done.
18:24 * IOninja flies away
18:24 naxieAlDle .oO( dragon? )
18:24 lichtkind IOninja++
18:29 firestarter joined #perl6
18:33 eroux joined #perl6
18:36 japhb naxieAlDle: Talaria.
18:37 itaipu joined #perl6
18:38 FROGGS joined #perl6
18:40 cdg joined #perl6
18:42 Cabanossi joined #perl6
18:46 cdg joined #perl6
18:47 firestarter m: use MONKEY_TYPING; augment slang Regex { token numish { } };
18:47 camelia rakudo-moar f190f2: OUTPUT: «===SORRY!===␤Could not find MONKEY_TYPING at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUni…»
18:48 firestarter m: augment slang Regex { token numish { } };
18:48 camelia rakudo-moar f190f2: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤augment not allowed without 'use MONKEY-TYPING'␤at <tmp>:1␤------> 3augment slang Regex7⏏5 { token numish { } };␤    expecting any of:␤        generic role␤»
18:48 firestarter use MONKEY-TYPING; augment slang Regex { token numish { } };
18:48 firestarter m: use MONKEY-TYPING; augment slang Regex { token numish { } };
18:48 camelia rakudo-moar f190f2: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Null regex not allowed␤at <tmp>:1␤------> 3G; augment slang Regex { token numish { 7⏏5} };␤»
18:53 Ven joined #perl6
18:58 IOninja ... https://www.youtube.com/watch?v=wmin5WkOuPw
19:02 Geth ¦ whateverable: FCO++ created pull request #110: More than one char for line
19:02 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/pull/110
19:03 itaipu joined #perl6
19:10 TEttinger joined #perl6
19:11 dct joined #perl6
19:19 robinsmidsrod joined #perl6
19:25 Geth ¦ whateverable: f3bad83786 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6
19:25 Geth ¦ whateverable: Do not upload if there are no files
19:25 Geth ¦ whateverable:
19:25 Geth ¦ whateverable: It was needlessly changed in 4200209c50c142edf049fa628e859adf61d9d00e
19:25 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/f3bad83786
19:25 Geth ¦ whateverable: 78f51a53f5 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 7 files
19:25 Geth ¦ whateverable: Test timeouts
19:25 Geth ¦ whateverable:
19:25 Geth ¦ whateverable: Basic tests for #12.
19:25 Geth ¦ whateverable:
19:25 Geth ¦ whateverable: No tests for Benchable yet, see #99.
19:25 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/78f51a53f5
19:25 Geth ¦ whateverable: f9e7010bff | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/unicodable.t
19:25 Geth ¦ whateverable: Fix unicodable test
19:25 Geth ¦ whateverable:
19:25 Geth ¦ whateverable: Oops!
19:25 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/f9e7010bff
19:27 TeamBlast joined #perl6
19:29 cdg joined #perl6
19:33 araraloren joined #perl6
19:34 buggable joined #perl6
19:34 Geth joined #perl6
19:36 sprocket joined #perl6
19:36 sprocket hello, #perl6!
19:36 moritz \o
19:36 sprocket i’ve got a question about gather/take - i’ve having difficulties getting it to construct a lazy list
19:36 sprocket that’s assuming it’s able to do that, which i thought it was :)
19:37 moritz it is
19:37 sprocket so it’s likely something i’ve done?
19:37 sprocket ok
19:37 moritz but you shouldn't assign it to an array in the end, that might be eager
19:37 moritz (just guessing here)
19:37 sprocket ah, ok, i’m doing that
19:37 sprocket would that force non-laziness?
19:37 moritz m: my \result = gather for ^5 { take $_; say $_ }; my $x = result[2]
19:37 camelia rakudo-moar f190f2: OUTPUT: «0␤1␤»
19:38 moritz sprocket: yes, unless it can detect it's infinite (if I remember correctly)
19:38 gfldex sprocket: see: https://gfldex.wordpress.com/2016/08/14/its-lazy-all-the-way-down/
19:38 IOninja m: my @result = lazy gather for ^5 { take $_; say $_ }; my $x = result[2];
19:38 camelia rakudo-moar f190f2: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    result used at line 1␤␤»
19:38 IOninja m: my @result = lazy gather for ^5 { take $_; say $_ }; my $x = @result[2];
19:38 camelia rakudo-moar f190f2: OUTPUT: «0␤1␤»
19:39 Ven joined #perl6
19:39 sprocket ok, it was indeed the assinging to an array that forced non-laziness
19:39 sprocket that was an easy fix, thanks!
19:39 moritz you're welcome
19:40 IOninja And yes, if .is-lazy is true it'll keep laziness
19:40 IOninja m: my @a = 1…Inf; say @a[^3]
19:40 camelia rakudo-moar f190f2: OUTPUT: «(1 2 3)␤»
19:41 gfldex does sub lazy mix in a role?
19:41 cdg_ joined #perl6
19:41 IOninja s: &lazy
19:41 SourceBaby IOninja, Something's wrong: ␤ERR: ===SORRY!=== Error while compiling -e␤Undeclared routine:␤    lazy used at line 6␤␤
19:41 IOninja It's a statement prefix IIRC
19:41 moritz m: my @result = lazy gather for ^5 { take $_; say $_ }; my $x = @result[2]
19:41 camelia rakudo-moar f190f2: OUTPUT: «0␤1␤»
19:41 moritz that's another option
19:41 moritz gfldex: no, it just sets a bit on the result list
19:42 jnthn Think it's just done by delegation
19:42 moritz s/list/iterator/ I guess
19:42 jnthn At least, that's how I originally did it :)
19:42 IOninja What's delegation?
19:42 gfldex m: my @result = gather for ^5 { take $_; say $_ } but role :: { method is-lazy { True } }; my $x = @result[2]
19:43 camelia rakudo-moar f190f2: OUTPUT: «0␤1␤2␤3␤4␤»
19:43 jnthn Yup, https://github.com/rakudo/rakudo/blob/51b0aba8e8f3d40839f5f477520c8031029fa1f0/src/core/Iterable.pm#L77
19:43 jnthn IOninja: Where one object forwards stuff to another
19:43 jnthn So it just holds the nested iterator and delegates calls to that
19:44 IOninja m: my @a = (gather for ^10 { take $_; say $_ }).lazy-if: 1; @a[2]
19:44 camelia rakudo-moar f190f2: OUTPUT: «0␤1␤»
19:44 IOninja Thanks.
19:44 gfldex https://docs.perl6.org/routine/lazy-if
19:45 gfldex :-|
19:45 IOninja heh
19:45 IOninja I always thoughht it were an internal method :)
19:46 gfldex so .is-lazy controls if .lazy is called and I can set force that with .lazy-if(1)
19:46 gfldex i will check roast
19:47 IOninja I'm no experct, but I saw it as: .lazy-if(1) is a way to make .is-lazy === True; and when it isn't, assigning to an array is eager; no .lazy calls involved.
19:47 IOninja And I've no idea what .is-lazy is about :}
19:48 IOninja m: my $s = gather for ^10 { take $_; say $_ }; say $s.is-lazy; $s[2
19:48 camelia rakudo-moar f190f2: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in subscript; couldn't find final ']' ␤at <tmp>:1␤------> 3 take $_; say $_ }; say $s.is-lazy; $s[27⏏5<EOL>␤    expecting any of:␤        statement end␤        st…»
19:48 IOninja m: my $s = gather for ^10 { take $_; say $_ }; say $s.is-lazy; $s[2]
19:48 camelia rakudo-moar f190f2: OUTPUT: «False␤0␤1␤»
19:48 IOninja Like that's lazy, but not is-lazy... vOv
19:49 Geth ¦ doc: 0fa3fc3b0e | (Wenzel P. P. Peppmeyer)++ | 2 files
19:49 Geth ¦ doc: .lazy-if is internal
19:49 Geth ¦ doc: review: https://github.com/perl6/doc/commit/0fa3fc3b0e
19:51 IOninja m: say (1..6).roll(*).is-lazy
19:51 camelia rakudo-moar f190f2: OUTPUT: «True␤»
19:51 IOninja "Built-in operations that know that they can produce infinitely many values return True here, for example (1..6).roll(*)."
19:51 IOninja But it won't produce infinitely many!
19:51 IOninja oh
19:51 IOninja OK, never mind :)
19:52 IOninja So many things are lazy, and .is-lazy should really be named .is-infinite
19:53 gfldex things can be lazy but not infinite
19:53 gfldex or better a .is-lazy can throw EndIteration
19:53 IOninja gfldex: what's lazy?
19:53 IOninja huh
19:54 Ven joined #perl6
19:54 gfldex lazy just means that the generation/computation/fatching of values happens out-of-order
19:54 gfldex maybe even concurrent
19:54 IOninja huh
19:54 moritz erm, nope
19:54 IOninja What do you mean out of order?
19:54 naxieAlDle yea, this discussion again…
19:54 moritz lazy doesn't do concurrent
19:55 gfldex not by itself
19:55 naxieAlDle how many times we had it? And the conclusion has always been that is-lazy is broken anyway :)
19:55 gfldex but I can make it :)
19:55 IOninja naxieAlDle: was it the group's conclusion or your own?
19:55 gfldex IOninja: as soon as there is something lazy about the execution of commands breaks normal control flow. You can't depend on a call tree anymore.
19:55 naxieAlDle IOninja: nobody was ever able to define what it does. The conclusion is my own :P
19:55 IOninja moritz: so why are some things lazy but their .is-lazy is False?
19:56 IOninja m: my $s = gather for ^10 { take $_; say $_ }; say $s.is-lazy; $s[2]
19:56 camelia rakudo-moar f190f2: OUTPUT: «False␤0␤1␤»
19:56 IOninja moritz: ^ like there. Values are lazily generated... are they not?
19:56 IOninja gfldex: what's "lazy"?
19:56 moritz IOninja: I don't know in this specific case; I'd have expected gather/take to be always lazy
19:57 gfldex IOninja: "lazy" is an abstract concept and as such does not exist
19:57 IOninja gfldex: what do you mean by the word when you used it above?
19:57 gfldex m: Channel.new.is-lazy.say
19:57 camelia rakudo-moar f190f2: OUTPUT: «False␤»
19:58 gfldex that channel could very well be lazy even if it pretends not to be
19:58 IOninja naxieAlDle: I'm starting to share your feelings on the subject.
19:58 gfldex IOninja: the Perl 6 behaviour tied to that concept
19:58 IOninja gfldex: and what is it?
19:59 moritz we mark known infinite lists with is-lazy, and those that the user explicitly requested to be lazy
19:59 naxieAlDle IOninja: thing is, once we define what it should do, we will be able to file a couple of bug reports… and eventually it will start making sense
19:59 moritz it's far from perfect, but nobody has yet suggested a better heuristic or solution
19:59 IOninja moritz: so .is-lazy is a misnomer? It should be named .is-infinite?
19:59 gfldex IOninja: the result of continuations provided by gather/take and iterator trickery
20:00 IOninja gfldex: ok, then if gather/take is lazy, why does its .is-lazy is False by default?
20:00 moritz IOninja: not really; "lazy gather for ^5 { take _$ }" is not inifnite
20:00 moritz but explicitly lazy
20:00 IOninja moritz: but it'
20:00 IOninja moritz: but it's lazy without explicity.
20:00 gfldex IOninja: i consider .is-lazy a hint to the compiler, not myself
20:01 moritz IOninja: it's lazier with it :-)
20:01 gfldex (well the runtime aswell)
20:01 moritz IOninja: like, assignment to an array interprets one case eagerly, and other lazily
20:01 IOninja but why?
20:02 moritz performance
20:02 moritz lazy lists are rather expensive
20:02 moritz so we try to only use laziness when we need it
20:02 IOninja Makes no sense to me to overload term "laziness" this way.
20:03 naxieAlDle m: say (1..99999999999999999999999999999999).is-lazy
20:03 camelia rakudo-moar f190f2: OUTPUT: «False␤»
20:03 moritz we could totally make an assignment like  my @a = 1..10; lazy, but accessing @a would be very slow
20:03 Geth ¦ doc: 3719d5fab0 | (Wenzel P. P. Peppmeyer)++ | doc/Language/list.pod6
20:03 Geth ¦ doc: wrong method was wrong
20:03 Geth ¦ doc: review: https://github.com/perl6/doc/commit/3719d5fab0
20:03 naxieAlDle m: say (1..∞).is-lazy
20:03 camelia rakudo-moar f190f2: OUTPUT: «True␤»
20:03 gfldex the whole section is shitty
20:03 * gfldex takes notes
20:04 naxieAlDle IOninja: maybe we should start a table somewhere
20:04 IOninja naxieAlDle: what sort of table?
20:04 naxieAlDle IOninja: with a list of things that are .is-lazy and things that are not
20:04 moritz maybe we'd be better off by making the whole lazy vs. eager thing explicit
20:04 IOninja no
20:04 gfldex naxieAlDle: alcohol is a solvent, not a solution
20:04 moritz but then stuff like my @a = 1..*; would hang
20:05 gfldex ohh, that kind of table
20:05 IOninja So far I see it entirely as a terminology problem.
20:05 IOninja People using "lazy" to mean both, a thing that makes as many values as was demanded, and a thing that will be evaulated lazily when assigned to mostly-lazy constructs.
20:06 IOninja naxieAlDle: sounds good.
20:08 Ven joined #perl6
20:09 naxieAlDle IOninja: like this: https://github.com/rakudo/rakudo/wiki/is-lazy
20:09 IOninja \o/
20:10 IOninja huggable: is-lazy :is: https://github.com/rakudo/rakudo/wiki/is-lazy
20:10 huggable IOninja, Added is-lazy as https://github.com/rakudo/rakudo/wiki/is-lazy
20:11 labster joined #perl6
20:11 captain-adequate joined #perl6
20:11 IOninja "Someone has edited the wiki since you started. Please reload this page and re-apply your changes."
20:11 naxieAlDle if anybody is going to edit it now, don't forget to copy your additions before pressing save. IIRC github was known to throw away changes when conflicts happen
20:11 IOninja yeah... I'll edit it later, I guess :P
20:12 IOninja m: (-∞..42).is-lazy.say
20:12 camelia rakudo-moar f190f2: OUTPUT: «True␤»
20:12 IOninja m: (-∞...42).is-lazy.say
20:12 camelia rakudo-moar f190f2: OUTPUT: «False␤»
20:13 IOninja :)
20:13 naxieAlDle good one
20:14 IOninja m: ().roll(*).is-lazy.say
20:14 camelia rakudo-moar f190f2: OUTPUT: «False␤»
20:14 IOninja m: (1).roll(*).is-lazy.say
20:14 camelia rakudo-moar f190f2: OUTPUT: «True␤»
20:20 naxieAlDle .oO( create a bot that takes a snippet from this list and asks people if it's lazy or not )
20:20 lichtkind is there soething imortant about perl 6 which is recent  that you want the worl to know?
20:21 naxieAlDle lichtkind: why do you ask? :)
20:22 lichtkind becasue i will give a talk in 2 days and i might overlooked something
20:23 IOninja lichtkind: what sort of talk?
20:23 IOninja We've got v6.d.PREVIEW pragma working recently.
20:23 lichtkind mostly perl 6 :)
20:23 IOninja lichtkind: I figured that, but what topic?
20:23 lichtkind i gave the overview last yer thsi time more tlking real code
20:26 IOninja lichtkind: I don't know about "new". I rather people tell more about "same old", as in: the spec is solidified and people should use Perl 6 now instead of waiting for something.
20:26 IOninja Based on some survey I took this morning, seems this fact isn't widely known :/
20:27 IOninja lichtkind: and on the opposite spectrum from my previous statement: we gonna do many changes to IO routines. Gonna ninja the crap outta them \o\ -o- /o/
20:28 lichtkind haha
20:28 lichtkind thatswhy your name
20:28 IOninja :)
20:31 naxieAlDle lichtkind: if you want people to go crazy, mention something like this: https://twitter.com/zoffix/status/838709592364355584
20:31 IOninja :)
20:32 IOninja m: say rand > ½ ≠ rand < ½
20:32 camelia rakudo-moar f190f2: OUTPUT: «False␤»
20:32 IOninja m: say rand > ½ ≠ rand < ½
20:32 camelia rakudo-moar f190f2: OUTPUT: «False␤»
20:34 IOninja wonder how that's parsed...
20:34 IOninja (rand > ½) && (½ ≠ rand) && (rand < ½) ?
20:35 bjz joined #perl6
20:36 IOninja yeah, think so...
20:36 IOninja well, with one fewer rand calls
20:36 IOninja m: my \r1 = rand; my \r2 = rand; say (r1 > ½) && (½ ≠ r2) && (r2 < ½)
20:37 camelia rakudo-moar f190f2: OUTPUT: «True␤»
20:38 IOninja Oh wait, that's not entirely right either, due to short circuiting :P
20:38 IOninja m: say (rand > ½) && (½ ≠ (my \r = rand)) && (r < ½)
20:38 camelia rakudo-moar f190f2: OUTPUT: «False␤»
20:38 naxieAlDle and that's why it is useful :)
20:39 IOninja :)
20:42 IOninja m: my BagHash \b .= new;
20:42 camelia rakudo-moar f190f2: OUTPUT: «===SORRY!===␤Method call node requires at least one child␤»
20:42 IOninja :)
20:42 Cabanossi joined #perl6
20:44 lichtkind naxieAlDle, thanks for reminding
20:44 IOninja what the... https://gist.github.com/zoffixznet/4f9f926073eb2e05fa44ca4aec4a18ac
20:45 IOninja Wonder how it managed to get 6.2 and 7.3 in the results?
20:45 naxieAlDle hm :D
20:46 IOninja m: my BagHash $b .= new; $b{rand.substr: 0, 3}++ xx 20000; $b{$b.keys.grep: * < 1}:delete; for $b.sort { .say }
20:46 camelia rakudo-moar f190f2: OUTPUT: «4.1 => 1␤7.4 => 1␤»
20:46 IOninja Getting them on every run :/
20:46 naxieAlDle m: my BagHash $b .= new; $b{rand.substr: 0, 3}++ xx 20000; $b{$b.keys.grep: * < 1}:delete; say so $b.keys.any > 2
20:46 camelia rakudo-moar f190f2: OUTPUT: «True␤»
20:47 naxieAlDle 6c: my BagHash $b .= new; $b{rand.substr: 0, 3}++ xx 20000; $b{$b.keys.grep: * < 1}:delete; say so $b.keys.any > 2
20:47 committable6 naxieAlDle, ¦2015.12,2016.01.1,2016.02,2016.03,2016.04,2016.05,2016.07.1,2016.08.1,2016.09,2016.10,2016.12,2017.02,HEAD(f190f24): «True» ¦2016.06,2016.11,2017.01: «False»
20:47 naxieAlDle 6c: my BagHash $b .= new; $b{rand.substr: 0, 3}++ xx 20000; $b{$b.keys.grep: * < 1}:delete; say so $b.keys.any > 2
20:47 IOninja The problem goes away if I use rand.round: .1 instead of .substr
20:47 IOninja BUT
20:47 committable6 naxieAlDle, ¦2015.12,2016.12: «False» ¦2016.01.1,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09,2016.10,2016.11,2017.01,2017.02,HEAD(f190f24): «True»
20:48 IOninja both 0 and 1 show up. Albeit with 10x fewer apperances
20:48 IOninja somethign's fishy in this code
20:48 IOninja oh, not 10x, but 2x
20:49 xzhao joined #perl6
20:49 IOninja I guess that makes sense?
20:49 naxieAlDle aaaaaaaaaaaah
20:49 naxieAlDle 2.31045708216635e-05
20:49 naxieAlDle that's how you get it
20:50 lichtkind_ joined #perl6
20:50 naxieAlDle m: my BagHash $b .= new; $b{rand.Str.substr: 0, 3}++ xx 20000; $b{$b.keys.grep: * < 1}:delete; for $b.sort { .say }
20:50 camelia rakudo-moar f190f2: OUTPUT: «8.3 => 1␤»
20:50 IOninja Oh, mistery solved.
20:50 IOninja naxieAlDle++ :)
20:50 IOninja hehe
20:50 * IOninja relocates
20:54 Geth ¦ whateverable: f94baf405d | (Fernando Correa)++ | Unicodable.p6
20:54 Geth ¦ whateverable: More than one char for line
20:54 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/f94baf405d
20:54 Geth ¦ whateverable: ab172eec93 | (Fernando Correa)++ | Unicodable.p6
20:54 Geth ¦ whateverable: Bold line with diff values
20:54 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/ab172eec93
20:54 Geth ¦ whateverable: bacdb1a553 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Unicodable.p6
20:54 Geth ¦ whateverable: Merge pull request #110 from FCO/master
20:54 Geth ¦ whateverable:
20:54 Geth ¦ whateverable: More than one char for line
20:54 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/bacdb1a553
20:59 lichtkind what is whateverable?
21:00 lichtkind even its wiki was not revealing to me
21:00 moritz the repo description is " Different IRC bots that operate on a bunch of prebuilt Rakudo versions"
21:01 moritz bisectable6 for example uses git bisect to find which commit broke (or fixed) something
21:04 rjbs /win 7
21:07 mst risou_awy: hey, IRC has an away status so generally it's considered better to use that rather than nick changes
21:07 skids Or etymologically, bots whos names end in "able"
21:11 ggoebel joined #perl6
21:22 ugexe muhammadable hasn't been around lately
21:32 perlawhirl joined #perl6
21:38 naxieAlDle except for huggable, it's an exception :)
21:38 Ven joined #perl6
21:39 naxieAlDle lichtkind: let me demonstrate! Let's say rakudo behavior was different some time ago, and you want to run your code on an older version. You can do this:
21:40 naxieAlDle committable6: 2016.05 say ‘hello’
21:40 committable6 naxieAlDle, ¦2016.05: «hello»
21:40 naxieAlDle and you can do this with almost any version. Feeling nostalgic? Let's try this:
21:40 naxieAlDle committable6: 2014.01 say 'hello'
21:40 committable6 naxieAlDle, ¦2014.01: «hello»
21:41 lichtkind its evalbot?
21:41 naxieAlDle partly, yes
21:41 lichtkind otehr part?
21:42 naxieAlDle the most interesting thing about it is that it has a few thousands of rakudo versions already built for ya! This makes a lot of things much faster
21:42 Cabanossi joined #perl6
21:42 naxieAlDle for example, want to know when ≤ operator was added? Let's bisect:
21:42 naxieAlDle bisect: say 2 ≤ 50
21:42 bisectable6 naxieAlDle, Bisecting by exit code (old=2015.12 new=f190f24). Old exit code: 1
21:42 bisectable6 naxieAlDle, bisect log: https://gist.github.com/be204e4408a38a65d1d9136c28dd05a3
21:42 bisectable6 naxieAlDle, (2017-03-05) https://github.com/rakudo/rakudo/commit/d2c5684e50a2f4a633b6595d0e4ed445de7a6703
21:43 naxieAlDle if it had to build rakudo on every step, it would spend many minutes just compiling stuff
21:45 naxieAlDle lichtkind: unicodable, for example, doesn't eval anything. Most of the time
21:45 naxieAlDle unicodable6: ☺
21:45 unicodable6 naxieAlDle, U+263A WHITE SMILING FACE [So] (☺)
21:46 naxieAlDle lichtkind: but because it's built on the same code, you can actually give it some code to eval
21:46 naxieAlDle unicodable6: { .uniname eq ‘BUTTERFLY’ }
21:46 unicodable6 naxieAlDle, U+1F98B BUTTERFLY [So] (🦋)
21:46 naxieAlDle and statisfiable doesn't eval anything at all, not even close
21:47 naxieAlDle but it gathers some stats about rakudo builds
21:47 naxieAlDle statisfiable6: install
21:47 statisfiable6 naxieAlDle, OK! Working on it…
21:47 naxieAlDle will take a minute to get done, but we should see a nice graph :)
21:47 statisfiable6 naxieAlDle, https://gist.github.com/008d59c2692ae4f82163f327bd240cbc
21:48 naxieAlDle (possibly some broken builds on the graph, but generally the picture is still very useful)
21:49 naxieAlDle lichtkind: if you have any questions or ideas, I'd love to hear ;)
21:50 lichtkind thank you very much this could i even copy into a slide :)
21:51 naxieAlDle lichtkind: some time ago I also wrote this: https://perl6advent.wordpress.com/2016/12/23/day-23-everything-is-either-wrong-or-less-than-awesome/
21:51 naxieAlDle lichtkind: it mentions bisectable
21:51 naxieAlDle lichtkind: (and explains why it is useful)
21:52 naxieAlDle statisfiable6: core
21:52 statisfiable6 naxieAlDle, OK! Working on it…
21:52 lichtkind thank you
21:52 statisfiable6 naxieAlDle, https://gist.github.com/224c168cc1f3d0bce179e3e5db6c8440
21:54 IOninja modules.perl6.org is duped again :/
22:04 Todd joined #perl6
22:06 Todd Hi All,  I am having trouble converting a system call from the shell method to the run method.  The pipe "|" is what is messing me up.  I have posed my code at http://vpaste.net/VpOCc
22:07 Todd Is there some special method when using a pipe with run?
22:09 jnthn Todd: If you're going to use | you need a shell
22:09 jnthn Since | is interpreted by the shell
22:09 jnthn And run explicitly is not using a shell
22:10 moritz that's what shell is for :-)
22:10 jnthn Though looking at what you're doing, it seems it'd perhaps be better to pass :in to run and then write to the stdin of the process, however that's done
22:11 Todd rats.  Is there a way to send "standard in" to xclip other than with a pipe?
22:11 Todd oh!  How do I do that?
22:12 jnthn Don't know off hand, though should be in the docs
22:12 gfldex https://docs.perl6.org/type/Proc$COLON$COLONAsync
22:13 jnthn I know for Proc::Async you do something like Proc::Async.new('xclip', 'args'..., :w)
22:13 Geth ¦ whateverable: 86c7cd908e | (Aleks-Daniel Jakimenko-Aleksejev)++ | Unicodable.p6
22:13 Geth ¦ whateverable: Make sure that the raw table is aligned correctly
22:13 Geth ¦ whateverable:
22:13 Geth ¦ whateverable: I don't think anybody needs the unrendered version, but it does not
22:13 Geth ¦ whateverable: take much to generate it beautifully.
22:13 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/86c7cd908e
22:13 Geth ¦ whateverable: 55107145b6 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Unicodable.p6
22:13 Geth ¦ whateverable: Escape | in markdown tables
22:13 Geth ¦ whateverable:
22:13 Geth ¦ whateverable: It seems that this is the only way to do it. Meh.
22:13 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/55107145b6
22:13 jnthn And then you can .print once the process is started
22:14 * gfldex .oO( Am I one of those bots? )
22:15 Geth ¦ whateverable: d1bc520b4a | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6
22:15 Geth ¦ whateverable: Somehow this has to be boolified
22:15 Geth ¦ whateverable:
22:15 Geth ¦ whateverable: Previously changed in f3bad83786a5ed3eef036394f76739154f379546
22:15 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/d1bc520b4a
22:15 unicodable6 joined #perl6
22:15 Todd https://docs.perl6.org/routine/run isn't much help
22:16 unicodable6 joined #perl6
22:16 jnthn See the Proc::Async docs that gfldex sent
22:17 naxieAlDle unidump: 8½
22:17 unicodable6 naxieAlDle, https://gist.github.com/e2bcd8a316408a14e1ba77a3229c2295
22:17 naxieAlDle SmokeMachine++
22:17 naxieAlDle timotimo: ↑ ;)
22:18 moritz https://perlgeek.de/images/rakudo_top_contributors.png # Top contributors to Rakudo, as determined by a Perl 6 program, rendered through Inline::Python with matplotlib
22:18 naxieAlDle (note that properties that differ are highlighted with bold text)
22:18 SmokeMachine naxieAlDle: that was  great idea! :) naxieAlDle++
22:18 Todd I am not smart enough to use that link
22:19 moritz Todd: stop telling yourself you're not smart
22:20 IOninja wooo \o/ I made the cut!
22:20 naxieAlDle moritz++ # beautiful
22:20 jnthn Todd: The example underneath "An example that opens an external program for writing:" is almost exactly what you want
22:20 IOninja Colorblind-unfriendly chart tho :P
22:21 jnthn Todd: Except replace `$prog.write(Buf.new(12, 42))` with `$proc.print($Str)`
22:21 naxieAlDle … especially considering that jnthn and IOninja are of the same color…
22:21 IOninja heh
22:21 jnthn Yeah, I noticed that
22:21 Geth ¦ doc: ca19bc57b4 | (Wenzel P. P. Peppmeyer)++ | 2 files
22:21 Geth ¦ doc: link to Proc::Async
22:21 Geth ¦ doc: review: https://github.com/perl6/doc/commit/ca19bc57b4
22:21 jnthn So even though I'm slacking off on Rakudo and doing more MoarVM stuff these days, it still looks like I might be busy :P
22:22 naxieAlDle samcv: I think you will like this too ↑ ;)
22:23 naxieAlDle samcv: (unidump)
22:23 Je_ joined #perl6
22:23 Ven joined #perl6
22:23 samcv the docs commit?
22:24 samcv oh unidump
22:24 Je_ Say 1
22:24 IOninja m: say 1
22:24 camelia rakudo-moar f190f2: OUTPUT: «1␤»
22:24 IOninja :)
22:25 naxieAlDle samcv: it highlight properties that differ! How cool is that!
22:25 naxieAlDle s
22:25 samcv oh nice tables naxieAlDle
22:25 naxieAlDle unidump: ¹²³⁴⁵⁶⁷⁸⁹⁰
22:25 Je_ m: $a//=1
22:25 camelia rakudo-moar f190f2: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable '$a' is not declared␤at <tmp>:1␤------> 3<BOL>7⏏5$a//=1␤»
22:25 timotimo naxieAlDle: beautiful
22:25 unicodable6 naxieAlDle, https://gist.github.com/28de88b1552e6dbe403fe1c86cbed04a
22:25 samcv wow nice
22:25 samcv i approve
22:26 Todd Do I need the `use v6.c;`
22:26 IOninja Todd: no, but should
22:26 IOninja Todd: without it, it's assumed you want the latest and greatest Perl 6 language version.
22:26 IOninja (ATM there's only v6.c, but the Future will happen)
22:27 Todd #!/usr/bin/perl6  is at the top of my program
22:27 IOninja Sure, that's fine.
22:27 IOninja Todd: it'll always be perl6; the versions will go v6.d, v6.e, v6.f and so on
22:28 naxieAlDle m: say ‘²’.uniprop(‘East_Asian_Width’); say ‘⁸’.uniprop(‘East_Asian_Width’)
22:28 camelia rakudo-moar f190f2: OUTPUT: «A␤N␤»
22:28 naxieAlDle I don't even…
22:28 samcv that's odd
22:29 samcv that's what unicode says on http://unicode.org/cldr/utility/properties.html too
22:30 samcv oh naxieAlDle the cp's are very different
22:30 samcv 8 is 2078 2 is 00B2
22:30 mcmillhj joined #perl6
22:30 naxieAlDle heh… looking at that page, not even sure why we need unicodable ×D
22:31 samcv nah we need unicodable6 that site is lame sometimes
22:31 samcv i've found errors
22:33 IOninja :S and now the dupes are gone from modules.perl6.org... and I've done nothing :\ this thing is just messing with me now :/
22:38 TEttinger joined #perl6
22:39 Ven joined #perl6
22:39 IOninja gotta 'cause I changed primary key; and the dupes exist while the build script is running, then get dumped at the end.
22:42 IOninja c: $*PERL.compiler.version.say
22:42 committable6 IOninja, I cannot recognize this command. See wiki for some examples: https://github.com/perl6/whateverable/wiki/Committable
22:42 IOninja lolunub
22:43 timotimo a machine died on us today :\
22:43 timotimo it's a quarter to midnight
22:43 IOninja c: HEAD $*PERL.compiler.version.say
22:43 committable6 IOninja, ¦HEAD(22f00cd): «v2017.02.228.g.22.f.00.cd.72»
22:44 mcmillhj joined #perl6
22:45 Voldenet joined #perl6
22:45 Voldenet joined #perl6
22:46 Todd 'replace `...` with `$proc.print($Str)`';  prog was misspelled
22:46 IOninja Todd: in docs?
22:46 Todd And Yippee!  it is working!   Thank you guys!
22:46 IOninja \o/
22:52 Todd no.  that was from <jnthn> Todd: Except replace `$prog.write(Buf.new(12, 42))` with `$proc.print($Str)`
22:52 Todd he misspelled prog
22:53 Todd Here is the full module.  It is for reading and writing to **both** clipboards.  http://vpaste.net/5bPCL
22:54 Todd If you guys like it, feel free to add it to the pile
22:54 SmokeMachine IOninja:  what's the frequency the tags are indexed?
22:55 Todd here is a test program for the module: http://vpaste.net/U2PAv
22:55 IOninja SmokeMachine: same as dists... ~1.5hr
22:56 lichtkind has anyone clue what XML::PI stand for
22:56 lichtkind thanks in advance
22:56 SmokeMachine IOninja: ok! Ill wait to see if my change on my META6.jsons worked...
22:58 zakharyas joined #perl6
23:03 lichtkind found it http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/xmlpi/configuration/15-sy/xml-pi-15-sy-book/xml-pi.html
23:04 SmokeMachine IOninja: whats the idea with Camelion?
23:05 perlawhirl joined #perl6
23:06 IOninja SmokeMachine: https://perl6.party/post/Tag-Your-Dists#camelionwantsyoutotagyourdists
23:06 IOninja The rest is classified until 2017.04.15
23:07 SmokeMachine OK then... :)
23:07 Sound joined #perl6
23:09 Ven joined #perl6
23:09 bjz joined #perl6
23:11 IOninja likely will delay fixing tags and duplication for another 14 hours... Too tired to mess with this code tonight.
23:11 * IOninja &
23:14 Todd what am I doing wrong here?  I am trying to subsitute all teh line feeds with commas: $Rows ~~ s:global/\n/,/;
23:17 IOninja Todd: what makes you think it's wrong?
23:17 IOninja and that's a newline not a line feed, innit?
23:17 IOninja m: dd "\c[LINE FEED]".ords
23:17 camelia rakudo-moar f190f2: OUTPUT: «(10,).Seq␤»
23:17 Todd it return, not the reformatted text, but ":global"
23:17 IOninja m: dd "\n".ords
23:17 camelia rakudo-moar f190f2: OUTPUT: «(10,).Seq␤»
23:18 IOninja Ah OK, nevermind
23:18 IOninja m: my $Rows = "abc\nfoo\nmeow"; $Rows ~~ s:global/\n/,/; say $Rows
23:18 camelia rakudo-moar f190f2: OUTPUT: «abc,foo,meow␤»
23:19 IOninja m: my $Rows = "abc\nfoo\nmeow"; $Rows .= trans:  "\n" => ','; say $Rows
23:19 camelia rakudo-moar f190f2: OUTPUT: «abc,foo,meow␤»
23:19 IOninja .oO( .trans-mutate .... )
23:20 Todd oops, never mind.  I had bad data going into the sub
23:20 naxieAlDle m: ‘5’.uniprop(‘Numeric_Type’)
23:20 camelia rakudo-moar f190f2: ( no output )
23:20 naxieAlDle m: ‘5’.uniprop(‘Numeric_Type’).say
23:20 camelia rakudo-moar f190f2: OUTPUT: «Decimal␤»
23:20 naxieAlDle m: ‘²’.uniprop(‘Numeric_Type’).say
23:20 camelia rakudo-moar f190f2: OUTPUT: «␤»
23:21 naxieAlDle m: ‘②’.uniprop(‘Numeric_Type’).say
23:21 camelia rakudo-moar f190f2: OUTPUT: «␤»
23:29 geekosaur joined #perl6
23:30 Geth ¦ modules.perl6.org/tag-fixes: febbf164eb | (Zoffix Znet)++ | lib/ModulesPerl6/Model/Dists/Schema/Result/Dist.pm
23:30 Geth ¦ modules.perl6.org/tag-fixes: Fix duplication of modules during db update run
23:30 Geth ¦ modules.perl6.org/tag-fixes:
23:30 Geth ¦ modules.perl6.org/tag-fixes: The tag work changed primary key of Dist table and this made
23:30 Geth ¦ modules.perl6.org/tag-fixes: ->update_or_create fail to update existing stuff, since we're not
23:30 Geth ¦ modules.perl6.org/tag-fixes: passing it the primary key. So it dupes the modules during build,
23:30 Geth ¦ modules.perl6.org/tag-fixes: and at the end of the build the originals get assumed to be old,
23:30 Geth ¦ modules.perl6.org/tag-fixes: deleted dists and are tossed.
23:30 Geth ¦ modules.perl6.org/tag-fixes:
23:30 Geth ¦ modules.perl6.org/tag-fixes: Fix by using meta URL as primary column.
23:30 Geth ¦ modules.perl6.org/tag-fixes: review: https://github.com/perl6/modules.perl6.org/commit/febbf164eb
23:31 wamba1 joined #perl6
23:34 Todd In the http://vpaste.net/Dx11Y code the commented out qx will read until the end, but the run method stops at the first line feed.  Is there a was to get run to read the whole thing?  I am reading a column of data
23:36 IOninja ..
23:36 IOninja Todd: use the same method as you use on qx//?
23:36 IOninja Todd: .get gets one line. Use .lines in that place and toss $Str.lines
23:40 Todd Thank you!
23:46 Todd # my $Str = $proc.out.get;    my $Str = $proc.out.lines;
23:46 Todd readline requires an object with REPR MVMOSHandle
23:48 MasterDuke might need a $proc.start first?
23:49 Todd No such method 'start' for invocant of type 'Proc'
23:50 samcv hello Todd
23:50 IOninja Todd: what perl6 version you got?
23:50 samcv if you're making the proc object with `run` then you don't need to .start
23:52 timotimo if it's a Proc::Async, you need to tap the .out which i sa supply
23:52 IOninja FWIW the link to code in question is just a few lines above.
23:53 IOninja Todd: what version are you using?
23:53 Todd $ rpm -qa rak\* rakudo-star-0.0.2016.11-1.el7.x86_64
23:53 MasterDuke shouldn't checking the status happen before getting the output?
23:54 samcv it's just a proc object not a procasync timotimo
23:54 timotimo OK
23:54 timotimo anyway, i'm enhancing that error message
23:54 Todd yum says no updates to rakudo-star
23:55 timotimo oh yum
23:55 IOninja Todd: just swap it to .out.slurp.lines
23:55 timotimo please give us perl6 --version
23:55 Todd $ perl6 --version This is Rakudo version 2016.11 built on MoarVM version 2016.11 implementing Perl 6.c.
23:55 IOninja Todd: works fine on latest Perl 6 and there were fixes to .lines since your version
23:55 IOninja Todd: and doing .slurp first will avoid the bug
23:56 Ven joined #perl6
23:56 Todd No such method 'slurp' for invocant of type 'IO::Pipe'
23:56 IOninja :S
23:56 Todd my $Str = $proc.out.slurp.lines;
23:56 IOninja Oh right
23:56 IOninja Todd: sorry, it's out.slurp-rest.lines
23:57 IOninja (inconsistent naming)--
23:57 Cabanossi joined #perl6
23:58 samcv Todd, what distro do you have? fedora?
23:58 Todd That worked!  Thank you!
23:58 IOninja any time
23:59 timotimo moarvm's latest commit will give you the type name and what repr the thing in question had
23:59 Todd My primary is Scientific Linux 7.3.  The Fedora machine I work on a lot is $ perl6 -version This is Rakudo version 2017.01 built on MoarVM version 2017.01 implementing Perl 6.c.
23:59 naxieAlDle hm, why not out.lines ?
23:59 IOninja -_-
23:59 samcv great that's the newest star

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

Perl 6 | Reference Documentation | Rakudo