Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-03-11

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 IOninja People don't read these days :P
00:00 timotimo some people don't read days at all!
00:00 samcv only on days that end in days though
00:00 samcv *day
00:01 naxieAlDle ah ok, .lines was broken
00:01 timotimo when did it get fixed?
00:01 timotimo can you bisect something that uses "run"?
00:01 samcv timotimo, nice on the error change timotimo++
00:01 IOninja no
00:01 Todd *day ???   oh no!  More C code!   :-)
00:01 IOninja restricted
00:01 timotimo was very easy
00:02 naxieAlDle timotimo: not yet, but it has stdin
00:02 naxieAlDle is stdin broken as well or just Proc?
00:02 naxieAlDle or, can somebody give me the snippet so that I can put it into unrestricted bisectable?
00:02 naxieAlDle .oO(can I just use the code above?)
00:04 IOninja naxieAlDle: "/tmp/foo".IO.spurt: "a\nb\nc"; my $p = run :out, "cat", "/tmp/foo"; say $p.out.lines
00:04 naxieAlDle IOninja: Output on both points: «(a b c)»
00:04 Todd I update my clipboard module and tester over at http://vpaste.net/vprdG
00:05 IOninja naxieAlDle: "/tmp/foo".IO.spurt: "a\nb\nc\nd"; my $p = run :out, "cat", "/tmp/foo"; say $p.out.lines
00:05 IOninja naxieAlDle: what about that one ^ with even number of lines?
00:05 IOninja naxieAlDle: are you using 2016.11 as old?
00:05 naxieAlDle IOninja: ¦6c (16 commits): «(a b c)»
00:07 samcv nice Todd i like
00:08 naxieAlDle IOninja: or ¦6c (16 commits): «(a b c d)»
00:09 IOninja weird
00:09 IOninja naxieAlDle: OSX vs Linux?
00:09 timotimo the congressedits and bankedits accounts on twitter are kind of fascinating
00:09 naxieAlDle IOninja: Linux
00:10 IOninja Todd: what OS are you using? What's the full code that had the "object with REPR MVMOSHandle" error?
00:11 Todd I just finished up a program that will let me mouse over a series of invoice numbers in a column on a Libre Office spreadsheet and Ctrl-v paste them into a search field in Lotus Approach (wine-staging).  Wine does not read the mouse over clipboard.  This will save me acres of time balancing my books
00:12 Todd IO, it is fixed now.  The full code can be seen at http://vpaste.net/vprdG
00:13 naxieAlDle 6c: $++ for $*PROGRAM.IO.lines.batch(30)
00:13 committable6 naxieAlDle, https://gist.github.com/d9f7​9759a678782757e78433112f3f81
00:13 perlawhirl joined #perl6
00:13 naxieAlDle commit: e0201f1 $++ for $*PROGRAM.IO.lines.batch(30)
00:13 committable6 naxieAlDle, ¦e0201f1: «readline requires an object with REPR MVMOSHandle␤  in block <unit> at /tmp/69aBmr7iY5 line 1␤ «exit code = 1»»
00:13 naxieAlDle bisect: old=e0201f1 $++ for $*PROGRAM.IO.lines.batch(30)
00:13 bisectable6 naxieAlDle, Bisecting by exit code (old=e0201f1 new=1754dc5). Old exit code: 1
00:13 bisectable6 naxieAlDle, bisect log: https://gist.github.com/8fc2​0357a2e59ece85a87c1ecfaf3c0d
00:13 bisectable6 naxieAlDle, (2017-01-27) https://github.com/rakudo/rakudo/commit/​ede01c24766def69e0740b5e19e7b48789cbded8
00:13 naxieAlDle IOninja: this?
00:14 IOninja commit: e0201f1 say $*PERL.compiler.version
00:14 committable6 IOninja, ¦e0201f1: «v2017.01.16.ge.0201.f.1»
00:14 IOninja commit: e0201f1~1 say $*PERL.compiler.version
00:14 committable6 IOninja, ¦e0201f1~1: «v2017.01.15.g.8.a.448.d.4»
00:14 IOninja commit: 2016.11 $++ for $*PROGRAM.IO.lines.batch(30)
00:14 committable6 IOninja, ¦2016.11: «No such method 'batch' for invocant of type 'Seq'␤  in block <unit> at /tmp/0zxS0akZPy line 1␤ «exit code = 1»»
00:14 IOninja naxieAlDle: no
00:14 IOninja naxieAlDle: I'd ask Todd for a test case, but it's a bit hard to communicate with them :/
00:15 naxieAlDle bisect: old=2016.12 new=HEAD $++ for '/home/bisectable/.bash_hi​story'.IO.lines.rotor(30, :partial)
00:15 bisectable6 naxieAlDle, On both starting points (old=2016.12 new=1754dc5) the exit code is 0 and the output is identical as well
00:15 bisectable6 naxieAlDle, Output on both points: «»
00:16 naxieAlDle bisect: old=4a295dc5 $++ for '/home/bisectable/.bash_hi​story'.IO.lines.rotor(30, :partial)
00:16 bisectable6 naxieAlDle, Bisecting by exit code (old=4a295dc new=1754dc5). Old exit code: 1
00:16 IOninja naxieAlDle: Todd's version is 2016.11 tho
00:16 bisectable6 naxieAlDle, bisect log: https://gist.github.com/fec9​2f7b9b24bf06df78e42fad21c13a
00:16 bisectable6 naxieAlDle, (2017-01-27) https://github.com/rakudo/rakudo/commit/​ede01c24766def69e0740b5e19e7b48789cbded8
00:16 IOninja The rotor bug wasn't there yet
00:16 naxieAlDle meh that's the same one
00:16 Todd what would you like me to test?
00:16 IOninja Todd: we'd like a small example that still has the  "object with REPR MVMOSHandle" error
00:16 naxieAlDle Todd: we are trying to find when we fixed the bug that you've just encountered
00:17 IOninja Todd: disregard. I managed to repro it.
00:18 naxieAlDle \o/
00:18 naxieAlDle IOninja: on HEAD?
00:19 IOninja ... I think... I managed...
00:19 IOninja Yes.
00:19 IOninja naxieAlDle: on 2017.02-189-g5b7b7fb
00:20 Todd in progress
00:21 IOninja Todd: I got it already
00:21 IOninja And figured out what the bug is about too :)
00:22 IOninja my $l = .out.lines -> a lazy Seq; proc.close <-- closed handle; say $l <--- trying to reify the seq by reading on closed handle
00:22 naxieAlDle ah
00:22 Todd okay.
00:24 IOninja well, not 100% a bug, I guess :) but it'll make my IO work notes.
00:26 naxieAlDle so again, why not .out.lines ?
00:26 naxieAlDle :P
00:26 naxieAlDle just read them all before you close
00:29 Todd update: that run method you guys had me use does not require that my Xfce launcher run it from a terminal.  Yippee!  My Perl 5 one for doing something like that is going to be rewriten in Perl 6, but first I have to modify some lotus script first.  I never ends.  Lotus script is weird for the sake of being weird.
00:30 BenGoldberg joined #perl6
00:36 geekosaur isn't that just their dialect of VBA, more or less?
00:39 Geth ¦ modules.perl6.org/tag-fixes: 424adb1157 | (Zoffix Znet)++ | 2 files
00:39 Geth ¦ modules.perl6.org/tag-fixes: Ensure we remove any unused tags from DB
00:39 Geth ¦ modules.perl6.org/tag-fixes: review: https://github.com/perl6/modul​es.perl6.org/commit/424adb1157
00:40 Ven joined #perl6
00:41 geekosaur (this does not disprove "weird for the sake of being weird", it just pushes it elsewhere)
00:41 kalkin- joined #perl6
00:44 SmokeMachine IOninja: where is that table with all methods?
00:46 IOninja SmokeMachine: map.perl6.party
00:46 SmokeMachine IOninja: thanks!
00:46 naxieAlDle huggable: methods :is: https://map.perl6.party/
00:46 huggable naxieAlDle, Added methods as https://map.perl6.party/
00:49 Actualeyes joined #perl6
00:53 lichtkind thanks again wonderful people
00:53 lichtkind maybe i fix the test for Math::matrix
00:53 lichtkind a module which i partly author
00:56 samcv IOninja, is there a web directory of all the special perl6 sites
00:57 Cabanossi joined #perl6
00:59 IOninja samcv: none that I'm aware of.
01:00 IOninja perl6.vip perl6.fail perl6.party perl6.wtf (and getperl6.com) are ones I own
01:04 Geth ¦ whateverable: 5ae5c3dae9 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/committable.t
01:04 Geth ¦ whateverable: Test helpful message when no revision is specified
01:04 Geth ¦ whateverable:
01:04 Geth ¦ whateverable: Added a test for issue #85
01:04 Geth ¦ whateverable: review: https://github.com/perl6/wha​teverable/commit/5ae5c3dae9
01:04 Geth ¦ whateverable: 69a71260ff | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/committable.t
01:04 Geth ¦ whateverable: Make sure committable does not crash
01:04 Geth ¦ whateverable:
01:04 Geth ¦ whateverable: Added a test for issue #65
01:04 Geth ¦ whateverable: review: https://github.com/perl6/wha​teverable/commit/69a71260ff
01:05 BenGoldberg .tell Todd Might I suggest: sub XOpenDisplay(Str $display_name --> Pointer) is native('X11'); sub XFetchBytes(Pointer $display, int nbytes_return is rw --> Blob) is native('X11'); sub XFree(Blob) is native('X11'); my $d = XOpenDisplay(":0"); my int $len = 0; my Blob $b = XFetchBytes( $d, $len ); my Str $str = $b.subbuf( 0, $len ).decode; XFree( $b ); # now use $str.
01:05 yoleaux BenGoldberg: I'll pass your message to Todd.
01:08 samcv IOninja, atom 1.16beta: Add the "dalek" package to let people know when they have built-in packages installed in ~/.atom/packages that are overshadowing core packages.
01:11 Geth ¦ modules.perl6.org/tag-fixes: d03a0180c1 | (Zoffix Znet)++ | 2 files
01:11 Geth ¦ modules.perl6.org/tag-fixes: Implement tag aliaser and blocker
01:11 Geth ¦ modules.perl6.org/tag-fixes:
01:11 Geth ¦ modules.perl6.org/tag-fixes: - add tag-aliases.json file; lets us:
01:11 Geth ¦ modules.perl6.org/tag-fixes:     - alias variations of the same tag to one name
01:11 Geth ¦ modules.perl6.org/tag-fixes:     - block spammy/profane tags
01:11 Geth ¦ modules.perl6.org/tag-fixes: review: https://github.com/perl6/modul​es.perl6.org/commit/d03a0180c1
01:11 aborazmeh joined #perl6
01:11 aborazmeh joined #perl6
01:12 * IOninja is not following...
01:13 samcv oh i just thought it was a coincidence
01:13 samcv that it's called dalek
01:13 IOninja heh
01:22 tbrowder hi gang, i see the new HUGE tag list on the modules site. i assume its
01:22 tbrowder it's still a WIP?
01:26 IOninja Yes
01:28 samcv woah
01:28 samcv FULLCAPS FTW
01:28 tbrowder how are the tags derived?
01:29 samcv probably from github tags
01:29 timotimo "cruise control for cool"
01:30 samcv m: say "cruise control" ~~ Cool
01:30 camelia rakudo-moar f190f2: OUTPUT: «True␤»
01:31 IOninja tbrowder: https://perl6.party/post/Tag-Your-Dists
01:32 Geth ¦ ecosystem: kalkin++ created pull request #308: Add new version of Ddt
01:32 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/pull/308
01:34 IOninja hm... and we probably need to teach modules.perl6.org to dedupe stuff like that ^ :/
01:34 IOninja by using name + auth as primary key or something
01:34 Geth ¦ ecosystem: 334be523b3 | (Bahtiar `kalkin-` Gadimov)++ | META.list
01:34 Geth ¦ ecosystem: Add new version of Ddt
01:34 Geth ¦ ecosystem:
01:34 Geth ¦ ecosystem: - Add `v0.4.0` tag
01:34 Geth ¦ ecosystem: - Replace the previous master branch with `v0.3.2` tag
01:34 Geth ¦ ecosystem: review: https://github.com/perl6/e​cosystem/commit/334be523b3
01:38 kalkin- ups sorry for merging my own pr.
01:38 tbrowder IOninja: good link, and my first module has tags in style of yours and shows up well. i will change my others to do the same. but what about adding the tags made up of the actual module name parts? i remember asking for module naming advice last year and such topic breaks in names were recommended as are the rule in Perl  5 modules
01:38 kalkin- I pushed to the wrong remote
01:39 tbrowder that of course could be done automagically.
01:41 tbrowder and that same scheme works with the manual modules search now
01:43 IOninja Many module names will be that... names... DBIish, Green, zef, panda; or parts that don't make sense without context, ::WTF, ::Mangle, ::Elo. I see little reason to spam an already over-crowded tag list with more useless tags.
01:43 tbrowder also you might put the tag list on another page--it's kind of overwhelming at first glance, esp. on small screens
01:45 tbrowder yep, lack of context is a bummer. how do you plan to get around that?  sounds like. project for "deep learning"
01:45 skids joined #perl6
01:47 bjz joined #perl6
01:48 SmokeMachine m: my &r = { @ = $^a ..^ $^b }; say r(0, 4); say r(0, 4), r(1, 4) # there's something very strange...
01:48 camelia rakudo-moar f190f2: OUTPUT: «[0 1 2 3]␤[1 2 3][1 2 3]␤»
01:49 SmokeMachine use Test; my &r = { @ = $^a ..^ $^b }; is r(0, 4), r(1, 4) # shouldn't be ok
01:49 SmokeMachine m: use Test; my &r = { @ = $^a ..^ $^b }; is r(0, 4), r(1, 4) # shouldn't be ok
01:49 camelia rakudo-moar f190f2: OUTPUT: «ok 1 - ␤»
01:50 SmokeMachine is it using the same state var?
01:51 SmokeMachine m: use Test; sub r { @ = $^a ..^ $^b }; is r(0, 4), r(1, 4)
01:51 camelia rakudo-moar f190f2: OUTPUT: «ok 1 - ␤»
01:52 SmokeMachine use Test; sub r { @ = $^a ..^ $^b }; isnt r(0, 4), r(1, 4) # better this way
01:52 SmokeMachine m: use Test; sub r { @ = $^a ..^ $^b }; isnt r(0, 4), r(1, 4) # better this way
01:52 camelia rakudo-moar f190f2: OUTPUT: «not ok 1 - ␤␤# Failed test at <tmp> line 1␤# expected: anything except '$[1, 2, 3]'␤#      got: '$[1, 2, 3]'␤»
01:52 SmokeMachine i think its not the state var:
01:52 SmokeMachine m: use Test; sub r { @($^a ..^ $^b) }; isnt r(0, 4), r(1, 4)
01:52 camelia rakudo-moar f190f2: OUTPUT: «ok 1 - ␤»
01:53 SmokeMachine i mean: I think it IS the state var
01:53 IOninja It is. You're returning the same container that gets updated.
01:53 IOninja You also seem to be reinventing infix:<+>(Range, Int)
01:53 IOninja Ah no. Never mind.
01:54 SmokeMachine IOninja: thanks
01:55 SmokeMachine IOninja: yes, I was just translating a levenshtein's distance from functional js to perl...
01:56 SmokeMachine perl6
01:57 Cabanossi joined #perl6
01:57 IOninja m: say +StrDistance.new:  :before<levenshtein> :after<levenfpain> # SmokeMachine
01:57 camelia rakudo-moar f190f2: OUTPUT: «4␤»
01:59 SmokeMachine IOninja: I was just judging a interview challenge and got curious to see that code in perl6...
02:02 kalkin- for some reason the TravisCI badge doesn't show up in modules.perl6.org
02:02 kalkin- (The TravisCI badge for Ddt)
02:02 SmokeMachine great: https://github.com/rakudo/rakudo/b​lob/f325eebcd999609ed0ba48c9d63031​070859ca63/src/core/StrDistance.pm
02:07 kalkin-_ joined #perl6
02:10 mcmillhj joined #perl6
02:11 Todd Please forgive anohter total mooch.  I am trying to convert a perl 5 code to 6.  The idea is to extract the hours, minutes, and seconds.
02:11 yoleaux 01:05Z <BenGoldberg> Todd: Might I suggest: sub XOpenDisplay(Str $display_name --> Pointer) is native('X11'); sub XFetchBytes(Pointer $display, int nbytes_return is rw --> Blob) is native('X11'); sub XFree(Blob) is native('X11'); my $d = XOpenDisplay(":0"); my int $len = 0; my Blob $b = XFetchBytes( $d, $len ); my Str $str = $b.subbuf( 0, $len ).decode; XFree( $b ); # now use $str.
02:11 Todd This is the Perl 5 code: $Tmp ~~ /^(\d+):(\d+):?(\d+)?$/;
02:12 Todd This is what I have so far with P6: perl6 -e 'my $x="10:44:36"; $x ~~ /^(\d+):(\d+):?(\d+)?$/; say $1; say $2;' Nil Nil
02:12 Todd What am I doing wrong, this time?
02:12 IOninja my ($hours, $minutes, $seconds = "00) = $x.split: ":"
02:12 IOninja my ($hours, $minutes, $seconds = "00") = $x.split: ":"
02:13 IOninja m: my $x="10:44:36"; my ($hours, $minutes, $seconds = "00") = $x.split: ":"; dd [ $hours, $minutes, $seconds ]
02:13 camelia rakudo-moar f190f2: OUTPUT: «["10", "44", "36"]␤»
02:13 IOninja m: my $x="10:44"; my ($hours, $minutes, $seconds = "00") = $x.split: ":"; dd [ $hours, $minutes, $seconds ]
02:13 camelia rakudo-moar f190f2: OUTPUT: «["10", "44", Any]␤»
02:13 IOninja aww
02:13 IOninja AH right
02:14 IOninja m: my $x="10:44"; my ($hours, $minutes, $seconds) = $x.split: ":"; $seconds //= "00"; dd [ $hours, $minutes, $seconds ]
02:14 camelia rakudo-moar f190f2: OUTPUT: «["10", "44", "00"]␤»
02:14 IOninja Disappointed the signature default don't work :P
02:14 IOninja Ah, 'cause it's not interpreted as signature there
02:15 Todd I take it dd does not mean the same thing in P6 as it does in bash.
02:15 IOninja m: my $x="10:44"; my ($hours, $minutes, $seconds = "00") := \(|$x.split: ":"); dd [ $hours, $minutes, $seconds ]
02:15 camelia rakudo-moar f190f2: OUTPUT: «["10", "44", "00"]␤»
02:15 IOninja huzza \o/
02:16 labster joined #perl6
02:17 IOninja : my $x="10:44:00"; my ($hours, $minutes, $seconds = "00") := \ |$x.split: ":", 3; dd [ $hours, $minutes, $seconds ]
02:17 IOninja my $x="10:44:00"; my ($hours, $minutes, $seconds = "00") := \ |$x.split: ":", 3; dd [ $hours, $minutes, $seconds ]
02:17 IOninja m: my $x="10:44:00"; my ($hours, $minutes, $seconds = "00") := \ |$x.split: ":", 3; dd [ $hours, $minutes, $seconds ]
02:17 camelia rakudo-moar f190f2: OUTPUT: «["10", "44", "00"]␤»
02:17 IOninja Death to parens!
02:18 Todd perl6 -e 'my $x="10:44:36"; my ($hours, $minutes, $seconds = "00) := \ |$x.split: ":",3; say $hours; say $minutes;' ===SORRY!=== Error while compiling -e Unable to parse expression in double quotes; couldn't find final '"'  at -e:1 ------> .split: ":",3; say $hours; say $minutes;⏏<EOL>     expecting any of:         postfix
02:18 IOninja m: my $x="10:44:55"; dd [.hour, .minute, .second] with DateTime.new: '2016-12-31T' ~ $x
02:18 camelia rakudo-moar f190f2: OUTPUT: «[10, 44, 55]␤»
02:19 Todd https://docs.perl6.org/program​s/01-debugging#index-entry-dd   wow, that was no help!
02:20 IOninja Todd: debugging the error your pasted is left as an exercise to the reader.
02:20 Todd sorry
02:20 Todd perl6 -e 'my $x="10:44:36"; my ($hours, $minutes, $seconds = "00) := \ |$x.split: ":"; say $hours; say $minutes;'
02:21 Todd ===SORRY!=== Error while compiling -e
02:21 Todd Unable to parse expression in double quotes; couldn't find final '"'
02:21 Todd ------> $x.split: ":"; say $hours; say $minutes;⏏<EOL>
02:21 IOninja Todd: yes, debug it.
02:21 Todd found it.  Forgot the " after 00
02:21 IOninja Find the problem.
02:21 IOninja :)
02:25 Ven joined #perl6
02:28 mcmillhj joined #perl6
02:34 Geth ¦ whateverable: e285e61890 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
02:34 Geth ¦ whateverable: Allow comma delimiter (for real this time)
02:34 Geth ¦ whateverable:
02:34 Geth ¦ whateverable: Resolves #32. Also adds tests for #28 and #48.
02:34 Geth ¦ whateverable: review: https://github.com/perl6/wha​teverable/commit/e285e61890
02:39 Todd I am trying to conver a p5 program over to p6.  Of course I am missing something but I an't get "perl6 -c" t tell me what.  I just get back:
02:39 Todd ===SORRY!=== Cannot call method 'List' on a null object
02:39 Todd What "List"?
02:40 unicodable6 joined #perl6
02:40 statisfiable6 joined #perl6
02:40 araraloren m: dd ().List;
02:40 camelia rakudo-moar f190f2: OUTPUT: «()␤»
02:41 Todd I don't understand
02:41 araraloren Your object is null, maybe should new first.
02:47 Todd but what object?  It won't tell me a line number
02:47 Cabanossi joined #perl6
02:47 araraloren Hm, rakudo error message is not friendly, sometimes..
02:47 kanishka joined #perl6
02:47 araraloren Maybe you can paste your code in gist or something else ...
02:47 Geth ¦ modules.perl6.org/tag-fixes: 019c775390 | (Zoffix Znet)++ | 4 files
02:47 Geth ¦ modules.perl6.org/tag-fixes: Fix tag usability
02:47 Geth ¦ modules.perl6.org/tag-fixes:
02:47 Geth ¦ modules.perl6.org/tag-fixes: - Do not show tags with ≤ 2 dists for them by default
02:47 Geth ¦ modules.perl6.org/tag-fixes: - Fix failure to display tags with `/` or `.` in them
02:47 Geth ¦ modules.perl6.org/tag-fixes: review: https://github.com/perl6/modul​es.perl6.org/commit/019c775390
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:48 Todd Oh no fooling!
02:48 IOninja Or is that Perl 5 code?
02:48 timotimo "use lib /home/linuxutil" bad idea
02:49 IOninja m: foreach ^2 { .say }
02:49 camelia rakudo-moar f190f2: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of 'foreach'; in Perl 6 please use 'for'␤at <tmp>:1␤------> 3foreach7⏏5 ^2 { .say }␤»
02:49 timotimo Todd: can't try that without having X11Clipboard
02:50 Todd fixed the " (" problem.  that was an easy one.  I am embarrased
02:50 araraloren Yeah, it's bad idea, rakudo will search some directory crazy..
02:50 timotimo i found the problem why the compiler is asploding
02:50 timotimo m: use CheckSystemDependency ( $name ) { say "lol" }
02:51 camelia rakudo-moar f190f2: OUTPUT: «===SORRY!===␤Cannot call method 'List' on a null object␤»
02:51 timotimo that's meant to be "sub" instead of use
02:51 timotimo good catch
02:51 timotimo i mean, good catch finding a piece of code so simple that makes the compiler explode with a shitty error message
02:51 Todd Okay, now it is giving me line numbes.  I am off to the races!  It was the " (" issue.
02:51 timotimo i didn't see a ( error
02:51 timotimo oh
02:52 timotimo *all* the ( errors
02:52 timotimo that's not what made the compiler asplode, though :)
02:52 araraloren Hm, line 53 has a error
02:52 araraloren replace use with sub
02:52 Todd what was on 53 (i have been fixig things)
02:53 timotimo anybody want to rakudobug the "use" bug? i've gotta go real soon
02:53 araraloren Also , line 26/27
02:54 IOninja kalkin-_: no idea why... It shows up fine on my local build :/
02:54 Todd 24 and 25 were missing a {}
02:54 araraloren Perl6 has a multi line comment
02:54 araraloren #`()
02:54 timotimo he already uses multi line comments
02:54 timotimo oh ... but not correctly
02:55 araraloren Yeah, in line 26/27
02:56 Todd fixed that already
02:56 araraloren Maybe your should write code step by step, write some and just test it, if not error, go on ..
02:57 mcmillhj joined #perl6
02:58 IOninja kalkin-_: the only thing I can think of is travis wasn't yet ready when it fetched the status, but that should be rebuilt on next update... And I don't know if "next update" happened already
02:58 IOninja Gonna push a bunch of fixes soon, maybe that'll set it straight
02:59 Todd Unless I get in trouble, stop helping me with this.  I am not that big a mooch and it helps me learn by debugging.  I have a lot of p5 code I want o eventually convert
02:59 kalkin-_ IOninja: thanks!
02:59 kalkin-_ yes now it's also showing passing for me
03:00 IOninja Oh does it? cool
03:00 araraloren Hm, :)
03:00 kalkin-_ IOninja: probably travis wasn't ready yet
03:04 Geth ¦ modules.perl6.org/tag-fixes: 2306d9eed0 | (Zoffix Znet)++ | 3 files
03:04 Geth ¦ modules.perl6.org/tag-fixes: Update to latest Mojolicious
03:04 Geth ¦ modules.perl6.org/tag-fixes:
03:04 Geth ¦ modules.perl6.org/tag-fixes: - bump prereq version
03:04 Geth ¦ modules.perl6.org/tag-fixes: - toss deprecated Mojo::Util::slurp
03:04 Geth ¦ modules.perl6.org/tag-fixes: review: https://github.com/perl6/modul​es.perl6.org/commit/2306d9eed0
03:08 IOninja oh gee there are many more of those :(
03:09 Geth ¦ modules.perl6.org/tag-fixes: a2c0502f69 | (Zoffix Znet)++ | 3 files
03:09 Geth ¦ modules.perl6.org/tag-fixes: Revert "Update to latest Mojolicious"
03:09 Geth ¦ modules.perl6.org/tag-fixes:
03:09 Geth ¦ modules.perl6.org/tag-fixes: This reverts commit 2306d9eed03f66e5c36be9f4ac8c4350b0c094c0.
03:09 Geth ¦ modules.perl6.org/tag-fixes:
03:09 Geth ¦ modules.perl6.org/tag-fixes: There many more other instances of deprecated stuff; will
03:09 Geth ¦ modules.perl6.org/tag-fixes: upgrade some other time.
03:09 Geth ¦ modules.perl6.org/tag-fixes: review: https://github.com/perl6/modul​es.perl6.org/commit/a2c0502f69
03:12 IOninja This kinda sums up Perl 5 to me. Running around the codebase, changing something as basic as slurp/spurt of files, just 'cause the handful of authors decided to change it.
03:12 MasterDuke timotimo: rakudobugged as RT #130979
03:12 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=130979
03:12 Todd perl6 -e 'my $HHMM="10:44"; my $HH; my $MM; ( $HH, $MM ) := \ |$HHMM.split: ":"; say $HH; say $MM;'
03:12 Todd Cannot use bind operator with this left-hand side
03:13 IOninja Todd: you can do it only with `my`
03:13 Todd it works with `my ( $MM, $HH )`, but not if I have already defined the variables.  Why?
03:13 Todd oh.  Okay
03:13 IOninja And funny enough, before I switched modules.perl6.org to Mojolicious, I had to update it from File::Slurp that's buggy and deprecated.
03:14 IOninja Todd: well, I mean my thing with the defaults and stuff
03:14 IOninja Todd: you can assign ($hh, $mm) = $blah.split: ":"
03:14 IOninja ^ note, no := but =
03:18 Geth ¦ modules.perl6.org/tag-fixes: a7b4708732 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm
03:18 Geth ¦ modules.perl6.org/tag-fixes: Log info for dists with no tags in build log
03:18 Geth ¦ modules.perl6.org/tag-fixes: review: https://github.com/perl6/modul​es.perl6.org/commit/a7b4708732
03:20 Todd cool
03:25 buggable joined #perl6
03:32 zakharyas joined #perl6
03:42 Geth ¦ modules.perl6.org: zoffixznet++ created pull request #70: Tag fixes
03:42 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/pull/70
03:42 Geth ¦ modules.perl6.org/master: 8 commits pushed by (Zoffix Znet)++
03:42 Geth ¦ modules.perl6.org/master: febbf164eb | Fix duplication of modules during db update run
03:42 Geth ¦ modules.perl6.org/master: 424adb1157 | Ensure we remove any unused tags from DB
03:42 Geth ¦ modules.perl6.org/master: d03a0180c1 | Implement tag aliaser and blocker
03:42 Geth ¦ modules.perl6.org/master: 019c775390 | Fix tag usability
03:42 Geth ¦ modules.perl6.org/master: 2306d9eed0 | Update to latest Mojolicious
03:42 Geth ¦ modules.perl6.org/master: a2c0502f69 | Revert "Update to latest Mojolicious"
03:42 Geth ¦ modules.perl6.org/master: a7b4708732 | Log info for dists with no tags in build log
03:42 Geth ¦ modules.perl6.org/master: 68f0ff3924 | Merge pull request #70 from perl6/tag-fixes
03:42 Geth ¦ modules.perl6.org/master: review: https://github.com/perl6/modules.perl​6.org/compare/099958e80a...68f0ff3924
03:43 noganex_ joined #perl6
03:43 IOninja :/
03:44 bjz joined #perl6
03:44 IOninja I've obviously been off web for too long :/ Didn't even bother testing in Chrome, and of COURSE it's broken in it -_-
03:53 IOninja oh, jquery doesn't have .sort.. Where did I dig it up :/
03:57 Ven joined #perl6
03:57 BenGoldberg IOninja, You have a grep with this condition: length and not ref and not $no_index->{$_}
03:57 BenGoldberg On the results of map uc, ...
03:58 BenGoldberg I'm pretty sure that uc will stringify everything, and thus, 'ref' will always be undef.
04:05 Geth ¦ modules.perl6.org/tag-fixes: 106e4ff7bc | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm
04:05 Geth ¦ modules.perl6.org/tag-fixes: Fix tag processing pipeline; BenGoldberg++
04:05 Geth ¦ modules.perl6.org/tag-fixes: review: https://github.com/perl6/modul​es.perl6.org/commit/106e4ff7bc
04:05 IOninja BenGoldberg: thanks
04:06 BenGoldberg Welcome :)
04:07 Geth ¦ modules.perl6.org/tag-fixes: dc358e9b86 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm
04:07 Geth ¦ modules.perl6.org/tag-fixes: Add missing conditional
04:07 Geth ¦ modules.perl6.org/tag-fixes: review: https://github.com/perl6/modul​es.perl6.org/commit/dc358e9b86
04:07 * BenGoldberg shall not ask why trim is needed, nor how tags might end up with spaces in them.
04:08 IOninja Because the user types them.
04:08 BenGoldberg Gotcha.
04:10 IOninja ugh this stupid sort is doing my head in
04:11 Cabanossi joined #perl6
04:12 Actualeyes joined #perl6
04:13 bjz joined #perl6
04:21 mcmillhj joined #perl6
04:23 bwisti joined #perl6
04:23 bwisti left #perl6
04:27 wamba1 joined #perl6
04:30 Geth ¦ modules.perl6.org/tag-fixes: 8807d51806 | (Zoffix Znet)++ | 2 files
04:30 Geth ¦ modules.perl6.org/tag-fixes: Fix tag sorting
04:30 Geth ¦ modules.perl6.org/tag-fixes: review: https://github.com/perl6/modul​es.perl6.org/commit/8807d51806
04:31 Geth ¦ modules.perl6.org: zoffixznet++ created pull request #71: Tag fixes
04:31 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/pull/71
04:31 Geth ¦ modules.perl6.org/master: 4 commits pushed by (Zoffix Znet)++
04:31 Geth ¦ modules.perl6.org/master: 106e4ff7bc | Fix tag processing pipeline; BenGoldberg++
04:31 Geth ¦ modules.perl6.org/master: dc358e9b86 | Add missing conditional
04:31 Geth ¦ modules.perl6.org/master: 8807d51806 | Fix tag sorting
04:31 Geth ¦ modules.perl6.org/master: 1490aa1423 | Merge pull request #71 from perl6/tag-fixes
04:31 Geth ¦ modules.perl6.org/master: review: https://github.com/perl6/modules.perl​6.org/compare/68f0ff3924...1490aa1423
04:31 IOninja *sigh*
04:31 IOninja Hopefully that fixes everything I wanted to fix.
04:31 IOninja Annoying :/ wasted entire evening. Too sleepy now to even play video games :\
04:31 * IOninja drops to bed
04:32 BenGoldberg G'night.
04:32 mcmillhj joined #perl6
04:41 Ven joined #perl6
04:54 mcmillhj joined #perl6
05:08 bjz_ joined #perl6
05:11 Cabanossi joined #perl6
05:12 mcmillhj joined #perl6
05:17 Ptolemarch joined #perl6
05:21 mcmillhj joined #perl6
05:25 Ven joined #perl6
05:47 rindolf joined #perl6
05:49 mcmillhj joined #perl6
05:58 Todd got a sub question: are the values in the () read only?
05:58 samcv unless you mark them `is rw`
05:59 samcv it passes through the object not the actual value so prevents you from modifying it. if it's rw then it can effect other part of the program
06:00 samcv m: sub thing ($var is rw) { $var = 2; } my $var1 = 0; thing($var1); say $var1
06:00 camelia rakudo-moar f190f2: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3sub thing ($var is rw) { $var = 2; }7⏏5 my $var1 = 0; thing($var1); say $var1␤    expecting any of:␤        infix␤…»
06:00 samcv m: sub thing ($var is rw) { $var = 2; }; my $var1 = 0; thing($var1); say $var1
06:00 camelia rakudo-moar f190f2: OUTPUT: «2␤»
06:00 samcv but you can mark it `is copy` if you want it to just be a copy of what you pass through
06:01 Todd thank you.  DuckDuckGo failed me.  I got reference to it, but no examples
06:02 Todd in general best practice, is it better to do a `return ( $var1, $var2)` than to do an `$var1 is rw, $var2 is rw`?  Or is it up to the mood of the programmer?
06:03 moritz returning is better
06:03 samcv ^
06:04 Todd Thank you!
06:41 Cabanossi joined #perl6
06:55 Todd I am trying to print the ascii value of every character in a string.  DuckDuckGo is loading me full of Perl 5 ways of doing this.  This is what I have that does not work:
06:55 Todd perl6 -e 'my $x="1 2 9 8"; for $x -> $chr { print "<" ~ ord($chr) ~ ">\n"; }'
06:59 Todd This seems like I am betting away with h***:
06:59 Todd perl6 -e 'my $x="1 2 9 8"; for $x.split: " " -> $chr { print "<" ~ ord($chr) ~ ">\n"; }'
06:59 Todd Is it that easy?
07:06 geekosaur m: say "abcd".comb
07:06 camelia rakudo-moar f190f2: OUTPUT: «(a b c d)␤»
07:06 geekosaur preferred over split if you just want to split to individual characters
07:07 eroux joined #perl6
07:19 CIAvash joined #perl6
07:24 Todd how to I do a split with an either/or?   @TimeEntries = split chr(9) || ":space", $Clipboard;
07:25 Todd or do I need to make it two liens?
07:25 Todd lines not liens
07:31 bjz joined #perl6
07:33 RabidGravy joined #perl6
07:42 mcmillhj joined #perl6
07:45 RabidGravy MORNING!
07:45 Ptolemarch_ joined #perl6
07:51 dct joined #perl6
07:53 mcmillhj joined #perl6
07:56 Cabanossi joined #perl6
08:05 mcmillhj joined #perl6
08:11 nine Todd: you'd need a Regex for that
08:11 * RabidGravy wonders how sane a binding to LV2 would be
08:14 nine m: say "abaabaca".split: /<{chr(98)}> | c/
08:14 camelia rakudo-moar f190f2: OUTPUT: «(a aa a a)␤»
08:19 xinming_ joined #perl6
08:26 Ven joined #perl6
08:31 Peter_R joined #perl6
08:33 mcmillhj joined #perl6
08:42 Ven joined #perl6
08:44 mcmillhj joined #perl6
08:59 dct joined #perl6
09:04 Geth ¦ Inline-Perl5: e66fa091c8 | (Stefan Seifert)++ | 2 files
09:04 Geth ¦ Inline-Perl5: Speed up converting non-UTF8 Perl 5 strings to Perl 6 blobs
09:04 Geth ¦ Inline-Perl5:
09:04 Geth ¦ Inline-Perl5: By using blob8's constructor that takes a Positional, we can save a lot of
09:04 Geth ¦ Inline-Perl5: ASSIGN-KEY calls. This saves about 60 % of the time to convert youtube.com's
09:04 Geth ¦ Inline-Perl5: source code.
09:04 Geth ¦ Inline-Perl5:
09:04 Geth ¦ Inline-Perl5: Improves GH #82
09:04 Geth ¦ Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/e66fa091c8
09:06 mcmillhj joined #perl6
09:06 parv joined #perl6
09:08 samcv nine, i am getting failing tests for Inline::Perl5 is it just me?
09:09 samcv have perl5 v5.24.1
09:14 nine samcv: which ones?
09:14 samcv well the ones to install it, and several of the roast ones
09:14 samcv nine, https://gist.github.com/samcv/9​0015550e1c0a575cc0b4cfc61c38f8b this is when installing the package
09:14 espadrine joined #perl6
09:17 mcmillhj joined #perl6
09:22 mcmillhj joined #perl6
09:24 nine samcv: ah, I've seen those, too. Though those messages never caused the tests to actually fail for me.
09:24 samcv oh
09:24 samcv let me run the tests and i'll tell you which fail
09:24 nine Also they are kinda hard to reproduce. Sometimes they're there, sometimes not. Sometimes I seem them when running with prove but not with make test
09:24 samcv did it every time i did it
09:24 samcv for at least the last week
09:26 nine When working on the above commit, I got them every time when running prove from vim. Now they're suddenly gone again.
09:27 samcv ok i get 3/6 failed in hash.t 4/5 failed in roudtrip.t
09:27 samcv other ones pass
09:27 Ven joined #perl6
09:29 nine Do you have any details for me? Error messages or segfaults?
09:29 samcv yeah second
09:29 samcv uhm segfault on hash.t
09:30 samcv same for roundtrip.t
09:31 samcv for the hash.t it segfaultcs after the 3rd test
09:31 samcv https://gist.github.com/samcv/3​8dfdab08046ef625ef9a67a628970c7
09:32 perlawhirl joined #perl6
09:32 robertle joined #perl6
09:33 Geth ¦ ecosystem: 7057dadce0 | (Jonathan Stowe)++ | META.list
09:33 Geth ¦ ecosystem: Rename the META of Cache::Memcached
09:33 Geth ¦ ecosystem: review: https://github.com/perl6/e​cosystem/commit/7057dadce0
09:33 mcmillhj joined #perl6
09:34 RabidGravy just giving some love to the modules I'm a surrogate parent to
09:36 nine samcv: very, very odd. Especially since I cannot repro
09:36 samcv what perl version do you have
09:37 samcv i updated mine like 2 weeks ago
09:37 nine 5.24.0
09:40 mcmillhj joined #perl6
09:40 dct joined #perl6
09:41 Cabanossi joined #perl6
09:42 Geth ¦ perl6.org: hankache++ created pull request #79: Add Perl 6 from haskell / python
09:42 Geth ¦ perl6.org: review: https://github.com/perl6/perl6.org/pull/79
09:42 Ven joined #perl6
09:56 dct joined #perl6
10:01 mcmillhj joined #perl6
10:04 parvx joined #perl6
10:11 Geth ¦ perl6.org: 1abc12d693 | (Naoum Hankache)++ | source/resources/index.html
10:11 Geth ¦ perl6.org: Add Perl 6 from haskell / python
10:11 Geth ¦ perl6.org: review: https://github.com/perl6/p​erl6.org/commit/1abc12d693
10:11 Geth ¦ perl6.org: 530f6265ba | (Samantha McVey)++ | source/resources/index.html
10:11 Geth ¦ perl6.org: Merge pull request #79 from hankache/master
10:11 Geth ¦ perl6.org:
10:11 Geth ¦ perl6.org: Add Perl 6 from haskell / python
10:11 Geth ¦ perl6.org: review: https://github.com/perl6/p​erl6.org/commit/530f6265ba
10:26 firestarter joined #perl6
10:26 firestarter hey again guys
10:27 firestarter can anyone explain me this weird behaviour i'm having
10:27 firestarter http://pastebin.com/Mbpfmhvq
10:27 firestarter why doesn't the grammar work if i change the quantifier in line 10 from 0..* to 0..2?
10:28 firestarter it does work if i drop the proto
10:32 samcv firestarter, so it works if you drop the proto and use 0..2 ?
10:33 samcv firestarter, it works fine if i change it from 0..* to 0..2. the 10th line right?
10:33 firestarter yeah
10:33 samcv yeah it works for me
10:34 samcv firestarter, tell me your `perl6 --version`
10:34 samcv output
10:34 samcv also i can't believe you named a token `my´ haha
10:34 firestarter This is Rakudo version 2017.01 built on MoarVM version 2017.01
10:34 firestarter implementing Perl 6.c.
10:35 samcv hmm that's the newest one
10:35 samcv i think. or something
10:36 firestarter m: grammar A { token TOP { <ma>\s+<mt>\s*|| <ma>\s*<mm>\s+<mt>\s* }; token ma { \d+ }; proto token mm {*}; token mm:sym<a> { '(' <[a..zA..Z\d]>**0..2 ')' }; token mt { <.dec> }; token dec { <[\d,.]>+ };}; say A.parse('0000 (a) 5,555,555'); say A.parse('0000 (a0) 6,666,666');
10:36 camelia rakudo-moar f190f2: OUTPUT: «「0000 (a) 5,555,555」␤ ma => 「0000」␤ mm => 「(a)」␤ mt => 「5,555,555」␤「0000 (a0) 6,666,666」␤ ma => 「0000」␤ mm => 「(a0)」␤ mt => 「6,666,666」␤»
10:36 samcv newest star at least
10:36 firestarter it works here as well
10:36 firestarter but locally i get this:
10:36 firestarter Nil
10:36 firestarter 「0000 (a0) 6,666,666」
10:36 firestarter ma => 「0000」
10:36 firestarter mm => 「(a0)」
10:36 firestarter mt => 「6,666,666」
10:36 samcv bisectable6,  grammar A { token TOP { <ma>\s+<mt>\s*|| <ma>\s*<mm>\s+<mt>\s* }; token ma { \d+ }; proto token mm {*}; token mm:sym<a> { '(' <[a..zA..Z\d]>**0..2 ')' }; token mt { <.dec> }; token dec { <[\d,.]>+ };}; say A.parse('0000 (a) 5,555,555'); say A.parse('0000 (a0) 6,666,666');
10:36 firestarter [Finished in 0.246s]
10:36 bisectable6 samcv, Bisecting by output (old=2015.12 new=1754dc5) because on both starting points the exit code is 0
10:36 samcv well let's find out
10:36 bisectable6 samcv, bisect log: https://gist.github.com/65d3​729d4f2cbe1e555a8852daeb9b8f
10:36 bisectable6 samcv, (2017-01-31) https://github.com/rakudo/rakudo/commit/​9ed4449db57cab39a115c5347387d5978bd56057
10:36 samcv well there you go 01-31
10:37 samcv Fix NFA generation for the constructs `x ** 1..2` and `:i <[A..Z]>`,
10:37 samcv that's one of the fixes
10:37 samcv this commit is what fixed it https://github.com/rakudo/rakudo/commit/​9ed4449db57cab39a115c5347387d5978bd56057
10:38 samcv firestarter, how did you install rakudo?
10:38 mcmillhj joined #perl6
10:38 firestarter i downloaded the binaries (running on Win10 x64)
10:39 samcv if you do ..3 does it work? or only if you do 0..*
10:39 firestarter no, it doesn't, not with ..3, not with ..100 and not with ..^100
10:39 firestarter so this was fixed later than the compiled version?
10:39 samcv yep
10:40 firestarter last night i literally spent 3 hours trying to figure this out :D
10:40 samcv heh
10:40 samcv you can compile the latest if you want to go that way. i haven't done it on windows, have linux myself
10:41 samcv if you have MSVC or gcc are pre-requisites
10:41 firestarter yeah i have these
10:41 samcv ok. see https://github.com/rakudo/rakudo#c​onfiguring-rakudo-to-run-on-moarvm
10:41 samcv clone the repo and run that
10:41 firestarter thanks, man!
10:41 samcv and it should mostly do the work for you. then you just run `make install`
10:42 samcv which will install it in uh. some folder under the checked out folder
10:43 samcv but you can do `--prefix=/Users/blah/perl6` or whatever you do or is best on windows
10:43 samcv otherwise it'll just do it to the same folder
10:44 fir3starter joined #perl6
10:45 fir3starter ok, will try that
10:45 samcv firestarter, feel free to ask any questions, this irc is great :)
10:46 fir3starter Beats reviewing commits or design docs
10:46 aborazmeh joined #perl6
10:46 aborazmeh joined #perl6
10:47 samcv heh. usually some of the devs are around (i'm one of them) and at least one of them will hopefully know what needs to be done somewhere
10:47 samcv perl 6 is a big language
10:49 mcmillhj joined #perl6
10:50 f1r3starter joined #perl6
10:50 samcv fir3starter, the bugtracker is at rt.perl.org if you need to search for bugs.
10:51 f1r3starter Currently i'm aiming to build a substantial project that mainly revolves on grammars. My biggest concern now is the stability of the environment
10:51 samcv environment= perl 6 functioning or just everything?
10:52 samcv what's the project if i can ask
10:53 f1r3starter Yeah, it's perl6 bridged with a python codebase
10:53 samcv ah ok. so using Inline::Python?
10:54 f1r3starter Right now, im using json
10:54 samcv the grammar stuff is usually fairlry robust. big reason is perl 6 is parsed using grammars
10:54 f1r3starter Unfortunately couldnt get inline::python to work on win
10:54 samcv ah ok
10:55 samcv what editor are you using?
10:56 f1r3starter Right now im using atom but what i really miss is an IDE
10:56 f1r3starter Im a bit spoiled by pycharm
10:56 samcv you will like this page https://github.com/samcv/Atom-as-a-Perl6-IDE
10:59 samcv did you have language-perl6 plugin already installed? curious
11:00 mcmillhj joined #perl6
11:00 f1r3starter I have the perl6-fe and script plugins installed
11:01 samcv language-perl6fe is the old plugin
11:01 samcv language-perl6 is the new plugin that's an official perl6 project, and have like 100 improvements
11:02 eroux joined #perl6
11:02 bjz joined #perl6
11:02 Ven joined #perl6
11:02 samcv language-perl6 is also the same that github now uses for their syntax highlighting as well. the old one is not maintained or getting updates at all
11:03 f1r3starter So language-perl6 is the one preinstalled?
11:03 samcv no
11:03 samcv lanuageg-perl is the one pre-installed
11:04 samcv which has shitty syntax highlighting for perl 6
11:04 samcv if you're curious things that have changed since language-perl6fe https://github.com/perl6/atom-langu​age-perl6/blob/master/CHANGELOG.md there's a long list
11:05 samcv changelog is since it changed to language-perl6 and was moved to https://github.com/perl6/atom-language-perl6
11:05 TeamBlast joined #perl6
11:06 mcmillhj joined #perl6
11:07 samcv also it's what docs.perl6.org uses since a month or so ago and i converted the site over to that
11:07 samcv before used pygments
11:09 f1r3starter Wow didn't know that. I actually thought this was an old unmaintained plugin
11:09 f1r3starter Will definitely try it
11:09 samcv oh the language-perl6 cause it has less dls?
11:09 samcv hopefully the number will keep going up lol
11:10 domidumont joined #perl6
11:11 f1r3starter Exactly :D what i am really missing is a graphical debugger
11:12 samcv there is a grammar debugger
11:12 samcv buggable, eco debugger
11:12 buggable samcv, Found 3 results: Tardis, Grammar::Debugger, Debugger::UI::CommandLine. See https://modules.perl6.org/#q=debugger
11:12 samcv buggable, grammar::debugger
11:13 samcv buggable, eco grammar::debugger
11:13 buggable samcv, Grammar::Debugger 'Simple tracing and debugging support for Perl 6 grammars': https://github.com/jnthn/grammar-debugger
11:13 samcv this one. it works using magic
11:13 Cabanossi joined #perl6
11:15 samcv and if you don't want interactive and just want lots of messages debug use `use Grammar::Tracer;` and magically you get tons of debugging
11:18 grondilu_ hum...:
11:18 grondilu_ Configuration FAIL. You can try to salvage the generated Makefile.
11:18 grondilu_ Command failed (status 256): /usr/bin/perl Configure.pl --optimize --prefix=/usr/local --make-install
11:18 grondilu joined #perl6
11:20 grondilu command was:
11:20 grondilu $ perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix=/usr/local
11:20 moritz grondilu: is there more output?
11:20 moritz (if yes, please use a pastebin)
11:20 domidumont joined #perl6
11:21 grondilu hang on
11:21 tbrowder IOninja: ref modules page, what about a page showing the broken down modules in a tree, e.g.,  Acme::Foo::Bar becomes Acme / Foo / Bar with appropriate indentation or other embellishment. I know what you think of most of the names, but I like to think most authors were trying to use something  like cpan structure, and a tree view might help find modules of
11:21 tbrowder interest.
11:22 samcv grondilu, what is this --optimize flag
11:22 grondilu http://paste.debian.net/919254/
11:22 Ven joined #perl6
11:22 grondilu I don't know about this --optimize flag, it was not part of my initial command
11:22 samcv oh
11:22 samcv ok
11:22 samcv that's fgine then
11:23 samcv grondilu, do you have a longer log? of the whole thing?
11:23 samcv oh maybe this is it in the history https://paste.debian.net/919253
11:23 samcv is that correct?
11:23 grondilu no
11:23 grondilu I don't think so
11:23 samcv ok
11:23 f1r3starter I've tried the grammar::tracer and it does its job but a GUI breakpoint debugger would really improve the workflow imho
11:24 * grondilu forgot how to redirect both stdin and stdout
11:24 samcv i think it has that f1r3starter
11:25 samcv if you read the page on the module. i have not tried it but
11:25 samcv that's what it says
11:25 grondilu ok, found it (2>1):  http://paste.debian.net/919256/
11:25 samcv 1>&2 i think
11:25 samcv err yeah that
11:26 samcv had it reversed.
11:26 grondilu ah, failed.  2>1 directs to file 1
11:26 wamba1 joined #perl6
11:27 grondilu ok, both stdin and stdout this time:  http://paste.debian.net/919257
11:27 grondilu I mean stderr
11:28 * grondilu forgot to LANG=C it
11:28 f1r3starter Ive also seen a perl6 plugin to intellij but it was abandoned midway
11:29 grondilu first error seems to be:
11:29 grondilu git error: fatal: destination path '/usr/local/src/rakudo/nqp/​MoarVM/3rdparty/libtommath' already exists and is not an empty directory
11:29 grondilu I guess I could wipe it
11:29 grondilu http://paste.debian.net/919258
11:30 * grondilu wipes his nqp directory
11:30 * grondilu vaguely remembers that he has to do that from times to times
11:31 samcv grondilu, cd into the MoarVM folder
11:31 samcv and then try `git reset --hard`
11:31 samcv and then git pull
11:31 grondilu to late, already wiped it
11:31 grondilu *too
11:32 araraloren joined #perl6
11:35 lukaramu joined #perl6
11:37 Geth ¦ doc: hankache++ created pull request #1244: about.pod6
11:37 Geth ¦ doc: review: https://github.com/perl6/doc/pull/1244
11:38 ZzZombo joined #perl6
11:38 ZzZombo joined #perl6
11:42 Ven joined #perl6
11:42 ZzZombo is there a generic way to match opening character with the corresponding closing one, like '{'=>'}'?
11:42 samcv uhm
11:43 samcv m: say '{'.uniprop('Bidi_Mirroring_Glyph').say
11:43 camelia rakudo-moar f190f2: OUTPUT: «}␤True␤»
11:43 samcv i added that a month or so ago i think
11:43 samcv :) you're welcome
11:43 samcv pretty useful
11:43 samcv works on any mirroring character
11:43 ZzZombo wow, I actually was pretty sure it was much more... difficult.
11:43 ZzZombo Nice
11:44 samcv well not anymore!
11:44 ZzZombo thanks a lot!
11:44 samcv you're welcome!
11:44 samcv curious about your usecase btw. what is it?
11:44 ZzZombo m: say '“'.uniprop('Bidi_Mirroring_Glyph')
11:44 camelia rakudo-moar f190f2: OUTPUT: «␤»
11:45 ZzZombo Well, random text generator, but I want it to correctly output -- possibly nested -- brackets and such.
11:45 ZzZombo m: say '«'.uniprop('Bidi_Mirroring_Glyph')
11:45 camelia rakudo-moar f190f2: OUTPUT: «»␤»
11:46 samcv m: say '“'.uniprop('Bidi_Mirroring_Glyph')
11:46 camelia rakudo-moar f190f2: OUTPUT: «␤»
11:46 samcv hmm i think those aren't mirrored.
11:46 ZzZombo well, not that I've seen the whole lot of them anyway.
11:46 ZzZombo Shouldn't matter.
11:46 samcv yeah they are not
11:47 samcv ZzZombo, this is the whole unicode list of mirroring characters ftp://ftp.unicode.org/Publi​c/UNIDATA/BidiMirroring.txt
11:47 ZzZombo But possibly it should return Nil instead of NL char?
11:47 samcv no that's just the bot
11:47 samcv it returns an empty string if there is no mirroring glyph
11:47 samcv when you use say it adds a newline
11:47 ZzZombo ah
11:47 samcv so it'll evaluate as false in bool context
11:52 ZzZombo m: say '‘'.uniprop('Bidi_Mirroring_Glyph')
11:52 camelia rakudo-moar f190f2: OUTPUT: «␤»
11:53 samcv ZzZombo, quotation marks aren't mirrored
11:53 samcv but basically everything else is
11:58 Woodi_ samcv++ # Unicode nice madness :)
11:58 Cabanossi joined #perl6
11:59 samcv the best madness!
12:01 Ven joined #perl6
12:06 dogbert17 joined #perl6
12:06 dogbert17 any camelia experts around?
12:21 Ven joined #perl6
12:33 perlawhirl joined #perl6
12:40 TeamBlast joined #perl6
12:42 Ven joined #perl6
12:44 perlawhi1l joined #perl6
12:45 bjz_ joined #perl6
12:47 MeirG joined #perl6
12:50 MeirG Tried to install Rakudo Star 17.01 Windows 10 64bit. Got Error 2503 then Error 2503. Any fix for that?
12:50 TeamBlast joined #perl6
12:52 MeirG I mean error 2502 then error 2503
12:56 MeirG joined #perl6
13:01 Ven joined #perl6
13:10 cibs joined #perl6
13:12 ZzZombo joined #perl6
13:12 ZzZombo joined #perl6
13:21 IOninja dogbert17: what did you want?
13:21 Ven joined #perl6
13:22 samcv MeirG, an error while installing it?
13:24 rindolf MeirG: hi
13:24 Geth ¦ perl6-most-wanted: a7a38688e4 | (Tom Browder)++ | most-wanted/modules.md
13:24 Geth ¦ perl6-most-wanted: removed two modules recently entered into the ecosystem
13:24 Geth ¦ perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/a7a38688e4
13:34 lukaramu_ joined #perl6
13:41 cale2 joined #perl6
13:41 Ven joined #perl6
13:43 cale2 Is there a way to index into a Hash based upon the value?
13:44 Sound joined #perl6
13:44 cale2 m: my %hash = <this that those> X=> <A B C>; say "A. %hash.keys.<A>"
13:44 camelia rakudo-moar 1e2466: OUTPUT: «Type Seq does not support associative indexing.␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
13:44 cale2 m: my %hash = <this that those> X=> <A B C>; say "A. %hash.values.<A>"
13:44 camelia rakudo-moar 1e2466: OUTPUT: «Type Seq does not support associative indexing.␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
13:45 gfldex m: my %h = a => 1, b => 2, c => 2; %h.antipairs.hash{2}.say
13:45 camelia rakudo-moar 1e2466: OUTPUT: «b␤»
13:45 cale2 bingo, thanks
13:45 cale2 m: my %hash = <this that those> X=> <A B C>; say "A. %hash.antipairs<A>"
13:45 camelia rakudo-moar 1e2466: OUTPUT: «A. %hash.antipairs<A>␤»
13:45 gfldex please note that this might swallow pairs
13:46 cale2 m: my %hash = <this that those> X=> <A B C>; say "A. {%hash.antipairs<A>}"
13:46 camelia rakudo-moar 1e2466: OUTPUT: «Type Seq does not support associative indexing.␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
13:46 cale2 m: my %hash = <this that those> X=> <A B C>; say "A. %hash.antipairs.<A>"
13:46 camelia rakudo-moar 1e2466: OUTPUT: «Type Seq does not support associative indexing.␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
13:46 cale2 m: my %hash = <this that those> X=> <A B C>; say "A. %hash.antipairs.hash<A>"
13:46 camelia rakudo-moar 1e2466: OUTPUT: «A. %hash.antipairs.hash<A>␤»
13:46 cale2 Okay, not sure how to do it actually
13:46 moritz m: my %h =  <this that those> X=> <A B C>; say %h.invert.perl
13:46 camelia rakudo-moar 1e2466: OUTPUT: «(:C("those"), :C("that"), :C("this")).Seq␤»
13:47 moritz m: my %h =  <this that those> X=> <A B C>; say %h.invert.hash.perl
13:47 camelia rakudo-moar 1e2466: OUTPUT: «{:C("this")}␤»
13:47 moritz m: my %h =  <this that those> Z=> <A B C>; say %h.invert.hash.perl
13:47 camelia rakudo-moar 1e2466: OUTPUT: «{:A("this"), :B("that"), :C("those")}␤»
13:47 gfldex m: my %h = a => 1, b => 2, c => 2; %h.invert.say
13:47 camelia rakudo-moar 1e2466: OUTPUT: «(1 => a 2 => c 2 => b)␤»
13:48 cale2 no easy way to index into it after inverting/antipairing though?
13:48 gfldex m: my %h = a => 1, b => 2, c => 2; %h.invert.hash{2}.say
13:48 camelia rakudo-moar 1e2466: OUTPUT: «b␤»
13:49 cale2 m: my %h = a => 1, b => 2, c => 2; %h.invert.Hash{2}.say
13:49 camelia rakudo-moar 1e2466: OUTPUT: «b␤»
13:49 gfldex cale2: what you want to do is dangerous, you may want to consider a better algorithm
13:49 cale2 lowercase same as uppercase
13:49 moritz well, it's a list, because in general the hash loses information
13:50 moritz so you can index it as a list
13:50 moritz m: my %h =  <this that those> x=> <A B C>; say %h.invert.grep(*.key eq 'C')>>.value
13:50 camelia rakudo-moar 1e2466: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Preceding context expects a term, but found infix > instead␤at <tmp>:1␤------> 3my %h =  <this that those> x=>7⏏5 <A B C>; say %h.invert.grep(*.key eq 'C␤»
13:50 moritz m: my %h =  <this that those> x=> <A B C>; say %h.invert.grep(*.key eq 'C')>>.value
13:50 camelia rakudo-moar 1e2466: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Preceding context expects a term, but found infix > instead␤at <tmp>:1␤------> 3my %h =  <this that those> x=>7⏏5 <A B C>; say %h.invert.grep(*.key eq 'C␤»
13:51 moritz m: my %h =  <this that those> X=> <A B C>; say %h.invert.grep(*.key eq 'C')>>.value
13:51 camelia rakudo-moar 1e2466: OUTPUT: «(those that this)␤»
13:51 cale2 I like how it reads when making this answer key. You just put `%option{$correct}` and it gives the correct letter answer
13:51 cale2 but maybe I should not do it this way because of what you mentioned
13:54 cale2 Anyone know how to stop seeing every notification from perl6-org on github? I only want to see the stuff that is relevant to myself :)
13:55 cale2 Oh, it's because when I got added to the org, it set all the repos to "watching"
13:55 gfldex m: my %h = a => 1, b => 2, c => 2; %.push(%h.antipairs).say
13:55 camelia rakudo-moar 1e2466: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable %.push used where no 'self' is available␤at <tmp>:1␤------> 3 1, b => 2, c => 2; %.push(%h.antipairs)7⏏5.say␤»
13:55 moritz m: my %h = a => 1, b => 2, c => 2; (%).push(%h.antipairs).say
13:55 gfldex m: my %h = a => 1, b => 2, c => 2; my %h2; %h2.push(%h.antipairs); dd %h2
13:55 camelia rakudo-moar 1e2466: OUTPUT: «{1 => a, 2 => [c b]}␤»
13:55 camelia rakudo-moar 1e2466: OUTPUT: «Hash %h2 = {"1" => "a", "2" => $["c", "b"]}␤»
14:01 IOninja cale2: https://github.com/watching
14:01 gfldex m: my %h = a => 1, b => 2, c => 2; my method pushHash { Hash.new.push(self) }; %h.antipairs.&pushHash.say
14:01 camelia rakudo-moar 1e2466: OUTPUT: «{1 => a, 2 => [c b]}␤»
14:01 Ven joined #perl6
14:05 IOninja my %h = a => 1, b => 2, c => 2; %h = % .push: %h.antipairs; say %h
14:05 IOninja m: my %h = a => 1, b => 2, c => 2; %h = % .push: %h.antipairs; say %h
14:05 camelia rakudo-moar 1e2466: OUTPUT: «{1 => a, 2 => [c b]}␤»
14:06 IOninja m: my %h = a => 1, b => 2, c => 2; %h = % .push: %h.invert; say %h
14:06 camelia rakudo-moar 1e2466: OUTPUT: «{1 => a, 2 => [c b]}␤»
14:06 * IOninja wonders of the difference between .antipairs and .invert
14:11 Geth ¦ doc: d3014fc04f | (Zoffix Znet)++ | doc/Type/Any.pod6
14:11 Geth ¦ doc: Any does not provide .invert
14:11 Geth ¦ doc: review: https://github.com/perl6/doc/commit/d3014fc04f
14:11 IOninja huh
14:12 IOninja gfldex: what's with this commit? https://github.com/perl6/doc/commit/bd​f8ca8cb236472dd6bfdb95985d13e0698c123b
14:13 gfldex that's part of a result from util/list-missing-methods.p6
14:13 Cabanossi joined #perl6
14:15 IOninja That runs counter to "Rakudo does not define what Perl 6 is" thing.
14:15 gfldex that's why I also checked roast
14:18 IOninja gfldex: but many of those aren't even in Rakudo's Any. invert wasn't, I see unique, repeated, squish, reduce, first aren't either. There's like more of them that aren't
14:18 gfldex i need to double check then
14:19 IOninja Unless my browser's search feature is busted :/
14:19 IOninja m: <invert unique repeated squish reduce>.grep({ class {}.^can("$_") }).say
14:19 camelia rakudo-moar 1e2466: OUTPUT: «(invert unique repeated squish reduce)␤»
14:20 IOninja m: class {}.^lookup('invert').say
14:20 camelia rakudo-moar 1e2466: OUTPUT: «Method+{<anon|56564848>}.new␤»
14:20 IOninja gfldex: oh, my fault.
14:20 IOninja gfldex: these are in Any-iterable file, not in Any.pm -_-
14:20 IOninja Brain fart :)
14:20 mscha joined #perl6
14:21 Geth ¦ doc: 9c2b7269f6 | (Zoffix Znet)++ | doc/Type/Any.pod6
14:21 Geth ¦ doc: Revert "Any does not provide .invert"; Zoffix--
14:21 Geth ¦ doc:
14:21 Geth ¦ doc: This reverts commit d3014fc04f48ee7085e9d79d754a17a14e02a19c.
14:21 Geth ¦ doc: review: https://github.com/perl6/doc/commit/9c2b7269f6
14:21 Ven joined #perl6
14:21 mscha Quick question: is there a protocol for entering "optimization requests"?
14:22 mscha I'm so fed up that even simple "for a..b -> $i { ... }" loops are so much slower than corresponding c-type loops.
14:22 IOninja mscha: yes, report them as a bug and include code that you think is running slow and include [PERF] as first thing in the subject
14:22 gfldex invert is in roast all over the place. Not quite sure to do with Any and the docs.
14:22 mscha And that should be something that's relatively easy to optimize, right?  (I know, easy to say for an ‘outsider’...)
14:22 IOninja gfldex: it's fine. Sorry, my mistake.
14:22 mscha OK, will do.
14:23 IOninja mscha: like, actual code, not "for a..b" which isn't valid code.
14:23 mscha Actual code like this?  http://pastebin.com/SVYAyA5z
14:24 IOninja mscha: would be helpful to have something a bit reduced :) Like a particular construct that runs slow.
14:25 samcv IOninja, what is the preferred way to write RT ticket numbers?
14:25 IOninja samcv: where?
14:25 samcv RT#130913 or RT #130913
14:25 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=130913
14:25 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=130913
14:25 samcv in git commit body
14:25 IOninja samcv: no idea
14:25 samcv putting together a draft style guide
14:25 samcv for commit messages
14:25 * IOninja write as "Fixes RT#13091: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=130913"
14:26 MasterDukeMobile joined #perl6
14:26 samcv so no spaces
14:27 samcv looks like 3/5 use space and 2/5 use no spaces
14:28 IOninja I think sometimes I also write "...blah in the ticket[^1] blah... [1] https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=130913"
14:28 samcv ok actually it's 728 instances of RT # and 293 instances of RT#
14:29 IOninja m: for ^100_000 { for 1..10 -> $i { $ = $i } }; say now - INIT now
14:29 camelia rakudo-moar 1e2466: OUTPUT: «0.55580332␤»
14:30 IOninja m: for ^100_000 { loop (my $i = 1; $i <= 10; $i++) { $ = $i } }; say now - INIT now
14:30 camelia rakudo-moar 1e2466: OUTPUT: «0.51271986␤»
14:30 samcv i like the way with the space better personally. and we have 71.3% using RT # and 28.6% using RT#
14:30 IOninja mscha: ^ doesn't seen too outrageous a difference?
14:30 IOninja *seem
14:30 IOninja Especially considering in the 1..10 case you're creating and reifying a Range object
14:32 samcv i mean for ^1000 complies to a while loop i think
14:32 samcv gets optomized so there should not be a speed up doing it another way if it's just iterating numbers +1 each time
14:33 IOninja * │ IOninja wonders of the difference between .antipairs and .invert
14:33 IOninja m: %(:a(2, 3), :17b).invert.say
14:33 camelia rakudo-moar 1e2466: OUTPUT: «(2 => a 3 => a 17 => b)␤»
14:33 IOninja m: %(:a(2, 3), :17b).antipairs.say
14:33 camelia rakudo-moar 1e2466: OUTPUT: «((2 3) => a 17 => b)␤»
14:34 IOninja m: %(:a[2, [3,5]], :17b).invert.say
14:34 camelia rakudo-moar 1e2466: OUTPUT: «(2 => a [3 => a 5 => a] 17 => b)␤»
14:34 IOninja :S
14:34 IOninja Is that how it's meant to work?
14:34 samcv wow. editing .md files in Atom. it highlights ```language sections using that syntax hilghlighter
14:34 samcv neat af
14:36 MasterDukeMobile joined #perl6
14:36 samcv m: %(:a[2, [3,5]], :17b).invert.perl.say
14:36 camelia rakudo-moar 1e2466: OUTPUT: «(2 => "a", $[3 => "a", 5 => "a"], 17 => "b").Seq␤»
14:36 mscha IONinja: in http://pastebin.com/SVYAyA5z , it takes 86s with Perl6-style loops, and 55s with C-style loops.  (Rakudo Star 2017.01.)  Significant to me.
14:37 samcv mscha, this is using `loop`?
14:37 mscha samcv: yes, the fast version is with loop.
14:37 IOninja m: say 86/55
14:37 camelia rakudo-moar 1e2466: OUTPUT: «1.563636␤»
14:38 mscha But maybe current Rakudo is less of a difference?  I know there have been a lot of performance tweaks.
14:38 cdg joined #perl6
14:38 samcv what do the for loops look like mscha
14:38 samcv can i see that version
14:38 agentzh joined #perl6
14:38 mscha samcv: see http://pastebin.com/SVYAyA5z.
14:39 mscha The commented-out lines are the "for" version.
14:39 samcv oh i see
14:39 samcv m: my $var = 2 .. (1000 div 2); dd $var
14:39 camelia rakudo-moar 1e2466: OUTPUT: «Range $var = 2..500␤»
14:40 samcv m: my $var = 2..(1000 div 2); dd $var
14:40 camelia rakudo-moar 1e2466: OUTPUT: «Range $var = 2..500␤»
14:41 Ven joined #perl6
14:42 IOninja m: say 87/52
14:42 camelia rakudo-moar 1e2466: OUTPUT: «1.673077␤»
14:42 IOninja slowage on my box...
14:43 Cabanossi joined #perl6
14:44 IOninja m: say 11.387/10.944
14:44 camelia rakudo-moar 1e2466: OUTPUT: «1.040479␤»
14:44 IOninja Differnce if you turn the optimizer off.
14:46 IOninja mscha: well, as I've said, file it so we could bench it and stuff... But keep in mind cases of X being slower than Y could really end up being cases of Y being much faster than X because we can do more to optimize it...
14:46 jnthn fwiw, I'm not surprised that loop comes out faster than for
14:46 jnthn I somewhat suspect that we'll always have a bit of an easier time optimizing it.
14:47 jnthn I'd not be surprised if no matter how well we optimize for, loop still manages to edge it.
14:47 jnthn Zero-cost abstractions are great when you can get them, but hard. :)
14:50 dakkar joined #perl6
14:50 mscha I'll file it, yes, with a reduced case.  I'm just hoping that it will be possible to optimize the whole Range away.  (The compiler could recognize a "for 1..10⁹ -> $i" and optimize it into a "loop (my $i = 1; $i ≤ 10⁹; $i++)", couldn't it?)
14:52 jnthn mscha: We already detect the range case and optimize it a good bit, I believe
14:53 jnthn The difference is largely because -> $i { ... } is a closure taking a parameter
14:53 jnthn We can't actually the the transform you suggested because it'd mis-scope $i
14:53 jnthn *actually do
14:54 jnthn That isn't automatically a problem because in theory if the closure is small we could inline it anyway
14:54 jnthn Unfortunately, we can't actually inline closures yet in the MoarVM specializer
14:55 mscha Ah, I see.  Good point.
14:55 jnthn (It's on the todo list, just not completely trivial to make happen.)
14:55 IOninja And we can't transform for 1..10 -> $i {} to  {loop (....) {} } to avoid the mis-scope?
14:56 jnthn IOninja: Synthesising scopes needs a huge amount of care, since it can break OUTER:: and friends
14:56 IOninja Ah
14:56 jnthn So "possibly" but "not without a bunch of analysis"
14:57 jnthn The other problem we have to keep in mind is that putting a bunch of fancy optimizations into Perl6::Optimizer can actually make things worse for many cases
14:58 jnthn (Because it adds to compilation time of everything)
14:58 samcv IOninja, jnthn any comments on draft style guide for commits? https://github.com/samcv/rakudo/blob/c​ommit/CONTRIBUTING.md#commit-messages
14:58 jnthn Well, not so much problem as trade-off
14:59 jnthn (Stuff needs to be hard to do in spesh to warrant putting it in Perl6::Compiler, essentially)
14:59 jnthn Anyway, I'd expect the for/loop gap to shrink once we can better handle closure call optimization and/or inlining.
14:59 IOninja samcv: irc.perl6.org? wrong url
15:00 samcv that page links to irclog.perlgeek.de
15:00 IOninja samcv: also `Example: Fix foo and bar. This is good because reasons.` should probably not have the period at the end, even if it's outside the code marks
15:00 IOninja samcv: doesn't for me: "Attackers might be trying to steal your information from irc.perl6.org (for example, passwords, messages, or credit cards). NET::ERR_CERT_COMMON_NAME_INVALID"
15:00 samcv yeah i just removed it
15:00 samcv hm. it just redirects for me. will use the actual url
15:00 samcv damn hackers! at it again
15:01 jnthn samcv: "50 or under" should probably be be "50 or less"
15:01 jnthn *be
15:01 Ven joined #perl6
15:01 jnthn samcv: Those seem like quite typical git guidelines, so seems reasonable enough
15:01 samcv kk cool
15:03 IOninja "Write your commit message in the imperative: "Fix bug" and not "Fixed bug" or "Fixes bug.""
15:03 IOninja That's fine for title but can sound confusing in the body
15:03 nine samcv: could you please paste your perl -V somewhere?
15:04 IOninja nine: camelia is stuck on an old commit. It needs to nuke somethign. there's a bot message in #perl6
15:06 ZzZombo Remind please, how to print a character by it's Unicode name, like PARAGRAPH SEPARATOR.
15:06 IOninja samcv: my honest opinion on that style guide is it goes into details on somewhat irrelevant formatting minutae but says nothing about how to write USEFUL commit messages.
15:06 samcv nine, https://gist.github.com/8080​bdb791210f2ef18cd57e3db4a357
15:06 samcv ok will go into that more.
15:07 samcv maybe you want to write it?
15:07 samcv i'm about to go to bed
15:07 IOninja samcv: without making any judgement on the author of this commit... I'd say this is a terrible commit message, but it passes your style guide: https://github.com/rakudo/rakudo/commit/​27dc7b155b9a0704184f1ccf97a7c8dbf9e129b5
15:08 samcv heh
15:08 IOninja samcv: because when the time to do the changelog comes, I'll need to look up the ticket. And then usually wade through several replies on that ticket to figure out what the problem was and at the end I'm often unsure what the ACTUAL problem was that got fixed.
15:08 IOninja samcv: and another issues with it is if I go to https://github.com/rakudo/rakudo/commits/nom trying to find a recent commit that affected, say, infix:<xx>, I won't find it because the titles are just a bunch of RT numbers
15:09 IOninja So to me, I rather have a thousand periods at the end than no description :)
15:10 IOninja "samcv │ maybe you want to write it?"
15:10 samcv ...............
15:10 IOninja Nah, I don't. I think style guides stifle contributions
15:12 travis-ci joined #perl6
15:12 travis-ci Doc build errored. Zoffix Znet 'Revert "Any does not provide .invert"; Zoffix--
15:12 travis-ci https://travis-ci.org/perl6/doc/builds/210056959 https://github.com/perl6/doc/com​pare/d3014fc04f48...9c2b7269f606
15:12 travis-ci left #perl6
15:12 nine IOninja: can't find anything in the logs but I guess it's the change of libtommath in MoarVM. Tripped me, too
15:12 IOninja nine: yeah, it is.
15:17 nine Ok, cleaned libtommath and ran git submodule update. Should update on the next commit
15:20 IOninja nine++ thanks
15:21 BenGoldberg joined #perl6
15:21 Ven joined #perl6
15:23 firestarter joined #perl6
15:25 n1ce joined #perl6
15:26 naxieAlDle joined #perl6
15:28 Cabanossi joined #perl6
15:29 mscha m: say (^20).map({ ($_ % 9) || 9 }); say (^20).map((* % 9) || 9);
15:29 camelia rakudo-moar 1e2466: OUTPUT: «(9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1)␤(0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1)␤»
15:29 Exchizz joined #perl6
15:29 mscha Why the difference?  (The first one is correct, AFAICT.)
15:30 Exchizz0rz Hi guys :>  I'm trying to do the following: $myhash<$somevar> = "cool"; but $somevar is not evaluated, so the key is just $somevar... $somevar is a Str. Do you guys know how I tell it to evaluate the variable so that it uses the content of $somevar as key ? Thanks in advance
15:31 mscha $myhash{$somevar}
15:34 Exchizz0rz ah awesome mscha, it works !  so <> is only with text and{} when variables ?
15:34 Exchizz0rz Thanks :)
15:35 mscha <> quotes the contents, yes.  See https://docs.perl6.org/language/subscripts for all the details.
15:35 Exchizz0rz Thanks man, I'll look into it, thanks for your help !
15:40 nine .tell samcv Still can't reproduce with https://gist.github.com/niner/7​fc21d70805d1bc3a64e7c0604c7efa2 :/
15:40 yoleaux nine: I'll pass your message to samcv.
15:41 ZzZombo I made progress:
15:41 ZzZombo "The Italian Ufficio Informazioni del Commando Supremo was first permanent footing in 1850 as botanists or archaeologists – more professional tactics of the Topographical & Statistic Department T&SD was discredited through the War Office as the Austrian Empire."
15:41 mscha m: say (^20).map({ ($_ % 9) || 9 }); say (^20).map((* % 9) || 9); say (^20).map(((+*) % 9) || 9);  # Huh?
15:41 camelia rakudo-moar 1e2466: OUTPUT: «(9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1)␤(0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1)␤(0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1)␤»
15:41 Ven joined #perl6
15:41 ZzZombo LOL, it looks almost as written by a human!
15:45 samcv i downgraded perl and it works fine
15:45 yoleaux 15:40Z <nine> samcv: Still can't reproduce with https://gist.github.com/niner/7​fc21d70805d1bc3a64e7c0604c7efa2 :/
15:45 samcv i'm using Arch linux
15:46 samcv just downgraded to 5.24.0 I head 5.24.1
15:47 samcv i can reproduce 100% of the time, but only on 5.24.1
15:47 samcv downgrade and it all is fine
15:48 nine I'm now compiling 5.24.1 again trying to match your flags exactly
15:49 as_ joined #perl6
15:51 sergot sjn: have you solved the http::useragent issue somehow? :)
15:52 nine samcv: still no luck. Or too much luck depending on how you see it.
15:54 samcv i can try compiling it myself
15:54 samcv i'm not using perl brew, gonna just compile the PKGBUILD
15:54 mcmillhj joined #perl6
15:56 TeamBlast joined #perl6
15:57 nine Our perl -V matches almost exactly. Our gcc versions are a mere 3 weeks apart.
15:59 IOninja mscha: the difference is the first one is { ($_ % 9) || 9 } while the second one is { $_ % 9 }
16:00 samcv hmm i recompiled and it's passing
16:01 mscha IOninja: why?  The second one has " || 9 " as well?
16:02 mscha m: say (-2..2).map({ $_ || 9 }); say (-2..2).map(+* || 9);
16:02 camelia rakudo-moar 28a48e: OUTPUT: «(-2 -1 9 1 2)␤(-2 -1 0 1 2)␤»
16:02 Ven joined #perl6
16:03 IOninja mscha: it's not part of the whatever closure
16:03 mscha So, it's just thrown away?  Without error or warning?
16:04 CIAvash mscha: (* % 9) is True, so the result of 「(* % 9) || 9」 is (* % 9) and it gets passed to map
16:04 mscha Ah, I get it/
16:04 IOninja mscha: no, it's evaluated
16:09 benchable6 joined #perl6
16:12 robertle joined #perl6
16:18 skids joined #perl6
16:19 pmurias joined #perl6
16:22 SCHAAP137 joined #perl6
16:25 IOninja <> is for text and allomorphs, {} is for any objects, including once made with an expression or from a variable
16:25 IOninja m: my %h{Numeric}; %h<42> = "yo"; dd  %h
16:25 camelia rakudo-moar 28a48e: OUTPUT: «Hash[Any,Numeric] %h = (my Any %{Numeric} = IntStr.new(42, "42") => "yo")␤»
16:28 Cabanossi joined #perl6
16:43 iH2O joined #perl6
16:44 araraloren m: my @args = 1, 2, 3; True ?? { print $_ for @args } !! (print "132");
16:44 camelia rakudo-moar 28a48e: ( no output )
16:44 araraloren m: my @args = 1, 2, 3; False ?? { print $_ for @args } !! (print "132");
16:44 camelia rakudo-moar 28a48e: OUTPUT: «132»
16:44 araraloren Seems like  have a bug .
16:45 iH2O sorry to hear that
16:46 araraloren :) Hm, it's good to found it, better than no ones knows until ..
16:47 naxieAlDle um, and the bug is?
16:47 naxieAlDle 6c: my @args = 1, 2, 3; True ?? { print $_ for @args } !! (print "132");
16:47 CIAvash m: my @args = 1, 2, 3; True ?? { print $_ for @args }() !! (print "132");
16:47 camelia rakudo-moar 28a48e: OUTPUT: «123»
16:47 committable6 naxieAlDle, ¦6c (16 commits): «»
16:47 naxieAlDle all: my @args = 1, 2, 3; True ?? { print $_ for @args } !! (print "132");
16:47 iH2O left #perl6
16:47 * IOninja sees no bug
16:47 naxieAlDle yea it returns a block, no issue there
16:47 committable6 naxieAlDle, ¦all (38 commits): «»
16:47 naxieAlDle and in fact, it never worked this way ↑
16:47 cibs joined #perl6
16:48 araraloren Oh, so it's my mistake..
16:49 naxieAlDle by the way, do we have any places where a block is automatically called?
16:49 naxieAlDle m: { say 42 }
16:49 camelia rakudo-moar 28a48e: OUTPUT: «42␤»
16:49 araraloren m: my @args = 1, 2, 3; False ?? { print $_ for @args } !! (print "132"); {print $_ for @args};
16:49 camelia rakudo-moar 28a48e: OUTPUT: «132123»
16:49 IOninja m: my &code = rand > ½ ⁇ {say "big"} ‼ {say "small"}; say "hi"; code
16:49 camelia rakudo-moar 28a48e: OUTPUT: «hi␤big␤»
16:49 andrzejku joined #perl6
16:49 araraloren m: my @args = 1, 2, 3; True ?? { print $_ for @args } !! (print "132"); {print $_ for @args};
16:49 camelia rakudo-moar 28a48e: OUTPUT: «123»
16:51 araraloren Does that have different between ` {print $_ for @args};` and **block** in `True ?? { print $_ for @args } !! (print "132");`
16:52 IOninja naxieAlDle: yeah, I think any place where the block is the whole statement or something and only a bare block
16:52 IOninja m: -> { say 42 }
16:52 camelia rakudo-moar 28a48e: ( no output )
16:52 araraloren m: my @args = 1, 2, 3; {print $_ for @args}
16:52 camelia rakudo-moar 28a48e: OUTPUT: «123»
16:52 mcmillhj joined #perl6
16:52 IOninja m: { $ = $^a; say 42 }
16:52 camelia rakudo-moar 28a48e: OUTPUT: «Too few positionals passed; expected 1 argument but got 0␤  in block <unit> at <tmp> line 1␤␤»
16:52 IOninja heh
16:53 araraloren I confused ..
16:54 araraloren m: my @args = 1, 2, 3; True ?? { print $_ for @args } !! (print "132"); {print $_ for @args; #`(no output)};
16:54 camelia rakudo-moar 28a48e: OUTPUT: «123»
16:54 araraloren m: my @args = 1, 2, 3; {print $_ for @args #`(output)};
16:54 camelia rakudo-moar 28a48e: OUTPUT: «123»
16:56 isBEKaml joined #perl6
16:57 araraloren Hm,  my mistake
16:57 araraloren m: my @args = 1, 2, 3; True ?? { print $_ for @args; #`(no output) } !! (print "132"); {print $_ for @args; #`(output)};
16:57 camelia rakudo-moar 28a48e: OUTPUT: «123»
16:57 IOninja You do realize that code doesn't tell you which statement ran? All three produce idential output.
16:58 naxieAlDle xD
16:58 * naxieAlDle had this kind of issue in whateverable tests
17:00 araraloren Anyway, It's a expect behavior ?
17:00 araraloren s/expect/expected/
17:01 IOninja Yes
17:03 gdonald joined #perl6
17:04 araraloren OK.. I just regard it as trap, use -> {}() replaced ..
17:04 araraloren m: my @args = 1, 2, 3; True ?? -> { print $_ for @args; #`(no output) }() !! (print "132"); -> {print $_ for @args; #`(output)}();
17:04 camelia rakudo-moar 28a48e: OUTPUT: «123123»
17:04 araraloren Ok that's right now ..
17:05 IOninja m: my @args = 1, 2, 3; print True ⁇ @args ‼ '132'
17:05 camelia rakudo-moar 28a48e: OUTPUT: «1 2 3»
17:05 IOninja m: my @args = 1, 2, 3; print True ⁇ |@args ‼ '132'
17:05 camelia rakudo-moar 28a48e: OUTPUT: «1 2 3»
17:05 naxieAlDle IOninja: hehe, you will like this
17:05 IOninja scew you then, robot.
17:05 naxieAlDle m: (0…∞)[^10].say; (0…∞).is-lazy.say
17:05 camelia rakudo-moar 28a48e: OUTPUT: «(0 1 2 3 4 5 6 7 8 9)␤True␤»
17:05 naxieAlDle m: (0…-∞)[^10].say; (0…-∞).is-lazy.say
17:06 camelia rakudo-moar 28a48e: OUTPUT: «(0 -1 -2 -3 -4 -5 -6 -7 -8 -9)␤False␤»
17:06 IOninja :)
17:07 naxieAlDle or more generally
17:07 naxieAlDle m: (∞ … -∞).is-lazy.say
17:07 camelia rakudo-moar 28a48e: OUTPUT: «False␤»
17:07 naxieAlDle m: (-∞ … ∞).is-lazy.say
17:07 camelia rakudo-moar 28a48e: OUTPUT: «True␤»
17:11 agentzh joined #perl6
17:11 IOninja naxieAlDle: then you gonna like this:
17:11 IOninja m: my @a = 1, 6 … 6; say @a[^10]
17:11 camelia rakudo-moar 28a48e: OUTPUT: «(1 6 (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any))␤»
17:11 IOninja m: my @a = 1, Inf … Inf; say @a[^10]
17:11 camelia rakudo-moar 28a48e: OUTPUT: «(1 Inf Inf Inf Inf Inf Inf Inf Inf Inf)␤»
17:12 naxieAlDle not that surprised actually
17:12 IOninja Really?
17:12 IOninja Looks like a clear bug to me
17:12 IOninja Possibly a short-curcuit for Inf RHS
17:14 naxieAlDle m: (∞…∞)[^10].say
17:14 camelia rakudo-moar 28a48e: OUTPUT: «(Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf)␤»
17:14 naxieAlDle m: (-∞…-∞)[^10].say
17:14 camelia rakudo-moar 28a48e: OUTPUT: «(-Inf Nil Nil Nil Nil Nil Nil Nil Nil Nil)␤»
17:14 naxieAlDle m: (NaN…NaN)[^10].say
17:14 camelia rakudo-moar 28a48e: OUTPUT: «(NaN Nil Nil Nil Nil Nil Nil Nil Nil Nil)␤»
17:15 naxieAlDle IOninja: it only thinks that it is .is-lazy if there's ∞ on the RHS. For some reason lazy==infinite, so it keeps going…
17:15 lizmat I guess it boils down to:
17:15 lizmat m: say Inf.succ cmp Inf
17:15 camelia rakudo-moar 28a48e: OUTPUT: «Same␤»
17:15 IOninja It's actually the same with Ranges too:
17:15 lizmat m: say 6.succ cmp 6
17:15 camelia rakudo-moar 28a48e: OUTPUT: «More␤»
17:16 IOninja m: my @a = Inf .. Inf; say @a[^3]
17:16 camelia rakudo-moar 28a48e: OUTPUT: «(Inf Inf Inf)␤»
17:16 IOninja m: my @a = 5 .. 5; say @a[^3]
17:16 camelia rakudo-moar 28a48e: OUTPUT: «(5 (Any) (Any))␤»
17:16 naxieAlDle m: say (-Inf).succ cmp Inf
17:16 camelia rakudo-moar 28a48e: OUTPUT: «Less␤»
17:16 naxieAlDle m: say (-Inf).succ cmp -Inf
17:16 camelia rakudo-moar 28a48e: OUTPUT: «Same␤»
17:16 naxieAlDle lizmat: nope
17:17 IOninja lizmat: so it stops generating only when the .succ is ABOVE the Inf?
17:17 IOninja I thought it smartmatched and stopped whne smartmatch is true
17:17 naxieAlDle IOninja: no, because it keeps going with -∞…-∞
17:17 lizmat I guess that could be considered the bug ?
17:17 lizmat afk again&
17:17 IOninja naxieAlDle: no to what?
17:17 naxieAlDle oops, it stops with -∞…-∞
17:18 naxieAlDle IOninja: no, that's not the condition for it to stop
17:18 IOninja ...
17:18 IOninja there are multiple possible "that"s
17:18 naxieAlDle ok, look
17:19 naxieAlDle m: say (Inf).succ cmp Inf
17:19 camelia rakudo-moar 28a48e: OUTPUT: «Same␤»
17:19 naxieAlDle m: say (-Inf).succ cmp -Inf
17:19 camelia rakudo-moar 28a48e: OUTPUT: «Same␤»
17:19 naxieAlDle m: (∞…∞)[^10].say
17:19 camelia rakudo-moar 28a48e: OUTPUT: «(Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf)␤»
17:19 naxieAlDle m: (-∞…-∞)[^10].say
17:19 camelia rakudo-moar 28a48e: OUTPUT: «(-Inf Nil Nil Nil Nil Nil Nil Nil Nil Nil)␤»
17:19 IOninja What am I supposed to be looking at?
17:21 naxieAlDle IOninja: -∞.succ is not above -∞, but it stops anyway
17:22 naxieAlDle the only difference I see is that one is .is-lazy, and the other one is not
17:23 IOninja naxieAlDle: so then YES to the condition for it to stop, because I said it smartmatched.
17:24 jnthn It's sequences that use smartmatch, I thought, not ranges?
17:24 jnthn Thought ranges uses cmp
17:24 IOninja jnthn: we were talking about sequence
17:24 jnthn Oh, you are looking at sequences :P
17:24 IOninja Or at least I were.
17:25 jnthn Yeah, I mis-counted the dots in the fancy pants Unicode operator :P
17:25 eroux joined #perl6
17:25 naxieAlDle IOninja: maybe. Smartmatching what to what exactly?
17:25 jnthn Yeah, then I'm not sure what's going on :)
17:26 IOninja I know.
17:26 IOninja IOninja │ Possibly a short-curcuit for Inf RHS
17:26 naxieAlDle let's see the source code…
17:26 IOninja Here's the one for Range's bug https://github.com/rakudo/rakudo/bl​ob/nom/src/core/Range.pm#L120-L130
17:28 gdonald joined #perl6
17:29 naxieAlDle well, the sequence thingy is over here, I think… https://github.com/rakudo/rakudo/bl​ob/f9294c3837ff9816e26f5f64d646d798​19b5f192/src/core/operators.pm#L120
17:30 IOninja And here's the one for sequences: https://github.com/rakudo/rakudo/blob/f​190f24/src/core/operators.pm#L120-L121
17:30 naxieAlDle yea
17:31 naxieAlDle so sequences are only .is-lazy if the endpoint is ∞
17:31 naxieAlDle OK
17:31 naxieAlDle I mean, it's stupid, but I can write that down…
17:31 IOninja or *
17:31 naxieAlDle rigth
17:31 naxieAlDle ht
17:33 andrzejku joined #perl6
17:33 khw joined #perl6
17:37 fir3starter joined #perl6
17:39 mcmillhj joined #perl6
17:49 naxieAlDle IOninja: https://github.com/rakudo/rakudo/wiki/is-lazy
17:50 mcmillhj joined #perl6
17:59 BenGoldberg m: use nqp; say nqp::istype( *>3, Whatever );
17:59 camelia rakudo-moar d444f6: OUTPUT: «WARNINGS for <tmp>:␤Useless use of ">" in expression "*>3" in sink context (line 1)␤0␤»
17:59 BenGoldberg m: use nqp; say nqp::istype( (*>3), Whatever );
17:59 camelia rakudo-moar d444f6: OUTPUT: «WARNINGS for <tmp>:␤Useless use of ">" in expression "*>3" in sink context (line 1)␤0␤»
17:59 BenGoldberg m: my $e = (*>3); use nqp; say nqp::istype( $e, Whatever );
17:59 camelia rakudo-moar d444f6: OUTPUT: «0␤»
18:00 BenGoldberg m: my $e = (*>3); dd $e; use nqp; say nqp::istype( $e, Whatever );
18:00 camelia rakudo-moar d444f6: OUTPUT: «WhateverCode $e = { ... }␤0␤»
18:01 mcmillhj joined #perl6
18:02 BenGoldberg m: say * === *
18:02 camelia rakudo-moar d444f6: OUTPUT: «{ ... }␤»
18:02 BenGoldberg m: my $a = *; my $b = *; say $a === $b;
18:02 camelia rakudo-moar d444f6: OUTPUT: «True␤»
18:02 gk- joined #perl6
18:02 agentzh joined #perl6
18:02 gk- left #perl6
18:03 SmokeMachine jnthn: hi! I was reading your Test::Mock's readme, and you talk about dependency injector... is there any dependency injector that you use in perl6?
18:03 ugexe im trying to think of a way to not do dependency injection in perl6
18:04 SmokeMachine ugexe: sorry, I didn't get it... what do you mean?
18:04 TimToady how 'bout not modifying a closed lexical scope? :)
18:04 jnthn SmokeMachine: No, I've never felt need to reach for some kind of framework to do that for any of the projects I've written in Perl 6.
18:05 SmokeMachine jnthn: I'm asking because I'm writing a dependency injector...
18:05 ugexe SmokeMachine: i mean Perl6 gives you lots of different, easy, ways to accomplish dependency injection and inversion that i'm curious what your problem is
18:05 jnthn SmokeMachine: I've used such things a bunch in the C# world in the past. I had somewhat mixd feelings about them. :)
18:05 jnthn *mixed
18:06 ugexe if you're reading an old java design pattern book or something it might seem confusing
18:07 SmokeMachine ugexe: I'm just studying... I thought that would be a good exercise to write a dependency injector... and I think it's getting beautiful...
18:08 ugexe dependency inversion, not injection, is also what I usually want
18:08 SmokeMachine I'm not sure if it's useful... but I'm liking how it's being written...
18:09 jnthn The danger is that we do dependency inversion to decouple things, but using a dependency injection framework then end up coupling to a DI framework in return.
18:10 jnthn And while in theory a good DI framework ends up coupled very loosely to the code (like, mentioned in hardly any places)...my expereince was any team that had one would then go and use all the bells and whistles of the darn DI framework to solve all kinds of problems that, frankly, woulda been easier if they'd just written some darn code.
18:10 SmokeMachine ugexe and jnthn: would you mind to take a look at the Injector? https://github.com/FCO/Injector
18:10 jnthn And of course, no two frameworks had the same bells and whistles so you were coupled anyway. D'oh.
18:11 ugexe I looked at the example code you wrote with that module and I couldnt grok what was oging on
18:11 jnthn class C2 { has Int $.a is injected
18:11 jnthn That "is inejected" is an example of coupling
18:11 SmokeMachine jnthn: yes, it is...
18:12 SmokeMachine ugexe: what didn't you understand?
18:12 mcmillhj joined #perl6
18:12 ugexe grok means i looked at it and couldnt understand any of it intuitively
18:13 jnthn I tended to prefer things that just did constructor introspection, and made instances to pass in
18:13 jnthn Thing is, in Perl 6 it's dead easy to say
18:13 SmokeMachine ugexe: ok... sorry about my terrible English...
18:13 jnthn has Some::Dependency $.dep .= new;
18:13 jnthn And then for tests you can pass in a mock
18:13 Cabanossi joined #perl6
18:14 jnthn And for production you just end up with the default thing
18:14 ugexe thats what zef does^
18:14 jnthn And for cases where there's no sensible default thing, production has to pick anyway
18:14 SmokeMachine jnthn: it's not so easy if Some::Dependency is a role...
18:15 ugexe Some::Depenendency should be an interface role defining what is required
18:15 SmokeMachine This is another example: https://github.com/FCO/Inj​ector/tree/master/examples
18:15 SmokeMachine Using a role
18:15 jnthn "should" is a little strong, but yeah, it gives more flexibility...
18:16 jnthn Oops, I was meant to cook dinner here :)
18:16 * jnthn bbiab :)
18:16 SmokeMachine bon apetit! Thanks
18:18 SmokeMachine If Some::Dependency is a role, probably it will be easier to use it with the Injector than without it...
18:21 SmokeMachine ugexe: don't you think?
18:22 fir3starter i'm trying to build rakudo star on windows but get "unknown OS 'msys'". anyone knows how to solve this?
18:23 mcmillhj joined #perl6
18:24 ugexe m: role IFace { method work { ... } }; class MyImpl1 does IFace { method work { 1 } }; class MyImpl2 does IFace { method work { 2 } }; my IFace $impl1 = MyImpl1.new; my IFace $impl2 = MyImpl2.new;
18:24 camelia rakudo-moar d444f6: ( no output )
18:24 ugexe in this case "IFace" is your Some::Dependency
18:25 ugexe the actual dependency is MyImpl1 and MyImpl2 though (Some::Dependency is a bad name for this example)
18:37 SmokeMachine jnthn: now thinking again, is injected isn't coupling... because if you leave the C2 class as it is, you don't need the injector to instantiate it... you can just C2.new: :42a
18:37 gk-- joined #perl6
18:40 SmokeMachine ugexe: my IFace $impl is injected; would work too...
18:41 gdonald joined #perl6
18:50 ugexe why use 'is injected' and some strange injection syntax that is doing regular constructor injection?
18:52 ugexe a huge caveat to dependency injection is that is so difficult to follow, even for established DI patterns
18:55 ugexe the wikipedia article on dependency injection is a good place to start reading on DI. But you'd probably also want to read about similar patterns (strategy pattern) and dependency inversion
18:56 ugexe that should help you refine your idea
18:56 ChoHag joined #perl6
18:59 mcmillhj joined #perl6
19:04 TEttinger joined #perl6
19:06 bjz joined #perl6
19:08 SmokeMachine ugexe: the best motivation of doing that with injector is because with it you can change the injected class how many levels intern you want...
19:08 SmokeMachine ugexe: thanks
19:12 mcmillhj joined #perl6
19:29 BenGoldberg joined #perl6
19:38 mcmillhj joined #perl6
19:39 fir3starter joined #perl6
19:44 Cabanossi joined #perl6
19:53 moritz \o
19:53 moritz any objections to deleting https://github.com/perl6/g​lr-test-failures-annotated ?
19:59 mcmillhj joined #perl6
20:01 * moritz simply does it
20:01 moritz last activity two years ago, and it's about the long-merged GLR branch of rakudo
20:08 Ven joined #perl6
20:10 mcmillhj joined #perl6
20:12 Woodi_ hallo #perl6 :)
20:14 moritz \o
20:15 * moritz has his next perl 6 blog post scheduled for tomorrow
20:15 moritz afterwards there might be about 3 weeks pause, because i'll be on vaction, with unknown Internet connectivity (and other things on my mind)
20:17 Woodi_ SmokeMachine: I just know some theory and you already wrote DI framework :)  but something to note: injection injects instantiated object of some class and client just use it. but other patterns are usefull too but are more about *creating* objects: simple Factory Method, Abstract Factory, Bridge, Registry and Plugin - as much "framework" as someone wants
20:17 Woodi_ also few days ago somehow I wanted to mention here about Factories and now I could ! ;)
20:19 Woodi_ and I realy like Abstract Factory and Bridge :)
20:20 Woodi_ moritz: so it is scheduled or stil WIP ? :)
20:21 moritz Woodi_: scheduled
20:22 Woodi_ you could just post it. maybe... :)
20:26 moritz Woodi_: I could. But I've kept a weekly post cadence since November at least, and I like the regularity
20:30 lukaramu joined #perl6
20:39 mcmillhj joined #perl6
20:43 ecocode joined #perl6
20:47 andrzejku joined #perl6
20:54 dct joined #perl6
20:54 jeffythedragonsl joined #perl6
20:54 jeffythedragonsl hey
20:54 yoleaux 4 Mar 2017 11:00Z <IOninja> jeffythedragonsl: RE how hard is it to get a grant: the process involves community feedback and committee voting, with two major questions: (1) is the work needs doing; and (2) can this person do it well. They don't charge you for applying, so you can always try, but IMO your chances of succeeding dramatically increase if you can point at a pile of commits you've already contributed, to show what your
20:54 yoleaux 4 Mar 2017 11:01Z <IOninja> jeffythedragonsl: work looks like.
21:01 bpmedley joined #perl6
21:07 Ven joined #perl6
21:09 Ven joined #perl6
21:11 emdashcomma joined #perl6
21:25 RabidGravy boom!
21:35 moritz bang!
21:37 dct joined #perl6
21:38 DrForr o/' Onomatopoeia / Wouldn't wanna be ya o/'
21:39 mcmillhj joined #perl6
21:44 bjz joined #perl6
21:50 mcmillhj joined #perl6
21:57 mcmillhj joined #perl6
22:03 kyan joined #perl6
22:16 emdashcomma joined #perl6
22:17 DarthGandalf joined #perl6
22:20 mcmillhj joined #perl6
22:32 ugexe I wonder if parallel installation can be brought back if install/precomp used more fine grained file locks (per distribution instead of per CUR)
22:33 perlawhirl joined #perl6
22:38 mcmillhj joined #perl6
22:40 dct joined #perl6
22:41 grumble joined #perl6
22:45 Voldenet joined #perl6
22:45 Voldenet joined #perl6
22:54 agentzh joined #perl6
23:13 Cabanossi joined #perl6
23:19 mcmillhj joined #perl6
23:28 mcmillhj joined #perl6
23:37 bjz joined #perl6
23:43 Cabanossi joined #perl6
23:50 mcmillhj joined #perl6

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

Perl 6 | Reference Documentation | Rakudo