Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-03-06

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:18 mscha joined #perl6
00:20 mscha m: my $a = 3; say (^$a+2).join(','); say (0..^$a+2).join(','); # Why inconsistent?
00:20 camelia rakudo-moar 9019a5: OUTPUT: «2,3,4␤0,1,2,3,4␤»
00:20 timotimo operator precedence
00:20 timotimo prefix operators bind very tightly
00:21 timotimo that's why -5 + 3 isn't -8, it's -2
00:21 mscha So ^$a is implemented as a different operator than 0..^$a?  I thought it was just syntactic sugar.
00:22 timotimo it is syntactic sugar, but ..^ is an infix operator and ^ is a prefix operator
00:22 agentzh joined #perl6
00:22 mscha OK.  Still confusing, though.
00:23 timotimo i think it's all-right, but that's personal preference i guess
00:25 labster joined #perl6
00:26 MasterDuke timotimo: would you say there are three parts to the expression ('0', '..^', '$a'), not four ('0', '..', '^', '$a')?
00:27 timotimo it's three parts to me
00:27 timotimo maybe that's what's goin gon
00:27 _28_ria joined #perl6
00:28 MasterDuke i.e., it's infix '..^', not infix '..' + prefix '^'
00:30 timotimo correct
00:35 Geth ¦ ecosystem: 32579e46cd | (Tom Browder)++ | META.list
00:35 Geth ¦ ecosystem: add Text::More to ecosystem
00:35 Geth ¦ ecosystem: review: https://github.com/perl6/e​cosystem/commit/32579e46cd
00:54 spebern could someone tell me why this example only works when I uncomment the "ws" token? https://paste.ofcode.org/UBaiQ9q62ekUM5ykYZxG7U
00:55 timotimo did you try Grammar::Debugger (its tracer part, especially) with it yet?
00:55 spebern yes
00:56 timotimo WS is not being used?
00:56 spebern no, I built a tool to translate ANTLR grammars to perl6
00:56 timotimo OK
00:57 timotimo i'm too sick to think straight :(
00:58 spebern there was already a module which translated the grammars but it seems like it broke after glr
00:58 timotimo oh damn
00:58 spebern just couldn't fix it -.-
00:59 timotimo one thing that changed at some point is that captures with a ? used to always give you lists, but now they give either the match or a Nil
00:59 spebern yes
00:59 timotimo is the test coverage of that translator tool good?
00:59 spebern https://github.com/spebern/ANTLRv4-Translator
00:59 timotimo ah, that's yours
00:59 spebern I translated csv and json so far
01:00 spebern I try to add as much tests as possible, but I'm stuck with the json one right now
01:00 timotimo i see you've contributed code to the existing ANTLR4 module
01:00 spebern I used some
01:01 spebern I was jumping from one bug to the next
01:01 spebern until I thought that starting again might be easier
01:01 timotimo hopefully no rakudobugs :)
01:02 spebern first time to use grammars so I bet there can be much improvement
01:02 timotimo there's potential :)
01:02 timotimo okay, i'm signing off
01:02 aborazmeh joined #perl6
01:02 aborazmeh joined #perl6
01:02 spebern get well soon, bb
01:02 timotimo most people here live in european timezones
01:02 timotimo see you soon :)
01:02 spebern me2
01:04 Actualeyes joined #perl6
01:16 astj joined #perl6
01:39 BenGoldberg joined #perl6
01:56 BenGoldberg m: say 3 ..^ ^5
01:56 camelia rakudo-moar 9019a5: OUTPUT: «Range objects are not valid endpoints for Ranges␤  in block <unit> at <tmp> line 1␤␤»
01:58 TimToady m: say 3 «..^« ^5
01:58 camelia rakudo-moar 9019a5: OUTPUT: «(3..^0 3..^1 3..^2 3..^3 3..^4)␤»
01:58 TimToady m: say 3 X.. ^5
01:58 camelia rakudo-moar 9019a5: OUTPUT: «(3..0 3..1 3..2 3..3 3..4)␤»
01:59 TimToady m: say 3 ..^ +(^5)
01:59 camelia rakudo-moar 9019a5: OUTPUT: «3..^5␤»
02:00 holyghost joined #perl6
02:16 ZzZombo joined #perl6
02:16 ZzZombo joined #perl6
02:21 naxieAlDle m: say 3 ..^ (^5).end
02:21 camelia rakudo-moar 9019a5: OUTPUT: «3..^4␤»
02:22 naxieAlDle m: say ^5 × ⅗
02:22 camelia rakudo-moar 9019a5: OUTPUT: «0.0..^3.0␤»
02:23 naxieAlDle m: say ^5 × 3 ÷ 5
02:23 camelia rakudo-moar 9019a5: OUTPUT: «0.0..^3.0␤»
02:27 agentzh joined #perl6
02:46 Geth ¦ whateverable: 98d81bb6ad | (Aleks-Daniel Jakimenko-Aleksejev)++ | 6 files
02:46 Geth ¦ whateverable: Make sure everything has a “Did you mean …?” message
02:46 Geth ¦ whateverable:
02:46 Geth ¦ whateverable: Resolves issue #73 (with tests)
02:46 Geth ¦ whateverable:
02:46 Geth ¦ whateverable: This commit also changes the output of Benchable (see issue #101). The
02:46 Geth ¦ whateverable: output is a little bit odd now, but at least consistent with other
02:46 Geth ¦ whateverable: bots.
02:46 Geth ¦ whateverable: review: https://github.com/perl6/wha​teverable/commit/98d81bb6ad
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:48 cibs joined #perl6
03:11 Geth ¦ whateverable: b43abf25e8 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 10 files
03:11 Geth ¦ whateverable: More unicode love
03:11 Geth ¦ whateverable: review: https://github.com/perl6/wha​teverable/commit/b43abf25e8
03:11 kanishka joined #perl6
03:14 bisectable6 joined #perl6
03:14 unicodable6 joined #perl6
03:14 committable6 joined #perl6
03:14 evalable6 joined #perl6
03:14 benchable6 joined #perl6
03:14 statisfiable6 joined #perl6
03:15 SmokeMachine Did anyone make a vim maps to change Texas ops by Unicode version while writing?
03:15 noganex_ joined #perl6
03:18 * naxieAlDle wonders if that's a good idea at all
03:19 [particle] joined #perl6
03:19 naxieAlDle most likely it is more convenient to set up your compose key. Gives you system-wide way to enter unicode characters without any pain at all
03:20 ZzZombo_ joined #perl6
03:21 ZzZombo_ joined #perl6
03:24 MasterDuke DrForr said he was going to start working on a Perl6::Tidy soon. hopefully texas <-> unicode would be an option
03:27 cdg joined #perl6
03:29 labster joined #perl6
03:30 SmokeMachine naxieAlDle: I think that the best way would be using the Texas ops as entry... maybe something like <cmd + u>(|) transform to ∪
03:31 SmokeMachine MasterDuke: that will be great!
03:33 naxieAlDle SmokeMachine: compose key
03:34 naxieAlDle that's exactly what it does
03:34 SmokeMachine naxieAlDle: yes... I'm searching to know how to do that! (That would be great for my phone too...)
03:36 naxieAlDle by the way, we have some tips here: https://docs.perl6.org/lang​uage/unicode_entry#XCompose
03:38 xtreak joined #perl6
04:14 wamba joined #perl6
04:15 naxieAlDle huggable: wget
04:15 huggable naxieAlDle, nothing found
04:15 naxieAlDle huggable: curl
04:15 huggable naxieAlDle, nothing found
04:54 Cabanoss- joined #perl6
05:18 CIAvash joined #perl6
05:23 LeCamarade joined #perl6
05:25 masak morning, #perl6
05:25 mcmillhj joined #perl6
05:30 zengargoyle last i checked i couldn't make XCompose work seamlessly with ibus input method.  drove me mad.
05:33 zengargoyle ibus hijacks XCompose and doesn't honor ~/.XCompose (or /usr/share/X11/locale/???/Compose) and instead uses its own lame table.
05:34 zengargoyle so you have to choose between using XCompose w/o ibus or using ibus to get other input methods (RFC1354, unicode, anthy, etc.)
05:34 * zengargoyle graaaaarrr
05:38 zengargoyle still i found other more common XCompose mappings for the unicode characters that p6 uses to be a bit better than making a compose+texas type of mapping.
05:46 zengargoyle ditching ibus is probably fine if you don't tend to use exotic input methods like anthy to type japanese/chinese/etc.  XCompose does fine for a few sets of special characters but not for going from say romanji to 日本語
05:57 cibs joined #perl6
06:00 * zengargoyle offers a thinly veiled plea for somebody to write an ibus compose plugin that supports old-school XCompose
06:17 samcv i use ibus with a compose file
06:17 samcv but i don't use any fancy input methods though
06:41 Actualeyes joined #perl6
06:42 masak I'm not sure I like the dictum "explicit is better than implicit" all that much
06:43 masak I'm guessing Python went with it because Perl does a lot of funky things with $_, which can sometimes be elided -- and other similar DWIMmy stuff
06:43 masak but the more I think about it, the less sure I am that as a rule explicit *is* better than implicit
06:44 masak seems more like you'd pick or create an abstraction level, and you definitely shouldn't be explicit about *everything*, because that'd be really annoying
06:44 masak instead, you single out the things you care about, and make those explicit
06:45 masak the power of the abstraction rests just as much in making the relevant things explicit as in making the irrelevant things implicit
06:52 RabidGravy joined #perl6
06:52 xtreak_ joined #perl6
06:55 domidumont joined #perl6
07:12 wamba joined #perl6
07:20 agentzh joined #perl6
07:20 pmurias joined #perl6
07:23 pmurias masak: isn't "explicit vs implicit" a trade-off? having things more explicit seems a good thing but you pay for it with verbosity and clutter
07:25 moritz I'm kinda with masak there. The most implicit program is just a call to dwim(); the most explicit is machine code
07:25 moritz neither is very useful for the programmer
07:26 eroux joined #perl6
07:26 moritz also note how python says explicit is better, but foregoes explicit type annotations completely
07:26 moritz (except as optional, non-enforced annotations in 3.6)
07:27 jast non-enforced annotations? that seems kind of useless...
07:27 moritz we had that in Perl 6 before Pugs implemented type checking
07:28 moritz turns out a significant percentage (maybe 20?) of type annotations were actually wrong
07:28 moritz the python folks talk about them as hints for static analyzers, but I'm not sold that it's a good idea to have types and not enforce them
07:33 Khisanth joined #perl6
07:33 jast yeah... if the annotations are wrong, your static analyzers will give results that are essentially irrelevant to what actually happens
07:36 darutoko joined #perl6
07:46 ggoebel joined #perl6
07:49 Todd joined #perl6
07:50 Todd Hi All,  What is wrong with my syntax here.
07:50 yoleaux 4 Mar 2017 10:53Z <IOninja> Todd: what sort of perl5 you got installed? ExtUtils::Embed was part of it since 5.003007, so it's very strange it can't find it. FWIW, I never had problems with perlbrewed one `\curl -L https://install.perlbrew.pl | bash; echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.bashrc; perlbrew install perl-stable -Duseshrplib -Dusemultiplicity; perlbrew switch perl-stable; perlbrew install-cpanm`
07:50 yoleaux 4 Mar 2017 17:51Z <b2gills> Todd: the latest version of Perl 5 has subroutine signatures similar to that of Perl 6
07:50 Todd I am using https://docs.perl6.org/syntax/qx.html
07:50 Todd sub WritePrimaryClipboard ( $Str )    { qxx{ echo "$Str" | xclip -selection primary -o }; } # mouse over
07:50 Todd Undeclared routines:     clipboard used at line 54     echo used at lines 51, 54     o used at lines 51, 54     primary used at line 51
07:50 ZzZombo joined #perl6
07:51 Todd why does it ting all my bash commands are perl6 routines?
07:51 Guest45281 joined #perl6
07:53 Todd think not ting
08:01 Todd { qx{ echo "$Str" | xclip -selection primary -o }; }
08:01 dct joined #perl6
08:01 Todd worked
08:01 Todd when do I use qqx and qx?
08:03 llfourn joined #perl6
08:06 abraxxa joined #perl6
08:07 ZzZombo_ joined #perl6
08:07 ZzZombo_ joined #perl6
08:09 mcmillhj joined #perl6
08:10 ZzZombo_ joined #perl6
08:13 abraxxa joined #perl6
08:14 rindolf joined #perl6
08:14 g0d355__ joined #perl6
08:21 faraco joined #perl6
08:24 koki1 joined #perl6
08:24 llfourn joined #perl6
08:25 moritz qqx when you want a string to interpolate
08:27 bjz joined #perl6
08:28 rindolf joined #perl6
08:44 cibs joined #perl6
08:47 dakkar joined #perl6
08:50 DrForr .tell MasterDuke I wasn't planning to do anything that transforms text, but given the Texas <-> Mexico transformation that could be useful.
08:50 yoleaux DrForr: I'll pass your message to MasterDuke.
08:51 xfix joined #perl6
09:03 mcmillhj joined #perl6
09:04 jonas1 joined #perl6
09:07 domidumont joined #perl6
09:09 mcmillhj joined #perl6
09:14 sivoais joined #perl6
09:14 domidumont joined #perl6
09:20 xtreak joined #perl6
09:25 timotimo huh. with a Proc that only has :in, how do i wait for it to terminate?
09:26 cibs joined #perl6
09:26 moritz you have to .close its in
09:26 moritz and then do a normal await
09:27 timotimo oh, it's awaitable
09:27 timotimo er, no.
09:27 timotimo Must specify a Promise, Channel, or Supply to await on (got a Proc)
09:27 wamba joined #perl6
09:27 timotimo i mean i can NativeCall into waitpid for its .exitcode
09:32 Actualeyes joined #perl6
09:35 llfourn joined #perl6
09:37 moritz timotimo: looks like a hole in the API
09:37 timotimo yup
09:37 timotimo wanna RT it? i gotta make some phone calls and find a doctor's appointment
09:39 sammers hi #perl6
09:39 moritz timotimo: it looks like .close waits for the Proc
09:40 moritz https://github.com/rakudo/rakudo​/blob/nom/src/core/IO/Pipe.pm#L5
09:40 moritz hi sammers
09:40 sammers hi moritz
09:41 sammers is there a way to return a hash of "our $foo" variables defined in a module?
09:41 sammers I can return the values like this...
09:42 sammers m: unit module B { our $var = 42; our $bar = 84 }; say B::{*};
09:42 camelia rakudo-moar b1444c: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Cannot use 'unit' with block form of module declaration␤at <tmp>:1␤------> 3unit module B7⏏5 { our $var = 42; our $bar = 84 }; say B␤    expecting any of:␤        generic role␤»
09:42 sammers oops
09:43 timotimo moritz: huh. i don't think that makes a lot of sense?
09:43 sammers m: module B { our $var = 42; our $bar = 84 }; say B::{*};
09:43 camelia rakudo-moar b1444c: OUTPUT: «(42 84)␤»
09:48 Geth ¦ doc: bfddbcd5d6 | (Naoum Hankache)++ | doc/Language/pod.pod6
09:48 Geth ¦ doc: Add Pod tutorial
09:48 Geth ¦ doc: review: https://github.com/perl6/doc/commit/bfddbcd5d6
09:48 Geth ¦ doc: 4ee2630a90 | (Naoum Hankache)++ | doc/Language/pod.pod6
09:48 Geth ¦ doc: Merge pull request #1232 from hankache/master
09:48 Geth ¦ doc:
09:48 Geth ¦ doc: Add Pod tutorial
09:49 Geth ¦ doc: review: https://github.com/perl6/doc/commit/4ee2630a90
09:49 nadim joined #perl6
09:52 moritz timotimo: right, because it might not be the last pipe
09:53 moritz and it doesn't really wait, it just sets the status
09:53 espadrine joined #perl6
09:55 jnthn The more confused discussions about Proc with :out and :err I see here, the more I wonder if we should deprecate it in favor of Proc::Async, which at least has a less confusing API...
09:55 jnthn At the very least, we should probably suggest people use that instead.
09:56 lukaramu joined #perl6
10:01 kaare_ joined #perl6
10:02 moritz jnthn: is there a sensible way to wait for a Proc to finish if it has pipes open?
10:03 moritz jnthn: there's confusion around Proc, but some of it might be due to the API not covering all edge cases
10:03 jnthn So far as I understand it, the idea is that .close blocks until process exit
10:04 moritz jnthn: but what if you have multiple pipes open?
10:04 jnthn I don't know
10:04 jnthn And that's why I lean to deprecate rather than repair
10:04 jnthn I don't actually think this is a fixable API
10:04 moritz :(
10:05 jnthn It confuses *everyone* :(
10:05 moritz for the cases where it worked, I really liked it
10:05 jnthn I mean, I'm happy to hear options and stuff
10:05 moritz Proc::Async requires much more hand-holding for the simple cases
10:06 jnthn The simple cases are shell and run where you only care about the exit code
10:06 moritz make .close on the handles only close the handles, and make the Proc itself awaitable, or give it a method that returns a Promise or so
10:07 jnthn Well, Proc was meant to be synchronous, so I'm not sure if Promise makes a lot of sense
10:07 jnthn I guess we could give it a .wait method
10:07 jnthn And you have to make sure you read from and closed the handles *before* you call that
10:07 jnthn That would be more sensible
10:08 jnthn But I'm not quite sure there's an obvious migration path. :S
10:08 moritz well, you have to close the .in handle
10:08 moritz maybe use v6.d gives you the new behavior?
10:09 jnthn Wouldn't it be important to read from the .out and .err handles to completion also? Otherwise the process could block on a write and never exit.
10:09 jnthn (Provided you declared that you wanted them, of course.)
10:10 timotimo the case i had was about letting the parent process inherit stdout
10:10 timotimo if you don't pass :out, there's currently no way to wait for the process to terminate by itself short of NativeCall + waitpid
10:10 jnthn I guess for the multiple pipes case we could make sure - if it isn't already the case - that the *second* one blocks and gets you the exit code.
10:11 jnthn timotimo: If you don't pass :out isn't the .run of the process entirely synchronous?
10:11 timotimo i do pass :in, though
10:11 jnthn Oh :S
10:11 timotimo :)
10:11 jnthn This API really wasn't thought out so well. :(
10:11 timotimo in other words: "aaw nuts!"
10:14 jnthn But yeah, I'd say for any multi-pipe cases, suggest Proc::Async.
10:16 ZzZombo joined #perl6
10:16 ZzZombo joined #perl6
10:24 xtreak joined #perl6
10:25 moritz with a synchronous API, you always have risk of races
10:25 moritz consider running an application that produces output at a fast rate
10:26 moritz so you drain its .out
10:26 moritz and then you call .close, and during that time, it already filled its output buffer again
10:26 moritz so now it blocks writing to its STDOUT
10:27 moritz or does the blocking stop when you closed the pipe?
10:27 * moritz doesn't know enough UNIX
10:27 timotimo hm
10:28 timotimo but with .slurp-rest(:close) we're waiting for it to signal completion before we close
10:28 jnthn I think if you close the pipe then either it'll get a write error or a SIGPIPE
10:28 moritz timotimo: but what if it writes to both OUT and ERR?
10:28 timotimo ah, right
10:28 moritz timotimo: then you're draining OUT, for example
10:29 moritz and it tries to write to ERR, fills the buffer, blocks
10:29 timotimo right, of course
10:29 timotimo yeah, an async version there would be preferable
10:30 Gk-1wm-su joined #perl6
10:36 Geth ¦ ecosystem: 2aed1df39f | (Tom Browder)++ | META.list
10:36 Geth ¦ ecosystem: update version of Text::More
10:36 Geth ¦ ecosystem: review: https://github.com/perl6/e​cosystem/commit/2aed1df39f
10:43 vike joined #perl6
10:46 grondilu_ left #perl6
10:52 Celelibi joined #perl6
10:53 wamba joined #perl6
10:57 IOninja Todd, but the code you pasted has `qxx` not `qqx`
10:57 IOninja m: qxx|echo "hi"|
10:57 camelia rakudo-moar b1444c: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3qxx|echo "hi"|7⏏5<EOL>␤    expecting any of:␤        prefix␤        term␤»
10:58 IOninja m: qxx{echo "hi"}
10:58 camelia rakudo-moar b1444c: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routines:␤    echo used at line 1␤    qxx used at line 1. Did you mean 'QX'?␤␤»
10:58 IOninja m: qxx{"hi"}
10:58 camelia rakudo-moar b1444c: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    qxx used at line 1. Did you mean 'QX'?␤␤»
10:59 IOninja .oO( we have QX? )
10:59 IOninja m: QX{"hi"}
10:59 camelia rakudo-moar b1444c: OUTPUT: «qx, qqx is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in sub QX at src/RESTRICTED.setting line 11␤  in block <unit> at <tmp> line 1␤␤»
11:00 IOninja Bahaha
11:00 xtreak joined #perl6
11:01 IOninja AlexDaniel: my Twitter notifications are now chuck full of haters and winers 'cause you added ≤ ≥ ≠
11:01 timotimo wow, people noticed that?
11:02 DrForr Party *on*! We're onto the next stage now!
11:03 timotimo what was it .. there's languages everybody complains about and languages that nobody uses?
11:04 IOninja "Good to know you've got your priorities straight.": https://twitter.com/GPHemsle​y/status/838583291309658112
11:04 IOninja "Perl: "hey everyone, we're still relevant! here's a stupid fucking idea! witness me": https://twitter.com/syn/status/838556934299058176
11:04 IOninja "@zoffix Those who do not learn the lessons of APL are doomed to the obscurity of APL.": https://twitter.com/kittylys​t/status/838542323193638913
11:05 kyan joined #perl6
11:05 timotimo dude, imagine, if we had spent the fifty paid full-time hours needed to build these operators on Butterfly on Rails instead ... just imagine!
11:06 IOninja lol yeah :)
11:06 IOninja "@fugueish @zoffix Please tell me it's just a joke involving a font with ligatures.": https://twitter.com/RReverse​r/status/838542276653682695
11:06 mcmillhj joined #perl6
11:06 IOninja "sure that's mad altogether": https://twitter.com/Shawa_a​/status/838672611898966016
11:07 IOninja Well, as someone wise once said. If you don't have haters, you're doing it wrong :)
11:07 IOninja And to end it on a good note:
11:07 IOninja "i've always seen perl as a language of cruft and duct tape but even i have to admit this is pretty fucking dope": https://twitter.com/elisohl​/status/838566583706378241
11:09 DrForr ASCII4LYF, I'm guessing.
11:10 Celelibi joined #perl6
11:11 DrForr Alternatively "Hey, I'v got nothing worthwhile to say so I'm just going to laugh at you and enjoy the adulation from my homies."
11:11 jnthn Even before theset we must already have had a couple of dozen operators which have both ASCII and non-ASCII forms (set and bag ops, composition op, heck even multiplication).
11:11 jnthn *these
11:12 IOninja jnthn: exactly what I was thinking. ≤,  ≥, ≠ are hardly the most outrageous use of Unicode we have :D
11:12 DrForr While I'm thinking of it, does zef have an update option?
11:12 DrForr Eeh, I'll just install.
11:12 wamba joined #perl6
11:12 IOninja It does
11:12 IOninja zef update WhateEver::Moduly::Or::zef
11:12 IOninja or upgrade
11:13 IOninja I forget which :)
11:13 jnthn IOninja: Yeah, but knowing that would mean doing research, and Twitter is mostly about quick snark :P
11:13 IOninja :P
11:13 DrForr Okay, was just writing new docs.
11:14 Sound joined #perl6
11:28 Unavowed joined #perl6
11:32 Celelibi joined #perl6
11:50 samcv DrForr, `zef upgrade` updates modules that need updating if the version numbers have been bumped
11:54 IOninja Oh, the "sure that's mad altogether" tweet was positive. It's just Irish
11:54 DrForr Okay, 'zef install' is all I need then...
12:00 bjz_ joined #perl6
12:01 rindolf joined #perl6
12:08 geekosaur joined #perl6
12:08 tbrowder ugexe: i just noticed that the dynamic vars $*PROGRAM and $*PROGRAM-NAME are transformed with a zef-installed module so that either var returns a comp-unit hash instead of the actual executable program name.  any way around that?
12:09 tbrowder i haven't tried panda...
12:28 lep-delete joined #perl6
12:29 Geth ¦ ecosystem: 95339de6b9 | (Lloyd Fournier)++ | META.list
12:29 Geth ¦ ecosystem: Add Spit to ecosystem
12:29 Geth ¦ ecosystem:
12:29 Geth ¦ ecosystem: https://github.com/Spit-sh/spitsh <-- check it out
12:29 Geth ¦ ecosystem: review: https://github.com/perl6/e​cosystem/commit/95339de6b9
12:29 domidumont joined #perl6
12:30 xtreak joined #perl6
12:33 _28_ria joined #perl6
12:34 tbrowder i filed an issue with 'ecosystem'
12:37 aborazmeh joined #perl6
12:37 aborazmeh joined #perl6
13:02 wamba joined #perl6
13:09 mcmillhj joined #perl6
13:11 [Coke] (grants committee) Yes, Coke was until recently also a board member, and is now the secretary (taking over from Makoto as soon as we can manage a transition meeting)
13:12 Celelibi joined #perl6
13:12 sufrostico joined #perl6
13:12 moritz [Coke]++ # TPF work
13:14 IOninja Wooo
13:14 IOninja [Coke]++
13:14 bjz joined #perl6
13:15 domidumont joined #perl6
13:15 Celelibi_ joined #perl6
13:16 IOninja Wait, I'm confused. You're now the secretary? The news say Makoto is secretary: http://news.perlfoundation.org/2017/0​3/makoto-nozaki-appointed-secret.html
13:17 [Coke] (in review) my first BASIC was the cartridge on the Atari 400.
13:18 sena_kun joined #perl6
13:18 [Coke] IOninja: I am secretary of the GC committee. He has moved on to secretary of the TPF Board.
13:18 IOninja Ah
13:20 mcmillhj joined #perl6
13:27 bjz joined #perl6
13:30 spebern joined #perl6
13:33 lukaramu_ joined #perl6
13:33 [Coke] Naoum Hankache ?
13:34 mscha joined #perl6
13:35 mscha m: say (1/2+1/2, 2/2).unique;  # huh?
13:35 camelia rakudo-moar 9da50e: OUTPUT: «(1 1)␤»
13:35 mscha m: say (1/2+1/2, 2/2).unique.map(*.perl);  # huh?
13:35 camelia rakudo-moar 9da50e: OUTPUT: «(<1/1> 1.0)␤»
13:35 mscha m: say (1/2+1/2, 2/2).unique.map({ *.WHAT });  # huh?
13:35 camelia rakudo-moar 9da50e: OUTPUT: «((Whatever) (Whatever))␤»
13:35 IOninja It's the reduction thing all over again
13:35 mscha m: say (1/2+1/2, 2/2).unique.map({ $_.WHAT });  # huh?
13:35 camelia rakudo-moar 9da50e: OUTPUT: «((Rat) (Rat))␤»
13:36 IOninja mscha: basically will be resolved as part of https://rt.perl.org/Ticket/Displ​ay.html?id=130774#ticket-history
13:37 IOninja Well, hopefully.
13:37 mscha IOninja: thanks.
13:37 Celelibi joined #perl6
13:38 mscha A related question: to make a list of numbers (which can include Ints and Rats) unique, you can't use @nums.unique; you have to use @nums.unique(:with(&[==])).  Is there a simpler / more elegant way to do this?
13:39 xtreak joined #perl6
13:39 IOninja Looks pretty elegant as it is :)
13:39 lizmat mscha: no, that's pretty much the way
13:40 mscha Okay.  It cost me 15 minutes of debugging to figure this out, though.  :-(
13:40 IOninja heh
13:40 moritz @nums>>.narrow.unique
13:41 itaipu joined #perl6
13:41 sufrostico joined #perl6
13:41 moritz if you're fine with Rats-that-represent-ints to be cast to Int
13:41 IOninja mscha: well, the second sentense of the docs do say "unique uses the semantics of the === operator to decide whether two objects are the same"
13:41 mscha I know, I know, it works as documented.
13:42 mscha moritz: that's a nice solution.
13:42 MasterDuke do we need that "the semantics of"?
13:42 yoleaux 08:50Z <DrForr> MasterDuke: I wasn't planning to do anything that transforms text, but given the Texas <-> Mexico transformation that could be useful.
13:42 MasterDuke could it just be "unique uses the === operator to decide whether two objects are the same"?
13:42 DrForr perl6-tidy --no-comments (haven't actually written the flag) works.
13:43 IOninja MasterDuke: that implies the user can override === and expect unique to pick it up. We already had this issue with is-deeply
13:43 mcmillhj joined #perl6
13:44 MasterDuke ok, should stay as is then
13:44 IOninja MasterDuke: and it doesn't even use interall ones
13:44 mscha Another, perhaps better, solution would be to ensure I only have Rats (so use literals like 1.0).
13:44 IOninja just goes for the WHICH directly
13:45 MasterDuke IOninja: "interall ones"?
13:45 IOninja I mean core ones.
13:45 MasterDuke oh, "internal"
13:46 MasterDuke DrForr: "--no-comments", perl6-tidy won't speak to the press?
13:46 IOninja MasterDuke: `is-deeply` does use `infix:<eqv>` but it still won't pick up user's infix:<eqv> because it's not in scope.... So we shouldn't say "uses ===" in unique for that reason alone, but .unique doesn't even use infix:<===>
13:46 DrForr Bool $is-Trump
13:47 sufrostico joined #perl6
13:48 sergot joined #perl6
13:51 mr-foobar joined #perl6
13:57 MasterDuke m: say (1/2+1/2, 2/2).unique(:as(*.Num))
13:57 camelia rakudo-moar 9da50e: OUTPUT: «(1)␤»
13:57 IOninja m: say (1/2+1/2, 2/2)».Num.unique
13:57 camelia rakudo-moar 9da50e: OUTPUT: «(1)␤»
13:57 KDr2 joined #perl6
13:57 IOninja But that destroys precision
13:59 MasterDuke kind of odd. "The values are transformed for the purposes of comparison, but it's still the original values that make it to the result list:"
13:59 MasterDuke doc for :as
13:59 MasterDuke m: say (1/2+1/2, 2/2).unique(:as(*.Num)).perl
13:59 camelia rakudo-moar 9da50e: OUTPUT: «(<1/1>,).Seq␤»
14:00 nadim__ joined #perl6
14:00 MasterDuke m: say (1/2+1/2, 2/2)».Num.unique.perl
14:00 camelia rakudo-moar 9da50e: OUTPUT: «(1e0,).Seq␤»
14:01 MasterDuke ok, looks like :as works as docced
14:06 IOninja m: say (<1000000000000002/1>, 1000000000000000).unique(:as(*.Num)).perl
14:06 camelia rakudo-moar 9da50e: OUTPUT: «(1000000000000002.0,).Seq␤»
14:07 yqt joined #perl6
14:08 IOninja m: say (1/0, 2/0, 3/0, 4/0, 5/0, 6/0, 7/0, 8/0, 9/0, 10/0).unique(:as(*.Num)).perl
14:08 camelia rakudo-moar 9da50e: OUTPUT: «(<1/0>,).Seq␤»
14:08 IOninja m: say (1/0, 2/0, 3/0, 4/0, 5/0, 6/0, 7/0, 8/0, 9/0, 10/0).unique.perl
14:08 camelia rakudo-moar 9da50e: OUTPUT: «(<1/0>, <2/0>, <3/0>, <4/0>, <5/0>, <6/0>, <7/0>, <8/0>, <9/0>, <10/0>).Seq␤»
14:10 El_Che https://www.eclipsecon.org/na2016/sites/de​fault/files/slides/OMR%20Modern%20Toolkit%​20for%20Building%20Language%20Runtimes.pdf <-- camelia on page 7
14:11 IOninja mscha: BTW, :with() kinda sucks. It has O(n²/2) complexity or something like that. Grinds to a halt when a uniquing list with 4000+ elements
14:11 Geth ¦ ecosystem: ba18238f62 | (Tom Browder)++ | META.list
14:11 Geth ¦ ecosystem: update module Text::More
14:11 Geth ¦ ecosystem:
14:11 Geth ¦ ecosystem: add work-around for problem with installed modules and variables $*PROGRAM and $*PROGRAM-NAME (issue filed with ecosystem)
14:11 Geth ¦ ecosystem: review: https://github.com/perl6/e​cosystem/commit/ba18238f62
14:11 Alikzus joined #perl6
14:12 IOninja El_Che: neat... but the guy likely just screenshot-copypasted those and may not even know what lang it's for :)
14:12 El_Che IOninja: good enough
14:13 IOninja heh
14:13 * IOninja isn't that desperate :P
14:16 Geth ¦ doc/py-nutshell: 5952a50ef8 | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
14:16 Geth ¦ doc/py-nutshell: consistent use of quotes, spaces in exprs, typos
14:16 Geth ¦ doc/py-nutshell: review: https://github.com/perl6/doc/commit/5952a50ef8
14:16 MasterDuke El_Che: might want to post that link in #moarvm
14:16 El_Che MasterDuke: good idea
14:19 IOninja Uh-oh... There's a serious blocker to the IO Grant :o
14:19 IOninja "Release date: March 21, 2017": https://en.wikipedia.org/w​iki/Mass_Effect:_Andromeda
14:19 IOninja ^_^
14:20 MasterDuke i've never played any of the mass effects. can you start in the middle or do you have to start with the first?
14:22 IOninja MasterDuke: you can start with Andromeda, since it's an entirely different set of characters, but the first three.... I'd say you gotta start with the first one
14:23 IOninja Especially 'cause in 3 you meet again many of the characters from 1...
14:25 cdg joined #perl6
14:33 skids joined #perl6
14:34 MasterDuke ugh though, the first three haven't been ported to the PS4
14:34 IOninja Hahaha. Console peasants.
14:35 MasterDuke i split between PS and Steam, just depends on the game
14:35 cibs joined #perl6
14:35 IOninja 2nd one is pretty annoying with controls. The jump, hide-behind-cover, and sprint (I think) are all bound to the same key.
14:36 IOninja Thanks to consoles, no doubt.
14:36 IOninja Oh, jump-over-cover not jump
14:36 IOninja Or something like that.
14:37 MasterDuke i think max payne 3 will be my next PC game
14:38 IOninja Already have it, but never played yet.
14:38 IOninja (proof that steam sales can trick me outta my money :P)
14:39 Geth ¦ doc/py-nutshell: 441c3e65b1 | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
14:39 Geth ¦ doc/py-nutshell: mentioned interpolation, used ' for chars and words
14:39 Geth ¦ doc/py-nutshell: review: https://github.com/perl6/doc/commit/441c3e65b1
14:39 MasterDuke the first was one of my most favorite games ever. second wasn't as good. i've heard great things about the 3rd, just haven't gotten around to it yet
14:44 wamba joined #perl6
14:46 Sound joined #perl6
14:52 xtreak joined #perl6
14:53 Geth ¦ doc/py-nutshell: 9ecfa4172a | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
14:53 Geth ¦ doc/py-nutshell: whatever
14:53 Geth ¦ doc/py-nutshell: review: https://github.com/perl6/doc/commit/9ecfa4172a
14:54 xtreak joined #perl6
14:56 Geth ¦ doc/py-nutshell: d70beee69b | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
14:56 Geth ¦ doc/py-nutshell: whatever
14:56 Geth ¦ doc/py-nutshell: review: https://github.com/perl6/doc/commit/d70beee69b
14:57 travis-ci joined #perl6
14:57 travis-ci Doc build passed. Brian Duggan 'consistent use of quotes, spaces in exprs, typos'
14:57 travis-ci https://travis-ci.org/perl6/doc/builds/208213105 https://github.com/perl6/doc/com​pare/032a15e1df4e...5952a50ef836
14:57 travis-ci left #perl6
15:00 xtreak joined #perl6
15:05 IOninja m: say IO::Path ~~ Cool
15:05 camelia rakudo-moar 9da50e: OUTPUT: «False␤»
15:05 ugexe tbrowder: no there is no way around that. Those sha1 hashes are the actual $*PROGRAM
15:05 IOninja huh... I thought it totally was :/
15:06 ugexe you want the original path name
15:06 lizmat my class IO::Path is Cool
15:06 ugexe well, name-path (lib/Foo/Bar.pm6)
15:06 lizmat so not sure what's going on there ?
15:06 IOninja Ah. restricted bot
15:06 lizmat ah, yes...
15:06 IOninja m: say IO::Path ~~ RESTRICTED-CLASS
15:06 camelia rakudo-moar 9da50e: OUTPUT: «True␤»
15:09 IOninja m: say '.'.IO ~~ Cool # heh
15:09 camelia rakudo-moar 9da50e: OUTPUT: «True␤»
15:10 IOninja m: say '.'.IO.^name
15:10 camelia rakudo-moar 9da50e: OUTPUT: «IO::Path␤»
15:10 IOninja m: say '.'.IO.WHAT === IO::Path
15:10 camelia rakudo-moar 9da50e: OUTPUT: «Cannot resolve caller infix:<===>(IO::Path, IO::Path); none of these signatures match:␤    ($?)␤    (\a, \b)␤    (Int:D \a, Int:D \b)␤    (int $a, int $b)␤    (Num:D \a, Num:D \b)␤    (num \a, num \b --> Bool)␤    (Str:D \a, Str:D \b --> Bo…»
15:10 IOninja m: say '.'.IO.WHAT === IO::Path.WHAT
15:10 camelia rakudo-moar 9da50e: OUTPUT: «Cannot resolve caller infix:<===>(IO::Path, IO::Path); none of these signatures match:␤    ($?)␤    (\a, \b)␤    (Int:D \a, Int:D \b)␤    (int $a, int $b)␤    (Num:D \a, Num:D \b)␤    (num \a, num \b --> Bool)␤    (Str:D \a, Str:D \b --> Bo…»
15:11 IOninja weird that it doesn't fit into (\a, \b) candidate
15:13 IOninja m: say IO::Path ~~ Any
15:13 camelia rakudo-moar 9da50e: OUTPUT: «False␤»
15:13 IOninja Ahhh
15:14 Possum joined #perl6
15:15 DrForr El_Che: I've done a proof of concept for Perl6::Tidy, I'm open to ideas on how it can be configured. I'm going to suggest a JSON or other configuration file.
15:15 travis-ci joined #perl6
15:15 travis-ci Doc build errored. Brian Duggan 'whatever'
15:15 travis-ci https://travis-ci.org/perl6/doc/builds/208225888 https://github.com/perl6/doc/com​pare/441c3e65b161...9ecfa4172a68
15:15 travis-ci left #perl6
15:22 travis-ci joined #perl6
15:22 travis-ci Doc build passed. Brian Duggan 'mentioned interpolation, used ' for chars and words'
15:22 travis-ci https://travis-ci.org/perl6/doc/builds/208220766 https://github.com/perl6/doc/com​pare/5952a50ef836...441c3e65b161
15:22 travis-ci left #perl6
15:25 El_Che DrForr: have you considered YAML?
15:26 El_Che DrForr: most config stuff I do nowadays I use YAML. It's more readable than JSON
15:26 DrForr I haven't thought too much.
15:27 El_Che I pretty much standarized on it. My own programs, our Puppet config (with encrypted YAML voor secret values), our docker setup (with docker-compose) and so on
15:27 El_Che the rest of the stack is xml and it makes me cry )
15:27 El_Che :)
15:28 b2gills I like YAML because it is line oriented so it plays nicer with git
15:28 mst somebody (possibly me eventually) needs to port JSONY from pegex to p6grammars
15:28 El_Che b2gills: exactly
15:28 DrForr It's not really going to merge with puppet/docker stuff, but as long as there's a standard to look to, I don't mind.
15:28 El_Che our scm web interface does diff on config and YAML works great
15:29 b2gills JSON wouldn't be as bad if it allowed trailing commas
15:30 El_Che DrForr: the choices nowadays, seem to be JSON, YAML, XML and TOML
15:30 El_Che DrForr: by the way, JSON is a subset of YAML
15:30 DrForr Well, XML can bite my shiny metal ass, not sure what TOML is...
15:31 El_Che DrForr: https://en.wikipedia.org/wik​i/YAML#Comparison_with_JSON
15:31 DrForr I also don't want a huge dependency there.
15:31 El_Che DrForr: XML, I agree. TOML: haven't seen it that much and too much INI style for me
15:31 tbrowder ugexe: did you see the suggestion i made in the issue for ecosystem? would that be a possibility?
15:32 El_Che DrForr: true for dependencies. Although for me, config must be human readable/writable in the 1st place
15:33 El_Che DrForr: there is where xml fails badly and json is meh
15:33 DrForr JSON doesn't allow comments, though you can always create a "comments" : "foo bar" tag. But then we get namespace collisions and I go ballistic.
15:34 El_Che hehe, you answered your own question
15:34 DrForr Teddy bear.
15:34 alimon joined #perl6
15:35 El_Che what's bad about json is that "pretty" json is not the default, so more often than not you get a long line that makes git diff useless
15:35 perigrin <bite target="DrForr's Shiney Metal Ass" />
15:36 El_Che haha
15:37 perigrin the secret being that won't parse cleanly.
15:39 mscha IOninja: re ":with sucks"; I noticed, yes.  I'm now using my Rat @nums; ."REDUCE-ME for @nums" as workaround for the reduce bug, and @nums.sort.squish.  That gives the best performance.  (
15:40 IOninja mscha: note that .REDUCE-ME is an internal method, and considering it has a race issue, one that's likely to be removed.
15:40 IOninja Hoping to do the Rat stuff after IO grant so... removed soon is a possibility as well :D
15:40 IOninja Oh!
15:41 IOninja Do `.= norm` instead
15:41 mscha I know, but by the time it starts failing, I can remove that entire statement - hopefully.
15:41 IOninja m: (<1/2> + <1/2>).norm.say
15:41 camelia rakudo-moar 9da50e: OUTPUT: «1␤»
15:41 IOninja m: (<1/2> + <1/2>).norm.nude.say
15:41 camelia rakudo-moar 9da50e: OUTPUT: «(1 1)␤»
15:41 IOninja m: (<1/2> + <1/2>).nude.say
15:41 camelia rakudo-moar 9da50e: OUTPUT: «(1 1)␤»
15:41 mscha nude already normalizes, so that proves nothing.
15:42 mscha (1/2+1/2).nude
15:42 mscha m: say (1/2+1/2).nude
15:42 camelia rakudo-moar 9da50e: OUTPUT: «(1 1)␤»
15:42 IOninja m: dd [.numerator, .denominator] with (<1/2> + <1/2>).nude
15:42 camelia rakudo-moar 9da50e: OUTPUT: «No such method 'numerator' for invocant of type 'List'␤  in block <unit> at <tmp> line 1␤␤»
15:42 IOninja m: dd [.numerator, .denominator] with (<1/2> + <1/2>)
15:42 camelia rakudo-moar 9da50e: OUTPUT: «[2, 2]␤»
15:42 IOninja m: dd [.numerator, .denominator] with (<1/2> + <1/2>).norm
15:42 camelia rakudo-moar 9da50e: OUTPUT: «[1, 1]␤»
15:42 IOninja There. .norm works and is public API
15:42 mscha OK, thanks.
15:45 IOninja u: { *.uniprop eq 'Nd'|'Nl'|'No' }
15:45 unicodable6 AlexDaniel, MasterDuke: Hey folks. What's up with me?
15:45 unicodable6 IOninja, Oops, something went wrong!
15:46 travis-ci joined #perl6
15:46 travis-ci Doc build passed. Brian Duggan 'whatever'
15:46 travis-ci https://travis-ci.org/perl6/doc/builds/208226725 https://github.com/perl6/doc/com​pare/9ecfa4172a68...d70beee69be8
15:46 travis-ci left #perl6
15:51 smls joined #perl6
15:52 smls bisectable6: say <a b> Z=> |(1, 2);
15:52 bisectable6 smls, On both starting points (old=2015.12 new=9da50e3) the exit code is 0 and the output is identical as well
15:52 bisectable6 smls, Output on both points: «(a => 1 => 2)»
15:53 smls Is |-interpolating arguments into the argument list of Z, supposed to behave like that?
15:54 smls m: say <a b> Z 1, 2, 3;
15:54 camelia rakudo-moar 9da50e: OUTPUT: «((a 1) (b 2))␤»
15:54 smls m: say <a b> Z |(1, 2, 3);
15:54 camelia rakudo-moar 9da50e: OUTPUT: «((a 1 2 3))␤»
15:55 mscha m: my Rat @nums = (1.0, 1/2+1/2)».norm; say @nums.unique;
15:56 camelia rakudo-moar 9da50e: OUTPUT: «(1)␤»
15:56 mscha m: my Rat @nums = (1.0, 1/2+1/2); .REDUCE-ME for @nums; say @nums.unique;
15:56 camelia rakudo-moar 9da50e: OUTPUT: «(1)␤»
15:56 mscha Huh, that first one gives (1 1) on my Rakudo Star 2017.01.
15:56 IOninja m: say ߃ +߄ +߅ +߆ +߇ +߈
15:56 camelia rakudo-moar 9da50e: OUTPUT: «33␤»
15:56 mscha I guess .norm must have been fixed after that.
15:57 IOninja mhm
15:57 IOninja bisect: old=2017.01 new=HEAD my Rat @nums = (1.0, 1/2+1/2)».norm; say @nums.unique;
15:57 bisectable6 IOninja, Bisecting by output (old=2017.01 new=9da50e3) because on both starting points the exit code is 0
15:57 bisectable6 IOninja, bisect log: https://gist.github.com/1740​5cfc6b8a6bccb69221d57b68f2d4
15:57 bisectable6 IOninja, (2017-02-13) https://github.com/rakudo/rakudo/commit/​aac9efcbda6a191c9ef8ef232cfa7fa639722a10
15:57 IOninja feb 13. So it'd be in 2017.02 compiler release
15:58 mscha Oh, right, I remember now; .norm was a no-op.
15:59 mscha Maybe I'll need to stop using Star releases only...
16:00 IOninja Maybe we need to start releasing Star releases more frequently...
16:01 mscha That'd be even better.  :-)
16:01 IOninja :)
16:03 timotimo didn't we want to release star less often at one point? :S
16:03 cibs joined #perl6
16:03 SmokeMachine u: ߃
16:03 unicodable6 SmokeMachine, U+07C3 NKO DIGIT THREE [Nd] (߃)
16:07 IOninja timotimo: don't recall that point. Though, it'd make sense to make Star releases less frequently if we make compiler releases more end-user-like. E.g.: Compiled (where needed to) Rakudo with zef and install script that asks "Would you like me to install modules for X?" that would just fetch the modules over network and install them with zef
16:08 IOninja And in that paradigm, Star would be a release with packaged modules, for people who can't/don't want to fetch them from network during install.
16:08 IOninja m: say ߈߈
16:08 camelia rakudo-moar 9da50e: OUTPUT: «88␤»
16:08 IOninja m: say ߈߈/2
16:08 camelia rakudo-moar 9da50e: OUTPUT: «44␤»
16:08 IOninja :)
16:09 IOninja m: say ½*߈߈
16:09 camelia rakudo-moar 9da50e: OUTPUT: «44␤»
16:09 raschipi joined #perl6
16:10 IOninja Hm
16:10 IOninja I just realized I can do that on my own.
16:10 IOninja Like without bikeshedding committee. And then see if anyone uses the releases.
16:11 IOninja s/bikeshedding committee/piece-meal discussions that don't get written down :)/
16:11 timotimo .o( Rakudo Stoar )
16:12 timotimo Rakudo Stork: it brings the modules
16:12 El_Che IOninja: that exactly how I hoped Rakudo Star worked when I first heard of it
16:13 El_Che IOninja: all precompiled with modules on a "Star" level release
16:16 IOninja I'm gonna name mine "Perl 6 ١∧only"
16:20 cdg_ joined #perl6
16:22 imcsk8 joined #perl6
16:24 timotimo what's those characters?
16:25 timotimo .u ١∧
16:25 yoleaux U+0661 ARABIC-INDIC DIGIT ONE [Nd] (١)
16:25 yoleaux U+2227 LOGICAL AND [Sm] (∧)
16:25 timotimo oh
16:25 alphah joined #perl6
16:26 stmuk IOninja: I have wondered about monthly compiler releases with p6doc and zef
16:26 timotimo Rakudo JustTheBones
16:26 El_Che stmuk++
16:26 stmuk but there have been monthly releases with major platform breakage as well :/
16:31 IOninja Because it's only tested on Debian...
16:32 IOninja Is there no way to test/make a release for OSX unless you own an Apple computer?
16:33 stmuk I believe its possible to run OS X under virtualbox now
16:33 stmuk not sure how legal
16:33 IOninja Last I looked, it was illegal.
16:34 stmuk there is also a project called "puredarwin" but it's fairly dead
16:34 timotimo you'll go to jail
16:41 imcsk8 joined #perl6
16:41 xxpor joined #perl6
16:41 m0ltar joined #perl6
16:42 IOninja ugh, $1,750 for a MacBook Pro that has the same stats as my 11 year old Dell laptop...
16:42 IOninja No way I'm buying one just to test Perl 6 releases on :(
16:43 ilmari "same"? as in same number of cores and mhz?
16:43 [Coke] http://www.perlmonks.org/?node_id=1183351 - perhaps some with an account could also point to stackoverflow as a potential source for getting helpful responses to your Perl 6 questions.
16:44 ilmari I bet it does more work per cycle and can boost to higher frequencies
16:44 * [Coke] is not sure he can respond without snark.
16:44 IOninja Lemme double check (it's still running and I use it to look up guitar tabs in my music room)
16:44 stmuk I think processor speed increases have been pretty flat for about 7-10 years. Battery life is better on laptops but that's about it
16:44 [Coke] There are several core devs who currently have macs and can probably sign up for testing, IOninja.
16:45 stmuk my MacBook Air 2011 isn't that much slower than a MacBook Pro 2015
16:46 IONinja_Lappy joined #perl6
16:47 IONinja_Lappy Here's what's my lappy is like: https://gist.github.com/anonymous​/b2eca82c548b1bfaa8f04f954afadb11
16:47 * IONinja_Lappy goes back to normal computer
16:48 IOninja And here's the one I was talking about, last one in the list: http://www.apple.com/ca/shop​/buy-mac/macbook-pro/13-inch
16:48 IOninja Well, OK, it has 8GB of RAM and a slightly better processor, but it's an ELEVEN YEAR OLD laptop :)
16:49 IOninja (lappy has 4GB)
16:49 n1ce joined #perl6
16:50 IOninja [Coke]: yeah, but in a perfect world all that would be automated :)
16:51 stmuk https://www.youtube.com/watch?v=_9mzmvhwMqw is quite revealing
16:51 IOninja Hm, though I guess maybe I could buy something like this junker and just ssh/connect another screen to it: http://www.ebay.ca/itm/like/172505474037?chn=ps
16:51 stmuk moores law is just going into cores which aren't much use anyway
16:52 [Coke] (automated) of course.
16:52 [Coke] mj41 (I think) setup a job service that let us have machines sign up for work to do and report back on it back in the parrot days. wonder if any of that survived.
16:53 [Coke] was used to get reports from various hw/OS revisions that weren't easily available.
16:53 stmuk https://en.wikipedia.org/wiki/Amdahl's_law
16:53 domidumont joined #perl6
16:53 stmuk a distributed smoke build/testing service would be great
16:55 spebern joined #perl6
16:59 tbrowder i have an unused mac mini to offer for a distributed build host
16:59 IOninja I'm gonna call my distro "Perl 6 Ice"... 'cause it's cool...
17:00 IOninja And the tag text will be "Includes Compiler, Etc."
17:00 IOninja :P
17:02 * IOninja wonders if .ice is available as a TLD
17:02 stmuk maybe we could just add a "make smoke" which posts JSON or whatever to a central server
17:03 stmuk I think that's what parrot did (?)
17:03 geekosaur afaik TLDs are now wide open
17:03 geekosaur if you have the $$$
17:04 [Coke] stmuk: there was a perl5 service that ate TAP zip files.
17:04 IOninja or maybe "Perl 6 Black", 'cause there's a .black TLD and black is cool too
17:04 [Coke] I started writing a replacement in mojo because adminning the old version was painful.
17:04 stmuk [Coke]: I've used smoulder to do that
17:04 [Coke] We could easily write the server in Perl 6 now.
17:04 cale2 joined #perl6
17:05 [Coke] stmuk: smolder! yes, that was the thing that was a PITA to admin. :)
17:05 cale2 How do I turn an array of pairs into a map?
17:05 cale2 [(this => that) (this => that) ]   should be   {this => that, this => that}
17:05 IOninja m: [:42a, :72b].Map.say
17:05 camelia rakudo-moar 9da50e: OUTPUT: «Map.new((:a(42),:b(72)))␤»
17:05 stmuk [Coke]: yeah its not great but it does work
17:05 IOninja m: [:42a, :72b].Hash.say
17:06 camelia rakudo-moar 9da50e: OUTPUT: «{a => 42, b => 72}␤»
17:06 cdg joined #perl6
17:06 cale2 what is that syntax? :42a ? How does Perl6 not consider that to be all one thing?
17:06 cale2 m: say :42a.WHAT
17:06 camelia rakudo-moar 9da50e: OUTPUT: «(Pair)␤»
17:07 cale2 shouldn't that be one symbol called "42a"?
17:07 IOninja Symbols can't start with a digits
17:07 [Coke] m: say :42a.perl;
17:07 camelia rakudo-moar 9da50e: OUTPUT: «:a(42)␤»
17:07 stmuk google "parrot make smoke" gets unhelpful youtube hit :)
17:07 [Coke] it's to support things like :1st
17:07 TEttinger joined #perl6
17:08 IOninja It's a colonpair. it's just an alternate syntax. Same as foo => 42, :foo[42], :foo<42>, :foo{:42a}, and :foo{say "hi"} are
17:08 [Coke] stmuk: https://github.com/coke/muddle has my proof of concept mojo5 version, which I haven't touched in 3years.
17:08 rurban joined #perl6
17:08 cale2 [(Alabama => Montgomery) (Alaska => Juneau)] that's my data structure. Hash.new didn't work :/
17:09 cale2 It turned it into {Alabama        Montgomery => (Alaska => Juneau)}
17:09 rurban left #perl6
17:09 [Coke] cale2: what are you trying to make? a Hash?
17:09 cale2 Coke: anything with keys and values on the top level.
17:10 [Coke] and what are you starting out with? is this hardcoded, do you have a bunch of pairs already?
17:10 stmuk yeah parrot used to use smoulder
17:10 stmuk [Coke]: thanks
17:10 cale2 I want it to be {Alabama => Montgomery, Alaska => Juneoua}
17:10 perlpilot cale2: sounds like you might need .flat in there at first blush
17:10 [Coke] cale2: Ok, but what are you starting with?
17:10 cale2 [12:08] <cale2> [(Alabama => Montgomery) (Alaska => Juneau)] that's my data structure. Hash.new didn't work :/
17:11 perlpilot cale2: Could you show actual code please?
17:11 [Coke] cale2; oh dear, we seem to be talking past each other.
17:11 SmokeMachine u: 「
17:11 unicodable6 SmokeMachine, U+300C LEFT CORNER BRACKET [Ps] (「)
17:11 [Coke] m: my %a = (a=>'b', c=>'d');
17:11 camelia rakudo-moar 9da50e: ( no output )
17:11 SmokeMachine m: say 「bra」
17:11 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 3say7⏏5 「bra」␤Bogus postfix␤at <tmp>:1␤------> 3say 7⏏5「bra」␤    expecting any of:␤        infix␤        infix stopper␤        postfix…»
17:11 stmuk http://smolder.parrot.org/a​pp/projects/smoke_reports/1
17:12 [Coke] if that doesn't help, please provide code as perlpilot++ suggested and show us the error, and what you expected.
17:12 IOninja m: say 「bracket」
17:12 camelia rakudo-moar 9da50e: OUTPUT: «bracket␤»
17:12 SmokeMachine u: 「
17:12 unicodable6 SmokeMachine, U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「)
17:12 SmokeMachine IOninja: thanks!
17:13 SmokeMachine m: say 「bla」
17:13 camelia rakudo-moar 9da50e: OUTPUT: «bla␤»
17:14 cale2 https://github.com/WildYorkies/peregrinations-in-p​erl6/blob/master/book/3.1-TryItOut.md#initial-code
17:14 cale2 TBH I have no idea why an array of pairs won't convert to a hash. It seems pretty straightforward. Must be missing something
17:15 cale2 Any attempt to convert to a Hash just makes the first pair the key and the pair after it the value. I probably need to flatten at some point, but I don't know how I can step into the coersion process and introduce a flat in there
17:16 IOninja hm
17:16 IOninja zoffix@VirtualBox:~$ perl6 -e '"/tmp/z.td".IO.lines.map({/(.+?)(\$<-[$]>+)/; printf "%10s %s\n", |$/})'
17:16 IOninja Unexpected named argument '' passed
17:16 IOninja in block <unit> at -e line 1
17:16 IOninja Wonder what's on about...
17:16 IOninja m: "x" ~~ /(.)/; dd $/
17:16 camelia rakudo-moar 9da50e: OUTPUT: «Match $/ = Match.new(ast => Any, list => (Match.new(ast => Any, list => (), hash => Map.new(()), to => 1, orig => "x", from => 0),), hash => Map.new(()), to => 1, orig => "x", from => 0)␤»
17:16 kaare_ joined #perl6
17:16 IOninja m: "x" ~~ /(.)/; dd [|$/]
17:16 camelia rakudo-moar 9da50e: OUTPUT: «[Match.new(ast => Any, list => (), hash => Map.new(()), to => 1, orig => "x", from => 0)]␤»
17:18 IOninja lol, .luxury TLD is $799.99
17:20 rurban joined #perl6
17:20 khw joined #perl6
17:23 IOninja :o perl6.ninja is available....
17:23 perlpilot cale2: I would suggest that @data does not contain what you think it does.
17:24 [Coke] cale2: to troubleshoot, attempt to reproduce the problem with a small amount of code that shows the issue.
17:24 [Coke] If you can reproduce the issue, share that code with us, and we can possibly help you.
17:24 [Coke] If you can't, perhaps that will help point you towards the differencde between the small functioning code, and the larger non-functioning code.
17:25 raschipi geekosaur: To get a new TLD, just money isn't enough, one needs to run a register or get one to run it for you. You can't get a TLD and then keep it just for you.
17:25 IOninja Didn't cale2 already show the data?
17:26 IOninja cale2 │ [12:08] <cale2> [(Alabama => Montgomery) (Alaska => Juneau)]
17:26 IOninja m: [(Alabama => "Montgomery",), (Alaska => "Juneau",)].say
17:26 camelia rakudo-moar 9da50e: OUTPUT: «[(Alabama => Montgomery) (Alaska => Juneau)]␤»
17:26 eroux joined #perl6
17:26 geekosaur thought the likes of Network Solutions would be happy to run it for you for... more $$$, which was the point (both my point and why they lobbied to open up the top level)
17:26 IOninja m: [(Alabama => "Montgomery",), (Alaska => "Juneau",)]».Slip.flat.Hash.say
17:26 camelia rakudo-moar 9da50e: OUTPUT: «{Alabama => Montgomery, Alaska => Juneau}␤»
17:26 [Coke] m: my @a = a=>'b',c=>'d'; my %b=|@a; say %b.perl;
17:26 camelia rakudo-moar 9da50e: OUTPUT: «{:a("b"), :c("d")}␤»
17:26 wamba joined #perl6
17:26 IOninja That's not the data tho. Each pair is in its own list.
17:26 [Coke] m: my @a = a=>'b',c=>'d'; my %b=@a; say %b.perl;
17:26 camelia rakudo-moar 9da50e: OUTPUT: «{:a("b"), :c("d")}␤»
17:27 IOninja m: my @a = (a=>'b',), (c=>'d',); my %b=@a; say %b.perl;
17:27 camelia rakudo-moar 9da50e: OUTPUT: «{"a\tb" => $(:c("d"),)}␤»
17:27 [Coke] IOninja: if he'd show code, I'd know that. :)
17:27 IOninja They showed the data ¯\_(ツ)_/¯
17:27 [Coke] but not code; how do I know how he's formatting what he's showing ups?
17:27 [Coke] *us
17:28 IOninja It looks like a copy-pasted output of `say`, I just reconstructed the original from that :)
17:28 IOninja m: [(Alabama => "Montgomery",), (Alaska => "Juneau",)].flat.say
17:28 camelia rakudo-moar 9da50e: OUTPUT: «((Alabama => Montgomery) (Alaska => Juneau))␤»
17:29 IOninja Wonder why... oh nm, Array containerizes its stuff
17:29 cale2 IOninja: you got it... is Slip and flat really needed?
17:29 cale2 [Coke]: https://glot.io/snippets/enqr2rapsg
17:29 [Coke] This is why I suggested showing the actual code, and why perlpilot suggested that the array may not contain what cale2 thought it did.
17:29 cale2 that's my smaller code to reproduce
17:29 IOninja cale2: well, yeah, to make flat work..
17:30 IOninja cale2: but maybe there's a better way without that...
17:30 IOninja m: [(Alabama => "Montgomery",), (Alaska => "Juneau",)]».<>.Hash.say
17:30 cale2 You can only put "say" so many places... I couldn't possibly know MORE about the data lol
17:30 camelia rakudo-moar 9da50e: OUTPUT: «{Alabama   Montgomery => (Alaska => Juneau)}␤»
17:30 IOninja m: [(Alabama => "Montgomery",), (Alaska => "Juneau",)]<>.Hash.say
17:30 camelia rakudo-moar 9da50e: OUTPUT: «{Alabama   Montgomery => (Alaska => Juneau)}␤»
17:30 [Coke] cale2: that code doesn't compile.
17:30 IOninja dang
17:30 cale2 I know it doesn't. That's the problem.
17:30 cale2 I'm trying many different methods to get it to work
17:31 [Coke] ok, but that's NOT the problem you stated earlier.
17:31 raschipi geekosaur: The other stake-holders did stop the TLD plans on the tracks when it was giving registers and registrars too much power. TLDs were changed to take power away from them. Altough the'll get more money, they lose control because there's more competition.
17:31 cale2 [Coke]: do you want me to share the happy path, or the not happy, but sort of functioning paht?
17:32 IOninja m: say [(Alabama => "Montgomery",), (Alaska => "Juneau",)]»<>.flat.Hash
17:32 camelia rakudo-moar 9da50e: OUTPUT: «{Alabama => Montgomery, Alaska => Juneau}␤»
17:32 [Coke] cale2: I want you to ask questions that help you get your answer. :)
17:32 [Coke] asking us about the unhappy path and then switching questions makes it challening for us to help you
17:33 [Coke] so, sticking with the sample we have here ...
17:33 naxieAlDle joined #perl6
17:33 [Coke] the split is giving you Seq, not Pairs, btw.
17:33 [Coke] and then the pairup gives you the Pairs...
17:34 [Coke] and then you're trying to make a hash = a list of 7 things (which happen to be pairs).
17:34 raschipi geekosaur: TLDs are an attack on Verisign stranglehold over domain names.
17:34 [Coke] This is going to make pair 1 the key, pair2 the value...
17:34 [Coke] and then you run out.
17:36 [Coke] I would tend to write this as my %capital; and then assign each key/value pair as we go through the for loop.
17:37 Ven joined #perl6
17:37 IOninja cale2: https://glot.io/snippets/enqrb2pmpv
17:38 [Coke] IOninja++ # I was getting there. :)
17:38 IOninja [Coke]++ You're right. It was better to wait for actual code than give an answer based on dumped data.
17:38 domidumont joined #perl6
17:38 [Coke] you don't want to try to use pairs here, when you can work with a even numbered list.
17:39 * [Coke] wonders if IOninja is responding to private sends in #perl6 as a social thing, or if his client isn't tell him they're private. :)
17:39 [Coke] as this is not the first time that's happened.
17:40 cale2 [Coke]: Cheers. That helps.
17:40 IOninja It tells me but I usually close them right away and then think on what was said and either ignore it or respond where it's easiest.
17:40 [Coke] cale2: IOninja's answer here avoids creating and then discarding a bunch of Pair objects, which would impact a bigger data set.
17:40 [Coke] er, woudld have a bigger impact on...
17:41 cale2 Do other programming languages not have concepts such as flat or Slip?
17:42 cale2 I think in Python, when you try to add a list to another list, `flat` is always implied. May be why it trips me up
17:42 IOninja Some language default to flattening, forcing you to use some construct to avoid it. We do it in reverse: no flatteing but you need to tell it to flatten when needed
17:44 cale2 I do notice that there is `flat` and `|@stuff` quite often in perl6 code. Why was not flattening chosen as the default when it is used so often? Is it easier to reason about?
17:44 IOninja haha
17:44 IOninja Now go and look how often Arrayrefs and hashrefs are used in Perl 5 for example :P
17:44 geekosaur recent tcl added a *{} construct to flatten lists for much the same reason (and because programmers were using a rather insecure eval hack to work around its absence)
17:45 timotimo ugh :)
17:45 cdg_ joined #perl6
17:46 geekosaur and yes, arrayrefs and @$foo are widely used in perl 5 for similar reasons
17:47 IOninja huh
17:47 IOninja Someone registered perl6.run and it redirects to perl6.org
17:49 cale2 I've never heard of arrayrefs or hashrefs :S
17:49 timotimo it's only a perl5 thing
17:50 stmuk perl6.club is cheap
17:50 IOninja Well, since there's no .ice TLD (at least with my domain provider) and I'm too poor to afford .black TLD, I'm now a proud owner of perl6.vip
17:50 IOninja Huzzah \o/
17:50 timotimo stmuk: only cheap the first year, or cheap forever?
17:50 cale2 I know everyone hates it when I bring up Python, but for some reason, I never once had to think about any of this when using that language. "back in my day, a list was just a list" -future grandpa
17:51 stmuk timotimo: I didn't read the small print
17:51 geekosaur cale2, yes, python does that transparently and then bites you in other ways
17:51 timotimo stmuk: it's a very common thing for gTLDs to be reasonably priced for one year, then absurdly expensive
17:51 cale2 geekosaur: I'm trying to think of how it could bite you. Can't think of a scenario though
17:52 IOninja timotimo: on 1and1 .club is $14.99 (first year $4.99)
17:52 geekosaur that's fine, you use python in a way that works for many people. but you are again verging on "...and my experience is everyone's experience and God's design"
17:52 IOninja Canukistan dollars
17:53 IOninja Heh .capetown is a TLD ~_~
17:53 timotimo how about caketown?
17:53 ilmari .funkytown
17:54 IOninja Nope, the only other town is .town
17:54 cale2 geekosaur: I don't understand the sensitivity when talking about other languages. I'm merely saying "in my experience it was this way. help me understand your perspective". Not trying to sound like it's "my way or the highway"
17:54 IOninja But I know they don't list all of the available TLDs.
17:54 cdg joined #perl6
17:54 stmuk we could just use opennic :)
17:54 geekosaur that was specifixclaly in refernce to you the other day starting from here and an attitude and developing it into "I know this, you are all idiots":
17:54 geekosaur and saying "don;t repeat it"
17:55 geekosaur I'm glad you have something that works for you. Turns out Python *does* handle a common case... but the times you need to do something different, you can't.
17:55 stmuk FurNIC aims to bring a unique identity to Furries, Furry Fandom, and other Anthropomorphic interest websites across the internet
17:55 geekosaur You get no choice in the matter
17:55 stmuk hahahahaha
17:56 cale2 geekosaur: I'm trying to imagine when that other case would be. Like when Python's default behavior wouldn't work for someone. That's my misunderstanding
17:56 geekosaur (I'm not especially fond of how often Slip is needed in perl 6, it smells like the common case got deHuffmanized)
17:56 cale2 If I can understand that, it helps to understand the design decisions of P6
17:59 [Coke] the flattening defaults in 6 are different from 5; there are probably some gists out there still describing the Great List Refactor (GLR) that might help if you're trying to get insight into why things are they way they are now
18:00 IOninja It's a bit tiring to explain design decisions that occured over the past 15 years that included work of ~1000 people. Especially if the person starts their question is "I never had a problem in language XYZ, and perl 6's way is weird to me..."
18:01 geekosaur cale2, the perl 6 default is to try to be perl-like (so a lot of behavioral defaults came from perl 5), but perl 5 here was ... ad hoc. in the extreme. (often to the "this particular statement behaves this way, this one does something else" level)
18:01 IOninja You can use the language without questioning every day the choices that won't change.
18:01 geekosaur so perl 6 has spent a lot fo time hunting around to find a minimal behavior that is consisent but comes fairly close to what p5 did
18:03 IOninja If we did everything the way Python does... we'd be called Python, not Perl 6.
18:03 cale2 IOninja: I know it's annoying, but when trying to promote or even teach a language, you're gonna get questions like "why is it this way?"
18:06 robertle joined #perl6
18:06 IOninja cale2: with the mild implication behind the question: "I think you people are idiots and I want you to prove me I'm wrong, but trying to remember all the reasoning behind this design decision"
18:06 IOninja s/but/by/;
18:07 IOninja cale2: especially with the choices like auto-flat or not, where either option doesn't cover 100% usecases, so you pick one to make a sacrifice
18:07 stmuk I'm not sure "why" questions work that well with many technical systems like UNIX etc.
18:08 cale2 Everyone implies that implication. This is why we need lojban lmao
18:08 IOninja Why does :16<FF> not accept negatives?
18:08 raschipi cale2: examples of when it doesn't work: http://www.thegeekstuff.com/2010/​06/perl-array-reference-examples/
18:08 cale2 stmuk: good point
18:08 IOninja Its implementor is currently AFK, and even if they weren't they might not remember. It's pointless to ask such a question.
18:09 cale2 IOninja: I don't think it's a pointless question when it affects the every day life of a user. And thus is a concept needed to teach to learners
18:09 raschipi cale2: more examples https://perlmaven.com/array-references-in-perl
18:09 cale2 raschipi: thanks. will read
18:10 SmokeMachine naxieAlDle: thanks for your help yesterday! Im start using (and editing) this https://github.com/FCO/osx-compose-key
18:10 raschipi If arrays don't flatten, they can be just passed around instead of the usual dance with references/pointers
18:11 naxieAlDle SmokeMachine: 🙌
18:12 Geth ¦ doc/py-nutshell: 27ef3a25cd | (Brian Duggan)++ | doc/Language/py-nutshell.pod6
18:12 Geth ¦ doc/py-nutshell: reword whatever portion
18:12 Geth ¦ doc/py-nutshell: review: https://github.com/perl6/doc/commit/27ef3a25cd
18:12 IOninja cale2: it is pointless. Especially since many of the decisions were either implied during implementation or are now forgotten. You can make a proposal to have a feature changed if you can provide good reasoning, but incessantly questioning implementors' decisions over the last 15 years will only annoy the volunteers who did the work.
18:12 naxieAlDle re design decisions, this is a nice read: https://perl6advent.wordpress.com/20​14/12/24/day-24-seeing-wrong-right/
18:13 [Coke] I don't mind people asking "why is it this way" at all, but the answer is often going to be "that is very hard for us to figure out since we started on this 17 years ago"
18:13 nine cale2: appears to me that in Python, it's not that simple either: dict([(("a", 1),), (("b", 2),)]) -> ValueError: dictionary update sequence element #0 has length 1; 2 is required
18:13 IOninja naxieAlDle++
18:13 nine Gotta love that helpful error message there...
18:13 [Coke] If we want a nice retro-explanation, we probably have to wait for TimToady's book.
18:14 IOninja naxieAlDle: https://irclog.perlgeek.de/​perl6/2017-03-06#i_14212456
18:14 IOninja naxieAlDle: though none of the whiners replied when I questioned why these ops were but; and a lot more people posted positive tweets about them since then :)
18:15 nine cale2: on the more constructive side, your issue isn't as much how to turn an array of lists of pairs into a hash but how to avoid those unhelpful lists in the middle in the first place
18:16 nine m: my @a = do for ("foo-bar", "baz-qux") { |$_.split("-").pairup } ; dd @a
18:16 camelia rakudo-moar 9da50e: OUTPUT: «Array @a = [:foo("bar"), :baz("qux")]␤»
18:16 nine m: my @a = do for ("foo-bar", "baz-qux") { |$_.split("-").pairup } ; dd @a.hash
18:16 camelia rakudo-moar 9da50e: OUTPUT: «Hash % = {:baz("qux"), :foo("bar")}␤»
18:16 nine cale2: ^^^
18:17 IOninja m: my %a = flat ("foo-bar", "baz-qux")».split: "-"; dd %a
18:17 rurban joined #perl6
18:17 camelia rakudo-moar 9da50e: OUTPUT: «Hash %a = {:baz("qux"), :foo("bar")}␤»
18:17 nine m: my @a = flat do for ("foo-bar", "baz-qux") { $_.split("-").pairup } ; dd @a.hash
18:17 camelia rakudo-moar 9da50e: OUTPUT: «Hash % = {:baz("qux"), :foo("bar")}␤»
18:17 nine Ah, same idea there :)
18:17 itaipu joined #perl6
18:17 naxieAlDle “Those who do not learn the lessons of APL are doomed to the obscurity of APL.” ppppppfffffft
18:17 naxieAlDle oh, ≤… how obscure
18:18 IOninja naxieAlDle: "I'd like to post something witty, but I don't know about Texas versions... am I doing right yet?"
18:18 FROGGS joined #perl6
18:19 raschipi naxieAlDle: We should learn from Math instead.
18:19 naxieAlDle IOninja: … and then… do you actually think we had no numeric comparison ops before? :P
18:20 IOninja Indeed :)
18:20 SmokeMachine u: ≥
18:20 unicodable6 SmokeMachine, U+2265 GREATER-THAN OR EQUAL TO [Sm] (≥)
18:20 SmokeMachine m: say 2 ≥ 5
18:20 camelia rakudo-moar 9da50e: OUTPUT: «False␤»
18:21 naxieAlDle to me it's a no-brainer to have ≤≥≠. In fact, I'd even argue that perhaps ⁇‼ were not needed
18:22 raschipi Well, do we really need P6 anyway?
18:23 IOninja There are some good ones tho: "@zoffix @FakeUnicode τ is defined as a constant. I love this." ... "I really need to find the time to learn perl 6" .... "@0xlynn @zoffix Ⅹ/10, best update" ..... "OH MY GOD Perl 6 lets you write  my $var = ⅒ + 2 + Ⅻ; and then $var == 14.1;" .... "tbh I would love to have this in JS" .... "@zoffix really! Don't know why people are against the most natural way to express
18:23 IOninja logical ops! I mean, that's what we use in school" .... "nice" .... "I gotta install me some Perl 6..."
18:23 IOninja The positives outweight the haters by a good margin.
18:23 timotimo neato
18:23 nine raschipi: isn't Perl 6 a subset of Math anyway?
18:24 raschipi Math is just silly because they have silly things like ≤≥≠.
18:25 naxieAlDle xD
18:25 naxieAlDle hm
18:25 naxieAlDle ×D
18:25 raschipi "☞ Math just is. Don’t make people declare it."
18:25 robertle joined #perl6
18:26 espadrine joined #perl6
18:26 * naxieAlDle looks at ¬ ∧ ∨ ⊻
18:27 naxieAlDle nah…
18:27 IOninja u: ¬∧∨⊻
18:27 unicodable6 IOninja, U+00AC NOT SIGN [Sm] (¬)
18:27 unicodable6 IOninja, U+2227 LOGICAL AND [Sm] (∧)
18:27 unicodable6 IOninja, 4 characters in total: https://gist.github.com/e40e​617ca4d7211835068c7b8e00f4f8
18:27 raschipi naxieAlDle: There are a couple of people that expressed interest in implementing APL in Perl6, maybe you should talk to them.
18:28 IOninja naxieAlDle: Let's not... :)
18:28 spebern joined #perl6
18:28 IOninja naxieAlDle: I'm surprised no one added a fancy-pants WhateverStar.
18:28 naxieAlDle IOninja: which one exactly?
18:28 naxieAlDle huggable: texas
18:28 huggable naxieAlDle, All of Perl 6's fancy Unicode operators have traditional ASCII symbol alternatives (aka Texas Variants): See http://doc.perl6.org/language/unicode_texas
18:28 IOninja That's one term I wish we had something prettier to use
18:28 IOninja naxieAlDle: which ones are there?
18:28 mscha m: say √2¼ == 1½
18:28 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 3say7⏏5 √2¼ == 1½␤Bogus postfix␤at <tmp>:1␤------> 3say 7⏏5√2¼ == 1½␤    expecting any of:␤        infix␤        infix stopper␤        p…»
18:29 IOninja u: { *.uniprop eq "Nd" }
18:29 unicodable6 AlexDaniel, MasterDuke: Hey folks. What's up with me?
18:29 unicodable6 IOninja, Oops, something went wrong!
18:29 naxieAlDle https://gist.github.com/AlexDaniel/​c89bd2786f9b63f31e4c#whatever-star
18:29 IOninja naxieAlDle: also that's broken ^
18:29 naxieAlDle it's not
18:29 IOninja How to use it then?
18:29 naxieAlDle u: { .uniprop eq "Nd" }
18:29 naxieAlDle or
18:29 IOninja Oh, right
18:29 IOninja :P
18:29 naxieAlDle or just u: Nd
18:29 unicodable6 naxieAlDle, U+0030 DIGIT ZERO [Nd] (0)
18:29 unicodable6 naxieAlDle, U+0031 DIGIT ONE [Nd] (1)
18:29 unicodable6 naxieAlDle, 580 characters in total: https://gist.github.com/68bc​3789b33dacf6159adcc96d1bef4c
18:29 IOninja heh
18:29 rurban joined #perl6
18:30 IOninja u: star
18:30 unicodable6 IOninja, U+066D ARABIC FIVE POINTED STAR [Po] (٭)
18:30 unicodable6 IOninja, U+06DE ARABIC START OF RUB EL HIZB [So] (۞)
18:30 unicodable6 IOninja, 63 characters in total: https://gist.github.com/f331​376b3500eb034fd4c76f17bbc92e
18:30 raschipi U+22C6 STAR OPERATOR [Sm] (⋆)
18:30 naxieAlDle raschipi: that's an operator
18:31 raschipi It's the APL star operator
18:31 naxieAlDle 25 ⋆ 10 is what I'd expect to see for this symbol
18:32 raschipi This one: https://en.wikipedia.org/wiki/Hodge_dual
18:32 itaipu joined #perl6
18:32 naxieAlDle oh, it's a prefix thingy
18:33 IOninja u: circle
18:33 unicodable6 IOninja, U+05AF HEBREW MARK MASORA CIRCLE [Mn] (◌֯)
18:33 unicodable6 IOninja, U+20DD COMBINING ENCLOSING CIRCLE [Me] (◌⃝)
18:33 unicodable6 IOninja, 551 characters in total: https://gist.github.com/f4ef​420a6d8c56df1bc529385cc87851
18:34 cale2 my only complaint about unicode symbols is how awful they look on my computer. They're all so tiny :(
18:34 naxieAlDle heh, maybe it shouldn't even print the first two if there are ≥100 in total
18:34 raschipi cale2: you need a better font
18:34 cale2 I need a tool that says "if it's a non latin letter, make it twice as big"
18:34 raschipi it's called a better font
18:34 cale2 latin letters are okay being small
18:34 cale2 raschipi: recommendations?
18:35 cale2 do you set it as your whole system's font?
18:35 eroux joined #perl6
18:35 IOninja naxieAlDle: they all kinda suck. They're either too big and look ugly, or too small and look weird :/
18:36 naxieAlDle IOninja: I think I liked ⁎ and ⁑
18:36 raschipi I like giving fon ts recommendations, but I need to do something, will be right back.
18:37 IOninja .grep(⁎.uniprop eq 'Foo')
18:37 IOninja looks weird being so low
18:37 naxieAlDle doesn't look that great
18:37 IOninja (at least on this font)
18:37 naxieAlDle but at least distinguishable from *
18:38 IOninja https://temp.perl6.party/snapshot1.png
18:38 naxieAlDle IOninja: so yes, why were you surprised again? :P
18:38 Ven joined #perl6
18:38 IOninja naxieAlDle: surprised?
18:39 naxieAlDle IOninja: “I'm surprised no one added a fancy-pants WhateverStar.”
18:39 IOninja Ah, well, s/surprised/disapointed/; :)
18:40 IOninja .grep(⚛.uniprop eq 'Foo')
18:40 IOninja We got a winner! :P
18:40 girafe joined #perl6
18:40 naxieAlDle u: ⚛
18:40 unicodable6 naxieAlDle, U+269B ATOM SYMBOL [So] (⚛)
18:41 ilmari not to be confused with ⚝
18:41 ilmari u: ⚝
18:41 unicodable6 ilmari, U+269D OUTLINED WHITE STAR [So] (⚝)
18:42 IOninja .grep(🔯.uniprop eq 'Foo')
18:42 IOninja .grep(⚝.uniprop eq 'Foo')
18:42 perlpilot u: ⚡
18:42 unicodable6 perlpilot, U+26A1 HIGH VOLTAGE SIGN [So] (⚡)
18:43 naxieAlDle perlpilot: can be confused with ⌁, which is also proposed for ~~ :)
18:43 perlpilot u: 🦇
18:43 unicodable6 perlpilot, U+1F987 BAT [So] (🦇)
18:43 perlpilot I was just going through the DC comics symbols  ;)
18:43 IOninja I like this one 🔯 but I imagine close resemblance of Star of David is bound to piss some group of people off... -_-
18:44 perlpilot IOninja: I liked the atom symbol
18:44 naxieAlDle anyway, let's focus on things that are obvious and that were actually requested
18:44 IOninja perlpilot: wooo!
18:45 * IOninja commits "Add 🔯 as WhateverStar alias; approved by perlpilot" :P
18:45 naxieAlDle .oO( meanwhile, ask unicode consortium to add more stars )
18:46 perlpilot If you wanted to get people upset, use ☪
18:47 perlpilot u: ⛭
18:47 unicodable6 perlpilot, U+26ED GEAR WITHOUT HUB [So] (⛭)
18:47 perlpilot I kinda like that one too :)
18:47 naxieAlDle .oO( here's the thing! We can use 卐 for WhateverStar, and 卍 for hyperwhatever )
18:48 IOninja u: 卐卍
18:48 unicodable6 IOninja, U+5350 <CJK Ideograph> [Lo] (卐)
18:48 unicodable6 IOninja, U+534D <CJK Ideograph> [Lo] (卍)
18:48 * IOninja wonders which one is the swastika
18:48 zakharyas joined #perl6
18:48 perlpilot the first one
18:49 IOninja Hm, neither I guess, 'cause it needs the dots.
18:49 IOninja My neighbour across the hall has these on their doorstep made out of melted candlewax...
18:49 perlpilot I think it's also always rotated 45° for the nazis
18:49 IOninja Well, the proper one: https://en.wikipedia.org/w​iki/File:HinduSwastika.svg
18:50 cale2 the man in the high castle was a pretty decent show
19:03 zengargoyle i really wish rakudo (or p6) had a built-in table of some sort that could track unicode <-> texas mappings somehow.  IIRC it's currently like there's a bit of code that handles one way (like for '<=' and then a bit of code for the other (like '≤') that just calls the former.
19:04 zengargoyle it would be nice to somehow register things as being equivalent and be able to dump those things out somehow.
19:04 MasterDuke in code you mean? you aren't talking about https://docs.perl6.org/language/unicode_​texas#Other_acceptable_single_codepoints ?
19:06 cale2 hmm... so you'd have a method that tells you the alternate form?
19:06 geekosaur I think they want a way to tell hashes/stashes?/whatever that "these keys should map to the same thing".
19:06 raschipi zengargoyle: Is it something we would want to abstract away?  "☞ Even declarative definitions are implemented by operations at compile time."
19:06 zengargoyle yes, that's a list in the documentation that has to be manually kept up to date.
19:07 cale2 m: say <=.alt-form; # OUTPUT: ≤
19:07 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at <tmp>:1␤------> 3say <=.alt-form; # OUTPUT: ≤7⏏5<EOL>␤    expecting any of:␤        argument list␤        …»
19:07 geekosaur so you don;t have to remember which key isthe real one and which one maps to a redirection sub or whatever
19:07 IOninja Why do you need to remember that?
19:07 cale2 pretty sure all the docs have to be manually kept up to date. Because they're separate from any one implementation like Rakudo
19:07 raschipi I think he wants signatures to accept a list of names instead of just one?
19:07 zengargoyle i haven't thought about it in about a year or so.... i was thinking of auto-generating a .XCompose file or similar for other input methods.
19:08 IOninja A lot of these are too low-level to abstract it away into a nice little table
19:08 zengargoyle there's no way from inside of p6 to know that those two things are the same thing...
19:08 IOninja And some are dynamic ops that don't really map 1-to-1 (e.g. »=» and >>[=]>>)
19:08 IOninja or 2**-1.5 vs 2**2; one has Unicode version the other doesn't
19:09 zengargoyle yeah, but those aren't really texas alternatives where ≤ is exactly <=
19:10 IOninja heh
19:10 zengargoyle and one of those literally just calls the other
19:10 IOninja They are really texas alternatives.
19:11 IOninja zengargoyle: and 2² calls infix:<n> or whatever it's called.
19:11 IOninja zengargoyle: and ≤ doesn't really call <=; it all gets optimized away and constant-folded
19:11 naxieAlDle come on, I'm not even sure if we will add *any* other unicode ops
19:11 zengargoyle i looked mostly at the set operations.
19:11 naxieAlDle and you're talking about keeping the table up to date…
19:12 IOninja m: say [ &infix:<≤>.signature, &infix:«<».candidates».signature ]
19:12 camelia rakudo-moar 9da50e: OUTPUT: «[(|c is raw) (($?) (\a, \b) (Real \a, Real \b) (Int:D \a, Int:D \b) (int $a, int $b) (Num:D \a, Num:D \b --> Bool) (num $a, num $b --> Bool) (Rational:D \a, Rational:D \b) (Rational:D \a, Int:D \b) (Int:D \a, Rational:D \b) (Instant:D $a, Instant:D $b) (…»
19:12 IOninja Even signatures differ
19:12 itaipu joined #perl6
19:13 naxieAlDle you should try with ∘
19:13 naxieAlDle m: say &infix:<∘> eqv &infix:<o>
19:13 camelia rakudo-moar 9da50e: OUTPUT: «True␤»
19:13 IOninja And all the quote combinations are parsed separately and there aren't any aliasing done
19:13 naxieAlDle m: say &infix:<!=> eqv &infix:<≠>
19:13 camelia rakudo-moar 9da50e: OUTPUT: «False␤»
19:13 naxieAlDle this one gives False because my PR is not ready yet
19:13 IOninja And you can't even substitute them exactly, because some unicode quotes you can nest, but you can't nest "
19:15 IOninja And ௰௰ is a syntax error, while 1010 isn't
19:17 [Coke] yah. docs are the place for that. Even if they are eqv in one compiler, there is no test guaranteeing that they would be in other ones.
19:17 IOninja m: say ৷
19:17 camelia rakudo-moar 9da50e: OUTPUT: «0.25␤»
19:17 IOninja m: "৷".uniname
19:17 camelia rakudo-moar 9da50e: ( no output )
19:17 IOninja m: "৷".uniname.say
19:17 camelia rakudo-moar 9da50e: OUTPUT: «BENGALI CURRENCY NUMERATOR FOUR␤»
19:17 IOninja Weird char. Says "numerator 4", but it's actually denominator that's 4
19:17 [Coke] wonder if unicode bug
19:18 IOninja There's a whole bunch of them
19:18 IOninja u: BENGALI CURRENCY
19:18 unicodable6 IOninja, U+09F4 BENGALI CURRENCY NUMERATOR ONE [No] (৴)
19:18 unicodable6 IOninja, U+09F5 BENGALI CURRENCY NUMERATOR TWO [No] (৵)
19:18 unicodable6 IOninja, 6 characters in total: https://gist.github.com/1eb7​945b14fc00ad2e41d2a3f3398213
19:18 zengargoyle i was thinking more along the lines of one sub with a canonical texas name but some sort of annotation that these other aliases are equivalent.
19:19 zengargoyle instead of just having two or more subs with different names where all the extra ones just call the first one instead.
19:20 [Coke] zengargoyle: not all of these things are subs
19:20 [Coke] we'd have to complicate the compiler elsewhere to potentially simplify that part.
19:20 IOninja zengargoyle: that's already a problem in the ops that started this discussion. The ≤ is not equivalent of <=
19:20 IOninja m: say 1 <<≤>> 1
19:20 camelia rakudo-moar 9da50e: OUTPUT: «True␤»
19:20 IOninja m: say 1 <<<=>> 1
19:20 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Missing << or >>␤at <tmp>:1␤------> 3say 1 <<<=>7⏏5> 1␤    expecting any of:␤        infix␤        infix stopper␤»
19:23 rindolf joined #perl6
19:23 g0d355__ joined #perl6
19:23 naxieAlDle and all that for what? What problem are you solving?
19:24 zengargoyle i'll take your word for it... i had just though of a module that could genereate various input method texas/unicode mappings and wanted to avoid the idea of having to keep a table of mappings up to date.
19:26 MasterDuke i've heard mention of an 'aka' trait lizmat created at one point, but i don't think it still exists
19:26 zengargoyle it seem a shame to have to grep the rakudo source for unicode named things and figoure out what texas thing they are.
19:26 eroux joined #perl6
19:27 IOninja Rakudo is not Perl 6. We have the documentation for what Texas equivalents Perl 6 language provides: https://docs.perl6.org/language/unicode_texas.html
19:27 zengargoyle and i don't count ² and the like as being texasifiable.
19:29 [Coke] zengargoyle: but you don't have to grep the source. You have the docs.
19:30 zengargoyle heh, docs typed by humans sometimes don't match reality.
19:31 zengargoyle maybe when POD gets some steroids an annotation in the source will do.
19:31 [Coke] tbrowder: https://github.com/perl6/doc/issues/1238 is yours.
19:33 zengargoyle #| :aka('(&)')
19:34 * [Coke] thinks that "mexico" form should just read "unicode" form.
19:35 lizmat MasterDuke: https://github.com/rakudo/raku​do/commit/337b4c8c6e6af6fc5af   # the demise of the "aka" trait
19:35 * [Coke] appreciates the counterpoint to "texas", but it seems to be even more confusing.
19:35 * naxieAlDle always counted “mexico” form as the normal one
19:36 lizmat MasterDuke: if I recall correctly, the main reason it was removed, was because it would need a grammar change as well
19:36 lizmat MasterDuke: and it was felt that would slow down parsing too much
19:36 tbrowder [Coke]: i'll fix it. it's failing because i didn't close
19:36 lizmat MasterDuke: of course, nothing stopping you from putting it in the ecosystem  :-)
19:36 cdg joined #perl6
19:37 [Coke] tbrowder: i think it's missing a variable declaration.
19:37 tbrowder *declare $string again
19:38 MasterDuke lizmat++
19:38 zengargoyle or if it's trunly a perl6 provided thing maybe a %*TEXAS that just says these are official 6.? things.
19:38 [Coke] tbrowder++ # thanks.
19:38 tbrowder forgot the test bot might hit there
19:40 * zengargoyle probably has more important p6 things to catch up on after being away for a while.
19:40 spebern joined #perl6
19:40 IOninja zengargoyle: that ignores half the discussion that occured on the topic. Not all texas things map exactly equivalently and not all Unicode things make any sense entirely out of context (is "²" an No numeral or is that a power op?). Lastly, the %*TEXAS would be populated by a human, so if you don't like the docs populated by humans, I don't see how %*TEXAS makes the thing any better.
19:40 IOninja m: say ²²
19:40 camelia rakudo-moar 9da50e: OUTPUT: «4␤»
19:41 IOninja ^ not a bug; the two ² each has different interpretation
19:41 [Coke] m: say ²²²²²²²²²²²²²²²²
19:41 camelia rakudo-moar 9da50e: OUTPUT: «Numeric overflow␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
19:41 zengargoyle one's parsing a document, the other is dumping a hash.
19:41 naxieAlDle there's a ticket for that, if I recall correctly
19:42 IOninja IMO that ticket should be closed.
19:42 zengargoyle one requires external things, one doesn't
19:42 * naxieAlDle is not going to search for the ticket number then :PP
19:42 zengargoyle one can fail because the net is down, one can't
19:42 * lizmat starts working on the P6W: if there's something you want to make sure is in the Weekly, let me know!
19:42 IOninja zengargoyle: one's for Perl 6 language; the other's for a particular implementation; one's viewed by thousands of eyes, the other by a dozen.
19:43 IOninja (to spot errors in it)
19:43 naxieAlDle lizmat: ≤≥≠ and ⁇‼ come to mind
19:44 lizmat yes, they will be mentioned  :-)
19:44 Geth ¦ doc: hankache++ created pull request #1239: pod.pod6 pass xtest
19:44 Geth ¦ doc: review: https://github.com/perl6/doc/pull/1239
19:45 naxieAlDle IOninja: oh, it's #126732, and there's also your comment
19:45 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=126732
19:47 bjz joined #perl6
19:49 RabidGravy boom!
19:52 IOninja naxieAlDle: nah, it's not from me. It's from Jul, 2016 Zoffix. Still a grasshopper.
19:53 Geth ¦ doc/master: 4 commits pushed by (Naoum Hankache)++, (Will Coleda)++
19:53 Geth ¦ doc/master: e074ffdbdd | Fix nbsp in pod.pod6
19:53 Geth ¦ doc/master: e85316b13a | Pass aspell.t for pod.pod6
19:53 Geth ¦ doc/master: 7b1598c575 | Fudge examples-compilation.t for pod.pod6
19:53 Geth ¦ doc/master: 2321be87f6 | Merge pull request #1239 from hankache/master
19:53 Geth ¦ doc/master: review: https://github.com/perl6/doc/c​ompare/4ee2630a90...2321be87f6
19:55 IOninja naxieAlDle: and the reason I think it should be closed right now is that adding any sort of warnings for that case is catering to like 0.00000000000000001% of coders who'll write this by accident and actually mean something different
19:55 naxieAlDle IOninja: well, consider leaving a comment
19:56 naxieAlDle maybe next time we get this discussion we can close it
19:56 zengargoyle samcv: when i last looked, the ibus compose user defined table was an sqlite db with a small number of columns for the mappings (like 4 or 5) thus limiting the possibilities.  i have a bunch of XCompose things that are long sequences that wouldn't fit.
19:56 naxieAlDle though I'd argue that the behavior is LTA and needs a warning
19:56 IOninja I'll close it right now.
19:56 naxieAlDle :O
19:56 IOninja Why does it need a warning? ² is an No, and we allow Nos as numerals
19:56 IOninja m: say ²
19:56 camelia rakudo-moar 9da50e: OUTPUT: «2␤»
19:57 naxieAlDle but ²² is syntactical nonsense
19:57 IOninja No, it's not
19:57 IOninja It's an `No` char with Mexico **2
19:57 zengargoyle samcv: for instance i think (elem) was too long to actually work with the ibus compose system whereas compose-lightbulb works fine with XCompose
19:58 IOninja m: say ²**2
19:58 camelia rakudo-moar 9da50e: OUTPUT: «4␤»
19:58 IOninja m: say ²²
19:58 camelia rakudo-moar 9da50e: OUTPUT: «4␤»
19:58 naxieAlDle so?
19:58 IOninja The only reason it looks weird is because we also have No chars as ops.
19:58 IOninja naxieAlDle: "so?" what?
19:58 naxieAlDle Just because rakudo is able to parse it doesn't mean this should work
19:58 [Coke] if you want to change it, naxieAlDle, please add a note to the 6.d docs
19:59 [Coke] It was added knowing that it looked weird, but was felt it was worth it to get 2² working in time for christmas.
19:59 IOninja naxieAlDle: No, just because Perl 6 allows `No` chars as numerals doesn't mean we should special-case some subset of them just because they're postfixed by a particular op
20:00 naxieAlDle [Coke]: wait, change what?
20:00 [Coke] If you don't want ²² to mean 2**2
20:01 IOninja naxieAlDle: I can phrase it differently: what do you feel the generated warning should accomplish?
20:01 IOninja And what would it say?
20:01 zengargoyle footnote 22
20:01 zengargoyle :)
20:02 naxieAlD` joined #perl6
20:02 zengargoyle footnote 22 applied to no item
20:03 zengargoyle can't raise nothing to the 22nd power
20:03 IOninja It's not 22nd power.
20:03 zengargoyle sure it is, if you wrote that in a math paper people would go 'huh?'
20:04 IOninja Perl 6 looks for a term and it finds it: one No char. It then looks for an operator, and it finds it: raise to power of 2
20:04 [Coke] there's "what it means in rakudo today" and "what people thing it should mean" - might help to be clear about which meaning you're meaning.
20:04 zengargoyle why doesn't it find 22
20:05 IOninja zengargoyle: we're not writing in a math paper. If you wrote 1/0 == Inf in a math paper, people would go "huh?"
20:05 IOninja zengargoyle: because you can't chain No chars.
20:05 [Coke] zengargoyle: because that's not the grammar is written. :)
20:05 * [Coke] adds a *how* in there.
20:06 IOninja To me it looks no different than:
20:06 IOninja m: say ፪²
20:06 camelia rakudo-moar 9da50e: OUTPUT: «4␤»
20:06 IOninja A warning assumes a programmer most likely made a mistake and needs to check their code.
20:07 IOninja And in this case people write ²² and say it looks yuky, when it's just ፪² written using a different No char.
20:07 IOninja ¯\_(ツ)_/¯
20:08 naxieAlDle yes, that's right
20:08 naxieAlDle I can't imagine anybody writing ²² on purpose
20:08 IOninja hah
20:08 naxieAlDle and that's why it should warn
20:08 IOninja Why warn and not throw?
20:09 naxieAlDle a compile-time error is ok too, yes
20:09 Ven joined #perl6
20:09 [Coke] naxieAlDle: should ፪² warn/error ?
20:09 naxieAlDle no
20:09 [Coke] or just ²² ?
20:09 naxieAlDle yes
20:09 mr-foobar joined #perl6
20:10 [Coke] ok. I disagree.
20:10 MasterDuke pistols at high noon!
20:10 IOninja :)
20:11 MasterDuke who volunteers to be ²nds?
20:11 zengargoyle a superscript has to have something non-superscript to superscript
20:12 zengargoyle it's messing up the levels by forcing a superscript to a non-superscript
20:12 IOninja zengargoyle: it does. An No char that is a valid numeral in Perl 6.
20:12 IOninja naxieAlDle: someone on the Internet is being mean: https://twitter.com/secoliv​e/status/838828860317777921
20:13 naxieAlDle IOninja: at least he agrees that ≤ ≥ ≠ is a great idea! XD
20:13 zengargoyle maybe we should just got full latex mode as the texas
20:13 naxieAlDle (at least that's how I read it)
20:13 naxieAlDle or wait, was it a quote of you
20:14 * naxieAlDle needs to learn twitter
20:14 IOninja naxieAlDle: yes, it was a quote: https://twitter.com/zoffix​/status/838709592364355584
20:14 IOninja with "stupidest idea ever" added.
20:15 naxieAlDle bisect: old=2015.07 say ½
20:15 bisectable6 naxieAlDle, Bisecting by exit code (old=2015.07 new=9da50e3). Old exit code: 1
20:16 bisectable6 naxieAlDle, bisect log: https://gist.github.com/e967​26c12d6dd85ae5951368fdc25445
20:16 bisectable6 naxieAlDle, (2015-11-24) https://github.com/rakudo/rakudo/commit/​8ef5a59eebe9591325393d987566927b4d24366b
20:17 zengargoyle it's a mapping of a high resolution 2d space into a low resolution 2d space that's almost 1d space and a cognitive overload to ignore size in preference to order.
20:17 zengargoyle bit+little makes sense, little+little is the same as big+big
20:19 zengargoyle if ²² was 2² then the second ² of the former should be tinnier than the first ².  but it isn't
20:20 naxieAlDle meh
20:20 naxieAlDle let me just implement the freaking error
20:20 zengargoyle you're forcing a mental focus when reading left to right of a thing that is seen as a single item, a ²²
20:20 raschipi zengargoyle: Now you're complaining about Unicode bugs. We don't fix those.
20:21 zengargoyle lol
20:21 raschipi We could complain, you can bother if you want.
20:21 IOninja naxieAlDle: please profile performance of the change.
20:22 cale2 How do you build docs for a module you download through zef?
20:22 cale2 perl6 --doc=HTML Mod::Name > mydocs.html
20:23 IOninja That's the way.... if it has Pod docs.
20:23 zengargoyle is POD still so wonky that the module has to compile before you can read the docs?
20:24 [Coke] glun
20:24 * zengargoyle grumbles
20:24 vendethiel joined #perl6
20:24 [Coke] weird, oops
20:24 spebern` joined #perl6
20:24 geekosaur I think there just isn't a way to extract pod by itself yet, we use the compiler to extract it
20:25 geekosaur otoh I'm not sure ways to do it without the compiler are very viable
20:25 [Coke] you use the compiler to extract the pod, yes.
20:25 cale2 Do I have to be in the same directory as the module? Even if i downloaded it through zef?
20:26 zengargoyle i pretty much agree.
20:26 cale2 It says "could not open mule. Failed to stat file: no such file"
20:26 IOninja mule....
20:26 IOninja wat
20:26 cale2 module hahah
20:26 IOninja heh
20:26 perlpilot you're supposed to ride mules, not open them
20:26 naxieAlDle IOninja: what would be the best way to profile compilation time?
20:27 zengargoyle that was the other rub... once installed the module source is some hashed thing lost in the CUR or such..  hard to find.
20:27 MasterDuke --profile-compile
20:28 zengargoyle is there a `perldoc -m` type of thing yet?
20:28 perlpilot At least in P5 we have `perldoc -l My::Module`
20:28 zengargoyle yeah, that too
20:28 perlpilot It feels weird that p6doc would be the place for such a feature (but at least it's consistent with P5)
20:28 cale2 Okay, so let's say I cloned the repo for the module (which I did). Then I cd into the directory. Do I have to run `perl6 --doc=HTML` on a specific file?
20:29 cale2 or do i run it on the general directory
20:29 * zengargoyle thinks that's just a lack of tuits
20:29 perlpilot zengargoyle: maybe P6 could get some built-in pmtools
20:30 IOninja cale2: or maybe it's perl6 --doc=HTML -MMod::Name -e''
20:30 IOninja does perl6 -MMod::Name -e '' work; can it find the module?
20:30 mrdside joined #perl6
20:30 mscha m: say ₂;
20:30 camelia rakudo-moar 9da50e: OUTPUT: «2␤»
20:30 mscha m: say ₂₂;
20:30 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Bogus postfix␤at <tmp>:1␤------> 3say ₂7⏏5₂;␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤        s…»
20:30 mrdside left #perl6
20:30 cale2 maybe i have to do "- ILIB" i've seen that before
20:31 cale2 so it searches in all the folers
20:31 cale2 folder
20:32 IOninja m: say ₂²
20:32 camelia rakudo-moar 9da50e: OUTPUT: «4␤»
20:33 mscha m: say ²₂;
20:33 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Bogus postfix␤at <tmp>:1␤------> 3say ²7⏏5₂;␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤        st…»
20:34 IOninja Two `No` chars. Can't chain those.
20:34 mscha Ah, so there's unicode digits and numbers, and ₂ is a number, not a digit.
20:35 [Coke] aye.
20:35 mscha I.e. 2¹² is special cased.
20:35 mscha m: 2¹²
20:35 camelia rakudo-moar 9da50e: ( no output )
20:35 mscha m: say 2¹²
20:35 IOninja naxieAlDle: EVAL '$ = 2²;' x 1000; maybe, but right, that'd be just compile time change, so I doubt it matters much, so never mind :)
20:35 camelia rakudo-moar 9da50e: OUTPUT: «4096␤»
20:35 [Coke] superscripts-as-powers is a different part of the grammar, yes.
20:36 cale2 ok, I ran perl6 --doc=HTML on an individual file. It looks bad
20:36 [Coke] https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Grammar.nqp#L4234
20:37 zengargoyle has anyone done serious POD6 work in the past year?  i tried to implement =data a while back and i think shimmerfairy was doing some POD6 work but i've lost track.
20:38 cale2 I am on a mission from God to make docstrings work well
20:38 [Coke] shimmerfairy was working on it... over a year ago, IIRC, near "Christmas"
20:38 MasterDuke zengargoyle: i think tbrowder was working on it some
20:38 zengargoyle i had =data working but couldn't figure out how to get it into rakudo vs as a hacked rakudo + a module
20:39 cale2 zengargoyle: you have a github repo for it?
20:40 cale2 http://design.perl6.org/S26.html​#How_Pod_is_parsed_and_processed You plug in your own module somehow
20:41 zengargoyle i have it around somewhere i think in a git but not github.  i had to create %*DATA or whatever it was in a pure perl6 module way but could not figure out how to get it into settings or whatever so that it would be there from the start.
20:42 tbrowder [Coke]: i'm not going to be able to fix docs for a while--still on the road
20:43 [Coke] tbrowder: no worries.
20:43 [Coke] just wanted to make sure I'm not the only one running xtest. :)
20:43 zengargoyle i got lost in the nqp stuff and boxing and unboxing and yadda yadda.  it was a pretty simple cut-n-paste of some other block type but removing the whitespace smushing.
20:45 zengargoyle and you could get it from some deep dive into the %*POD but i couldn't figure out how to move it into %*DATA (or whatever as memory fails me)
20:49 IOninja naxieAlDle: fwiw, it's kinda sucky to ruin a nice and short rule: "you can use No, Nd, and, Nl as a numeral".... Now it'd be "except for this subset of No, followed by non-texan power operators"
20:49 IOninja m: [++$]
20:49 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of $] variable; in Perl 6 please use $*PERL.version or $*PERL.compiler.version␤at <tmp>:1␤------> 3[++$]7⏏5<EOL>␤»
20:50 IOninja On the level of this ^ LTAness
20:50 IOninja "What the hell is a $] variable? What are you talking about? I'm using $ state var"
20:51 mscha m: [ ++$ ]
20:51 camelia rakudo-moar 9da50e: ( no output )
20:51 bwisti joined #perl6
20:52 raschipi It looks like $] to me.
20:52 IOninja $] is not a valid variable name.
20:52 IOninja So telling me it's not supported when I didn't even attempt to use it is dumb.
20:53 raschipi You did attempt to use it, I can see it right there.
20:53 IOninja raschipi: well, get your eyes checked then.
20:54 raschipi m: [++$] # <-- It's right here. And the code is also missing a ']'.
20:54 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of $] variable; in Perl 6 please use $*PERL.version or $*PERL.compiler.version␤at <tmp>:1␤------> 3[++$]7⏏5 # <-- It's right here. And the code is ␤»
20:54 geekosaur IOninja, $] is an obsolete perl 5 thing
20:56 perlpilot Rakudo could be a little smarter about when to mention $]
20:56 IOninja geekosaur: exactly. Even in Perl 5 it's obsolete. Why are we warning about it.
20:57 perlpilot IOninja: oh, you're saying to totally remove the warning?  I can get behind that.
20:57 geekosaur because you get folks like red hat who ship ancient perl versions
20:57 IOninja It's not the first time these Perl 5 issues crept up in my code. I'm not writing Perl 5. I'm not writing Ruby. I'm not writing Python. I'm writing Perl 6. And I wrote valid Perl 6.
20:58 * IOninja yells at the cloud.
20:58 geekosaur and folks who wrote a script in perl 3 and didn't bother changing it to use $^V when that became available
20:58 IOninja m: { $^V.say }(42)
20:58 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of $^V variable; in Perl 6 please use $*PERL.version or $*PERL.compiler.version␤at <tmp>:1␤------> 3{ $^V7⏏5.say }(42)␤»
20:58 IOninja Another one.
20:59 geekosaur as I said earlier, many perl 6 behaviors came from assuming perl 5 baseline and haven't really been reexamined since
20:59 IOninja raschipi: $] is not a valid variable.
20:59 geekosaur even though perl 6 has very definitely gone its own way in the meantime
20:59 raschipi Why did you use it, then?
20:59 perlpilot IOninja: perhaps petition TimToady about these?
20:59 geekosaur it's not $]
20:59 IOninja raschipi: I didn't. I've used an anonymous var.
20:59 geekosaur it's an anonymous state variable, $
21:00 IOninja m: { $^X.say }(42)
21:00 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of $^X variable; in Perl 6 please use $*EXECUTABLE-NAME␤at <tmp>:1␤------> 3{ $^X7⏏5.say }(42)␤»
21:00 IOninja another one....
21:00 IOninja m: { $*EXECUTABLE-NAME.say }(42)
21:00 camelia rakudo-moar 9da50e: OUTPUT: «perl6-m␤»
21:00 IOninja Thanks, compiler! That's exactly what I wanted.
21:02 perlpilot In the past I've lauded that Rakudo partially parses Perl 5 and helpfully reminds you that you're using Perl 6, but when it gets in the way rather than be helpful it is LTA
21:03 geekosaur isn't there a way to turn those off yet?
21:04 geekosaur it's been discussed before (and how they escape "no worries;")
21:04 IOninja I never understood Perl 6's obsession with Perl 5, TBH. Possibly because I came in after the whole "Perl 6 is a different language" thing took root. In that context whining about variables from another language just makes little sense...
21:04 IOninja m: no worries; $;
21:04 camelia rakudo-moar 9da50e: OUTPUT: «WARNINGS for <tmp>:␤Useless use of unnamed $ variable in sink context (line 1)␤»
21:04 IOninja hey it worked! :)
21:05 IOninja Clearly it's a bug. It needs to whine about $; variable
21:05 IOninja m: no worries; [++$]
21:05 camelia rakudo-moar 9da50e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of $] variable; in Perl 6 please use $*PERL.version or $*PERL.compiler.version␤at <tmp>:1␤------> 3no worries; [++$]7⏏5<EOL>␤»
21:06 IOninja wow, there's a whole ton of them: https://github.com/rakudo/rakudo/blob/​nom/src/Perl6/Grammar.nqp#L1925-L2085
21:08 geekosaur IOninja, it's not so much "Perl 6 is a different langauge" so much as the focus shifting from "Perl 5 users will upgrade, of course" to "let them do what they will; focus on being Perl 6"
21:08 geekosaur which is why there are so many things that are either warnings for perl5 people or changes in behavior that try to mimic perl 5 in some sense while avoiding perl 5's idiosyncratic nature
21:10 timotimo what we need to do is not give old perl5 vars the "longest token"
21:11 IOninja And those warnings sound completely whack for someone who never coded Perl 5. They should probably reworded "Perl 5 usage detected: use blah instead of blah"
21:11 mscha m: say;  # Another one, I wish it'd print an empty line, like: say '';
21:11 camelia rakudo-moar 6771de: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant to call it as a method on $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun␤at <tmp>:1␤--…»
21:11 IOninja "Don't use $^X, use $*EXECUTABLE-NAME" sounds weird and very wrong, when I did in fact meant $^X
21:11 IOninja The Perl 6's $^X, not some other language's $^X
21:13 geekosaur tbh at this point I would (a) reword like IOninja said (b) make most of them warnings and treat them as p6
21:13 geekosaur but, as I said, the default at the time was to cater to upgrading perl 5 programmers
21:14 geekosaur because they were assumed to be the ones who'd be the early adopters
21:14 geekosaur (whereas in reality, who here has a significant perl 5 background other than mst and myself?)
21:14 IOninja I have 10 years under the belt.
21:15 IOninja But I'm writing Perl 6, not Perl 5. And the compiler telling me not to use Perl 5 things when I'm using Perl 6 things is annoying :)
21:16 * RabidGravy has been doing perl for ~25 years
21:16 IOninja Some seem bogus too? I can't figure out how to trigger this obsbrace token: https://github.com/rakudo/rakudo/blob/​nom/src/Perl6/Grammar.nqp#L4953-L4957
21:16 IOninja m: say qq"0o{"
21:16 camelia rakudo-moar 6771de: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in double quotes; couldn't find final '"' ␤at <tmp>:1␤------> 3say qq"0o{"7⏏5<EOL>␤    expecting any of:␤        double quotes␤        term␤»
21:16 perlpilot RabidGravy: man you're old!  ;)
21:16 geekosaur right, my point is theres a small number of us. not 300 out of the 330 people in this channel, likely not a majority of early adopters
21:16 mscha m: no perl5-errors; say [++$];
21:16 camelia rakudo-moar 6771de: OUTPUT: «===SORRY!===␤Don't know how to 'no perl5-errors' just yet␤»
21:17 Ven joined #perl6
21:17 * geekosaur has been using perl since perl 3.0.0 was released
21:17 IOninja sheesh, I wasn't even born then!
21:17 IOninja mscha: I'd go for `use perl5-errors`. So any perl5 programmer can plug it in while learning.
21:17 perlpilot IOninja: man you're young!  ;)
21:18 IOninja In fact, can be a module, `use pythong-errors`, `use ruby-errors` that are slangs
21:18 geekosaur pythong? mind the straps!
21:18 * perlpilot notes for the record that he's been doing perl for as long at RabidGravy  (yes, I'm old :)
21:18 IOninja Larry   3.000          1989-Oct-18
21:19 IOninja Well, I was three years old
21:19 RabidGravy I was still an assistant film editor making adverts when that came out :)
21:23 timotimo IOninja: does that mean you're now 6 years old because we're on perl 6?
21:23 * lizmat only clocks in at almost 23 years of Perl
21:24 labster joined #perl6
21:25 Ven joined #perl6
21:27 timotimo lizmat: you're good for a weekly tonight?
21:27 lizmat yes, almost done
21:27 lizmat do you have something I should mention ?
21:28 timotimo no, just checking in to see if everything's good :)
21:28 lizmat yeah, last week's was a bit late because of AmsterdamX.pm meeting and travel back home
21:28 lizmat this one should be here in about 30 mins or so
21:29 lizmat now, if someone would add another 9 tests to roast, I could mention we broke the 56K barrier  :-)
21:29 lizmat *nudge*
21:29 lizmat :-)
21:29 IOninja timotimo: I wish :)
21:30 IOninja lizmat: multiple tests inside a subtest only count as one test tho :) It's way more than 56K, even for spectest
21:30 lizmat true
21:32 mscha m: my $bag = bag <🔴 🔴 🔴 🔴 🔴 🔴 🔵 🔵 🔵 🔵>; say $bag.pick(3);  # Unicode rulez
21:32 camelia rakudo-moar 6771de: OUTPUT: «(🔴 🔴 🔵)␤»
21:33 * timotimo can see none of these
21:33 naxieAlDle heh, today everyone is unhappy for some reason
21:33 jnthn .oO( It took my village some years to break the 56K barrier... :-) )
21:33 timotimo and in my browser they look the same :\
21:34 mscha OK, Unicode rulez when it works right.  🙁
21:36 IOninja m: my $bag = bag <🔴 🔴 🔴 🔴 🔴 🔴 🔵 🔵 🔵 🔵>; $bag.pick(20).say
21:36 camelia rakudo-moar 6771de: OUTPUT: «(🔴 🔵 🔴 🔴 🔴 🔵 🔴 🔵 🔴 🔵)␤»
21:55 Ven joined #perl6
22:04 RabidGravy no I'm perfectly happy
22:04 IOninja me too..
22:09 lizmat And another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/03/06/2017-10-≤-its-all-relative-≥/
22:11 darthdeus_ joined #perl6
22:13 moritz lizmat++
22:13 darthdeus_ hey guys, I have a silly question ... if I want to use perl6, is it worth getting a perl 5 book? so far I've been liking perl6 so much that I want it to become my go-to scripting language, but at the same time perl5 is available everywhere
22:14 IOninja darthdeus_: Perl 5 is a different language.
22:14 moritz darthdeus_: how about getting a Perl 6 book instead? I'm writing one right now https://leanpub.com/perl6 and you can buy an early version already
22:15 darthdeus_ IOninja: I realize it's a different language in a lot of ways, but don't lots of the thought processes carry over?
22:15 IOninja darthdeus_: it's pretty easy to install Perl 6 too. And the perl5 that's available is often without proper localization of modules and stuff, so you'd generally have to build it from scratch to avoid messing up system perl, same as with perl 6.
22:15 IOninja darthdeus_: I'm of the opinion that knowing Perl 5 intereferes with learning Perl 6.
22:16 darthdeus_ yeah that's a fair point ... I mean I already have like a 2 command setup to install perl6 in my dotfiles :D
22:16 IOninja darthdeus_: can't really think of anything that got carried over. The name of "map" and "grep" routines maybe.... and the name of the creator of the language. The rest is different.
22:16 darthdeus_ moritz: how complete is it?
22:16 darthdeus_ moritz: I mean I see 60% complete, but is it worth getting at the moment?
22:17 IOninja huggable: books
22:17 huggable IOninja, "Perl 6 At A Glance"  https://deeptext.media/perl6-at-a-glance/ (print only for now); "Perl 6 By Example": https://leanpub.com/perl6 (can order preview digital copies) ; "Think Perl 6: How to Think Like a Computer Scientist": http://shop.oreilly.com/product/0636920065883.do
22:17 IOninja darthdeus_: if you like dead-tree version, the first one in that list is already complete
22:17 darthdeus_ IOninja: awesome! I love dead trees :P
22:19 darthdeus_ which one would you say is the most "straight to the point"? I don't really want a beginner book that explains what a loop is
22:20 IOninja lizmat would likely know....
22:21 IOninja lizmat++ good weekly.
22:21 naxieAlDle yes, lizmat++
22:21 naxieAlDle looking at these twitter responses makes me think we should do that stuff more often…
22:21 IOninja Yeah
22:22 IOninja I decided on Friday to tweet "a tip a day" sort of thing daily.
22:22 IOninja And even those mean retweets... It's still exposure to 1000s more people.
22:24 sena_kun about the new ops(not like my opinion matters, just thought): *cough* h**kell and some similar languages, like a*da *cough* have such operators builtin or as a compiler extension for years and nobody complaints. :/ Double standards are strange.
22:24 IOninja It's trendy to hate on Perl tho.
22:26 naxieAlDle I wouldn't bet that these people actually know about other languages
22:26 naxieAlDle so probably not the double standards thing, just “my favorite language doesn't have this, so you suck”
22:26 geekosaur one difference is people may be thinking you;re expected to uyse them, like in apl
22:27 geekosaur none of the *standard* operators require unicode in haskell
22:27 geekosaur expected or required
22:27 geekosaur this is in some part marketing
22:27 IOninja Yeah
22:27 geekosaur (also, people *do* grump when encountering Haskell code with -XUnicodeSyntax enabled)
22:28 naxieAlDle that being said, they're right the they will *have* to see these ops in code written by others
22:28 IOninja naxieAlDle: two of the people who said it's a "stupid [f*cking] idea [ever]" work in infosec.
22:28 lizmat darthdeus_: Perl6 at a glance one could argue has the broadest, but also shallowest coverage of Perl 6 for programmers
22:28 lizmat darthdeus_: Think Perl 6 is specifically intended to teach you how to program, using Perl 6
22:28 sena_kun geekosaur, well, it can be, I've never seen it myself because of lack of experience. :)
22:28 IOninja naxieAlDle: tho one that actually bothered to reply to my questions couldn't come up with anything reasonable as to why
22:29 sena_kun s/it/grumping/
22:29 lizmat darthdeus_: so that would not really be what you're looking for
22:29 lizmat darthdeus_: Perl 6 By Example is more in depth, and as the title mentions, by example  :-)
22:30 lizmat darthdeus_: people learn in different ways: some by example, some be exposition, some by who knows what  :-)
22:30 IOninja naxieAlDle: the meanest one has 1600+ followers; I suppose there's a lot of "twitting anything to get the daily 'likes' fix" going on too
22:30 naxieAlDle IOninja: the one with his grep argument? Maybe somebody should tell him that grepping for things is easier whe unicode quotes are used…
22:30 moritz darthdeus_: I expect to put another 40% of effort in it
22:30 IOninja naxieAlDle: I think the grep argument was about that he's not only needs to grep for `<=` but also for the unicode op... Which is pretty inane
22:31 moritz darthdeus_: so, the manuscript is finished about 80% or 90% by volume, plus lots of more work editing etc.
22:31 darthdeus_ lizmat: I guess Perl 6 by example is probably what I want then, hehe
22:31 moritz darthdeus_: and if you buy it now, you'll receive free updates
22:31 darthdeus_ lizmat: thanks!
22:31 darthdeus_ moritz: any plans for a dead-tree version in the future?
22:31 geekosaur there is something of a "gentleman's agreement" to avoid unicode or NLS characters, aside from maybe comments (and even that seems frowned upon)
22:32 moritz darthdeus_: vague plans, yes
22:32 lizmat geekosaur: that feels like an WASP agreement to me
22:32 sena_kun well, my five cents are already here for today, so 'night, folks.
22:32 IOninja WASP? The security thing?
22:32 lizmat gnight sena_kun
22:32 moritz darthdeus_: I want get a publisher on board for that, and one is already mildly interested
22:32 IOninja night
22:32 moritz \o IOninja
22:33 lizmat IOninja: https://en.wikipedia.org/wiki​/White_Anglo-Saxon_Protestant
22:33 IOninja that was to sena_kun
22:33 naxieAlDle hehe, well, then Whateverable project is the most ungentlemanly thing ever :P
22:33 IOninja Ah.. and security thing is OWASP not WASP
22:33 geekosaur yes and no. not everyone has utf8 tooling, not everyone is equipped to decode even something like ş. (even someone working in, say, Chinese is unlikely to be able to handle anything outside of iso8859-1 for non-Chinese characters)
22:35 geekosaur in a world when I can be working on a project with people spanning 20 scripts, there is something to be said for sticking to a common set that all can handle
22:35 geekosaur and, sadly, utf8 support is *still* not reliably available enough for that to be the common set :(
22:36 naxieAlDle .oO( but… but… 2017?… )
22:36 geekosaur no flying cars either...
22:37 moritz well yes, they're just called helicopters
22:38 moritz and are kinda expensive, and hard to fly
22:40 lichtkind joined #perl6
22:42 geekosaur but yes, 2017. I still run into stuff that doesn't handle utf8, or only handles very simple cases. And it constantly ***s me off.
22:49 Geth ¦ whateverable: 588cf18c38 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6
22:49 Geth ¦ whateverable: Remove last occurances of texas quotes
22:49 Geth ¦ whateverable:
22:49 Geth ¦ whateverable: For all you gentlemen out there.
22:49 Geth ¦ whateverable: review: https://github.com/perl6/wha​teverable/commit/588cf18c38
22:50 naxieAlDle two spelling mistakes
22:50 naxieAlDle good job
22:51 geekosaur and I don;t know a good alternative for "gentlemans agreement" especially considering that I do consider both the phrase itself and many of its common implementations warty at best... and usually intend to reference the warts when I use it
22:52 geekosaur so you;re not entirely wrong to snark abut it
22:52 geekosaur just, here there is actually *some* sense to it even though there really shouldn't be at this point and in some ways it's holding back getting all the tooling fixed :/
22:53 geekosaur but, perl 6 is the wrong place (both the language and the channel) to tilt at *that* windmill
22:55 Geth ¦ whateverable: e114ae94bc | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6
22:55 Geth ¦ whateverable: Remove last occurrences of texas quotes
22:55 Geth ¦ whateverable:
22:55 Geth ¦ whateverable: For all you gentlemen out there.
22:55 Geth ¦ whateverable: review: https://github.com/perl6/wha​teverable/commit/e114ae94bc
22:55 naxieAlDle kids, don't do this at home :P
23:02 ggoebel joined #perl6
23:05 kaare_ joined #perl6
23:07 IOninja Why do people tilt at windmills?
23:07 geekosaur ask don quixote
23:08 IOninja Ah, tilting is jousting. OK
23:09 IOninja https://en.wikipedia.org/wiki/​Tilting_at_windmills#Etymology
23:17 bwisti joined #perl6
23:19 IOninja interesting... adding %*ENV<FOO> && nqp::say("blah blah") in every method in src/core/IO/ makes parsing like 25s slower
23:19 IOninja Unless the slowing is due to some other reason :/ but usually my stage parse is ~70 secs. Now it's 92s
23:23 * geekosaur wonders how much it drops if you explicitly make it an exists check instead of something that could look up the value
23:23 IOninja (looks like something else; can't repro with EVAL)
23:23 IOninja m: use MONKEY; my %ENV; $ = EVAL 'use nqp; ' ~ '0 && nqp::say("foo"); ' x 1000; say now - INIT now
23:23 camelia rakudo-moar 9da6de: OUTPUT: «1.041535␤»
23:23 IOninja m: use MONKEY; $ = EVAL 'use nqp; ' ~ '%*ENV<foo> && nqp::say("foo"); ' x 1000; say now - INIT now
23:23 camelia rakudo-moar 9da6de: OUTPUT: «1.624572␤»
23:24 lizmat %*ENV<FOO> makes things slower
23:24 geekosaur yes, Id expect that
23:24 lizmat you might want to look at how I handled RAKUDO_MODULE_DEBUG
23:24 IOninja Well, yeah, but not by 20s :D
23:24 geekosaur need to cache the nqp::lookupenv and do exists checks on it, not redo all of it every time
23:25 geekosaur (this is not a general optimization of course, unless you can verify nothing can change your cached reference out from under you(
23:30 IOninja I just run stuff like `perl -pi -e 'next if /\bproto\b/; s#(\s*(?:multi\s+)?(method|submet​hod|sub)\s*([^\s({]+)[^{]+\{)#$1 %*ENV<FOO> && nqp::say("src/core/io_operators.pm: $2 $3");#g' src/core/io_operators.pm`
23:30 IOninja And it lets me trace calls.
23:30 Cabanossi joined #perl6
23:31 lizmat IOninja: eh, if you want that, did you try "use trace"?
23:31 lizmat m: use trace; my $a = 42; no trace; say $a
23:31 camelia rakudo-moar 9da6de: OUTPUT: «2 (<tmp> line 1)␤my $a = 42␤42␤»
23:31 lizmat m: use trace; my $a = 42; say $a
23:31 camelia rakudo-moar 9da6de: OUTPUT: «2 (<tmp> line 1)␤my $a = 42␤3 (<tmp> line 1)␤say $a␤42␤»
23:33 IOninja lizmat: not sure what that does, but the output is much different from my sticking-nqp-say method: https://gist.github.com/zoffixznet​/b5761cd087316e6000d41e5cb2a17eef
23:34 IOninja s/sub method/submethod BUILD/; # ran it before I fixed my regex
23:34 lizmat use trace basically tells the parser to keep the source around and print it just before executing a statement
23:34 lizmat no trace switches that off (during compilation)
23:34 IOninja Ah.
23:35 lizmat so it may be a bit overkill for what you want :-)
23:35 IOninja I also don't know how to turn it on for setting...
23:36 IOninja like, so it prints which routines get called in the setting...
23:37 nadim joined #perl6
23:43 Geth ¦ doc: 4c0eb45b6c | (Tom Browder)++ | doc/Type/Str.pod6
23:43 Geth ¦ doc: declare $string so xt test passes
23:43 Geth ¦ doc: review: https://github.com/perl6/doc/commit/4c0eb45b6c
23:43 thundergnat joined #perl6
23:47 thundergnat m: my $x = <x>; my @x; @x = $x xx 10; say @x; @x[4] = <o>; say @x;
23:47 camelia rakudo-moar 9da6de: OUTPUT: «[x x x x x x x x x x]␤[x x x x o x x x x x]␤»
23:47 thundergnat m: my $y = <y>; my @y; @y[0] = $y xx 10; say @y; @y[0][4] = <o>; say @y;
23:47 camelia rakudo-moar 9da6de: OUTPUT: «[(y y y y y y y y y y)]␤[(o o o o o o o o o o)]␤»
23:47 thundergnat Another case of DWIM vs. WAT.
23:48 thundergnat I see what it is doing, and I understand why, but it took me a good 20 minutes to figure out why my multi dim arrays were behaving so strangely.
23:49 IOninja What is it doing and why?
23:50 IOninja They all share the container?
23:51 SmokeMachine If they share, why that don't on the first example?
23:52 thundergnat It probably is a consequence of the single argument rule.
23:52 IOninja No, arrays give containers
23:53 thundergnat It only seems to special case the first level of an array.
23:53 IOninja While Seqs don't, so you've just repeated your $y container 10 types and they all get updated when you update either $y or any of the same containers in the list inside the array
23:53 IOninja thundergnat: there's only one array with only one level there...
23:54 SmokeMachine m: @a = $ xx 3; $b = $ xx 3; .WHERE.say for @a; .WHERE.say for @b
23:54 camelia rakudo-moar 2a2e46: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable '@a' is not declared␤at <tmp>:1␤------> 3<BOL>7⏏5@a = $ xx 3; $b = $ xx 3; .WHERE.say for␤»
23:55 SmokeMachine m: my @a = $ xx 3; my $b = $ xx 3; .WHERE.say for @a; .WHERE.say for $b
23:55 camelia rakudo-moar 2a2e46: OUTPUT: «29300088␤29300088␤29300088␤140719025739536␤»
23:55 SmokeMachine m: my @a = $ xx 3; my $b = $ xx 3; .WHERE.say for @a; .WHERE.say for @$b
23:55 camelia rakudo-moar 2a2e46: OUTPUT: «41411960␤41411960␤41411960␤​41411960␤41411960␤41411960␤»
23:56 SmokeMachine m: my @a = ($ = 3) xx 3; my $b = ($ = 3) xx 3; .WHERE.say for @a; .WHERE.say for @$b
23:56 camelia rakudo-moar 2a2e46: OUTPUT: «140622879646880␤140622879646880␤140622879646880␤​140622879646880␤140622879646880␤140622879646880␤»
23:56 SmokeMachine m: my @a = ($ = 3) xx 3; my $b = ($ = 3) xx 3; .VAR.WHERE.say for @a; .VAR.WHERE.say for @$b
23:56 camelia rakudo-moar 2a2e46: OUTPUT: «140177405850784␤140177405850784␤140177405850784␤​140177405850784␤140177405850784␤140177405850784␤»
23:58 IOninja m: my $y = <y>; my @y; @y[0] = [$y xx 10]; say @y; @y[0][4] = <o>; say @y;
23:58 camelia rakudo-moar 2a2e46: OUTPUT: «[[y y y y y y y y y y]]␤[[y y y y o y y y y y]]␤»
23:59 naxieAlDle c: 2015.10 my $y = <y>; my @y; @y[0] = $y xx 10; say @y; @y[0][4] = <o>; say @y;
23:59 committable6 naxieAlDle, ¦2015.10: «[(y y y y y y y y y y)]␤Cannot assign to a readonly variable or a value␤  in block <unit> at /tmp/N9kVspoh_d:1␤ «exit code = 1»»
23:59 naxieAlDle I think I like this more ↑
23:59 IOninja Now two levels, with Array at each, and it gave containers, and you got no duplication.

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

Perl 6 | Reference Documentation | Rakudo