Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-11-29

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 mspo so nqp is just bootstrap stuff?
00:01 seatek i've seen some people use it in their normal programming stuff
00:01 viki nqp ops map to VM ops and you also use NQP to generate QAST trees
00:02 viki and VM uses those trees to... do stuff
00:03 viki perl6 --stagestats -e 'use nqp; nqp::say("hello")'  # gives you the stages of the program
00:03 viki perl6 --target=ast -e 'use nqp; nqp::say("hello")' # gives you the QAST tree, before it goes through the optimizer
00:06 mspo so it's a language for writing/bootstrapping moarvm and a lib to use in regular perl6
00:07 mspo I recall that POD parser in nqp had some drama with not being as stable of a language
00:08 TimToady Perl 6 makes no promises about the stability of other languages, including nqp :)
00:08 viki the way to use it in regular code is with use MONKEY-GUTS; pragrma... and its name says a lot about how often you're expected to use nqp code in your programs :)
00:08 viki mspo: and it's not just MoarVM, JVM too and JS also is coming along.
00:09 mspo anyway it's confusing
00:09 viki :)
00:09 viki Have you seen jnthn++ NQP training course?
00:09 viki http://edumentab.github.io/rak​udo-and-nqp-internals-course/
00:10 TimToady mspo: so is the inside of your car :)
00:11 mspo TimToady: that's why I only have one of them
00:12 TimToady no, no, no, use the best car for the job :P
00:12 mspo lol
00:13 mspo from the outside I can say the relationship of NQP is extra confusing
00:13 mspo even compared to rakudo vs ... (anything still developed?)
00:13 TimToady "Pay no attention to the lang behind the curtain!"
00:14 mspo TimToady: I mostly look at this stuff because I was some kind of static linking/perl-packer/whatever
00:14 perlawhirl joined #perl6
00:14 TimToady nodnod, not trying to discourage you there :)
00:14 viki mspo: you don't build a custom house each time. You make bricks, optimize your brick factory to make lots of them fast, and then use them to build whatever house you like. Same with NQP, you build just the basic features you need, to optimize them to be fast, and you use those feature to build anything that Perl 6 needs.
00:15 perlawhirl should infix:<===> have a multi that handles IntStr's ?
00:15 perlawhirl m: say <8> === <8>
00:15 camelia rakudo-moar 054aca: OUTPUT«Ambiguous call to 'infix:<===>'; these signatures all match:␤:(Int:D \a, Int:D \b)␤:(Str:D \a, Str:D \b --> Bool)␤  in block <unit> at <tmp> line 1␤␤»
00:15 canopus joined #perl6
00:15 viki Yeah
00:16 mspo "Remember, ship artifacts not build environments."
00:16 perlawhirl viki: cool
00:16 viki s: &infix:<eqv>, \(<8>, <8>)
00:16 mspo s/was/want
00:16 SourceBaby viki, Sauce is at https://github.com/rakudo/rakudo/blo​b/5163e8a/src/core/allomorphs.pm#L78
00:17 viki perlawhirl: would you submit a PR fixing it? It'd be similar to that ^, except you'd use && instead of || and '===' instead of eqv.
00:18 viki perlawhirl: and add that to all allomoprhs, like RatStr and ComplexStr.
00:18 viki and NumStr
00:19 pmurias joined #perl6
00:19 perlawhirl sure will have a look
00:20 pmurias mspo: the nqp pragma 'use nqp' and the nqp language are different things
00:22 viki perlawhirl++ Thanks \o/
00:23 viki perlawhirl: FWIW <4> is IntStr, < 4/2 > is RatStr (not the spaces), < 1+3i > is ComplexStr (again, spaces matter), and <1e2> is NumStr
00:24 AlexDaniel please not this again
00:31 avalokite joined #perl6
00:32 viki Ssshh... I'm luring a contributor! :)
00:33 avalokite joined #perl6
00:35 AlexDaniel m: say (Inf+1i).perl
00:35 camelia rakudo-moar 054aca: OUTPUT«<Inf+1i>␤»
00:35 AlexDaniel m: dd <Inf+1i>
00:35 camelia rakudo-moar 054aca: OUTPUT«<Inf+1i>␤»
00:35 viki That's literal Complex
00:36 AlexDaniel yeah, I know
00:36 AlexDaniel I am surprised it works!
00:36 perlawhirl viki: thanks, yeah i saw those commits to p6doc yesterday.
00:36 viki m: dd <NaN+NaN1i>
00:36 camelia rakudo-moar 054aca: OUTPUT«"NaN+NaN1i"␤»
00:36 viki m: dd <NaN+NaNi>
00:36 camelia rakudo-moar 054aca: OUTPUT«"NaN+NaNi"␤»
00:36 viki :(
00:36 viki m: dd <NaN+Infi>
00:36 camelia rakudo-moar 054aca: OUTPUT«"NaN+Infi"␤»
00:36 viki oh right
00:36 AlexDaniel \ needed?
00:37 AlexDaniel m: dd <NaN+NaN\i>
00:37 camelia rakudo-moar 054aca: OUTPUT«<NaN+NaN\i>␤»
00:37 viki m: dd <NaN+NaN\i>
00:37 camelia rakudo-moar 054aca: OUTPUT«<NaN+NaN\i>␤»
00:37 viki yeah :)
00:37 viki *phew*
00:38 AlexDaniel viki: at least it is not completely broken, this gives me some hope
00:38 viki It's barely broken :)
00:39 AlexDaniel m: dd <1--Inf\i>
00:39 camelia rakudo-moar 054aca: OUTPUT«<1+0i>␤»
00:39 viki ...
00:39 viki Ah, that's the -Inf is a term thing that I will fix soonish :)O
00:40 AlexDaniel viki: yeah, I'm actually waiting for this fix
00:40 viki Oh? I didn't realize :)
00:40 viki Why are you waiting for it?
00:42 AlexDaniel I mean, there are some bits of code where I'd much rather use the unicode version, not a big deal. But from the bug hunting perspective: I am not even trying a lot of things because I know they won't work because of this
00:42 viki :/
00:42 viki I'll fix it this weekend.
00:43 pierre_ joined #perl6
00:43 viki .in 4d fix the -Inf thing!
00:43 yoleaux viki: I'll remind you on 3 Dec 2016 00:43Z
00:44 BenGoldberg joined #perl6
00:45 AlexDaniel oh
00:46 viki ?
00:46 AlexDaniel m: dd <--Inf--Inf\i> # this is probably a bit funnier than the previous version
00:46 camelia rakudo-moar 054aca: OUTPUT«<0+0i>␤»
00:46 viki hehe
00:46 AlexDaniel \<0+0>/
00:47 viki You could submit all these weird edge cases as a roast commit :P
00:47 Gruber joined #perl6
00:48 AlexDaniel not today though
00:49 AlexDaniel .in 1d submit weird <--Inf++Inf\i> edge cases as roast tests
00:49 yoleaux AlexDaniel: I'll remind you on 30 Nov 2016 00:49Z
00:49 AlexDaniel by the way, I didn't know “+Inf” is a thing
00:50 bhm joined #perl6
00:50 AlexDaniel viki: by the way, why does it resolve to 0?
00:51 AlexDaniel --Inf is +Inf, isn't it?
00:51 viki No idea, I'm now starting to suspect it's not the -Inf thing, but I'll take a look into it on the weekend too
00:52 viki It's in the same token as the thing I'll be fixing
00:55 aborazmeh joined #perl6
00:55 aborazmeh joined #perl6
00:56 AlexDaniel heh, this one is not wrong, it's just interesting
00:56 AlexDaniel m: dd <0xFF.FF>
00:56 camelia rakudo-moar 054aca: OUTPUT«RatStr.new(255.99609375, "0xFF.FF")␤»
00:57 viki It's doing the :16<meow> thing
00:57 AlexDaniel yea
00:57 viki m: dd :3<0xFF>
00:57 camelia rakudo-moar 054aca: OUTPUT«255␤»
00:57 viki Which is also weird as well :)
00:57 viki m: dd :3<:36('Perl6IsGreat')>
00:57 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed radix number␤at <tmp>:1␤------> 3dd :3<7⏏5:36('Perl6IsGreat')>␤    expecting any of:␤        number in radix notation␤»
00:58 AlexDaniel I didn't know you can use _ after x
00:58 AlexDaniel m: dd :3<0x_FF.FF>
00:58 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed radix number␤at <tmp>:1␤------> 3dd :3<0x7⏏5_FF.FF>␤    expecting any of:␤        number in radix notation␤»
00:58 AlexDaniel m: dd :16<0x_FF.FF>
00:58 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed radix number␤at <tmp>:1␤------> 3dd :16<0x7⏏5_FF.FF>␤    expecting any of:␤        number in radix notation␤»
00:58 AlexDaniel or, um
00:58 viki m: dd :3(':36<Perl6IsGreat>')
00:58 camelia rakudo-moar 054aca: OUTPUT«3344530687443935525␤»
00:58 viki :)
00:58 AlexDaniel m: dd <0x_FF.FF> # well, here you can for sure
00:58 camelia rakudo-moar 054aca: OUTPUT«RatStr.new(255.99609375, "0x_FF.FF")␤»
00:59 AlexDaniel hm
00:59 viki m: dd <   :36<Perl6IsGreat>  >
00:59 camelia rakudo-moar 054aca: OUTPUT«IntStr.new(3344530687443935525, ":36<Perl6IsGreat>")␤»
01:01 AlexDaniel wait, you can use :xx notation in < >? :o
01:01 viki yeah
01:01 viki and 0b
01:01 viki and 0o
01:02 viki m: dd < 0b001  0o34  0x42 >
01:02 camelia rakudo-moar 054aca: OUTPUT«(IntStr.new(1, "0b001"), IntStr.new(28, "0o34"), IntStr.new(66, "0x42"))␤»
01:02 AlexDaniel I wonder if this one needs a unicode minus sign too https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Grammar.nqp#L3466
01:03 AlexDaniel non-ascii one I mean
01:03 viki yeah
01:03 viki It's part of the thing I'm fixin
01:03 seatek m: my$n = 'hi' ; say $n; # just found that an couldn't believe it never errored! :)
01:03 camelia rakudo-moar 054aca: OUTPUT«hi␤»
01:04 AlexDaniel seatek: this is common in code golf
01:04 AlexDaniel there are a couple of other neat places where you can omit whitespace unexpectedly
01:04 AlexDaniel see existing perl 6 code golf answers for more :)
01:05 seatek :)
01:05 cibs joined #perl6
01:06 AlexDaniel seatek: not sure if you will find this surprising, but:
01:06 AlexDaniel m: say base 42: 2
01:06 camelia rakudo-moar 054aca: OUTPUT«101010␤»
01:07 seatek yeah i do
01:07 AlexDaniel do we have this documented, by the way?
01:07 AlexDaniel how is it called?
01:10 AlexDaniel m: dd < <hello world> >
01:10 camelia rakudo-moar 054aca: OUTPUT«Value of type List uselessly passed to val()␤  in block <unit> at <tmp> line 1␤("<hello", "world>")␤»
01:10 TimToady kewl
01:14 seatek it's like running a magnet around on a CRT screen
01:17 zakharyas joined #perl6
01:20 viki hoho :)
01:20 viki AlexDaniel: and that last one looks very related to this one:
01:20 viki m: qw { meow { moo mew } foo }
01:20 camelia rakudo-moar 054aca: ( no output )
01:20 viki m: dd qw { meow { moo mew } foo }
01:20 camelia rakudo-moar 054aca: OUTPUT«("meow", "\{moo", "mew}", "foo")␤»
01:21 AlexDaniel m: dd qw {{ meow { moo mew } foo }}
01:21 camelia rakudo-moar 054aca: OUTPUT«("meow", "\{", "moo", "mew", "}", "foo")␤»
01:21 AlexDaniel m: dd qw {{ meow {{ moo mew }} foo }}
01:21 camelia rakudo-moar 054aca: OUTPUT«("meow", "\{\{moo", "mew}}", "foo")␤»
01:22 AlexDaniel m: dd qw { meow {{ moo mew }} foo }
01:22 camelia rakudo-moar 054aca: OUTPUT«("meow", "\{\{moo", "mew}}", "foo")␤»
01:22 viki and I lied about finding new theme for advent. I just saw a notification on my phone
01:22 viki (tomorrow)
01:34 Guest96738 joined #perl6
01:43 viki grrrrrrrrr
01:43 viki Now I remember why I hate web dev.
01:43 viki Fighting with local apache install instead of doing what I want to do
01:44 seatek yeeeesssssssssss
01:46 kyclark joined #perl6
01:57 viki Perl 5 doesn't work on rakudo.org.... PHP works... So, hooray pragmatic approach?
02:01 mspo "doesn't work"
02:02 viki it doesn't work without involvement of someone with more perms than me :)
02:04 mspo m: say ∞ ≅ ∞
02:04 camelia rakudo-moar 054aca: OUTPUT«True␤»
02:05 viki ?
02:05 viki Did you expect something different, mspo?
02:06 mspo viki: no just saw the bug fix
02:06 viki ah
02:08 mspo now I'm trying to think of when that could ever happen :)
02:09 viki m: say 1e1000 ≅ 1e1000000000000000000000000000​000000000000000000000000000000
02:09 camelia rakudo-moar 054aca: OUTPUT«True␤»
02:09 viki :)
02:09 viki close enough, amirite? :)
02:10 viki mspo: I noticed this bug when testing trig functions
02:11 viki So that's one posibility :)
02:12 giraffe joined #perl6
02:20 kalkin- joined #perl6
02:21 ZzZombo what is 'reified'?
02:24 seatek it's like when you make it come into existence
02:24 geekosaur pyanfar Z$ 6 'my $s; $s<x> = "a"; dd $s;'
02:24 geekosaur Hash $s = ${:x("a")}
02:25 geekosaur $s was empty (Any), but when I used it as if it were a hash it reified a hash for me and stored it in $s, then used the new hash to do what I asked
02:26 seatek speaking of which, we don't have any auto-vivification stuff in hashes when testing in p6 do we?
02:26 ZzZombo but we already have "autovivification"
02:26 seatek we can test way down and not have to worry?
02:26 geekosaur similarly, if I create an empty array and then access some element, it reifies that element. both are reification, but autoviv is a more complex kind of it
02:27 seatek dont' forget instantiate
02:27 geekosaur in any case, something comes into existence that wasn't before
02:27 AlexDaniel m: say -(∞ ≅ ∞)
02:27 camelia rakudo-moar 054aca: OUTPUT«-1␤»
02:27 AlexDaniel was there a list of Perl 6 smileys somewhere? :)
02:27 geekosaur (if I do `my @a` it is created with no elements, if I didn't create it shaped. so it has to create elements on the fly)
02:27 AlexDaniel by the way
02:28 AlexDaniel m: say \True
02:28 camelia rakudo-moar 054aca: OUTPUT«\(Bool::True)␤»
02:28 AlexDaniel m: say WHAT \True
02:28 camelia rakudo-moar 054aca: OUTPUT«(Capture)␤»
02:28 seatek poetry, that
02:29 AlexDaniel ah nvm
02:29 geekosaur was wondering if something was supposed to be wrong with that or something?
02:31 AlexDaniel did not expect it to be a Capture
02:31 AlexDaniel I thought that you'd need () for that
02:31 seatek nobody ever does
02:38 geekosaur afaik \ always creates a Capture, () is only needed if it's got more than one thing in it
02:38 BenGoldberg m: say sin(∞)
02:38 camelia rakudo-moar 054aca: OUTPUT«NaN␤»
02:38 BenGoldberg say tan(∞)
02:39 BenGoldberg m: say tan(∞)
02:39 camelia rakudo-moar 054aca: OUTPUT«NaN␤»
02:39 BenGoldberg m: say atan(NaN)
02:39 camelia rakudo-moar 054aca: OUTPUT«NaN␤»
02:39 geekosaur but this is one of those syntaxes that was generalized from perl 5
02:46 vendethiel joined #perl6
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:50 ZzZombo m: sub x($name){ my $name=$name // 'no name';put $name};x('xxx')
02:50 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5===␤Cannot use variable $name in declaration to initialize itself␤at <tmp>:1␤------> 3sub x($name){ my $name=$7⏏5name // 'no name';put $name};x('xxx')␤    expecting any of:␤        term␤Other potential difficulties:␤    R…»
02:50 ZzZombo oh duh
02:50 ZzZombo I'm stil sleepy
02:50 ZzZombo still*
02:51 ZzZombo m: sub x($name){ $name//='no name';put $name};x('xxx')
02:51 camelia rakudo-moar 054aca: OUTPUT«xxx␤»
02:52 ZzZombo m: sub x(:$name){ $name//='no name';put $name};x(:name('xxx'))
02:52 camelia rakudo-moar 054aca: OUTPUT«xxx␤»
02:53 AlexDaniel geekosaur: well, \ is also used for unspace
02:54 geekosaur sure but only when followed by whitespace
02:55 cibs joined #perl6
02:55 ZzZombo m: say WHAT |True
02:55 camelia rakudo-moar 054aca: OUTPUT«(Bool)␤»
02:56 ZzZombo m: say WHAT |c
02:56 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    c used at line 1␤␤»
02:57 AlexDaniel m: <3 5>\   ».say
02:57 camelia rakudo-moar 054aca: OUTPUT«3␤5␤»
02:57 AlexDaniel m: <3 5>\».say
02:57 camelia rakudo-moar 054aca: OUTPUT«3␤5␤»
02:58 AlexDaniel geekosaur: not really? ;)
02:58 AlexDaniel but yeah
02:59 * AlexDaniel hates symbols that do more than one thing
03:00 ZzZombo m: https://gist.github.com/ZzZombo/​5caa51f9b238462d628a5b556920a0d8
03:00 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot assign to a readonly variable or a value␤at <tmp>:107␤»
03:00 ZzZombo m: sub x(:$name){ $name//='no name';put $name};x(:name('xxx'))
03:00 camelia rakudo-moar 054aca: OUTPUT«xxx␤»
03:00 ZzZombo why does the latter work???
03:01 AlexDaniel because it did not assign?
03:01 AlexDaniel m: sub x(:$name){ $name//='no name';put $name};x()
03:01 camelia rakudo-moar 054aca: OUTPUT«Cannot assign to a readonly variable or a value␤  in sub x at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
03:01 ZzZombo the actual error is at line 24
03:02 ZzZombo what
03:02 AlexDaniel //= only assigns if it is undefined
03:02 ZzZombo yes
03:02 pierre_ joined #perl6
03:03 AlexDaniel so if it is undefined, it attempts to assign, but it is readonly
03:03 AlexDaniel use “is copy” if you want to do that stuff
03:03 ZzZombo thanks
03:03 AlexDaniel or perhaps provide a default value?
03:03 AlexDaniel not sure if $attr.name.substr(2) is going to work, but I guess it will
03:04 ZzZombo what would it be then?
03:04 ZzZombo it does work
03:04 AlexDaniel m: sub foo($x, :$y = $x.substr(2)) { say $x; say $y }; foo(‘hello’)
03:04 camelia rakudo-moar 054aca: OUTPUT«hello␤llo␤»
03:04 AlexDaniel m: sub foo($x, :$y = $x.substr(2)) { say $x; say $y }; foo(‘hello’, :y(‘test’))
03:04 camelia rakudo-moar 054aca: OUTPUT«hello␤test␤»
03:04 AlexDaniel yup
03:05 AlexDaniel m: sub foo($x, :$y is copy) { $y //= $x.substr(2); say $x; say $y }; foo(‘hello’, :y(‘test’))
03:05 camelia rakudo-moar 054aca: OUTPUT«hello␤test␤»
03:05 AlexDaniel m: sub foo($x, :$y is copy) { $y //= $x.substr(2); say $x; say $y }; foo(‘hello’)
03:05 camelia rakudo-moar 054aca: OUTPUT«hello␤llo␤»
03:06 AlexDaniel does anybody know why assigning to a readonly parameter is not a compile time error?
03:08 ZzZombo also why it still doesn't show more info, like what is the variable name?
03:12 ZzZombo is there any documentation about truthness of type objects?
03:13 TimToady joined #perl6
03:15 tailgate ZzZombo: I believe they are False (they are undefined)
03:15 tailgate m: Int.defined
03:15 camelia rakudo-moar 054aca: ( no output )
03:15 tailgate m: say Int.defined
03:15 camelia rakudo-moar 054aca: OUTPUT«False␤»
03:15 tailgate m: say Int.Bool
03:15 camelia rakudo-moar 054aca: OUTPUT«False␤»
03:15 geekosaur m: say so Int
03:15 camelia rakudo-moar 054aca: OUTPUT«False␤»
03:16 pierre_ joined #perl6
03:16 ZzZombo but I recall there was a statement along the lines "defindness and truthness are distinct properties, if you ask for one you ask only for it"
03:16 tailgate yeah, that is probobly true (see geekosaur's answer)
03:22 ZzZombo related, why is that "Smartmatch against True always matches"
03:23 noganex_ joined #perl6
03:23 geekosaur your statement is somewhat orthogonal; asking for truthiness and getting False doesn't tell you if it was defined, and asking for defined and getting True doesn't tell you if it is (or boolifies to) False
03:24 ZzZombo yes, I'm just asking what is the rule as to why they are False.
03:24 ZzZombo <ZzZombo> is there any documentation about truthness of type objects?
03:25 ZzZombo viki: https://github.com/zoffixznet/perl6.party/b​lob/master/post/Perl-6-Core-Hacking-The-Ult​imate-Contributors-Guide.md#the-doc-content
03:25 ZzZombo there is a dead link
03:25 ZzZombo https://github.com/perl6/docs/
03:34 AlexDaniel was it because of stuff like 「‘foo’ ~~ m/../」 ?
03:34 AlexDaniel (smartmatch against True)
03:35 tailgate if I want to have 2 methods in a NQP class, foo($x,$y,$z) and foo($x, $y) how do I do that?
03:36 kyclark joined #perl6
03:37 AlexDaniel m: class Foo { method Bool { True } }; say so Foo
03:37 camelia rakudo-moar 054aca: OUTPUT«True␤»
03:37 geekosaur 2016 Jan 09 17:09:56 <moritz>   Skarsnik: having ~~ False always be False and ~~ True always be True enables us to write stuff like ~~ *.defined
03:38 geekosaur from the last time this was discussed
03:38 telex joined #perl6
03:38 AlexDaniel huggable: Smartmatch against True :is: having ~~ False always be False and ~~ True always be True enables us to write stuff like ~~ *.defined
03:38 huggable AlexDaniel, Added Smartmatch against True as having ~~ False always be False and ~~ True always be True enables us to write stuff like ~~ *.defined
03:40 ZzZombo I'd argue that's overly lazy. If you check for boolean, you should simply compare against that.
03:40 ZzZombo and not use smartmatch as a catch-all
03:40 AlexDaniel so why would anybody write ~~ True?
03:41 ZzZombo sub x(True) gets passed everything
03:42 AlexDaniel you mean #130182 ?
03:42 AlexDaniel where's the bot
03:42 * AlexDaniel *bleep blop* https://rt.perl.org/Ticket/Display.html?id=130182
03:42 ZzZombo wasn't it killed by viki on #per-dev?
03:42 AlexDaniel not this one :)
03:43 AlexDaniel synopsebot6: hey
03:43 geekosaur synopsebot6 vanished in a netsplit
03:43 AlexDaniel RT #130182
03:43 AlexDaniel synopsebot6: ??
03:43 AlexDaniel ahhh
03:43 AlexDaniel ok
03:43 geekosaur [28 16:01:44] * synopsebot6 has quit (*.net *.split)
03:43 AlexDaniel my IRC client is showing that it is still there, for whatever reason
03:44 ZzZombo what was the multiline comment syntax, again?
03:44 AlexDaniel #`{{{ }}}
03:44 ZzZombo #`( )?
03:45 AlexDaniel or #`() yes
03:45 geekosaur #`{} (or other brackets)
03:45 AlexDaniel note that #`{ will also work even if the code inside has curly brackets { } ← }
03:46 geekosaur as long as they're balanced at least
03:46 AlexDaniel ya
03:46 AlexDaniel and same goes for other brackety things
03:46 AlexDaniel m: say “hello “world” ”
03:46 camelia rakudo-moar 054aca: OUTPUT«hello “world” ␤»
03:47 ZzZombo m: say "nop"e""
03:47 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say "nop"7⏏5e""␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤     …»
03:48 AlexDaniel well of course it won't be able to figure it out if there is no distinction between the opening and closing bracket/quote
03:48 AlexDaniel m: say “nop“e”” # see! It works! :)
03:48 camelia rakudo-moar 054aca: OUTPUT«nop“e”␤»
04:00 pierre_ joined #perl6
04:10 BenGoldberg m: say “hello “world” ”
04:10 camelia rakudo-moar 054aca: OUTPUT«hello “world” ␤»
04:11 BenGoldberg m: say q{{{ foo }}}
04:11 camelia rakudo-moar 054aca: OUTPUT« foo ␤»
04:13 avalokite joined #perl6
04:14 seatek m: class T { has DateTime $.t is rw; }; my $d = T.new; say so $d.t.defined;
04:14 camelia rakudo-moar 054aca: OUTPUT«False␤»
04:14 seatek is there a way to get that back to False after i put a DateTime in there one time... ?
04:15 cpage joined #perl6
04:17 seatek m: class T { has DateTime $.t is rw; }; my $d = T.new; say so $d.t.defined; $d.t = DateTime.new; say so $d.t.defined;
04:17 camelia rakudo-moar 054aca: OUTPUT«False␤Earlier failure:␤ Cannot call DateTime.new with no parameters␤  in block <unit> at <tmp> line 1␤␤Final error:␤ Type check failed in assignment to $!t; expected DateTime but got Failure (Failure.new(exception...)␤  in block <unit> at <tm…»
04:18 ZzZombo m: dd Int.^methods(:all)
04:18 camelia rakudo-moar 054aca: OUTPUT«(method Int (Int $: *%_) { #`(Method|38777472) ... }, method Num (Int:D $: *%_) { #`(Method|38777624) ... }, method Rat (Int:D $: $?, *%_) { #`(Method|38777776) ... }, method FatRat (Int:D $: $?, *%_) { #`(Method|38777928) ... }, method abs (Int:D $: *%_) …»
04:18 ZzZombo m: dd class A{}.^methods(:all)
04:18 camelia rakudo-moar 054aca: OUTPUT«(Method+{<anon|71775760>}.new, method iterator ($: | is raw) { #`(Method|47470696) ... }, Method+{<anon|71775760>}.new, Method+{<anon|71775760>}.new, Method+{<anon|71775760>}.new, Method+{<anon|71775760>}.new, Method+{<anon|71775760>}.new, method ACCEPTS (…»
04:18 geekosaur m: class T { has DateTime $.t is rw; }; my $d = T.new; say so $d.t.defined; $d.t = DateTime; say so $d.t.defined;
04:18 camelia rakudo-moar 054aca: OUTPUT«False␤False␤»
04:18 geekosaur you want the type object, not a new object of the type
04:19 seatek i would like a //= operator to work
04:20 seatek i woul dlike to be able to set the attribute that contains a class instance to be able to go back to "undefined"
04:21 seatek when that attribute is typed to that class
04:21 seatek it's no problem if it's not typed
04:22 geekosaur m: class T { has DateTime $.t is rw; }; my $d = T.new; say so $d.t.defined; $d.t = DateTime.now; say so $d.t.defined; $d.t = DateTime; say so $d.t.defined;
04:22 camelia rakudo-moar 054aca: OUTPUT«False␤True␤False␤»
04:22 geekosaur this is not what you want?
04:25 pierre_ joined #perl6
04:25 seatek oh yeah maybe that is!
04:25 seatek i didn't even think of not putting on the new - just giving it the reference
04:25 seatek i should have from your example though
04:26 geekosaur it's a type object, not a reference. the type object is the typed "undefined value"
04:26 geekosaur m: say so Int.defined
04:26 camelia rakudo-moar 054aca: OUTPUT«False␤»
04:27 seatek k
04:27 seatek ugh... now i forgot where it was that i needed this
04:27 seatek thanks geekosaur!
04:27 geekosaur in some other languages that syntax might mean the type itself, but in perl 6 it's a typed undefined value
04:28 geekosaur (and in perl 5 it sometimes acted like "the type itself" but it was really a string...)
04:29 seatek that's what i was thinking without testing it
04:29 seatek this is a neat way to do it
04:29 seatek it's kinda there but isn't
04:29 telex joined #perl6
04:32 seatek oh! well, not only all that but it works too! ;)
04:32 seatek geekosaur++ thank you!
04:35 Lucas_One joined #perl6
04:46 kyclark joined #perl6
05:07 Cabanossi joined #perl6
05:37 MasterDuke ZzZombo, AlexDaniel: https://github.com/rakudo/rakudo/pull/931. with this change, 'sub a($b) { $b=1 }; a(2)' now says 'Cannot assign to a readonly variable ($b) or a value'
05:38 AlexDaniel MasterDuke: cool, what about tests?
05:39 MasterDuke those come after sleep
05:39 AlexDaniel great then
05:39 AlexDaniel though I'd love to see these become compile-time errors
05:39 AlexDaniel if that is possible
05:40 MasterDuke maybe create an RT?
05:41 AlexDaniel that would be great :P
05:42 MasterDuke heh. i'm falling asleep at the kb here, i'll create one tomorrow if not already done. laterzzz....
05:43 AlexDaniel .in 0.5d remind MasterDuke to create a ticket if not done already
05:43 yoleaux AlexDaniel: I'll remind you at 17:43Z
05:56 * BenGoldberg wonders why get_attribute_boxed and friends are snake_case instead of kebab-case.
06:00 ufobat joined #perl6
06:04 Cabanossi joined #perl6
06:06 pierre_ joined #perl6
06:09 eisen74 joined #perl6
06:12 cibs joined #perl6
06:15 El_Che joined #perl6
06:33 domidumont joined #perl6
06:34 CIAvash joined #perl6
06:49 RabidGravy joined #perl6
06:56 domidumont joined #perl6
07:00 CIAvash joined #perl6
07:02 moritz bisectable6: internals are often snake cased
07:02 bisectable6 moritz, Bisecting by output (old=2015.12 new=5163e8a) because on both starting points the exit code is 1
07:02 moritz sorry, meant BenGoldberg
07:02 bisectable6 moritz, bisect log: https://gist.github.com/efaa​9d40c1d054ca34ec0b493fc0042a
07:02 bisectable6 moritz, (2016-08-16) https://github.com/rakudo/rakudo/commit/​17281399ddbe11605834d57ad7b2f1ee5a96c4ff
07:21 domidumont joined #perl6
07:23 bjz joined #perl6
07:26 Tonik joined #perl6
07:30 telex joined #perl6
07:32 bjz joined #perl6
07:33 matt_ joined #perl6
07:44 brillenfux joined #perl6
07:49 wamba joined #perl6
07:54 Ulti for the weekly jnthn's 6guts post had more comments on /r/programming https://www.reddit.com/r/programming/comm​ents/5es9dg/why_perl_6_has_deliberately_n​ot_provided/?st=iw37ig5o&amp;sh=8dda0c9f
07:55 bjz joined #perl6
07:55 Actualeyes joined #perl6
08:00 telex joined #perl6
08:14 moritz a great deal of them not very enlightening
08:15 ufobat joined #perl6
08:16 lolo78 joined #perl6
08:22 arnsholt Yeah, a pretty sorry showing, all in all
08:28 lizmat Ulti: added
08:30 * lizmat clickbaits https://p6weekly.wordpress.com/2016​/11/28/2016-48-kickstarting-along/
08:32 psch huh
08:32 psch "Ovid couldn't have explained it better" in reply to a post by... Ovid
08:32 psch reddit is weird, isn't it
08:33 dakkar joined #perl6
08:38 labster joined #perl6
08:50 rindolf joined #perl6
08:50 firstdayonthejob joined #perl6
08:52 aries_liuxueyang joined #perl6
08:58 perlawhirl joined #perl6
09:05 bjz joined #perl6
09:08 effbiai joined #perl6
09:08 jonas1 joined #perl6
09:20 ZzZombo Yay, I finished with property accessors.
09:25 ZzZombo m: class A{has $!a;method !m{$!a}};class B is A{method m { return self!m }};
09:25 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Private method call to m must be fully qualified with the package containing the method␤at <tmp>:1␤------> 3}};class B is A{method m { return self!m7⏏5 }};␤    expecting any of:␤        method …»
09:26 ZzZombo m: class A{has $!a;method !m{$!a}};class B is A{method m { return self!A::m }};
09:26 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot call private method 'm' on package A because it does not trust NQPMu␤at <tmp>:1␤------> 3class B is A{method m { return self!A::m7⏏5 }};␤    expecting any of:␤        method arguments␤»
09:26 ZzZombo so what's the point in telling me to fully qualify the method if I'm not allowed to call it anyway?
09:26 psch m: class A{has $!a;method !m{$!a}};class B is A {method m { return self!A::m }}; # spaces still matter
09:26 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot call private method 'm' on package A because it does not trust B␤at <tmp>:1␤------> 3lass B is A {method m { return self!A::m7⏏5 }}; # spaces still matter␤    expecting any of:␤        m…»
09:27 psch note the 'NQPMu' vs 'B'
09:27 psch and, well, trust isn't inherited vOv
09:27 lukaramu joined #perl6
09:28 jnthn It doesn't know whether you can call the private method until you tell it which package the method is from
09:28 jnthn (Private methods ain't virtual.)
09:39 bjz joined #perl6
09:42 kalkin- why can't I use ≔ instead of := ?
09:42 kalkin- I find the unicode operators very inconsistent
09:44 kalkin- Is there a reason for that? Or is it just because some one haven't patched it in yet?
09:46 timotimo m: my &infix:<≔> = &infix:<:=>; my $foo = 10; my $bar ≔ $foo; $bar = 9; say $foo
09:46 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    infix:<:=> used at line 1. Did you mean 'infix:<=>', 'infix:<∖>', 'infix:<lt>', 'infix:<eq>'?␤␤»
09:46 timotimo ah, hmm
09:47 aries_liuxueyang joined #perl6
09:48 ZzZombo One thing I can't understand is why, after all this time, Perl 6 got castrated classes. Just... why? You can't get the autogenerated accessors to play nicely along with custom, you don't have proper syntax for members, only tackling sigils in front of their names, no proper visibility in forms of public, protected (only methods are possible) and private members, private members are invisible to
09:48 ZzZombo subclasses no matter what, unless you go out of your way and trust each of them, all attributes are private...
09:48 ZzZombo What was the goal of this design? Have nobody in the dev team seen C++? Or really, anything with developed OOP built-in?
09:48 ZzZombo And when I was talking about the syntax, why was it chosen to tackle sigils-wigils is the best approach? Look, you have wonderful things like traits, yoi could use them instead, and gain much better readability and usability. Example: has Array:D @a=[] is private;
09:49 timotimo private members are visible to subclasses if you add a "trusts" directive
09:49 timotimo the twigil makes it immediately clear what the scope and access-method of a variable, or attribute is on the point of usage
09:50 timotimo just like C++ programmers call all their member variables m_something, we have $! and $.
09:50 El_Che timotimo: learnt something new: "trusts". Thx
09:50 timotimo also, you're free to write a slang that does away with twigils
09:51 timotimo that might be problematic with stubbed classes, though
09:51 masak ZzZombo: gee, that was a lot of things at once. but the "private members are invisible to subclasses no matter what" thing is something I consider to be a strength, not a weakness.
09:52 ZzZombo timotimo: has Array:D @a=[] is private; tells that just fine.
09:52 masak ZzZombo: many OO systems expose private things to subclasses (or deal with half-measures such as "protected"), and the end result tends to be sadness and weak OO solutions
09:52 timotimo ZzZombo: no, that is at the point of declaration, not at the point of use
09:52 perlawhirl visually, `$!name` looks like a method call (ie, $.name) but with a "wall" between the object and a method. you can only call that method if you are inside the wall :D
09:53 timotimo larry really likes to put himself into everything :P
09:53 perlawhirl HAH
09:53 perlawhirl timotimo++
09:53 ZzZombo masak: Delphi has strict visiblity. Stricly private things for example, wouldn't be visible to subclasses.
09:54 timotimo even IRC has this thing called "wallops" which i gather is operations you can do on a server only if you're part of the Wall family
09:54 ZzZombo so it is possible to implement in P6 too.
09:55 ZzZombo timotimo: you can't trust every sublcass in advance.
09:55 arnsholt I think there's a pretty good tl;dr for jnthn's most recent post: Look to SmallTalk
09:55 kalkin- m:sub infix:<≔>(|c) { infix:<:=>(|c) }; $a ≔ 3
09:55 arnsholt (Although ST has attributes visible to all subclasses, much of the API things are very ST-y)
09:56 kalkin- m: sub infix:<≔>(|c) { infix:<:=>(|c) }; $a ≔ 3
09:56 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$a' is not declared␤at <tmp>:1␤------> 3sub infix:<≔>(|c) { infix:<:=>(|c) }; 7⏏5$a ≔ 3␤»
09:56 kalkin- m: sub infix:<≔>(|c) { infix:<:=>(|c) }; my $a ≔ 3
09:56 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    infix:<:=> used at line 1. Did you mean 'infix:<=>', 'infix:<∖>', 'infix:<lt>', 'infix:<eq>'?␤␤»
09:56 timotimo you should be able to create HOWs and EXPORTHOWs to make classes that behave like "trust everything always"
09:57 masak but to me, it sounds like working against the grain of the OO system
09:57 jnthn .oO( BallOfMudHOW :) )
09:57 kalkin- grepping in ~/rakudo source doesn't find any sub infix:<:=>. Why that? How is it implemented? I.e. infix:<…> returns a few declrations
09:58 arnsholt masak: Indeed. It's not that noone who worked on Perl 6 knew about C++. It's that they *did*, and they disagreed
09:58 jnthn kalkin-: It's a special compiler form
09:58 arnsholt kalkin-: Looks like it's an initializer:<:=> in Grammar.nqp
09:58 jnthn kalkin-: Binding is a rather low-level operation
09:58 jnthn So you can't just call it
09:59 jnthn And yes, where arnsholt pointed is one spot, and there's an infix:<:=> somewhere in the grammar too.
09:59 arnsholt initializer:sym<:=> actually
09:59 ZzZombo <timotimo> you should be able to create HOWs and EXPORTHOWs to make classes that behave like "trust everything always"
09:59 ZzZombo but the point is to make private members available only to subclasses.
09:59 jnthn ZzZombo: If they're available to subclasses, how are they private?
09:59 timotimo okay, then add a check" is this a subclass" and trust only subclasses
09:59 kalkin- Thanks, i found it
10:00 kalkin- Would it make sense to patch it to work with ≔? (I really like using unicode chars)
10:00 ZzZombo private in the sense outside users of the object won't be able to use it.
10:00 perlawhirl kalkin-: also, for defining an alias to a subrouting, you can do away with Captures an just refer to the subs in noun form
10:00 perlawhirl m: my &infix:<minus> = &infix:<->; say 3 minus 2
10:00 camelia rakudo-moar 054aca: OUTPUT«1␤»
10:01 jnthn But anyone can write a subclass. A subclass is also an outside user.
10:01 kalkin- perlawhirl: thanks, TIL
10:02 perlawhirl kalkin-: np... and of course, i meant 'subroutine'. i'm a network engineer so my fingers always perfer 'routing' over 'routine' :D
10:03 kalkin- :)
10:05 * f3ew_ wonders how much of Perl(6) OO has been inspired by CLOS
10:06 ZzZombo The fact that anyone can create a subclass doesn't mean a thing.
10:07 jnthn f3ew_: MOP wise, most certainly
10:16 CIAvash joined #perl6
10:23 wamba joined #perl6
10:30 ufobat joined #perl6
10:34 pmurias joined #perl6
10:35 pmurias ZzZombo: attributes that are visible to subclasses that aren't trusted aren't private
10:36 pmurias ZzZombo: why would we want to copy stupid stuff from C++ (public/private/protected)
10:42 pmurias ZzZombo: the twigils are used to have a clear distinction between the attribute and accessor
11:04 viki ZzZombo: thanks, but that article won't ever be published :)
11:07 pierre_ joined #perl6
11:11 viki kalkin-: I would vote -1 on such a PR, because that unicode version is indistinguishable from regular = on any dirty monitor with my font: http://i.imgur.com/GNY9MBj.png
11:12 viki kalkin-: AlexDaniel has a gist somewhere with a whole ton of such unicode replacements...
11:12 kalkin- viki: That's a lame excuse :). Following such logic you shouldn't use most unicode versions of anything in perl6 :)
11:13 viki kalkin-: like what?
11:13 kalkin-
11:13 kalkin- the unicode equivalent of ==>
11:13 viki What's the unicode equivalent of ==> ?
11:13 viki What does … look similar to?
11:14 kalkin- ...
11:14 kalkin- up
11:14 viki kalkin-: but that function is equivalent :|
11:14 kalkin- no I meant there are fonts not displaying it at all
11:15 kalkin- ==> ⟹
11:15 viki kalkin-: but that's not my argument. The rendering of ≔ is very close to equals sign. I
11:15 viki We don't have ⟹
11:16 kalkin- ohh we don't? this is what I meant by it's hard to guess what works :)
11:16 kalkin- viki: I really don't want to flame, but your reasoning is basically, that your font sucks. A font can suck in many different ways
11:16 kalkin- :)
11:16 viki It's all documented so you don't have to guess: https://docs.perl6.org/language/unicode_texas.html
11:18 viki kalkin-: no, my reasoning is a proposed character is rendered close to a completely different op that is also used in the same position as the proposed chacter, thereby it has a high chance of causing confusion.
11:19 viki m: my @a = 1, 2, 3; my @b = 4, 5, 6; say @a ∖ @b
11:19 camelia rakudo-moar 054aca: OUTPUT«set(3, 1, 2)␤»
11:19 viki ^ a lot of people get confused even by taht.
11:20 kalkin- viki: Hmm, but isn't it the job of the font to display a clear reandering of the char?
11:20 kalkin- but i guess almost any monospaced font would probably have the character rendered badly
11:21 DrForr What's the argument here? (just curious)
11:21 kalkin- actually no argument, it's not really that important
11:21 [particle] joined #perl6
11:21 DrForr I didn't mean argument in the sense of "fists out", I just missed the start of the discussion.
11:22 viki kalkin-: here's what it gets rendered in my coding editor, compared next to proper equals sign: http://i.imgur.com/DRPBhfo.png
11:22 viki DrForr: https://irclog.perlgeek.de/​perl6/2016-11-29#i_13646508
11:22 kalkin- viki: yeah this looks bad
11:22 viki DrForr: https://irclog.perlgeek.de/​perl6/2016-11-29#i_13646674
11:22 timotimo eew, yeah
11:23 kalkin- it doesn't look better, with Fira Mono (the one I'm using) I must admit
11:24 viki FWIW AlexDanial has a big gist with unicode replacements for stuff.
11:24 viki like >= <= etc
11:25 kalkin- The double colon equal also looks awful ⩴
11:26 kalkin- This one https://gist.github.com/Alex​Daniel/c89bd2786f9b63f31e4c ?
11:30 CIAvash kalkin-: I don't think Fira has it, for me, it falls back to "DejaVu Sans Mono" for ≔
11:30 kalkin- CIAvash: dunno, may be my xfce4-terminal also does a fallback
11:31 kalkin- if it's falling back, it's not to DejaVu because there it looks much more awful
11:32 dalek doc: 775c00f | gfldex++ | doc/Language/typesystem.pod6:
11:32 dalek doc: fill in role in /language/typesystem
11:32 dalek doc: review: https://github.com/perl6/doc/commit/775c00f4ab
11:33 viki kalkin-: yeah, that one
11:37 kalkin- why does && has not the same precedence as 'and' ? Is it because it's useful to have two operators which are almost the same?
11:37 moritz kalkin-: yes
11:38 kalkin- k, i guess i did too much python in the last few years :)
11:38 moritz kalkin-: in particular, && is very useful in typical logical expression, and 'and' is very useful for things like   my $x = get_value() and say "x is $x";
11:39 * kalkin- mumbles: I would prefer ∧ for logical stuff
11:41 kalkin- moritz: but I definitely see your point
11:41 gfldex m: constant &infix:<∧> := &infix:<&&>; say 1 ∧ True;
11:41 camelia rakudo-moar 054aca: OUTPUT«True␤»
11:41 gfldex kalkin-: ^^^
11:41 viki One thing I wish we never added is −
11:42 viki It's all over the codebase, so in half the things it still doesn't work and it makes checks like if nqp::ord(nqp::substr...) much more elaborate, since now you gotta store the char somewhere and then check it against two possibilities
11:42 gfldex you mean prefix:<-> ?
11:43 timotimo viki: there's ordat that gives you an ord without a substr
11:43 viki timotimo: :o I'll need to review some of my commits then
11:43 timotimo it'll also circumvent an allocation that'll immediately get cleaned up again, but it goes through malloc, too
11:43 viki gfldex: U+2212 minus
11:43 aborazmeh joined #perl6
11:43 aborazmeh joined #perl6
11:43 timotimo and there's also eqat, which lets you put the comparison into the op, too
11:43 timotimo and it won't allocate at all, even though it lets you use a string
11:44 viki sweet
11:44 timotimo YW :)
11:44 viki Who knew! Complaining can be productive! :)
11:45 bjz_ joined #perl6
11:55 gfldex prefix operators don't show up in the index and I can see why they shouldn't.
11:56 viki Why?
11:56 DrForr Heh. I'm ref[au]ctoring that portion of Perl6::Parser at the moment :)
11:56 CIAvash joined #perl6
11:56 gfldex I mean I can't find the bug in htmlify.p6
11:57 viki ah
12:03 domidumont joined #perl6
12:12 gfldex m: say 'foo'
12:12 camelia rakudo-moar 054aca: ( no output )
12:12 gfldex camelia is sick again :(
12:16 cdg joined #perl6
12:17 canopus joined #perl6
12:18 lizmat joined #perl6
12:19 dalek doc: 4054328 | gfldex++ | doc/Language/typesystem.pod6:
12:19 dalek doc: doc trait does
12:19 dalek doc: review: https://github.com/perl6/doc/commit/4054328eb7
12:25 dalek doc: dc485ac | gfldex++ | doc/Language/typesystem.pod6:
12:25 dalek doc: tell how mixin conflicts are handled
12:25 dalek doc: review: https://github.com/perl6/doc/commit/dc485acdf1
12:25 dalek doc: 4ee1194 | gfldex++ | doc/Language/operators.pod6:
12:25 dalek doc: tell how conflicts are handled for infix:<but> and infix:<does>
12:25 dalek doc: review: https://github.com/perl6/doc/commit/4ee119454c
12:26 gfldex I'm quite sure we will have complete docs eventually. :)
12:31 sufrostico joined #perl6
12:40 dalek doc: 1d6295b | gfldex++ | doc/Language/typesystem.pod6:
12:40 dalek doc: doc trait hides
12:40 dalek doc: review: https://github.com/perl6/doc/commit/1d6295b062
12:40 dalek doc: 2c3c887 | gfldex++ | doc/Language/typesystem.pod6:
12:40 dalek doc: doc trait is hidden
12:40 dalek doc: review: https://github.com/perl6/doc/commit/2c3c887223
12:47 travis-ci joined #perl6
12:47 travis-ci Doc build errored. Wenzel P. P. Peppmeyer 'doc trait is hidden'
12:47 travis-ci https://travis-ci.org/perl6/doc/builds/179747841 https://github.com/perl6/doc/com​pare/4ee119454c1f...2c3c88722391
12:47 travis-ci left #perl6
12:53 sufrostico joined #perl6
12:57 pierre_ joined #perl6
12:58 ggoebel joined #perl6
13:03 iH2O joined #perl6
13:05 viki What does "these days cannot be banked" mean, in a context of work? Does it mean I won't get paid?
13:05 itaipu joined #perl6
13:06 iH2O isnt doing useful work self-rewarding enough?
13:06 viki hah
13:06 DrForr That's generally for vacation days, means you can't use them after the end of the year.
13:07 viki Oh.
13:07 viki OK. That makes more sense than not getting paid :P
13:11 iH2O i just visited rakudo.org and it appears theres been a tremendous amount of rakudo work from 2016.10 to 2016.11
13:11 iH2O i browsed the changes/improvements and i thought id never reach the end
13:13 mitchum joined #perl6
13:13 viki iH2O: yeah, 2016.11 Rakudo had larger than average changelog
13:14 iH2O thx to dedicated unpaid workers like u viki :-P
13:14 viki I get paid in knowledge.
13:14 viki And FAME!!! \o/
13:14 viki :)
13:15 timotimo i'm not sure why, but the star changelog wasn't abbreviated like it usually is
13:15 viki mhm
13:18 timotimo i think the star release guide also advises to abbreviate
13:25 zakharyas joined #perl6
13:36 ugjka joined #perl6
13:37 dalek doc: 61fdbb0 | coke++ | doc/Language/typesystem.pod6:
13:37 dalek doc: remove trailing whitespace
13:37 dalek doc: review: https://github.com/perl6/doc/commit/61fdbb0f1e
13:37 dalek doc: 028fc71 | coke++ | doc/Language/typesystem.pod6:
13:37 dalek doc: remove lolcat but only to pass spellcheck
13:37 dalek doc: review: https://github.com/perl6/doc/commit/028fc719d0
13:41 * [Coke] iz sad about 028fc71. :|
13:41 viki add iz to spellchecker word list? :)
13:41 kyclark joined #perl6
13:43 [Coke] I would have felt worse about that, I think
13:43 [Coke] 11 gaps left in advent schedule. First gap is in 8 days.
13:46 CIAvash joined #perl6
13:54 nadim joined #perl6
13:54 nadim African salutations all.
13:55 kyclark joined #perl6
13:55 [Coke] o/
13:55 viki You're in Africa?
13:57 lizmat looks like Tunisia  :-)
13:59 travis-ci joined #perl6
13:59 travis-ci Doc build passed. Will "Coke" Coleda 'remove lolcat but only to pass spellcheck'
13:59 travis-ci https://travis-ci.org/perl6/doc/builds/179762555 https://github.com/perl6/doc/com​pare/2c3c88722391...028fc719d053
13:59 travis-ci left #perl6
14:00 tadzik spellcheck shmerchek
14:00 * viki looks at https://travel.gc.ca/destinations/tunisia
14:00 viki "Regional advisory - Avoid all travel"
14:00 viki nadim: nice knowing you ;)
14:01 cdg joined #perl6
14:04 xinming joined #perl6
14:13 gfldex viki: could you check the load on the host that build the docs please? It takes 88m to build right now.
14:13 moritz 1.6
14:13 moritz not too high
14:14 moritz you might want to check which syntax hilighting method it uses
14:14 moritz (the build logs should indicate that)
14:14 nadim I think travel  base on advising should not be USA advising. We'd never get anywhere.
14:14 gfldex i will try to reproduce locally
14:14 viki nadim: it's Canadian advisory :)
14:15 nadim lizmat: indeed few weeks in Tunisia, Couscous and some Perl hopefully
14:15 nadim viki: not that one either then :)
14:15 viki :)
14:16 gfldex nadim: maybe it's you who is causing that travel warning.
14:16 firstdayonthejob joined #perl6
14:17 gfldex "Folk are running and screaming whereever I go. This planet is quite dangerous!"
14:18 nadim gfldex: You have a point here.
14:19 lizmat :-)
14:21 khw joined #perl6
14:22 DrForr "And your hair covers it nicely." :)
14:22 pmurias the advisory seems to mention only specific regions where "violent clashes" are taking place
14:24 * DrForr mutters something about the "no-go" areas in France.
14:25 [Coke] https://stackoverflow.com/questions/40863736/does-​perl-6-posix-character-classes-respect-the-locale - Anyone want to claim this one? I think the first problem is that these aren't POSIX.
14:26 [Coke] viki: how about a bot that reports how many new perl6 questions there are on stackexchange each day, along with the the count of total unanswered/answered?
14:26 nadim DrForr: Maybe I should make the same "in the no-go zone" reporting I did for Belleville.
14:27 viki [Coke]: go for it. IRC::Client is well documented ;)
14:27 nadim [Coke]: excellent idea, maybe it could get listed somewhere that is not IRC too
14:28 * DrForr refrains from posting some comments on press in the US that would be seen as flaming.
14:29 jnthn [Coke]: Those are all defined in terms of Unicode character properties; they're nothing to do with POSIX at all
14:31 nadim DrForr: 1+1=2, the sky looks blue, no no-go zone in Belleville, nothing flamming about that.
14:31 gfldex the docs need Inline::Python that seams to be missing
14:31 nadim DrForr: but we have other forums, my point was just to say hi to all of you.
14:32 gfldex viki: if you got the time could you install Inline::Python please?
14:32 viki ok
14:33 moritz answered: https://stackoverflow.com/a/40868456/14132
14:33 viki hm... it needs some lib?
14:34 moritz libpython-dev maybe?
14:34 moritz nope, that's installed
14:34 viki gcc pyhelper.c   -shared -fPIC -o ./resources/libraries/libpyhelper.so
14:34 viki pyhelper.c:1:20: fatal error: Python.h: No such file or directory
14:34 * moritz tries libpython3.4-dev
14:35 * viki leaves this in moritz's hands then :)
14:35 [Coke] moritz: ha! I didn't realize it was bdf asking the question until I read your answer. :)
14:35 moritz nope :(
14:35 ilmari libpython-dev depends on the -dev package for the default python for the distro, e.g. libpython2.7-dev
14:36 ilmari which ships /usr/include/python2.7/Python.h
14:36 ilmari seems like missing -I/usr/include/python<version>
14:36 ilmari $ python-config --includes
14:36 ilmari -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7
14:36 moritz nine: ^^ seems like a Configure-time problem with Inline::Python
14:37 moritz ilmari++ # analysis
14:38 ilmari on my system --cflags includes --includes
14:38 dolmen joined #perl6
14:38 moritz oh
14:38 moritz it's missing python2-config
14:39 ilmari that's in python-dev here
14:39 moritz ah, and I had only libpython-dev installed
14:40 moritz nine: never mind, 'twas just me being too stupid to properly read the error messages
14:40 ilmari so, python-dev ships python-config and python2-config, which link to python2.7-config
14:41 ilmari python2.7-dev ships python2.7-config, which is a symlink to x86_64-linux-gnu-python2.7-config, which is shipped by libpython2.7-dev
14:41 moritz gfldex: Inline::Python now installed
14:41 ilmari there's also x86_64-linux-gnu-python-config, shipped by libpython-config
14:41 ilmari s/-config$/-dev/
14:41 skids joined #perl6
14:44 dj_goku joined #perl6
14:48 dalek doc: b2aa298 | gfldex++ | doc/Language/ (2 files):
14:48 dalek doc: we can have a list of roles
14:48 dalek doc: review: https://github.com/perl6/doc/commit/b2aa298467
14:55 kalkin- joined #perl6
14:58 dalek doc: d7feaf8 | gfldex++ | doc/Language/traps.pod6:
14:58 dalek doc: add trap but R1,R2
14:58 dalek doc: review: https://github.com/perl6/doc/commit/d7feaf8786
14:58 viki :(
14:59 gfldex there is RT#130213 for this trap. So it might go away.
15:00 viki :/ why is this a trap? https://docs.perl6.org/language/​traps.html#Capitalizing_a_string
15:00 viki Sounds more like 5-to-6 material
15:00 [Coke] agreed.
15:01 [Coke] and there's already a 'ucfirst' entry on 5to6-perlfunc.
15:03 alimon1 joined #perl6
15:04 dalek doc: dc17f03 | (Zoffix Znet)++ | doc/Language/traps.pod6:
15:04 dalek doc: Capitalizing a string is not a trap
15:04 dalek doc:
15:04 dalek doc: 5-to-6 already mentions tc/ucfirst
15:04 dalek doc: review: https://github.com/perl6/doc/commit/dc17f03c8f
15:09 Ven joined #perl6
15:09 Ven o/, #perl6
15:10 Ven m: say (&[+])([1,2,3]); say [+] [1,2,3];
15:10 camelia rakudo-moar 054aca: OUTPUT«3␤6␤»
15:10 viki \
15:10 Ven I'm not too sure why the first case has `+` called on the Array? :)
15:11 viki Could it be due to our specialcasing of [+] to call &sum?
15:11 viki oh
15:11 viki the first case :)
15:11 viki In the first case you're calling infix(?) + with one argument: the array
15:11 viki s: &[+]
15:11 SourceBaby viki, Sauce is at https://github.com/rakudo/rakudo/bl​ob/44ddfd4/src/core/Numeric.pm#L186
15:12 viki s: &[+], \([1, 2,3 ])
15:12 SourceBaby viki, Sauce is at https://github.com/rakudo/rakudo/bl​ob/44ddfd4/src/core/Numeric.pm#L187
15:12 viki called it! :)
15:13 Ven m: say &[[+]]([1,2,3])
15:13 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    infix:<[+]> used at line 1. Did you mean 'infix:<+|>', 'infix:<∖>', 'infix:<lt>'?␤␤»
15:13 Ven m: say (&[[+]])([1,2,3])
15:13 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    infix:<[+]> used at line 1. Did you mean 'infix:<+|>', 'infix:<∖>', 'infix:<lt>'?␤␤»
15:13 viki m: say [&[+]] [1,2,3]
15:13 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing infix inside []␤at <tmp>:1␤------> 3say [&[+]] [7⏏1,2,3]␤    expecting any of:␤        bracketed infix␤        infix␤        infix stopper␤»
15:13 MilkmanDan joined #perl6
15:14 viki m: say [[&[+]]] [1,2,3]
15:14 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in bracketed infix; couldn't find final ']' ␤at <tmp>:1␤------> 3say [[&7⏏5[+]]] [1,2,3]␤»
15:14 viki blehg
15:14 Ven well, for this one I can call `*.sum`, but not for [*] :(
15:14 viki To achieve what?
15:15 travis-ci joined #perl6
15:15 travis-ci Doc build failed. Zoffix Znet 'Capitalizing a string is not a trap
15:15 travis-ci https://travis-ci.org/perl6/doc/builds/179788157 https://github.com/perl6/doc/com​pare/d7feaf878696...dc17f03c8fea
15:15 travis-ci left #perl6
15:15 Ven trying to golf down `my @a=xxx; $_ %% [+] @a and $_ %% [*] @a`
15:16 viki .oO( xxx ? )
15:16 Ven so I tried `(&[+]  & &[*])(xxx)`
15:16 Ven viki: read ??? :)
15:16 Ven or @foo $bar $baz
15:16 moritz Ven: maybe start by describing with words what you're trying to do?
15:16 viki Ven: now I see why people call perl line noise :)
15:16 Ven viki: hehe :P
15:17 Ven moritz: check if a number is divisible both by the sum of its digits, and also by their product.
15:17 Ven viki: the complete line reads `{(1..*).grep({my @a=$_.split("")[1..*-2];$_%%@a.sum&&$_%%[*] @a})[$_]}`
15:17 Ven which does look a bit like line-noise... Also TIL, [1..*-2] takes less space than :skip-empty in the split :P
15:18 viki $_ %% all(([+] @a), [*] @a)
15:18 viki $_ %% ([+] @a) & [*] @a
15:18 * viki isn't sure on precedence on that last one
15:19 viki $_ %% (@a.sum & [*] @a)
15:19 Ven viki: that doesn't allow me to eliminate `@a`, but yes
15:19 Ven m: my @a = 3; say 3 %% @a.sum ^ [*] @a
15:19 camelia rakudo-moar 054aca: OUTPUT«one(True, 3)␤»
15:20 Ven m: my @a = 3; say 3 %% (@a.sum & [*] @a)
15:20 camelia rakudo-moar 054aca: OUTPUT«all(True, True)␤»
15:20 Ven m: my @a = 3; say 3 %% @a.sum & [*] @a
15:20 camelia rakudo-moar 054aca: OUTPUT«all(True, 3)␤»
15:21 viki m: .join %% (.sum & [*] |$_) with 3.comb
15:21 camelia rakudo-moar 054aca: OUTPUT«WARNINGS for <tmp>:␤Useless use of "%%" in expression ".join %% (.sum & [*] |$_)" in sink context (line 1)␤This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the …»
15:21 viki m: say .join %% (.sum & [*] |$_) with 3.comb
15:21 camelia rakudo-moar 054aca: OUTPUT«This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤  in block <unit> at <tmp> line 1␤␤»
15:21 viki bleh
15:21 * viki leaves to do stuff
15:21 moritz m: $_ = 1234; my @a = .comb; say $_ %% @a.sum & [*] @a
15:21 camelia rakudo-moar 054aca: OUTPUT«all(False, 24)␤»
15:22 moritz m: $_ = 1234; my @a = .comb; say $_ %% (@a.sum & [*] @a)
15:22 camelia rakudo-moar 054aca: OUTPUT«all(False, False)␤»
15:22 viki lizmat: ^ that's one argument for .comb predictable giving List, BTW :)
15:22 Ven actually, I wonder if there's an easy way to go from "123" to (1,2,3)
15:22 Ven m: say "123".comb.perl
15:22 camelia rakudo-moar 054aca: OUTPUT«("1", "2", "3").Seq␤»
15:22 Ven well, that still helps me a lot.
15:22 moritz m: $_ = 1234; @_ = .comb; say $_ %% (@_.sum & [*] @_)
15:22 camelia rakudo-moar 054aca: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot use placeholder parameter @_ in the mainline␤at <tmp>:1␤------> 3$_ = 1234; @_7⏏5 = .comb; say $_ %% (@_.sum & [*] @_)␤»
15:23 viki lizmat: oh nevermind
15:23 Ven {(1..*).grep({$_%%.comb.sum&&$_%%[*] .comb})[$_]}
15:25 Ven m: with 1116 { say $_ %% (.comb.sum & [*] .comb) }
15:25 camelia rakudo-moar 054aca: OUTPUT«all(True, True)␤»
15:25 Ven m: with 1117 { say $_ %% (.comb.sum & [*] .comb) }
15:25 camelia rakudo-moar 054aca: OUTPUT«all(False, False)␤»
15:25 Ven it doesn't short-circuit though, but oh well.
15:26 Ven I'm allowed to warn-a-lot.
15:27 Ven .oO( I never expected one day I'd wish for a 1..* shortcut... )
15:29 Ven thanks, #perl6 :P
15:31 avalokite joined #perl6
15:33 kurahaupo joined #perl6
15:33 perlawhirl joined #perl6
15:48 moritz m: say ^*
15:48 camelia rakudo-moar 843a6b: OUTPUT«{ ... }␤»
15:48 moritz m: say ^Inf
15:48 camelia rakudo-moar 843a6b: OUTPUT«0..^Inf␤»
15:48 moritz starts with 0, ont good
15:49 viki Why not good?
15:50 [Coke] m: say 1+^Inf
15:50 camelia rakudo-moar 843a6b: OUTPUT«Cannot coerce Inf to an Int␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
15:50 [Coke] m: say ^Inf+1
15:50 camelia rakudo-moar 843a6b: OUTPUT«1..^Inf␤»
15:50 moritz viki: because Ven needed something that starts with 1
15:50 viki ah
15:51 perlawhirl '1..*' is as same chars as '^Inf'
15:51 perlawhirl so i think 1..* is fine
15:51 viki but not ^∞ :)
15:51 perlawhirl lol
15:51 [Coke] perlawhirl: no, ^Inf is from 0, not 1, not the same.
15:52 [Coke] huh. I cannot type the unicod inf symbol here.
15:52 [Coke] can someone try ^Inf+1 but with the symbol?
15:52 viki It works of course
15:52 viki m: ^∞+1
15:52 camelia rakudo-moar 843a6b: OUTPUT«WARNINGS for <tmp>:␤Useless use of "+" in expression "^∞+1" in sink context (line 1)␤»
15:52 viki m: dd ^∞+1
15:52 camelia rakudo-moar 843a6b: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10... (lazy list)␤»
15:53 [Coke] oh, same CHARS.
15:53 perlawhirl yes
15:53 [Coke] perlawhirl++
15:53 viki m: say (^*)(∞)
15:53 camelia rakudo-moar 843a6b: OUTPUT«0..^Inf␤»
15:54 perlawhirl and even if viki could coerce ∞ to do it in 1 less char, it would still be more bytes
15:54 viki m: say '∞'.codes
15:54 camelia rakudo-moar 843a6b: OUTPUT«1␤»
15:54 viki m: say '∞'.ords
15:54 camelia rakudo-moar 843a6b: OUTPUT«(8734)␤»
16:00 japhb m: say '∞'.encode.elems
16:00 camelia rakudo-moar 843a6b: OUTPUT«3␤»
16:01 viki m: say '1..*'.encode.elems
16:01 camelia rakudo-moar 843a6b: OUTPUT«4␤»
16:01 viki m: say '^∞+'.encode.elems
16:01 camelia rakudo-moar 843a6b: OUTPUT«5␤»
16:01 viki :)
16:01 [Coke] byte? how quaint. :P
16:08 salv0 joined #perl6
16:10 timotimo https://browsix.org/  okay
16:16 sufrostico joined #perl6
16:17 [Coke] half the links here never work through $dayjob proxy. :(
16:19 viki ssh tunnel
16:19 viki sudo -u zoffix ssh -ND 2225 zoffix@cerberus
16:20 viki then in your broswer set socks5 proxy to localhost:2225
16:20 kurahaupo joined #perl6
16:20 viki replace zoffix and cerberus with proper user name and host of some box you can ssh to :)
16:22 [Coke] viki: there's a limit to what I can do and not break the rules.
16:23 viki :)
16:30 camelia joined #perl6
16:35 wamba joined #perl6
16:36 dalek doc: 2bfe008 | (Zoffix Znet)++ | doc/Language/unicode_texas.pod6:
16:36 dalek doc: List texas version of «=»
16:36 dalek doc:
16:36 dalek doc: Since it also requires special [ ] treatment
16:36 dalek doc: review: https://github.com/perl6/doc/commit/2bfe008b11
16:39 pierre_ joined #perl6
16:41 [Coke] buggable: tags
16:41 buggable [Coke], Total: 1415; BUG: 936; UNTAGGED: 288; LTA: 132; NYI: 92; RFC: 61; JVM: 54; CONC: 52; REGEX: 39; SEGV: 36; PERF: 28; UNI: 27; @LARRY: 21; NATIVECALL: 21; POD: 19; IO: 18; TODO: 15; PRECOMP: 13; BUILD: 11; TESTCOMMITTED: 11; OO: 10; TESTNEEDED: 8; BOOTSTRAP: 6; MATH: 6; STAR: 6; GLR: 5; OSX: 4; REPL: 4; OPTIMIZER: 3; WEIRD: 3; REGRESSION: 2; SITE: 2; SPESH: 2; @y: 1; CONFIGURE
16:44 zacts joined #perl6
16:45 skids joined #perl6
16:46 xtt joined #perl6
16:46 dolmen joined #perl6
16:53 rindolf joined #perl6
16:54 viki Do we have a vector of Rakudo's logo"?
16:57 aries_liuxueyang joined #perl6
17:00 viki heh, doing image search with rakudo's logo as file shows "Best guess for this image: karma chinese symbol tattoo"
17:03 viki *crickets*
17:03 sufrostico joined #perl6
17:04 viki @...      @....
17:04 viki (those are tumble weeds)
17:06 timotimo look in the mu repository
17:07 [Coke] Pretty sure we do, yes.
17:07 viki I see a file called "SLAVES" :S
17:08 [Coke] https://commons.wikimedia.​org/wiki/File:Camelia.svg ?
17:08 timotimo in the misc folder, there's camelia.svg, .png, .pdf, .odg, .jpg
17:08 timotimo and 16x16 and 32x32 .ico files
17:08 viki That's not Rakudo's logo tho.
17:08 viki I mean this: http://rakudo.org/wp/wp-content/​uploads/2011/04/rakudo-1001.png
17:08 timotimo oh!
17:08 timotimo duh
17:09 [Coke] oh!
17:09 viki :)
17:09 [Coke] timotimo: glad it wasn't just me.
17:09 timotimo yes, quite
17:10 [Coke] https://irclog.perlgeek.de/perl6/2010-09-27/text - search for svg
17:10 [Coke] ah, https://irclog.perlgeek.de/​perl6/2010-09-27#i_2869052
17:11 [Coke] .seen pmichaud
17:11 yoleaux I saw pmichaud 15 Sep 2016 01:34Z in #perl6: <pmichaud> m: my $input = '(\d\d\d)';  my $m = 'a 123' ~~ /$0=<$input>/; say $m
17:11 viki good nuf, thanks :)
17:12 viki .ask pmichaud would be sweet if you could drop the .ai of Rakudo logo into https://github.com/perl6/m​arketing/tree/master/LOGOs if you get a chance
17:12 yoleaux viki: I'll pass your message to pmichaud.
17:13 dalek marketing: f30998d | (Zoffix Znet)++ | LOGOs/Camelia (8 files):
17:13 dalek marketing: Move Camelia logo files into their own dir
17:13 dalek marketing: review: https://github.com/perl6/m​arketing/commit/f30998d690
17:13 dalek marketing: 576093d | (Zoffix Znet)++ | LOGOs/Rakudo/rakudo-box-3000.png:
17:13 dalek marketing: Add Rakudo large PNG logo
17:13 dalek marketing: review: https://github.com/perl6/m​arketing/commit/576093de17
17:18 sjohnsen joined #perl6
17:19 dogbert2 joined #perl6
17:22 domidumont joined #perl6
17:23 optikalmouse joined #perl6
17:26 grondilu joined #perl6
17:40 dogbert17 joined #perl6
17:43 yoleaux AlexDaniel: remind MasterDuke to create a ticket if not done already
17:45 viki yoleaux: he ain't in here, bruh.
17:48 dalek marketing: 0998a64 | (Zoffix Znet)++ | LOGOs/RakudoStar/Rakudo-Star--logo. (2 files):
17:48 dalek marketing: Add Rakudo Star logos
17:48 dalek marketing:
17:48 dalek marketing: Logo-ishes? Symbols? Glyphs? Do we have a R* logo already? I made these things...
17:48 dalek marketing: review: https://github.com/perl6/m​arketing/commit/0998a643bd
17:58 CIAvash joined #perl6
18:07 dalek marketing: e0710b1 | (Zoffix Znet)++ | LOGOs/NQP/NQP--logo-- (4 files):
18:07 dalek marketing: Add NQP Logo variants
18:07 dalek marketing:
18:07 dalek marketing: Logo-ish symbols :)
18:07 dalek marketing: review: https://github.com/perl6/m​arketing/commit/e0710b1e71
18:13 perlpilot I didn't even know nqp had a logo
18:13 viki It does now!
18:13 perlpilot :)
18:14 eisen74 joined #perl6
18:14 perlpilot where's MoarVM's logo?  ;)
18:15 timotimo http://imgur.com/gMyYJjN - i wanted it to be this
18:16 perlpilot interesting
18:16 viki Dunno. I can design one if there's a need. (it's not needed for my current project)
18:16 timotimo could be a crab, but i suppose you could also have a butterfly-like thing with the wings at an angle to make it look like that
18:16 jonadab Makes me think lobster, initially.
18:17 jonadab But I can see ambiguity in it, yes.
18:17 viki timotimo: it took forever to load on my crappy network and when the first half only was showing, I thought it'd be a whole butterfly :)
18:17 viki I like it :)
18:52 viki man, I love PHP. *google PHP do XYZ* *copy-paste function name* done!
18:53 mst viki: http://trout.me.uk/mstcat2.jpg
18:54 viki mst: I'm currently writing a rakudo/nqp/star download page.... in PHP :)
18:55 nadim joined #perl6
18:55 [Coke] viki - don't forget latest could have a .1 on the end.
18:56 girafe joined #perl6
18:56 viki Yeah, that already works :)
18:57 viki Well, PHP did it for me. I've just used a function ^_^
19:08 DrForr Programming via stackverflow.
19:13 lizmat_ joined #perl6
19:14 labster joined #perl6
19:15 mohae_ joined #perl6
19:33 vendethiel joined #perl6
19:38 viki preview of rough look: http://i.imgur.com/tVX4QDc.png
19:38 domidumont joined #perl6
19:38 domidumont joined #perl6
19:38 viki This is the current look: http://rakudo.org/downloads/star/
19:39 viki ( -latest-blah URLs will also work with new version, automagically)
19:40 * viki leaves to do some $actual-work for a change
19:40 timotimo looks good to me
19:42 cibs joined #perl6
19:42 [Coke] viki: can you order by name, not date?
19:43 [Coke] (so archive is at the bottom)
19:43 wamba joined #perl6
19:46 * [Coke] misread those URLS.
19:46 viki [Coke]: yeah, it's by name. Here's larger preview: http://i.imgur.com/RiTSTr8.png
19:46 [Coke] Maybe a mono font on dates and sizes, and right justify sizes?
19:47 [Coke] looks nice.
19:56 viki Yeah, mono looks better: http://i.imgur.com/wjYDqDo.png
19:56 * viki &
19:57 [Coke] I would donwload that.
20:06 swuecho joined #perl6
20:07 swuecho Hi, all. How can I catch the exception in 'lines()'
20:07 swuecho .say for '/home/hwu/.zsh_history'.IO.lines();
20:08 swuecho If I run it as perl6 script.
20:08 swuecho have the error msg:
20:08 swuecho Malformed UTF-8   in method sink-all at SETTING::src/core/Any-iterable-methods.pm line 1   in block <unit> at test.p6 line 1
20:09 andrzejku_ joined #perl6
20:12 viki m: Blob.new(<3423123>).decode
20:12 camelia rakudo-moar 843a6b: OUTPUT«Malformed UTF-8 at line 1 col 1␤  in block <unit> at <tmp> line 1␤␤»
20:12 viki m: try  Blob.new(<3423123>).decode
20:12 camelia rakudo-moar 843a6b: ( no output )
20:12 viki m: try  Blob.new(<3423123>).decode; say $!.^name
20:12 camelia rakudo-moar 843a6b: ( no output )
20:12 viki wat
20:12 viki oh, broken robot... it's X::AdHoc
20:12 viki swuecho: well, try {} will catrch the exception.
20:13 camelia joined #perl6
20:15 viki s: "foo".IO, 'print', \("meow")
20:15 SourceBaby viki, Something's wrong: ␤ERR: Could not find candidate that can do \("meow")␤  in sub sourcery at /home/zoffix/services/lib/CoreHackers-​Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤  in block <unit> at -e line 6␤␤
20:15 viki s: "foo".IO, 'print', \()
20:15 SourceBaby viki, Sauce is at https://github.com/rakudo/rakudo/​blob/44ddfd4/src/core/Mu.pm#L468
20:15 viki I see
20:16 viki swuecho: hm, well, .say for '/home/hwu/.zsh_history'.IO.lines();  works, but it'll stop at the line where you have malformed UTF
20:17 swuecho Yes.
20:17 swuecho try block works.
20:17 viki I wonder how come this stops too: try .encode("Latin-1").decode.say for "foo".IO.slurp(:bin).decode("Latin-1").lines
20:18 viki I kinda expected that to skip the line with broken utf8 and print the rest
20:18 viki Oh, need braces
20:18 viki try {.encode("Latin-1").decode.say} for "foo".IO.slurp(:bin).decode("Latin-1").lines
20:18 swuecho me too. I do not care much about the malformed lines.
20:19 viki change "foo" to "/home/hwu/.zsh_history",  obviously :)
20:20 nicq20 joined #perl6
20:21 viki try {.encode("Latin-1").decode.say} || say "[MALFORMED UTF-8]" for "/home/hwu/.zsh_history".IO.slur​p(:bin).decode("Latin-1").lines
20:21 viki \o/
20:23 swuecho thanks.
20:24 viki Any time.
20:24 mst try {.encode("Latin-1").decode.say} || say "[THIS LINE ENCODED IN WTF-8]"
20:31 bjz joined #perl6
20:34 andrzejku_ hey guys
20:34 andrzejku_ could you help me?;-)
20:34 moritz depends on the problem :-)
20:35 viki Sure. What size a body are we talking about?
20:35 andrzejku_ I am not proficient in english but I decided to write a book for my friends about perl 6
20:35 viki :o
20:35 viki Sweet
20:36 andrzejku_ I think I will base on existing book like eloquent series
20:36 AlexDaniel joined #perl6
20:36 andrzejku_ but it will be great if you guys take a look at it from time to time
20:36 viki Sure. We can do it.
20:37 viki AlexDanie would be more than happy too, I'm sure.
20:37 andrzejku_ greate
20:37 AlexDaniel yoleaux: this was stupid
20:38 AlexDaniel yoleaux: ye really, what kind of behavior is that?
20:39 AlexDaniel yoleaux: who thought that it is a good idea?
20:39 viki .oO( so this is why the robots want to kill all humans...)
20:39 AlexDaniel andrzejku_: hello!
20:40 stmuk_ grrr I can't delete a fork through the web on GH
20:40 AlexDaniel andrzejku_: perhaps I'm not the best person to review your English, but I can give feedback about the content itself, yes
20:41 AlexDaniel andrzejku_: just contact me when you have something
20:41 viki stmuk_: sure you can. Settings -> all the way to the bottom -> Delete this repository
20:41 stmuk_ it doesn't work .. I get an error
20:41 viki :(
20:41 stmuk_ it has worked in the recent past
20:43 pierre_ joined #perl6
20:44 andrzejku_ sure okay
20:44 viki \o/
20:44 andrzejku_ that were very motivating words
20:44 andrzejku_ :)
20:45 viki andrzejku_: also, post on our reddit https://www.reddit.com/r/perl6/ or on our Facebook page https://www.facebook.com/groups/1595443877388632/ or mention to lizmat to post on one of the Perl 6 Weeklies.... you know, to generate buzz :)
20:45 andrzejku_ okay
20:46 andrzejku_ I think it will be also a good english practice for me
20:46 viki Definitely.
20:46 andrzejku_ since I don't like learning :D
20:46 andrzejku_ I like only practice
20:47 andrzejku_ okay, thank you viki and AlexDaniel, going to be busy
20:53 dalek doc: 5b79e49 | moritz++ | doc/Language/regexes.pod6:
20:53 dalek doc: Mention that alnum, alpha etc. are not real POSIX char classes, because they are not locale dependent
20:53 dalek doc: review: https://github.com/perl6/doc/commit/5b79e4988c
20:54 moritz andrzejku_: also let me know when you have something tangible. I have a mailing list of 130+ people interested in Perl 6 books
20:56 AlexDaniel moritz: see this also: https://github.com/perl6/doc/issues/973
20:57 AlexDaniel moritz: the docs are currently wrong
20:57 AlexDaniel there is no <word> and no <ascii>
20:57 perlawhirl joined #perl6
20:57 AlexDaniel \w is actually <alnum> if I recall correctly
20:57 AlexDaniel not sure about the rest. Could be rigth, could be wrong
20:59 Cole_ns joined #perl6
21:02 viki m: say '_' ~~ /<alnum>/
21:02 camelia rakudo-moar 843a6b: OUTPUT«「_」␤ alnum => 「_」␤»
21:02 AlexDaniel yea-yea I know its weird
21:02 AlexDaniel commit: all say '_' ~~ /<alnum>/
21:02 viki yeah
21:02 AlexDaniel commit: all say so '_' ~~ /<alnum>/
21:02 moritz same as \w, it seems
21:02 committable6 AlexDaniel, https://gist.github.com/3828​75eaa1d2a1be5a3506a83526dcbc
21:03 committable6 AlexDaniel, https://gist.github.com/628c​22533f92dac065e684a51c7e29a5
21:05 dalek doc: 19d8717 | moritz++ | doc/Language/regexes.pod6:
21:05 dalek doc: Some more fixes to built-in rules
21:05 dalek doc:
21:05 dalek doc: * add a few Unicode property alternatives
21:05 dalek doc: * delete <word> and <ascii>, which do not exist
21:05 dalek doc: * add <wb> and <ww>
21:05 dalek doc:
21:05 dalek doc: See #973
21:05 dalek doc: review: https://github.com/perl6/doc/commit/19d8717ccb
21:05 AlexDaniel viki: perhaps this will also be very surprising to you
21:06 AlexDaniel m: say ‘25_8thelloworld_234aeou’ ~~ / <ident> /
21:06 camelia rakudo-moar 843a6b: OUTPUT«「_8thelloworld_234aeou」␤ ident => 「_8thelloworld_234aeou」␤»
21:06 AlexDaniel note that there is no + or *
21:06 AlexDaniel m: say ‘25_8thelloworld_234aeou’ ~~ / <+ident +[∞]> /
21:06 camelia rakudo-moar 843a6b: OUTPUT«「_8thelloworld_234aeou」␤»
21:06 AlexDaniel m: say ‘25_8thellowo∞rld_234aeou’ ~~ / <+ident +[∞]> /
21:06 camelia rakudo-moar 843a6b: OUTPUT«「_8thellowo」␤»
21:07 AlexDaniel m: say ‘25∞_8thelloworld_234aeou’ ~~ / <+ident +[∞]> /
21:07 camelia rakudo-moar 843a6b: OUTPUT«「∞」␤»
21:07 moritz AlexDaniel: yes, ident is supposed to be match a simplistic identifier
21:07 jnthn ident isn't a charclass
21:07 moritz AlexDaniel: like in Perl 6, but without the - and ' thingy
21:07 AlexDaniel moritz: I have no problems with ident subrule, but why is it a character class
21:07 AlexDaniel being*
21:07 AlexDaniel jnthn: so why can you use it as a character class then?
21:07 moritz you can't
21:08 AlexDaniel I just did
21:08 moritz as your own example showed
21:08 AlexDaniel and my example did not error out
21:08 jnthn You can try to use any rule as a charclass
21:08 jnthn If it doesn't match just one char, you're going to have a bad time.
21:08 jnthn We can't statically determine that.
21:09 AlexDaniel m: my rule foo { . }; say ‘25∞_8thelloworld_234aeou’ ~~ / <+foo +[∞]> /
21:09 camelia rakudo-moar 843a6b: OUTPUT«No such method 'foo' for invocant of type 'Cursor'␤  in block <unit> at <tmp> line 1␤␤»
21:09 AlexDaniel jnthn: how can I do it?
21:09 jnthn You'd need to be in a grammar, I think
21:10 jnthn Unless <+&foo> works, but I don't believe it does
21:10 jnthn m: my rule foo { . }; say ‘25∞_8thelloworld_234aeou’ ~~ / <+&foo +[∞]> /
21:10 camelia rakudo-moar 843a6b: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at <tmp>:1␤------> 3; say ‘25∞_8thelloworld_234aeou’ ~~ / <+7⏏5&foo +[∞]> /␤Unrecognized regex metacharacter + (must be quoted to match literall…»
21:10 jnthn Yeah, thought not
21:11 jnthn m: grammar G { token TOP { <+foo-[x]> }; token foo { \w+ } }; say G.subparse('abcxd')
21:11 camelia rakudo-moar 843a6b: OUTPUT«「abcxd」␤»
21:11 jnthn d'oh :)
21:11 jnthn m: grammar G { token TOP { <+foo-[x]> }; token foo { \w } }; say G.subparse('abcxd')
21:11 camelia rakudo-moar 843a6b: OUTPUT«「a」␤»
21:11 jnthn There we go
21:11 AlexDaniel m: grammar Blah { rule TOP { <+foo +bar> }; rule foo { <[abc]> }; rule bar { <[def]>+ } }; say Blah.parse(‘d’)
21:11 camelia rakudo-moar 843a6b: OUTPUT«「d」␤»
21:11 AlexDaniel yeah
21:11 AlexDaniel turns out you are right
21:13 cdg joined #perl6
21:14 AlexDaniel something should be done about this :-/
21:14 jnthn Anyway, if we've docs/examples that show using <+ident> or refer to ident as a charclass rather than a bulit-in rule, then I suggest they be tweaked.
21:18 jnthn It's perhaps possible to shove in extra code-gen to check if such a rule matched exactly one char, or alternatively to only ever eat 1 char, but I suspect it's not entirely trivial. I'm incliend to leave using an inappropraite rule as a charclass as being erroneous.
21:18 jnthn *inclined
21:19 Wiertek joined #perl6
21:24 AlexDaniel isn't it less than awesome
21:28 domidumont joined #perl6
21:28 pmurias joined #perl6
21:32 jnthn What would you consider more awesome?
21:35 AlexDaniel more awesome than accepting any rule as a character class? A warning would be nice
21:35 AlexDaniel .tell MasterDuke tests?
21:35 yoleaux AlexDaniel: I'll pass your message to MasterDuke.
21:36 itaipu joined #perl6
21:43 * jnthn is too tired to figure out how easy/feasible/cheap that is, but we can consider it at some point. TimToady++ may have a better intuition on that. :)
21:53 cognominal joined #perl6
21:54 AlexDaniel OK: #130217
21:54 AlexDaniel could've been phrased a bit better but whatever
22:04 zacts joined #perl6
22:08 TEttinger joined #perl6
22:10 AlexDaniel who is Brandon Allbery?
22:10 bjz joined #perl6
22:10 viki AlexDaniel: geekosaur
22:10 AlexDaniel geekosaur: how is it relevant to this particular ticket?
22:11 AlexDaniel geekosaur: do you have a link to IRC discussion? I can submit another ticket
22:11 geekosaur general misrecognition of what rules/definitions are appropriate where?
22:11 AlexDaniel <+smth> is not a misrecognition, it could be a valid character class
22:17 geekosaur https://irclog.perlgeek.de/​perl6/2016-11-20#i_13598215 through https://irclog.perlgeek.de/​perl6/2016-11-20#i_13598435
23:01 AlexDaniel “token after {}” haha :)
23:04 samcv hmm my IRC bot that i use a lot of threading things... once it's running for long enough it just uses huge numbers of threads at 100% cpu. still functioning but I need to figure out what's going on
23:06 samcv was at 100% all 4 cores for like many minutes, and using like 25 threads. now it's down using minimal ones. any way to do this?
23:06 dataf3l joined #perl6
23:06 dataf3l HI guys
23:07 dataf4l joined #perl6
23:07 dataf4l Hi guys
23:08 dataf4l Anybody home?
23:08 timotimo samcv: please attach gdb to stop it, then you can "thread apply all bt" to see backtraces for each thread and we might be bale to see where it hangs
23:08 AlexDaniel *bleep* *blop*
23:08 samcv will it be useful to me as a perl 6 programmer? I know C as well but
23:08 timotimo able*, not bale
23:08 timotimo you can get the perl6-level backtrace, too, but it involves a bit of manual work
23:08 samcv need to mostly know which threads are sticking around doing something.
23:09 samcv ah
23:09 timotimo you have to activate the thread in question, use "up" until you get a frame with a MVMThreadContext *tc in its scope
23:09 timotimo then you can "call MVM_dump_backtrace(tc)" to get the perl6-level backtrace
23:10 AlexDaniel m: grammar G { token TOP { <before> }; token before { . } }; say G.parse(‘foo’)
23:10 camelia rakudo-moar 843a6b: OUTPUT«===SORRY!===␤Cannot find method 'ann' on object of type NQPMu␤»
23:10 AlexDaniel m: grammar G { token TOP { <before2> }; token before2 { . } }; say G.parse(‘foo’)
23:10 samcv ah ok ti
23:10 camelia rakudo-moar 843a6b: OUTPUT«Nil␤»
23:10 AlexDaniel I see
23:11 AlexDaniel dataf4l: why are you asking? :)
23:11 AlexDaniel any interesting question?
23:11 dataf4l how do I server static files using HTTP::Server::Tiny
23:14 kurahaupo__ joined #perl6
23:14 timotimo https://www.reddit.com/r/lol​php/comments/ps6x5/0x0_wat/ - that's pretty cool
23:15 kurahaupo__ joined #perl6
23:16 AlexDaniel timotimo: :| indeed
23:18 AlexDaniel m: say 0x0 +2e1
23:18 camelia rakudo-moar 843a6b: OUTPUT«20␤»
23:18 AlexDaniel well, what else did I expect…
23:18 AlexDaniel how in a world it could possibly be something else…
23:20 AlexDaniel timotimo: in case you did not backlog, here is a perl 6 variant of that
23:20 AlexDaniel m: dd <--Inf--Inf\i>
23:20 camelia rakudo-moar 843a6b: OUTPUT«<0+0i>␤»
23:21 AlexDaniel :|
23:21 dataf4l joined #perl6
23:23 dataf3l_ joined #perl6
23:23 timotimo :D
23:23 AlexDaniel timotimo: I am really curious why is it 0 and not something else
23:24 AlexDaniel the reason why it accepts --Inf is clear
23:24 AlexDaniel but still, - -Inf is +Inf, right?
23:25 viki m: use nqp; say nqp::radix(10, '-Inf', 0, 0)[0]
23:25 camelia rakudo-moar 843a6b: OUTPUT«0␤»
23:25 xinming joined #perl6
23:25 timotimo it's a complex number
23:25 timotimo its re part is - -Inf, its im part is - -Inf
23:25 AlexDaniel so?
23:25 timotimo i'm not sure why it ends up 0, though
23:26 viki :/
23:26 AlexDaniel viki: ok, so what does it mean?
23:26 viki AlexDaniel: it doesn't get noticed as being and Inf, goes to the radix parser that happily parses it as a zero?
23:26 timotimo m: use nqp; say nqp::radix(10, 'Inf', 0, 0)[0]
23:26 camelia rakudo-moar 843a6b: OUTPUT«0␤»
23:26 AlexDaniel viki: ooooooh
23:26 AlexDaniel viki: that explains it
23:26 viki Just a guess. But I see the sign being part of the number parsed when target=parsing it
23:26 timotimo right, the radix parser knows nothing about Inf, apparently
23:26 timotimo right, yeah
23:27 viki AlexDaniel: the more amusing part of that php post is the "explanation" is given by mauke... a l33t perl hax0r :)
23:27 timotimo oh, haha
23:28 timotimo how did you find that bug, AlexDaniel?
23:29 AlexDaniel timotimo: how did I find all other bugs I reported?
23:29 AlexDaniel :)
23:29 AlexDaniel in this case, I just know that -Inf being a thing by itself causes a lot of problems
23:29 viki It won't be that for long! :)
23:29 AlexDaniel which is something viki is going to fix soon, yeah
23:29 timotimo cool
23:30 timotimo but yeah, how do you find all those bugs?
23:30 AlexDaniel vOv
23:30 skids joined #perl6
23:30 timotimo OK
23:32 AlexDaniel more serious bugs usually come from actual projects I write in perl 6. LTA tickets and other fun stuff is just me throwing weird things into rakudo and seeing how it reacts
23:32 AlexDaniel manual fuzzing, basically
23:36 timotimo OK
23:40 viki Current Advent theme: Sobe # this is a note for me, in case I mess up again like last time and won't be able to revert back to the old theme :)
23:40 dalek doc: 3481ba8 | gfldex++ | doc/Type/List.pod6:
23:40 dalek doc: fix markup
23:40 dalek doc: review: https://github.com/perl6/doc/commit/3481ba8e81
23:40 dalek doc: 39014d6 | gfldex++ | doc/Type/List.pod6:
23:40 dalek doc: show how to test for empty list in the part that readers will actually
23:40 dalek doc: read
23:40 dalek doc: review: https://github.com/perl6/doc/commit/39014d6a47
23:42 AlexDaniel viki: while you are at it… can we have black text?
23:43 viki AlexDaniel: that's the reason I'm changing it
23:43 viki It actually looks fine on my home monitor :)
23:43 AlexDaniel well it's not like I can't read it, but I find it a bit uncomfortable
23:44 viki Yeah
23:46 AlexDaniel oops, this title was a bit too long :)
23:46 viki ohhhhh...
23:47 * viki designergasm at the current one
23:47 viki sms
23:47 xinming joined #perl6
23:47 AlexDaniel geekosaur: #130218
23:48 geekosaur I saw
23:48 * AlexDaniel *bleep-blop* https://rt.perl.org/Ticket/Display.html?id=130218
23:53 synopsebot6 joined #perl6
23:53 timotimo one of those days i have to port synopsebot6 to IRC::Client
23:54 AlexDaniel well, I was planning to do this too :P
23:55 timotimo i gotta go to bed early, have a long drive in front of me
23:55 rpburkholder joined #perl6
23:59 viki .tell moritz I checked a few and they sucked. This one is sexy, so I went with it: https://perl6advent.wordpress.com/2015/12/18/
23:59 yoleaux viki: I'll pass your message to moritz.
23:59 Vynce joined #perl6

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

Perl 6 | Reference Documentation | Rakudo