Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-12-26

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 notviki Yeah :D
00:00 notviki Definitely
00:00 mst notviki: 'fine' as in http://gunshowcomic.com/648
00:00 notviki AlexDaniel: or rather I had it... I'm 80% certain the other person was you
00:00 AlexDaniel notviki: RT #129131 ?
00:00 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129131
00:01 AlexDaniel but that's kinda a different issue
00:01 notviki Here's a fun challenge: generate a range that can produce a non-empty list of values where one value would come BEFORE another another but cmp'are as More to it :)
00:02 notviki AlexDaniel: that's teh one yeah
00:04 AlexDaniel m: say (‘z’ ^.. ‘ac’)[^5]
00:04 camelia rakudo-moar 1374fc: OUTPUT«(aa ab ac Nil Nil)␤»
00:04 AlexDaniel m: say (‘z’ .. ‘ac’)[^5]
00:04 camelia rakudo-moar 1374fc: OUTPUT«(Nil Nil Nil Nil Nil)␤»
00:04 AlexDaniel notviki: like this?
00:05 notviki no, becauise "aa" cmp "ab" is Less and so is cmp "ac"
00:08 notviki m: say elems "a".."Ỳ"
00:08 camelia rakudo-moar 1374fc: OUTPUT«7826␤»
00:09 mst basically: everything succ()s
00:09 notviki Given the above, how many elems would there be between "za".."zỲ"?
00:09 AlexDaniel no idea
00:09 notviki Infinite
00:09 notviki :)
00:10 AlexDaniel notviki: I don't even understand how it does it with ascii chars, everything else is completely beyond me
00:11 notviki m: say .ord cmp chr(.ord+1) with "\x[831]"
00:11 camelia rakudo-moar 1374fc: OUTPUT«Less␤»
00:11 notviki err
00:11 notviki m: say .ord cmp chr(.ord+1).ord with "\x[831]"
00:11 camelia rakudo-moar 1374fc: OUTPUT«Less␤»
00:11 notviki ^_^
00:13 notviki m: say .ord cmp chr(.ord+10).ord with "\x[831]"
00:13 camelia rakudo-moar 1374fc: OUTPUT«Less␤»
00:13 notviki ehehe
00:13 notviki Oh
00:13 notviki This is not the magic trick
00:14 notviki but the infinite range is.
00:15 AlexDaniel notviki: wait, so what's with the challenge?
00:16 notviki I was using decimal as hex digits...
00:16 notviki m: say .ord cmp chr(.ord+1).ord with "\x[33F]"
00:16 camelia rakudo-moar 1374fc: OUTPUT«More␤»
00:17 Strawberry joined #perl6
00:17 notviki m: my ($a, $b) = "\x[33f]".."\x[999]"; say $a cmp $b
00:17 camelia rakudo-moar 1374fc: OUTPUT«More␤»
00:17 notviki AlexDaniel: ^ and this is a challenge
00:17 notviki second value in the range is "less" than the first
00:19 AlexDaniel m: say "\x[33f]" cmp "\x[999]"
00:19 camelia rakudo-moar 1374fc: OUTPUT«Less␤»
00:19 AlexDaniel ?
00:19 notviki oh dammit
00:19 notviki :(
00:22 notviki AlexDaniel: right... it only works with sequences and it actually hangs :}
00:22 notviki Check it out
00:22 notviki m: .say for ("z\x[33f]"…Inf)[^2]
00:22 camelia rakudo-moar 1374fc: OUTPUT«z̿␤z̿␤»
00:22 notviki Infinity and still works right?
00:22 notviki m: .say for ("z\x[33f]"…"z\x[340]")[^2]
00:23 notviki Boom, one char higher, but hangs :}
00:23 camelia rakudo-moar 1374fc: OUTPUT«(timeout)»
00:23 notviki m: .say for ("z\x[33f]".."z\x[340]")[^2]
00:23 camelia rakudo-moar 1374fc: OUTPUT«Nil␤Nil␤»
00:23 notviki interesting
00:24 notviki m: say "z\x[33f]" before "z\x[340]"
00:24 camelia rakudo-moar 1374fc: OUTPUT«False␤»
00:24 notviki Ah, that's why
00:33 samcv interesting… no wonder when i rewrote it i got so many less tests
00:33 samcv https://github.com/perl6/roast/blob/master/S15-nfg/mass-equality.t
00:33 samcv tests are all duplicated
00:34 samcv at least some of them
00:34 samcv maybe not that many but there are some
00:39 samcv gonna not rewrite that one actually. just going to seperate it into two scripts. since the mass-equality.t generates perfectly fine, and since it rearranges characters before testing them, i don't want to mess with it
00:54 pierre_ joined #perl6
00:59 rightfold How can I do a rightfold with reduce passing a lambda? (As opposed to an operator)
01:01 notviki [[&stuff]]
01:01 notviki What's the way to find mirroring glyph? Like ']' for '['?
01:01 notviki I have a Ps I wanna know what it's Pe is
01:02 Actualeyes left #perl6
01:03 rightfold notviki: Will that not do a leftfold?
01:04 notviki ah ok
01:05 rightfold m: (^10).reduce({"Tuple $^a ($^b)"})
01:05 camelia rakudo-moar 1374fc: ( no output )
01:06 rightfold m: (^10).reduce({"Tuple $^a ($^b)"}).say
01:06 camelia rakudo-moar 1374fc: OUTPUT«Tuple Tuple Tuple Tuple Tuple Tuple Tuple Tuple Tuple 0 (1) (2) (3) (4) (5) (6) (7) (8) (9)␤»
01:06 rightfold m: (^10).reduce({"Tuple ($^a) $^b"}).say
01:06 camelia rakudo-moar 1374fc: OUTPUT«Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (0) 1) 2) 3) 4) 5) 6) 7) 8) 9␤»
01:06 notviki rightfold: did you fashion your nickname just for this question? :)
01:06 rightfold nope, been using it for ages :P
01:07 notviki m: ^10 .reverse.reduce({"Tuple ($^a) $^b"}).say
01:07 camelia rakudo-moar 1374fc: OUTPUT«Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (9) 8) 7) 6) 5) 4) 3) 2) 1) 0␤»
01:07 rightfold right fold isn't left fold in reverse
01:07 notviki ok
01:08 rightfold left fold does f(f(f(a, z), b), c) and right fold does f(a, f(b, f(c, z)))
01:10 TEttinger notviki: unicode bidi mirroring info, IIRC
01:10 notviki TEttinger: I mean programmatically
01:13 TEttinger I'm trying to find what would be relevant there
01:13 TEttinger http://www.unicode.org/notes/tn39/
01:16 rightfold notviki: lame:
01:16 rightfold m: (^10).reduce(do { sub f is assoc<right> {"Tuple $^a ($^b)"}; &f }).say
01:16 camelia rakudo-moar 1374fc: OUTPUT«Use of uninitialized value % of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤  in block <unit> at <tmp> line 1␤Tuple 0 (Tuple 1 (Tuple 2 (Tuple 3 (Tuple 4 (Tuple 5 (Tuple 6 (Tu…»
01:18 notviki m: quietly (^10).reduce(do { sub f is assoc<right> {"Tuple $^a ($^b)"}; &f }).say
01:18 camelia rakudo-moar 1374fc: OUTPUT«Tuple 0 (Tuple 1 (Tuple 2 (Tuple 3 (Tuple 4 (Tuple 5 (Tuple 6 (Tuple 7 (Tuple 8 (9)))))))))␤»
01:18 TEttinger notviki: there's some perl5 info here http://stackoverflow.com/a/33357311
01:19 rightfold m: quietly (|^10, "Unit").reduce(do { sub f is assoc<right> {"Tuple $^a ($^b)"}; &f }).say
01:19 camelia rakudo-moar 1374fc: OUTPUT«Tuple 0 (Tuple 1 (Tuple 2 (Tuple 3 (Tuple 4 (Tuple 5 (Tuple 6 (Tuple 7 (Tuple 8 (Tuple 9 (Unit))))))))))␤»
01:19 aborazmeh joined #perl6
01:19 aborazmeh joined #perl6
01:19 rightfold perfect
01:20 notviki .tell moritz seems search on loogs is broken. Gives me 500: https://irclog.perlgeek.de/perl6/search/?nick=jnthn&amp;q=bidi
01:20 yoleaux notviki: I'll pass your message to moritz.
01:22 rightfold the warning is weird though
01:22 BenGoldberg joined #perl6
01:22 Ben_Goldberg joined #perl6
01:23 notviki There's probably a much simpler way to do what you're trying to do
01:24 notviki m: sub f {"Tuple $^a ($^b)"}; say [R[&f]] ^10
01:24 camelia rakudo-moar 1374fc: OUTPUT«Tuple Tuple Tuple Tuple Tuple Tuple Tuple Tuple Tuple 9 (8) (7) (6) (5) (4) (3) (2) (1) (0)␤»
01:25 notviki m: sub f {"Tuple $^a ($^b)"}; say [\R[&f]] ^10
01:25 camelia rakudo-moar 1374fc: OUTPUT«(9 Tuple 9 (8) Tuple Tuple 9 (8) (7) Tuple Tuple Tuple 9 (8) (7) (6) Tuple Tuple Tuple Tuple 9 (8) (7) (6) (5) Tuple Tuple Tuple Tuple Tuple 9 (8) (7) (6) (5) (4) Tuple Tuple Tuple Tuple Tuple Tuple 9 (8) (7) (6) (5) (4) (3) Tuple Tuple Tuple Tuple Tuple T…»
01:25 notviki heh
01:25 Ben_Goldberg joined #perl6
01:25 BenGoldberg m: sub {"Tuple $^a ($^b)"} is assoc<right>;
01:25 camelia rakudo-moar 1374fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3sub {"Tuple $^a ($^b)"}7⏏5 is assoc<right>;␤    expecting any of:␤        infix␤        infix stopper␤        stat…»
01:25 BenGoldberg m: sub is assoc<right> {"Tuple $^a ($^b)"};
01:25 camelia rakudo-moar 1374fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3sub is7⏏5 assoc<right> {"Tuple $^a ($^b)"};␤    expecting any of:␤        new name to be defined␤»
01:26 BenGoldberg m: my sub f is assoc<right> {"Tuple $^a ($^b)"};
01:26 camelia rakudo-moar 1374fc: ( no output )
01:26 BenGoldberg m: say my sub f is assoc<right> {"Tuple $^a ($^b)"};
01:26 camelia rakudo-moar 1374fc: OUTPUT«sub f ($a, $b) { #`(Sub+{Precedence}|39766464) ... }␤»
01:26 BenGoldberg m: say [[my sub f is assoc<right> {"Tuple $^a ($^b)"}]] ^10;
01:26 camelia rakudo-moar 1374fc: OUTPUT«one([sub f ($a, $b) { #`(Sub+{Precedence}|44923408) ... }], 10)␤»
01:27 BenGoldberg m: say [[my sub f is assoc<right> {"Tuple $^a ($^b)"}]] (^10);
01:27 camelia rakudo-moar 1374fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3 f is assoc<right> {"Tuple $^a ($^b)"}]]7⏏5 (^10);␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end…»
01:27 rightfold What is the difference between sub and my sub?
01:27 * BenGoldberg isn't entirely sure ;)
01:27 BenGoldberg m: say [[sub f is assoc<right> {"Tuple $^a ($^b)"}]] (^10);
01:27 camelia rakudo-moar 1374fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3 f is assoc<right> {"Tuple $^a ($^b)"}]]7⏏5 (^10);␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end…»
01:28 notviki rightfold: none
01:28 BenGoldberg m: say [[sub {"Tuple $^a ($^b)"}]] (^10);
01:28 camelia rakudo-moar 1374fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say [[sub {"Tuple $^a ($^b)"}]]7⏏5 (^10);␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        …»
01:28 rightfold maybe reduce should have :l and :r adverbs
01:28 rightfold to override the heuristic
01:29 BenGoldberg There should be a non-metaoperator way of doing reduce.
01:29 BenGoldberg m: (sub {"Tuple $^a ($^b)"}).reduce: ^10;
01:29 camelia rakudo-moar 1374fc: OUTPUT«Cannot resolve caller reduce(Sub: Range); none of these signatures match:␤    ($: &with, *%_)␤  in block <unit> at <tmp> line 1␤␤»
01:30 rightfold there is
01:30 notviki BenGoldberg: yes, it's called.... .reduce
01:30 rightfold m: (^10).reduce("Tuple $^a ($^b)").say
01:30 camelia rakudo-moar 1374fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot use placeholder parameter $^a outside of a sub or block␤at <tmp>:1␤------> 3(^10).reduce("Tuple $^a7⏏5 ($^b)").say␤»
01:30 rightfold m: (^10).reduce({"Tuple $^a ($^b)"}).say
01:30 camelia rakudo-moar 1374fc: OUTPUT«Tuple Tuple Tuple Tuple Tuple Tuple Tuple Tuple Tuple 0 (1) (2) (3) (4) (5) (6) (7) (8) (9)␤»
01:30 BenGoldberg Cool.
01:31 rightfold https://github.com/perl6/roast/blob/master/S32-list/reduce.t#L50-L53
01:32 rightfold but I don't get the "Use of uninitialized value % of type Any in string context." warning
01:34 notviki m: (^10).reduce(sub f is assoc<right> {"Tuple $^a ($^b)"}).say
01:34 camelia rakudo-moar 1374fc: OUTPUT«Use of uninitialized value % of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤  in block <unit> at <tmp> line 1␤Tuple 0 (Tuple 1 (Tuple 2 (Tuple 3 (Tuple 4 (Tuple 5 (Tuple 6 (Tu…»
01:34 notviki m: eager (^10).reduce(sub f is assoc<right> {"Tuple $^a ($^b)"});
01:34 camelia rakudo-moar 1374fc: OUTPUT«Use of uninitialized value % of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤  in code  at <tmp> line 1␤»
01:34 notviki s: ^10, 'reduce', \(sub f is assoc<right> {"Tuple $^a ($^b)"})
01:34 SourceBaby notviki, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Method+{<anon|56938816>} (Method+{<anon|5693881...)␤  in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤  in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤  in block <unit> at -e lin
01:35 notviki grr
01:35 notviki Hate that bug
01:35 notviki m: ^10 .^lookup('reduce').file.say
01:35 camelia rakudo-moar 1374fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix call (only alphabetic methods may be detached)␤at <tmp>:1␤------> 3^10 .7⏏5^lookup('reduce').file.say␤»
01:35 BenGoldberg s: ^10, 'reduce', ()
01:35 SourceBaby BenGoldberg, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Range, Str, List); none of these signatures match:␤    ($thing, Str:D $method, Capture $c)␤    ($thing, Str:D $method)␤    (&code)␤    (&code, Capture $c)␤  in block <unit> at -e line 6␤␤
01:35 notviki m: (^10).^lookup('reduce').file.say
01:35 camelia rakudo-moar 1374fc: OUTPUT«SETTING::src/core/Any-iterable-methods.pm␤»
01:36 BenGoldberg s: ^10, 'reduce', \()
01:36 SourceBaby BenGoldberg, Something's wrong: ␤ERR: Could not find candidate that can do \()␤  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␤␤
01:36 BenGoldberg s: ^10, 'reduce', \(List, :with)
01:36 SourceBaby BenGoldberg, Something's wrong: ␤ERR: Could not find candidate that can do \(List, :with)␤  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␤␤
01:37 BenGoldberg SourceBaby's errors are still LTA :(
01:38 notviki What's more A than "Could not find candidate that can do"
01:39 rightfold ok
01:39 notviki m: dd sub f is assoc<right> {"Tuple $^a ($^b)"}.prec
01:39 camelia rakudo-moar 1374fc: OUTPUT«Hash % = {:assoc("right")}␤»
01:39 notviki aha!
01:40 notviki rightfold: found the bug
01:40 notviki that produces that warning
01:40 rightfold oh cool
01:41 rightfold I'm just doing this now:
01:41 rightfold multi sub infix:<Tuple>() is assoc<right> { "Unit" }
01:41 rightfold multi sub infix:<Tuple>(Str:D $a) { $a }
01:41 rightfold multi sub infix:<Tuple>(Str:D $a, Str:D $b --> Str:D) { "Tuple ($a) ($b)" }
01:41 notviki cool
01:43 notviki BenGoldberg: how did you come up with  \(List, :with) ?
01:44 rightfold kind of ugly but it does the job: https://github.com/rightfold/purescript-postgresql-client/blob/master/purspgpp#L77-L80
01:44 notviki m: multi sub infix:<Tuple>() is assoc<right> { "Unit" }; multi sub infix:<Tuple>($) is assoc<left> { "Unit" }
01:44 camelia rakudo-moar 1374fc: ( no output )
01:45 notviki m: multi sub infix:<Tuple>() is assoc<right> { "Unit" }; multi sub infix:<Tuple>($) is assoc<left> { "Unit" }; dd &infix:<Tuple>.prec
01:45 camelia rakudo-moar 1374fc: OUTPUT«No such method 'prec' for invocant of type 'Sub'␤  in block <unit> at <tmp> line 1␤␤»
01:45 notviki orly
01:46 notviki rightfold: was just wondering whether it detecting the right associativity was a fluke or not
01:46 notviki Since you have it on just one multi
01:47 notviki m: dd sub f is assoc<right> {"Tuple $^a ($^b)"}.^mro.say
01:47 camelia rakudo-moar 1374fc: OUTPUT«((Sub+{Precedence}) (Sub) (Routine) (Block) (Code) (Any) (Mu))␤Bool::True␤»
01:47 notviki m: multi sub infix:<Tuple>() is assoc<right> { "Unit" }; multi sub infix:<Tuple>($) is assoc<left> { "Unit" }; dd &infix:<Tuple>.^mro.say
01:47 camelia rakudo-moar 1374fc: OUTPUT«((Sub) (Routine) (Block) (Code) (Any) (Mu))␤Bool::True␤»
01:47 notviki I see
01:48 rightfold something like @oids.map({%mapping{$_}}).reduce({"Tuple ($^a) ($^b)"}, :right, :start("Unit")) would be great
01:49 notviki Make a module and release it
01:55 pierre_ joined #perl6
01:59 notviki weee
02:00 notviki hmm
02:00 notviki wonder what happened
02:01 unicodable6 joined #perl6
02:01 evalable6 joined #perl6
02:01 committable6 joined #perl6
02:01 bisectable6 joined #perl6
02:01 benchable6 joined #perl6
02:01 statisfiable6 joined #perl6
02:01 AlexDaniel I was updating rakudo on the server
02:01 notviki Ah :)
02:04 AlexDaniel I wish I didn't…
02:04 AlexDaniel seems like there's some memory leak :-/
02:05 lustlife joined #perl6
02:05 AlexDaniel or maybe it's an old one and I've only noticed now…
02:06 pyrimidi_ joined #perl6
02:06 rburkholder joined #perl6
02:07 tailgate The memory leak was inside you the whole time!
02:07 committable6 joined #perl6
02:08 AlexDaniel ah wait, it could be my fault… let's see…
02:09 committable6 joined #perl6
02:10 AlexDaniel yea, my fault! Nevermind!
02:11 notviki rightfold: fix for warning pushed
02:13 committable6 joined #perl6
02:18 evalable6 joined #perl6
02:18 statisfiable6 joined #perl6
02:18 unicodable6 joined #perl6
02:18 committable6 joined #perl6
02:18 bisectable6 joined #perl6
02:18 BenGoldberg joined #perl6
02:18 benchable6 joined #perl6
02:18 notviki jesus
02:19 AlexDaniel well, they should be a little bit faster now :)
02:19 AlexDaniel switched to pzstd
02:20 AlexDaniel like 10-20% faster
02:20 AlexDaniel only matters if you run committable on a 100+ commit range
02:23 BenGoldberg joined #perl6
02:26 kyan joined #perl6
02:40 kaare_ joined #perl6
02:46 kalkin- joined #perl6
03:08 bstamour joined #perl6
03:08 xtreak joined #perl6
03:09 john51_ joined #perl6
03:11 Ben_Goldberg joined #perl6
03:13 AlexDani` joined #perl6
03:13 TimToady_ joined #perl6
03:13 susmus joined #perl6
03:13 jantore_ joined #perl6
03:13 Ben_Goldberg joined #perl6
03:17 BenGoldberg joined #perl6
03:18 ChoHag joined #perl6
03:20 cgfbee joined #perl6
03:20 Ben_Goldberg joined #perl6
03:37 notviki .tell moritz now no 500, but no results either
03:37 yoleaux notviki: I'll pass your message to moritz.
03:44 mst 200 OSHI
03:52 noganex joined #perl6
03:56 pierre_ joined #perl6
04:11 khw joined #perl6
04:26 notviki .tell moritz seems to work fine now...
04:26 yoleaux notviki: I'll pass your message to moritz.
04:30 pyrimidine joined #perl6
04:40 * kaare_ is failing to find the "p5 Moose to p6" cheat sheet
04:41 kaare_ Specifically the equivalent of the Native Hash Trait
04:41 notviki "Reflecting on Haskell in 2016": http://www.stephendiehl.com/posts/haskell_2017.html
04:41 notviki Nice how they did the "Haskel Sucks" thing. We should too
04:42 notviki Get some concrete suckage examples instead of vague "performance" or whatever
04:42 notviki kaare_: what does it do?
04:43 kaare_ notviki: It basically makes setter, getters etc for the hash elements. NOT the hash itself
04:43 notviki mmkay no idea what that means :)
04:44 mst it basically generates things like
04:44 mst sub set_foo { my ($self, $key, $value) = @_; $self->foo->{$key} = $value }
04:44 mst can't say I've ever really seen the point most of the time
04:46 kaare_ notviki: https://metacpan.org/pod/Moose::Meta::Attribute::Native::Trait::Hash explains it better
04:46 kaare_ than I can.
04:47 kaare_ I'd kust check here for a p6 version. I guess It's a fairly common pattern
04:47 kaare_ just
04:47 * notviki never seen it
04:48 notviki easier to just write attributes as is
04:48 * notviki is trying something; 1 sec
04:50 lustlife joined #perl6
04:50 kaare_ notviki: OK, I'll just stay with my current implementation, then
04:50 notviki m: class Foo { has %.foo; for <foo bar> -> $n { ::?CLASS.^add_method("set_$n", method ($v) { %.foo{$n} = $v }); } }; my $f = Foo.new; $f.set_foo: 42; dd $f.foo
04:50 camelia rakudo-moar 1ee24c: OUTPUT«Hash %!foo = {:foo(42)}␤»
04:50 notviki hooray
04:51 notviki You can pack that in a trait I'm sure.
04:51 notviki But in Perl 6, I'd just write
04:51 notviki class Foo { has $.foo is rw; has $.bar is rw }
04:51 notviki instead of that layer of indirection ¯\_(ツ)_/¯
04:54 notviki we also have `handles` thing: https://docs.perl6.org/language/typesystem#index-entry-handles_trait-handles
04:54 notviki I'm not familiar with it, but maybe something can be cooked up with it too
04:56 notviki m: class Foo { has %.options handles (set_foo => AT-KEY) = Hash.new }; my $f = Foo.new; $f.set_foo: 42; dd $f.options
04:56 camelia rakudo-moar 1ee24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot invoke this object (REPR: Null; VMNull)␤at <tmp>:1␤»
04:56 notviki ehehe
04:57 notviki m: class Foo { has %.options handles (set_foo => "ASSIGN-KEY") = Hash.new }; my $f = Foo.new; $f.set_foo: 42; dd $f.options
04:57 camelia rakudo-moar 1ee24c: OUTPUT«Cannot resolve caller ASSIGN-KEY(Hash: Int); none of these signatures match:␤    (\SELF: \key, Mu \assignee, *%_)␤    (Hash:D $: Str:D \key, Mu \assignval, *%_)␤    (Hash:D $: \key, Mu \assignval, *%_)␤  in block <unit> at <tmp> line 1␤␤»
04:57 * notviki shrugs
04:58 kaare_ notviki: The idea of the Moose trait is to hide the hash itself and only give access to the hash entries, I guess
05:01 notviki Yeah, I think I get it. Can't think of anything similar in core Perl 6, but I don't know much.
05:10 samcv bisectable6, say '    ' ~~ /<:space>/
05:10 bisectable6 samcv, On both starting points (old=2015.12 new=1ee24cc) the exit code is 0 and the output is identical as well
05:10 bisectable6 samcv, Output on both points: 「 」
05:16 Cabanossi joined #perl6
05:17 notviki samcv: what's the failing test?
05:17 samcv well it doesn't fail right now but.  say '    ' ~~ /<:space>/
05:17 samcv after adding all the unicode properties, everything passes but this one
05:17 samcv but it works for  say '    ' ~~ /<:Space>/
05:17 samcv and calling ' '.uniprop-bool('space') works too (which doesn't resolve names
05:17 kurahaupo joined #perl6
05:18 notviki ah
05:18 samcv it makes no sense
05:18 samcv and it's happened even when i didn't change anything
05:18 Vynce joined #perl6
05:18 samcv and i checked like 4x copying the unicode files and extracting again etc
05:18 notviki :(
05:21 samcv ooooo
05:21 samcv what.
05:21 samcv m: say Rakudo::Internals.PROPCODE('space')
05:21 camelia rakudo-moar 1ee24c: OUTPUT«23␤»
05:21 samcv m: say Rakudo::Internals.PROPCODE('Space');
05:21 camelia rakudo-moar 1ee24c: OUTPUT«23␤»
05:21 samcv why are they not the same for me
05:21 samcv ok i found the problem I guess hmm
05:21 notviki \o/
05:22 samcv i'm guessing rakudo gets the prop code numbers from moar?
05:22 samcv bisectable6, say Rakudo::Internals.PROPCODE('space')
05:22 bisectable6 samcv, Bisecting by output (old=2015.12 new=1ee24cc) because on both starting points the exit code is 0
05:22 bisectable6 samcv, bisect log: https://gist.github.com/fbc67de91a96f057f7f9cd34e92cb78d
05:22 bisectable6 samcv, (2016-09-28) https://github.com/rakudo/rakudo/commit/2cad3d214f6f151df537a535760e341838332c21
05:23 samcv well it's been 23 before and 21
05:23 samcv wtf
05:23 samcv from the bisect log
05:23 samcv bisectable6, say Rakudo::Internals.PROPCODE('Space')
05:23 bisectable6 samcv, Bisecting by output (old=2015.12 new=1ee24cc) because on both starting points the exit code is 0
05:23 bisectable6 samcv, bisect log: https://gist.github.com/ab99a12175f1e46821201b3a67e401f3
05:23 bisectable6 samcv, (2016-09-28) https://github.com/rakudo/rakudo/commit/2cad3d214f6f151df537a535760e341838332c21
05:24 samcv https://github.com/rakudo/rakudo/commit/2cad3d214f6f151df537a535760e341838332c21
05:24 samcv so uhm. maybe the property values ARE hardcoded into rakudo?
05:24 notviki Doesn't that commit suggests they're in moar?
05:24 samcv well.
05:24 samcv yes
05:24 samcv i mean does it bisect EVERY commit?
05:25 notviki no
05:25 TEttinger unicode is great heh
05:25 notviki bisect: all Rakudo::Internals.PROPCODE('Space')
05:25 bisectable6 notviki, On both starting points (old=2015.12 new=1ee24cc) the exit code is 0 and the output is identical as well
05:25 bisectable6 notviki, Output on both points: WARNINGS for /tmp/np4xei4qel:␤Useless use of "all Rakudo::Internals.PROPCODE('Space')" in expression "all Rakudo::Internals.PROPCODE('Space')" in sink context (line 1)
05:25 notviki (that's all releases)
05:25 notviki bisect: all say Rakudo::Internals.PROPCODE('Space')
05:25 bisectable6 notviki, Bisecting by output (old=2015.12 new=1ee24cc) because on both starting points the exit code is 0
05:26 notviki Oh wait
05:26 bisectable6 notviki, bisect log: https://gist.github.com/19669839c7de8df069f220ff04b369b5
05:26 bisectable6 notviki, (2016-09-28) https://github.com/rakudo/rakudo/commit/2cad3d214f6f151df537a535760e341838332c21
05:26 notviki commit: all say Rakudo::Internals.PROPCODE('Space')
05:26 notviki That's all releases
05:26 samcv ok :)
05:26 notviki committable6: all say Rakudo::Internals.PROPCODE('Space')
05:26 committable6 notviki, https://gist.github.com/b637a43c4e742258e07458e3ca9d30ed
05:26 notviki ¦«2015.11,2015.12,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09»: 21
05:26 committable6 notviki, https://gist.github.com/4443eba6c109868fb71334fc1a774c32
05:26 notviki ¦«2016.10,2016.11,2016.12,HEAD»: 23
05:26 TEttinger would trying with 'space' be different maybe?
05:27 samcv it is possible
05:27 samcv because for me on my moar when i added a bunch of unicode properties
05:27 samcv i'm guessing the nmubers changed, but somehow space != Space code. even though i still get a True for checking space or Space value. though it could theoretically be some other property
05:28 dugword joined #perl6
05:28 samcv looking at the source for PROPCODE
05:29 samcv nqp::unipropcode then i guess
05:30 samcv which i get 16 or 102 for space vs Space
05:30 samcv and guessing that one calls moar
05:31 samcv ugh i already knew there was a bug in the code that did capitalized vs uncapitalized versions
05:31 samcv but i didn't think it would happen for this
05:32 samcv WSpace gives 102
05:32 samcv and White_Space 102, so that's probably the right code. it's just lowercase space not working
05:34 samcv ugh. not looking forward to fixing this :( i gave up last time
05:44 notviki m: <fatal warning>.pick.say
05:44 camelia rakudo-moar 1ee24c: OUTPUT«warning␤»
05:44 samcv well i got it working
05:44 samcv unknown why.
05:44 * samcv commits quickly
05:45 notviki .oO( Perl 6's devs choose behavior by random throw of the dice! )
05:45 samcv just keep rebuilding it until it works!
05:45 samcv now to run spectests
05:45 samcv also let me note the numbers are different for space and Space
05:45 samcv but it also works
05:45 notviki I'm not sure whether -> True {} should die or warn. I rather it just died, but other smartmatchagainsttrue warns :/
05:46 notviki m: say 'foo' ~~ True
05:46 camelia rakudo-moar 1ee24c: OUTPUT«Potential difficulties:␤    Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead␤    at <tmp>:1␤    ------> 3say 'foo' ~~ 7⏏5True␤True␤»
05:46 notviki m: quietly say 'foo' ~~ True
05:46 camelia rakudo-moar 1ee24c: OUTPUT«Potential difficulties:␤    Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead␤    at <tmp>:1␤    ------> 3quietly say 'foo' ~~ 7⏏5True␤True␤»
05:46 samcv i think warn is good
05:46 notviki You can't even quite these
05:46 notviki samcv: why not just die
05:46 samcv what if it's a variable they're smartmatching against
05:46 notviki It wouldn't warn
05:46 samcv oh. ok
05:47 samcv then die is fine
05:47 notviki But, in my case, you can't even use a variable.
05:47 samcv m:  say Rakudo::Internals.PROPCODE('Space');  say Rakudo::Internals.PROPCODE('space');  say Rakudo::Internals.PROPCODE('WSpace');
05:47 camelia rakudo-moar 1ee24c: OUTPUT«23␤23␤92␤»
05:47 samcv ahaha!
05:48 samcv caught you moarVM
05:48 cpage_ joined #perl6
05:48 samcv at your game
05:49 samcv bisectable6,   say Rakudo::Internals.PROPCODE('Space'); say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('WSpace');
05:49 bisectable6 samcv, Bisecting by output (old=2015.12 new=1ee24cc) because on both starting points the exit code is 0
05:49 bisectable6 samcv, bisect log: https://gist.github.com/41d4419657e19b02000b210219c3a38d
05:49 bisectable6 samcv, (2016-09-28) https://github.com/rakudo/rakudo/commit/2cad3d214f6f151df537a535760e341838332c21
05:50 samcv going to try regenning the c data structure for the unicode props. maybe i did actually fix it
05:51 samcv wait. nope. now the file changed
05:51 samcv due to magic
05:52 samcv i even check the sha1's before each time, and it's not changing. just to rule things out
05:53 samcv though i think i may have fixed it actually
05:53 samcv there's still things wrong with it, but
05:54 samcv changed the alias code from if ($block_len && $alias_len )  to if ($block_len && $alias_len > 3)
05:54 * samcv hopes for a christmas miracle and the spectest passes
05:55 samcv notviki, most of this code was written in 2012
05:55 notviki :)
05:55 samcv :)
05:56 samcv fixed a bug with the Line_Break property, they had coded in a set number of values for it could be
05:56 samcv in 2012. so
05:56 samcv i don't even think all of them were there that existed back then, unless they added like 3x as many since then
05:56 samcv so anything that wasn't those 10 was set to BK
05:58 samcv maybe by reducing the number of aliases it creates, it 'fixed' this bug.
06:06 samcv good thing I have a test already for this… and it seems White_Space is not space :)
06:06 samcv so that is bad
06:07 pyrimidine joined #perl6
06:13 samcv bisectable6,   say Rakudo::Internals.PROPCODE('Space'); say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('WSpace'); say Rakudo::Internals.PROPCODE('White_Space');
06:13 bisectable6 samcv, Bisecting by output (old=2015.12 new=1ee24cc) because on both starting points the exit code is 0
06:13 bisectable6 samcv, bisect log: https://gist.github.com/5b5d5a198c87468c6995566571f258cc
06:13 bisectable6 samcv, (2016-09-28) https://github.com/rakudo/rakudo/commit/2cad3d214f6f151df537a535760e341838332c21
06:14 samcv well then notviki look at that bisect log
06:14 samcv so i guess i didn't break anything that wasn't already broken
06:16 samcv i only failed one test, which seems totally not related
06:17 samcv m: use Test; doesn't-warn {␤        (^10).reduce(sub f ($a, $b) is assoc<right> {"Tuple $a ($b)"})␤    }
06:17 camelia rakudo-moar 1ee24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    doesn't-warn used at line 1␤␤»
06:17 notviki samcv: you just don't have the latest and greatest Rakudo for that test to work
06:18 samcv oh ok ;)
06:18 samcv ok so it passes then :DDDD
06:18 samcv gonna push those changes
06:18 samcv notviki, it's okay if WSpace and White_Space are broken ;) but not space and Space
06:19 samcv so i guess when you fiddle around enough they swap or something… definitely some bug going on
06:22 samcv nice TODO passed 18-19, 32-37, 118-119, 121-123, 126-127
06:22 samcv 130-131, 133-134, 142-149
06:23 samcv very very good
06:23 samcv need to make a test to catch that whitespace bug and TODO that
06:26 bjz joined #perl6
06:26 samcv m: say 0x371.uniprop('White_Space') == 0x371.uniprop('space')
06:26 camelia rakudo-moar 1ee24c: OUTPUT«True␤»
06:26 samcv bisectable6, : say 0x371.uniprop('White_Space') == 0x371.uniprop('space')
06:26 bisectable6 samcv, On both starting points (old=2015.12 new=1ee24cc) the exit code is 1 and the output is identical as well
06:26 bisectable6 samcv, Output on both points: ===SORRY!=== Error while compiling /tmp/pJn6eFPb0m␤Bogus statement␤at /tmp/pJn6eFPb0m:1␤------> :⏏ say 0x371.uniprop('White_Space') == 0x3␤    expecting any of:␤        colon pair
06:26 samcv bisectable6, say 0x371.uniprop('White_Space') == 0x371.uniprop('space')
06:26 bisectable6 samcv, Bisecting by exit code (old=2015.12 new=1ee24cc). Old exit code: 1
06:26 bisectable6 samcv, bisect log: https://gist.github.com/c62f377291f6d98de4be57fd745f3c98
06:27 bisectable6 samcv, (2016-12-11) https://github.com/rakudo/rakudo/commit/64b5c2fae62504ee4dab9854b3cb4042ff7362a1
06:27 samcv oh huh. duh i fixed that one that's not what i'm trying to do
06:27 samcv bisectable6, say 0x371.uniprop-bool('White_Space') == 0x371.uniprop-bool('space')
06:27 bisectable6 samcv, On both starting points (old=2015.12 new=1ee24cc) the exit code is 0 and the output is identical as well
06:27 bisectable6 samcv, Output on both points: True
06:29 samcv bisectable6, say 0xf.uniprop-bool('White_Space') == 0xf.uniprop-bool('space')
06:29 bisectable6 samcv, On both starting points (old=2015.12 new=1ee24cc) the exit code is 0 and the output is identical as well
06:29 bisectable6 samcv, Output on both points: False
06:29 samcv there we go!
06:29 samcv bug found
06:30 samcv i wonder what property it actually thinks White_Space is… at least we're lucky that it is True through for 0x20 space
06:32 samcv m: say "a".uniprop('sc')
06:32 camelia rakudo-moar 1ee24c: OUTPUT«Latin␤»
06:36 TEttinger m: say " ".uniprop('sc')
06:36 camelia rakudo-moar 1ee24c: OUTPUT«Common␤»
06:36 TEttinger m: say "\t".uniprop('sc')
06:36 camelia rakudo-moar 1ee24c: OUTPUT«Common␤»
06:37 TEttinger m: say 0xfeff.uniprop('sc')
06:37 camelia rakudo-moar 1ee24c: OUTPUT«Common␤»
06:37 TEttinger m: say 0x2100.uniprop('sc')
06:37 camelia rakudo-moar 1ee24c: OUTPUT«Common␤»
06:37 samcv that wouldn't work except my workaround in rakudo
06:37 TEttinger hm
06:38 samcv if you want to see exactly what moarvm spits back, do uniprop-bool or uniprop-str
06:38 samcv m: say "a".uniprop-str('sc')
06:38 camelia rakudo-moar 1ee24c: OUTPUT«Ll␤»
06:38 samcv :\
06:38 TEttinger that's the category
06:38 samcv will table that for another day though.
06:38 samcv yep
06:38 TEttinger m: say "A".uniprop-str('sc')
06:38 camelia rakudo-moar 1ee24c: OUTPUT«Lu␤»
06:38 TEttinger nice
06:39 TEttinger what's 'sc' do differently for uniprop and uniprop-str ?
06:39 samcv m:  say Rakudo::Internals.PROPCODE('sc');  say Rakudo::Internals.PROPCODE('Script');  say Rakudo::Internals.PROPCODE('script');
06:39 camelia rakudo-moar 1ee24c: OUTPUT«21␤8␤8␤»
06:39 TEttinger ???
06:39 samcv TEttinger, uniprop matches cannonical unicode shortnames to the full names
06:39 samcv which work properly on moarvm
06:39 samcv the thing is, it creates alias names, but some collide
06:40 TEttinger like a hash?
06:40 samcv like it tries to be smart and add two letter names based on two property names
06:41 samcv or maybe some other magic
06:41 samcv uh it's a C data structure
06:41 samcv also Sc is a unicode category
06:41 samcv btw
06:41 TEttinger yeah, currency
06:41 samcv so maybe they collide there. idk there's a lot of weird things it does
06:41 samcv without comments
06:41 samcv my moarvm pull addds like 10+ properties tho :)
06:41 samcv and finally got it working
06:41 TEttinger how many bits has Unicode said is the absolute max? is it 20 bits or some significantly larger amount reserved for all time?
06:42 TEttinger (for a codepoint)
06:42 samcv uhm
06:42 samcv not sure if they have
06:42 samcv not sure though…
06:42 TEttinger I've seen 6-hex-digit codepoints
06:42 samcv soon i will be able to find all emoji's with unicodable6 :)
06:42 samcv SIX?
06:42 TEttinger which would be no more than 24 bits
06:42 TEttinger not currently used
06:42 samcv and all were nonzero?
06:42 samcv oh
06:42 samcv yeah
06:43 TEttinger I've only seen 17 or maybe 18 bits used in practice
06:43 TEttinger still, a pain to get that into 2 chars without colliding
06:43 TEttinger (printable ascii chars)
06:44 samcv colliding?
06:44 TEttinger is it generating a unique alias per char?
06:44 samcv i'm especially looking forward to bidi matching brackets working in the new pull. and bidi mirroring glyphs working
06:44 samcv uh
06:44 TEttinger totally
06:45 samcv you mean moarvm unicode database?
06:45 TEttinger not sure, you mentioned "two letter names"
06:45 samcv oh
06:45 samcv not per char but maybe per property idk. maybe it's just because Sc is a general category
06:45 TEttinger ohhh
06:45 samcv ohhh joining type doesn't work either
06:45 TEttinger totally possible
06:45 samcv at least sc and jt are broken
06:45 TEttinger hm
06:45 darutoko joined #perl6
06:45 samcv i have a script to test them
06:46 samcv make sure they are the same value for the alias vs fullnames
06:46 TEttinger case is disregarded here? sc and Sc are treated similarly for some reason?
06:46 samcv did you read the scrollup about WSpace and space ?
06:46 TEttinger some of it
06:46 samcv yeah. so i changed things and broke 'space'
06:46 samcv then tweaked more random things and then now White_Space is brokjn but space works
06:47 samcv so White_Space has always been broken but nobody noticied
06:47 TEttinger uhhh
06:47 TEttinger wow
06:47 TEttinger that's interesting
06:47 samcv yea :)
06:47 samcv ' ' returns true for White_Space though
06:57 ilbot3 joined #perl6
06:57 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!
06:58 camelia joined #perl6
07:00 ugjka joined #perl6
07:00 Gothmog_ joined #perl6
07:01 erdic_ joined #perl6
07:03 RabidGravy joined #perl6
07:06 samcv bisectable6, say Rakudo::Internals.PROPCODE('sc') == Rakudo::Internals.PROPCODE('Script');
07:06 bisectable6 samcv, On both starting points (old=2015.12 new=b01dfcd) the exit code is 0 and the output is identical as well
07:06 bisectable6 samcv, Output on both points: False
07:06 samcv probably bug has been in since 2012
07:09 samcv bisectable6, help
07:09 bisectable6 samcv, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT128181
07:09 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128181
07:09 samcv what
07:11 notviki you can set the start and end commits with old= and new=
07:11 notviki The rest is code to bisect
07:11 samcv bisectable6, old=2015.12 new=HEAD say Rakudo::Internals.PROPCODE('sc') == Rakudo::Internals.PROPCODE('Script');
07:11 bisectable6 samcv, On both starting points (old=2015.12 new=b01dfcd) the exit code is 0 and the output is identical as well
07:11 bisectable6 samcv, Output on both points: False
07:12 * notviki drops to bed
07:12 samcv night!
07:13 grondilu joined #perl6
07:14 samcv oh notviki if you are still there. should I make sure the Perl Foundation emails somebody that they got my CLA since they didn't say they notified anybody
07:15 samcv “You can let the Rakudo admins know that we've received the CLA.”
07:17 Tonik joined #perl6
07:24 cyphase joined #perl6
07:24 krakan_ joined #perl6
07:24 pierre_ joined #perl6
07:41 labster joined #perl6
07:49 CIAvash joined #perl6
07:54 adhoc joined #perl6
08:01 pierre_ joined #perl6
08:06 domidumont joined #perl6
08:11 domidumont joined #perl6
08:17 wamba joined #perl6
08:18 yyy joined #perl6
08:19 pierre_ joined #perl6
08:20 cyphase joined #perl6
08:33 Wanderer68 joined #perl6
08:39 ilbot3 joined #perl6
08:39 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!
08:40 hahainternet joined #perl6
08:40 ChoHag joined #perl6
08:43 dalek doc: efcbc37 | samcv++ | doc/Type/NFC.pod6:
08:43 dalek doc: Explain a little bit better what NFC Unicode form is
08:43 dalek doc: review: https://github.com/perl6/doc/commit/efcbc373fe
08:43 synopsebot6 Link: http://doc.perl6.org/type/NFC
08:48 dalek doc: 88e688f | samcv++ | doc/Type/NFK (2 files):
08:48 dalek doc: Beter explain about Unicode NFKD and NFKC forms
08:48 dalek doc: review: https://github.com/perl6/doc/commit/88e688f806
08:48 samcv u: zero width
08:48 unicodable6 samcv, U+200B ZERO WIDTH SPACE [Cf] (​)
08:48 unicodable6 samcv, U+200C ZERO WIDTH NON-JOINER [Cf] (‌)
08:48 unicodable6 samcv, U+200D ZERO WIDTH JOINER [Cf] (‍)
08:48 unicodable6 samcv, https://gist.github.com/65b41bf18907f74b10d728be56040c97
08:49 samcv m: say 0x200B.chr.chars
08:49 camelia rakudo-moar b01dfc: OUTPUT«1␤»
08:49 samcv m: say (0x200B.chr ~ 'a').chars
08:49 camelia rakudo-moar b01dfc: OUTPUT«2␤»
09:22 xtreak joined #perl6
09:27 rindolf joined #perl6
09:36 dalek doc: 01a0f34 | samcv++ | doc/Type/NFKD.pod6:
09:36 dalek doc: Trigger doc rebuild to pull in fixes from highlighter
09:36 dalek doc:
09:36 dalek doc: Fix highlighting in interpolated `qq´ heredocs
09:36 dalek doc: review: https://github.com/perl6/doc/commit/01a0f34437
09:36 synopsebot6 Link: http://doc.perl6.org/type/NFKD
09:47 ZzZombo joined #perl6
10:18 dalek doc: 4b3281c | gfldex++ | doc/Language/quoting.pod6:
10:18 dalek doc: tell limitations of Q and where they come from
10:18 dalek doc: review: https://github.com/perl6/doc/commit/4b3281c945
10:18 synopsebot6 Link: http://doc.perl6.org/language/quoting
10:28 cibs joined #perl6
10:46 espadrine joined #perl6
10:54 lukaramu joined #perl6
11:00 Actualeyes joined #perl6
11:31 faraco joined #perl6
11:34 faraco hi, is perl6 generally ready for production usage? I'm a beginner to perl 5, and just heard perl 6 stable was released last year. Both language syntax is not that ugly as people said, or it's because of my screwy mind.
11:36 faraco I wanted to start a new project, and both are almost *similar* to each other in syntax, but the difference are the design and implementation (rakudo is not official compiler, yet?).
11:40 nowan joined #perl6
11:41 faraco I love to learn either one, but I want to choose one. Both has amazing features, perl 5 has CPAN, Moose, etc. perl6 is fully object oriented, and optional/gradual? typing, etc.
11:42 faraco I wanted to use them for general programming, prototyping and heavy sysadmin (so far for sysadmin, both are good).
11:42 FROGGS joined #perl6
11:43 Actualeyes joined #perl6
11:48 bjz joined #perl6
11:49 xtreak joined #perl6
11:55 Ven joined #perl6
11:56 wamba joined #perl6
12:00 rafaelschp joined #perl6
12:06 pierre_ joined #perl6
12:18 bjz joined #perl6
12:18 RabidGravy faraco, Perl 6 is used in "production" so yes
12:18 RabidGravy rakudo is *an* official compiler
12:19 rightfold notviki: yay
12:22 pmurias joined #perl6
12:36 Actualeyes joined #perl6
12:41 pierre_ joined #perl6
12:50 moritz good morning
12:50 yoleaux 01:20Z <notviki> moritz: seems search on loogs is broken. Gives me 500: https://irclog.perlgeek.de/perl6/search/?nick=jnthn&amp;q=bidi
12:50 yoleaux 03:37Z <notviki> moritz: now no 500, but no results either
12:50 yoleaux 04:26Z <notviki> moritz: seems to work fine now...
12:50 moritz self-healing services \o/
12:51 bjz_ joined #perl6
12:59 Gasher joined #perl6
13:12 espadrine joined #perl6
13:17 hankache joined #perl6
13:19 masak oh by the way
13:19 masak to all a Merry Christmas, and to all people a good will <3
13:20 moritz to you and your family too, masak
13:20 masak instead of a Christmas tree emoji, here's a KANGXI RADICAL TREE: ⽊
13:20 moritz do we support radical trees?
13:20 masak we accepts all elements
13:20 masak including radicals
13:20 masak as long as they're productive radicals
13:20 masak we're fine with trees, as far as I know :P
13:21 masak (but we have a tendency to draw them upside down)
13:21 moritz https://pbs.twimg.com/media/C0i7ZcIXEAE3cid.jpg
13:21 hankache Merry Christmas *
13:22 hankache does anyone know who got the twitter handle for @perl6 and @rakudoperl?
13:23 pierre_ joined #perl6
13:23 moritz I think pmichaud has @rakudoperl
13:24 masak moritz: I got the pun; it's hidden by some evaluation. :)
13:24 hankache It will be nice if he can give them to someone more involved on twitter.
13:25 hankache we need an active twitter account
13:26 hankache someone that tweets new blog posts, new releases etc...
13:30 lizmat fwiw, I agree
13:33 bjz joined #perl6
13:34 rburkholder joined #perl6
13:35 hankache hiya lizmat
13:42 lizmat hankache  o/
13:44 nowan joined #perl6
13:53 AlexDaniel joined #perl6
13:56 aborazmeh joined #perl6
13:56 aborazmeh joined #perl6
14:11 moritz I've created a new twitter account @perl6org
14:11 moritz anybody want access to tweet things?
14:14 pierre__ joined #perl6
14:16 hankache moritz I volunteer
14:16 moritz hankache: the I need your twitter username
14:17 hankache moritz @hankache
14:18 moritz hankache: you should have received some kind of invitation or so; dunno how exactly it works
14:24 hankache moritz: i'll see how it works
14:25 moritz same goes for others; if you want to contribute (or write a bot that automatically tweets relevant things :-), just tell me
14:42 kaare_ joined #perl6
14:49 rindolf joined #perl6
15:04 jkaye_ joined #perl6
15:08 jkaye_ gfldex: I should be around today if you're interested in continuing our investigation from yesterday at some point
15:12 khw joined #perl6
15:14 zilti joined #perl6
15:14 AlexDaniel samcv: fwiw, bisectable does a regular binary search (which is what 「git bisect」 does), but with two additional check on the starting points to understand which way the results should be interpreted
15:15 AlexDaniel samcv: and by default it does it from 2015.12 to HEAD (you can customize it), which means that if results on 2015.12 and HEAD are same, then it will bail out saying that results on both points are identical
15:16 AlexDaniel now if you have some releases in between 2015.12..HEAD that were broken, it won't know
15:16 AlexDaniel and also it most likely won't give a meaningful result if the behavior was changed multiple times in this range
15:17 AlexDaniel so if you don't know if the behavior was different at any point of time or not, perhaps using committable is more appropriate
15:17 AlexDaniel commit: 6c say Rakudo::Internals.PROPCODE('Space'); say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('WSpace'); say Rakudo::Internals.PROPCODE('White_Space');
15:17 committable6 AlexDaniel, ¦«2015.12,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09»: 21␤21␤91␤91␤¦«2016.10,2016.11,2016.12,HEAD»: 23␤23␤92␤92
15:17 AlexDaniel like this ↑
15:19 AlexDaniel now again, it does not check on any commits between the releases… but we can do it if we want to
15:19 AlexDaniel commit: 2016.09..2016.10 say Rakudo::Internals.PROPCODE('Space'); say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('WSpace'); say Rakudo::Internals.PROPCODE('White_Space');
15:20 AlexDaniel will take some time to finish of course :)
15:20 espadrine joined #perl6
15:21 committable6 AlexDaniel, https://gist.github.com/8ad63145fbcb0e3dcb2ed360a0e800f5
15:21 AlexDaniel so bisectable can only help to find out *when* something was changed, and even then you have to be a little be careful with interpreting the results
15:22 AlexDaniel which is why bisectable is so verbose
15:22 AlexDaniel (e.g. it tells how exactly it is going to do it, and then in the log it explains what it does on every single step)
15:26 Khisanth joined #perl6
15:33 gfldex jkaye: did you get my emails?
15:33 Rawriful joined #perl6
15:33 samcv thanks AlexDaniel :)
15:34 jkaye gfldex: I did, just responded to them a few minutes ago
15:34 jkaye gfldex: Figured it would be better to continue the conversation in here for the benefit of everyone else
15:39 gfldex jkaye: the REPL is quite buggy
15:39 gfldex and there are other problems that are inherent, thanks to the not so dynamic nature of Perl 6
15:40 jkaye I see. So you think some of these issues my go away running the code through tests rather than the REPL?
15:42 gfldex yes
15:42 gfldex are you using vim?
15:42 jkaye Yup
15:43 gfldex https://github.com/gfldex/config/blob/master/.vimrc#L120
15:43 gfldex line 120-124
15:45 jkaye Neat. So you are using makefiles for your development then?
15:48 gfldex when I cross more then 3 source files I tend to use make
15:49 gfldex I like to run code generaters and with that make becomes pretty much a requirement
15:50 gfldex and simple Makefiles are actually quite nice
15:50 gfldex sadly there are plenty of not so simple Makefiles out there
15:51 BenGoldberg joined #perl6
15:52 jkaye Much of my work projects use CMake. I was under the impression for Perl6 that the module system would take care of much of what make handles for you
15:53 gfldex you can have a Build.pl in your project but then you have to run zef or panda to build a project
15:54 gfldex bit to slow for my taste
15:54 gfldex that will change ofc
15:55 gfldex that's an ENODOC i blieve
15:56 jkaye I've been using panda so far
15:56 jkaye It does seem a bit slow
16:00 Gasher_ joined #perl6
16:08 Actualeyes left #perl6
16:11 sergot joined #perl6
16:21 aindilis joined #perl6
16:24 jkaye gfldex: Looks like the same issue running the tests :(
16:24 jkaye Maybe some bug in the role punning?
16:24 jkaye I can try switching it to a class
16:36 JJMerelo joined #perl6
16:36 BenGoldberg joined #perl6
16:36 JJMerelo Hi all. I am checking out the perl6 emacs mode.
16:37 JJMerelo Anybody using it?
16:37 JJMerelo You can see the main issue I have right here https://github.com/hinrik/perl6-mode/network
16:38 JJMerelo The official release you can find in the ELPA repos is quite behind the new branch that has been opened by @tbrowder
16:38 as_ joined #perl6
16:39 JJMerelo I am seeing lot of action in the Atom mode for perl6. Shouldn't we kind of pay more attention to it?
16:39 as_ joined #perl6
16:39 notviki should we?
16:39 * notviki never even seen an emacs editor
16:40 as_ p6: my @a = 1, 2, 3; @a = @a, 4; say @a
16:40 camelia rakudo-moar 249696: OUTPUT«(\Array_68765848 = [Array_68765848 4])␤»
16:40 JJMerelo Well, at list a _bit_ more.
16:40 as_ hey guys, i find that output wrong
16:40 notviki m: my @a = 1, 2, 3; @a = @a, 4; say @a
16:40 camelia rakudo-moar 249696: OUTPUT«(\Array_63637720 = [Array_63637720 4])␤»
16:40 notviki what the hell :o
16:40 as_ it is
16:41 BenGoldberg joined #perl6
16:41 notviki m: my @a = 1, 2, 3; @a = @a, 4; print  @a
16:41 notviki oh fun
16:41 camelia rakudo-moar 249696: OUTPUT«(timeout)»
16:41 notviki as_: OOC what output are you expecting?
16:42 as_ [1, 2, 3, 4]
16:42 AlexDaniel JJMerelo: well, unfortunately perl6-mode is not very actively maintained
16:42 gfldex i would expect ∞-recursion
16:42 as_ at least it was so a year ago
16:42 AlexDaniel JJMerelo: feel free to fork it, I guess :)
16:43 troys joined #perl6
16:43 as_ m: my @a = 1, 2, 3; @a = |@a, 4; say @a;
16:43 camelia rakudo-moar 249696: OUTPUT«[1 2 3 4]␤»
16:43 notviki as_: ah, well, now that I think of it, that output is that way on purpose. You have an infinite self-referencial data object here.
16:43 notviki And the gist points that out
16:43 AlexDaniel recursive arrays! OK, I think that sounds familiar
16:43 gfldex m: my @a = 1, 2, 3; @a = @a, 4; say +@a
16:43 camelia rakudo-moar 249696: OUTPUT«2␤»
16:43 notviki committable6: 2015.07 my @a = 1, 2, 3; @a = @a, 4; say @a
16:43 committable6 notviki, ¦«2015.07»: 1 2 3 4
16:44 AlexDaniel oh, a regression?
16:44 notviki as_: yeah, we did GLR
16:44 AlexDaniel ah no
16:44 notviki so it's no longer 1234
16:44 as_ omg
16:44 notviki ?
16:44 gfldex i wonder if .elems could detect the recursion and print ∞
16:45 as_ but ok - in the past, the ",=" metaoperator was working as expected. now it is uselss then
16:45 as_ because @a ,= 4 is not @a = |@a, 4
16:45 notviki gfldex: that would be wrong. The array contains 2 elements: itself and 4
16:45 AlexDaniel notviki: hmm, there's also this: https://rt.perl.org/Ticket/Display.html?id=127254
16:45 notviki as_: well, "in the past" is "before our first stable release"
16:45 as_ let's ignore the past
16:45 JJMerelo @AlexDaniel problem is, I don't know the first thing about Emacs Lisp. I can do that, I guess.
16:45 as_ but what about the ,= metaop
16:46 notviki don't even know what it's for
16:46 notviki m: dd 4 ,= 4
16:46 camelia rakudo-moar 249696: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at <tmp> line 1␤␤»
16:46 as_ https://docs.perl6.org/language/operators#Assignment_Operators
16:46 as_ like $a min= $b is the same as $a = $a min $b
16:46 as_ the ,= should work as @a ,= @a, 4
16:47 gfldex notviki: see S03-operators/assign.t:775
16:47 AlexDaniel wait, but… that's how it's supposed to be
16:47 gfldex as_: the ,= meta op is currently not supported
16:47 AlexDaniel I mean, it may look surprising at first, but that's pretty consistent
16:47 JJMerelo @AlexDaniel, or, anyone would be interested in helping?
16:47 notviki m: my $x ,= 42; dd $x
16:47 camelia rakudo-moar 249696: OUTPUT«List $x = $((), 42)␤»
16:48 AlexDaniel m: my @a = 1, 2, 3; @a.push: 4; say @a
16:48 camelia rakudo-moar 249696: OUTPUT«[1 2 3 4]␤»
16:48 notviki m: my $x = infix:<,>(42); dd $x
16:48 camelia rakudo-moar 249696: OUTPUT«List $x = $(42,)␤»
16:49 as_ "@foo ,= 1,2,3       # same as push(@foo,1,2,3)"
16:49 as_ m: my @foo; @foo ,= 1,2,3; say @foo
16:49 camelia rakudo-moar 249696: OUTPUT«(\Array_57092072 = [Array_57092072 (1 2 3)])␤»
16:49 as_ aha
16:51 AlexDaniel JJMerelo: well, I don't know. I'm using perl6-mode all the time, but I'm not sure if I'm willing to work on it
16:51 AlexDaniel JJMerelo: I can report bugs, sure, but that doesn't really help
16:51 thereyouare joined #perl6
16:51 thereyouare now, what is going on with CPAN ? I mean when there are 2 versions of perl, perl5 and perl6, how module writers write their modules, what version they choose ? do they abandon version for perl5 and continue write their modules for perl6 ? or they continue to support both version, I mean is there any serious split between modules for perl5 and perl6 ? what is situation ?
16:52 mst thereyouare: *cough*
16:52 notviki oh :)
16:52 JJMerelo @thereyouare: and *cough* CPAN is only for Perl 5, AFAIK
16:52 mst JJMerelo: wrong
16:52 notviki Nope, you can upload Perl 6 modules.
16:52 thereyouare was kicked by mst: talk to me when you're willing to discuss your bans instead of evade them
16:53 JJMerelo @notviki, @mst note taken.
16:53 * AlexDaniel has no idea what's going on here
16:53 notviki mst++ saving me from writing a long explanation :)
16:53 mst notviki: based on past experience, he wouldn't've read it
16:56 AlexDaniel JJMerelo: it takes 1 dedicated person to change the situation completely. The reason why Atom highlighter is so good is mostly because of samcv++
16:56 mst JJMerelo: trialing perl6 uploads to cpan has been happening for a while now
16:57 mst so far as I'm concerned the current ecosystem stuff is basically a giant bag of duct tape, bailing wire, and tetanus infected razor blades that will just about do for the moment so we don't paint ourselves into a corner by prematurely stabilising a production worthy approach
16:57 notviki :D
16:57 JJMerelo @AlexDaniel I guess so. Don't know if I'm up to it, but I can at least fork and accept pull request, as well as try and address issues. Including yours ;-)
16:58 mst (note that, for its specific purpose, I don't believe I could've done better in the time available; I'm -not- actually criticising it, you should see some of -my- temporary hacks ;)
16:58 JJMerelo @mst :-)
16:58 notviki neat there's now https://twitter.com/perl6org
16:59 notviki moritz: why did you guys cut off camelia's wings!
16:59 tojo joined #perl6
17:00 notviki Ah, I see.
17:00 mst notviki: because they're apple fans, and as of the new macbook pro, there is No Escape
17:00 geekosaur twitter's got some stupid limit on icon size
17:00 rafaelschp notviki: Twitter did that.
17:03 dalek marketing: 61f374f | (Zoffix Znet)++ | LOGOs/Camelia/Camelia-200 (2 files):
17:03 dalek marketing: Add sqauare variants of camelia
17:03 dalek marketing:
17:03 dalek marketing: So they can be used for things expecting a square image (like Twitter)
17:03 dalek marketing: review: https://github.com/perl6/marketing/commit/61f374fd7a
17:04 notviki .tell moritz if @perl6org uses this image, the wings won't get cut off: https://github.com/perl6/marketing/blob/master/LOGOs/Camelia/Camelia-2000px-SQUARE.png
17:04 yoleaux notviki: I'll pass your message to moritz.
17:04 notviki .tell moritz @perl6org on Twitter I mean
17:04 yoleaux notviki: I'll pass your message to moritz.
17:04 AlexDaniel notviki: https://gist.github.com/AlexDaniel/f0c4196dacea1f4c55725efc0789708a
17:04 notviki umm heh
17:05 notviki buggable: speed
17:05 buggable notviki, ▅▅▅▆▅▅▅▄▅▅▆▅▅▅▆▄▄▄▄▄▅▄▄▅▄█▃▃▄▄▃▄▄▃▄▃▄▄▃▄▄▄▂▃▂▂▂▂▁▁ data for 2016-12-04–2016-12-26; variance: 5.328s–7.592s
17:05 notviki Looks at that slope! Look at it!
17:06 AlexDaniel notviki: or maybe this is slightly more appropriate https://gist.github.com/AlexDaniel/c19077ab055504c73516f8f328b92280
17:09 * gfldex tries to cope with vertigo after looking at that slope
17:11 jkaye gfldex: Seems like I've narrowed it down. Something to do with trying to use a parameterized role within another one
17:12 jkaye If I specify the formatter as Formatter[LogEntry] instead of the parametric Formatter[LogEntryType], everything works
17:12 gfldex i will query roast to see if that is tested
17:12 dalek perl6.org: 772cd98 | (Naoum Hankache)++ | includes/menu-nav:
17:12 dalek perl6.org: Add Modules to menu-nav
17:12 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/772cd98fec
17:12 dalek perl6.org: 4257b95 | (Naoum Hankache)++ | source/resources/index.html:
17:12 dalek perl6.org: Reorganize the Resources page.
17:12 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/4257b95e15
17:12 dalek perl6.org: f9f9d38 | (Naoum Hankache)++ | README.md:
17:12 dalek perl6.org: Update README
17:12 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/f9f9d3825b
17:12 dalek perl6.org: e5f94bd | (Zoffix Znet)++ | / (3 files):
17:12 dalek perl6.org: Merge pull request #62 from hankache/master
17:12 dalek perl6.org:
17:12 dalek perl6.org: Enhance "Resources" and add "Modules" to menu-nav
17:12 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/e5f94bd46a
17:15 jkaye gfldex: Just for clarity, here's the paste that has the issue down to a single line: http://pastebin.com/KhqDFHkV
17:16 cibs joined #perl6
17:16 xinming_ joined #perl6
17:16 jkaye If you switch line 27 to Formatter[LogEntry] it will work, otherwise it will fail with "No appropriate parametric role variant available for 'JK::Logging::Formatter'"
17:20 gfldex jkaye: there is a test for recursion, so what you want to do must work but is untested
17:21 rburkholder joined #perl6
17:23 pyrimidi_ joined #perl6
17:24 gfldex m: role R1[::T] { method m { say T.WHAT } }; role R2[Int:U ::T2] { has R1[T2] $r1 }; class C does R2[Int] {}; C.new
17:24 camelia rakudo-moar 249696: ( no output )
17:26 gfldex m: role R1[Int:U ::T] { method m { say T.WHAT } }; role R2[Int:U ::T2] { has R1[T2] $r1 }; class C does R2[Int] {}; C.new
17:26 camelia rakudo-moar 249696: ( no output )
17:27 gfldex jkaye: my golffoo seams not sufficiant to nail this down
17:27 mst to anybody more awake: there's probably a golffu/waifu pun to be made here but I can't quite manage it
17:28 gfldex jkaye: you can rakudobug the whole thing ofc
17:29 moritz .
17:29 yoleaux 17:04Z <notviki> moritz: if @perl6org uses this image, the wings won't get cut off: https://github.com/perl6/marketing/blob/master/LOGOs/Camelia/Camelia-2000px-SQUARE.png
17:29 yoleaux 17:04Z <notviki> moritz: @perl6org on Twitter I mean
17:30 moritz notviki: thanks, I'e used the camelia-SQUARE now
17:31 notviki yey
17:31 notviki moritz++
17:31 moritz notviki++
17:31 Ben_Goldberg joined #perl6
17:31 Ben_Goldberg joined #perl6
17:36 timotimo i'm sitting in a place where wifi gives me 50 mbps up and down
17:36 timotimo into the internets
17:37 notviki neat
17:39 cdg joined #perl6
17:52 moritz internets++
17:53 ralissonschp joined #perl6
18:10 cdg_ joined #perl6
18:11 AlexDaniel joined #perl6
18:14 ugexe gfldex: you dont need zef to run a Build.pl, you only need to do `perl6 -I. -e 'use Build; Build.new.build($*CWD)'`
18:15 ugexe which is basically all zef does when it encounters one
18:15 * gfldex takes note
18:16 cdg joined #perl6
18:16 Gasher_ joined #perl6
18:16 ugexe so if you want to write makefiles you can write them, and just use Build.pl and a proxy to some `run ..., :cwd($arg-to-build-method)` command
18:16 ugexe and a proxy/as a proxy
18:18 mst right, even as a fan of make I am completely happy with the idea that if I want it, I can hide it behind a run() call
18:29 pmurias I really hope makefiles don't become a mandatory part of the Perl 6 build "ecosystem"
18:31 ralissonschp pmurias: what would you suggest instead?
18:33 mst pmurias: what do you mean 'mandatory'
18:33 pmurias mst: people who don't want to being forced to write makefiles ;)
18:34 mst pmurias: where did you even hallucinate that as a possibility from? :(
18:35 pmurias dark ages before precompilation had a lot of makefiles being used for building Perl 6 stuff
18:35 mst well, if you're building C libraries or whatever, it's likely the right answer
18:36 mst but given NativeCall that's probably not how to do it anyway
18:42 AlexDaniel oh, it's exactly 1 year today since the 6.c release?
18:44 pierre_ joined #perl6
18:47 notviki You're one day late :)
18:49 AlexDaniel m: say DateTime.now
18:49 camelia rakudo-moar 249696: OUTPUT«2016-12-26T19:49:32.112858+01:00␤»
18:49 AlexDaniel https://github.com/rakudo/rakudo/releases/tag/v6.c
18:49 AlexDaniel “tagged this on Dec 26, 2015”
18:50 AlexDaniel so was the tag a little bit late?
18:50 notviki :S
18:50 geekosaur iir yes
18:50 notviki Today's 26th dude
18:50 mst notviki: and so's the tag
18:50 notviki "coke tagged this on Dec 25, 2015"
18:50 AlexDaniel “coke tagged this on Dec 26, 2015”
18:51 notviki "
18:51 notviki "coke tagged this on Dec 25, 2015, 5:01 PM EST"
18:51 mst AlexDaniel: it shows Dec 25 here if I click your link.
18:51 * notviki guesses timezone thing
18:51 AlexDaniel ok
18:51 notviki AlexDaniel: what timezone are you in?
18:51 AlexDaniel GMT+2
18:52 AlexDaniel it says “12:01 AM”, I'm not sure what it means…
18:52 mst hah
18:52 notviki m: DateTime.new(:2015year, :12month, :25day, :5hour, :1minute, :timezone(-5*3600)).in-timezone(3600*2).say
18:52 camelia rakudo-moar 249696: OUTPUT«2015-12-25T12:01:00+02:00␤»
18:52 mst yeah, so it was 5:01pm EST, or 10:01pm GMT, or 12:01am on the 26th
18:53 notviki omm
18:53 notviki So is it a bug in our DateTime or on GitHub?
18:53 notviki m: DateTime.new(:2015year, :12month, :25day, :5hour, :1minute, :timezone(-5*3600)).say
18:53 camelia rakudo-moar 249696: OUTPUT«2015-12-25T05:01:00-05:00␤»
18:53 notviki oh
18:54 notviki It's a bug in me :)
18:54 mst :D
18:54 notviki m: DateTime.new(:2015year, :12month, :25day, :17hour, :1minute, :timezone(-5*3600)).in-timezone(3600*2).say
18:54 camelia rakudo-moar 249696: OUTPUT«2015-12-26T00:01:00+02:00␤»
18:54 notviki hehe
18:54 notviki That timing :P
18:54 notviki 1 minute past midnight
18:55 notviki m: say "1-year since release happened {(DateTime.new(:2016year, :12month, :25day, :17hour, :1minute, :timezone(-5*3600)) - DateTime.now)/3600} hours ago"
18:55 camelia rakudo-moar 249696: OUTPUT«1-year since release happened -20.912501102779 hours ago␤»
19:12 pmurias ralissonschp: re what instead of make, a lot of the info how to build Perl 6 stuff can be figured out by the compiler instead
19:24 ralissonschp pmurias: it has to be able, doesn't it? We expect it to be able to compile everything with just a file name. I was looking for suggestions for automating other dependency-dependent tasks.
19:25 El_Che http://www.lucas-nussbaum.net/blog/?p=916 (The Linux 2.5, Ruby 1.9 and Python 3 release management anti-pattern)
19:25 xinming joined #perl6
19:29 cdg joined #perl6
19:32 * notviki snorts derisively
19:32 notviki "it is probably a better idea to break early, break often, and fix a constant stream of breakages"
19:32 notviki Yeah, and watch how many users would love to use software they constantly have to patch for
19:33 El_Che I think he meant the distibution would do the patching in between
19:33 ralissonschp That pattern doesn't aplly to P6 because development of p5 is still going on.
19:33 El_Che (to avoid the python2/3 nomen land)
19:33 El_Che ralissonschp: I was not implying that, just a considiration over the fence
19:35 pmurias ralissonschp: I sort of like scons (so a Perl 6 of version of it could be kind of cool), I'm not a build system expert as I hate maintating that sort of things
19:35 notviki El_Che: what would the patching be for? Considering the breakage represents the new "normal" working order.
19:36 El_Che I think he implies that the distros would make sure people have something stable and be a proxy for the expected brekage. However, Debian long release cycles does'nt seem like a great candidate for that
19:36 ralissonschp notviki: Looking at the GLOBAL problem that is going on on Debian, they would have to patch if the new features have security problems, for example. They can't ship insecure code.
19:37 notviki ralissonschp: what does that have to do with advocating frequent breakages due to feature change?
19:37 notviki El_Che: here's what that "break early, break often" pattern looks on the user's end: https://github.com/perl6/modules.perl6.org/pull/61/files
19:37 geekosaur there's a fair number of people who run debian testing instead of stable
19:37 notviki That's changes in just one app
19:37 geekosaur (which is more or less running ubuntu without unity or canonical's idiocy)
19:37 ralissonschp You asked for an example, I brough one. Not all languages are like the Perls where new features arew expected to be sane.
19:38 notviki One small app, I'd even add.
19:38 notviki ralissonschp: but secruity patch is not what I asked for, specifically pointing out that there's nothing to patch, as the b a;ldsigfrn'adfbgt ;o'nhm
19:38 pmurias geekosaur: debian testing is pretty stable
19:39 geekosaur yes, that was my point
19:39 geekosaur (re "more or less running ubuntu")
19:39 geekosaur the really unstable stuff is in sid, not testing
19:39 ralissonschp geekosaur: testing is just 10 days behind sid
19:39 geekosaur but it's still much safer :)
19:40 geekosaur mostly because more people run it, getting back to the start of this discussion
19:40 geekosaur it Gets Tested
19:40 ralissonschp But when it does break, it's worse. It takes longer for the fix to be shipped.
19:41 Ven joined #perl6
19:42 pmurias distributions shipping their own mangled "more stable" versions of things seem very undesirable
19:43 ralissonschp pmurias: they would lose 90% of their users if that wasn't the case.
19:44 moritz pmurias: that's you as a software developer speaking; from an operational perspective, it makes quite some sense
19:44 geekosaur define "mangled". it's normal to backport patches rather than upgrading, for distributions with business customers
19:44 moritz because it means you can apply upgrades within a distribution without having to worry much about stuff breaking
19:44 pmurias I understand that they need to do it to avoid breaking stuff
19:46 pmurias moritz: debian renaming node.js and breaking a ton of things is mangling
19:46 El_Che pmurias: devs that want to run more bleeding edge soft have plenty of alternatives (docker, (RH) Software Collections, *brew/env, etc)
19:46 El_Che but the baseline must be rock solid
19:47 ralissonschp Red Hat still supports perl 5.12
19:48 El_Che and 5.20 through Software Collections
19:49 ralissonschp "debian renaming node.js and breaking a ton of things is mangling". Well, there was a package already name "node" in debian, what should have they done?
19:50 geekosaur installed it in a nonstandard location and told people to use $PATH appropriately?
19:50 El_Che ralissonschp: (and if I am not mistaken centos/rh 7 have 5.16)
19:51 Ben_Goldberg joined #perl6
19:51 ralissonschp geekosaur: From what I understand, the normal name the software expected was installed, in the normal location. It was the package that had it's name changed
19:51 moritz pmurias: such things never happen without reason, though I don't know anything about the background of this one
19:55 ralissonschp The software shipped by debian did give up the name (now called ax25-node), but debain takes 2 release cycles to do the migration, to avoid the name refering to different pieces of software at any given time.
19:57 ralissonschp There's nothing using the name 'node' in the archive right now, so the node.js packagers could take it if they wanted, solving the issue.
19:57 ralissonschp But it took 3 releases (6 years).
19:59 moritz the node developers could just have picked an executable name that wasn't taken in any major distribution
20:00 pierrot joined #perl6
20:01 ralissonschp It wasn't even about the name of the executable (it still had the same name), but the name of the package. It's the same thing with docker (called docker.io in debian): the executable didn't change names.
20:01 Ven joined #perl6
20:03 ralissonschp There's plenty of packages in debian that share executable names, but they can't share a package name.
20:06 ralissonschp Niecza and Rakudo could be installed at the same time, both taking the name 'perl6'. Not a problem.
20:13 bjz joined #perl6
20:14 pmurias robinsmidsrod: the executable name was the problem
20:15 pmurias robinsmidsrod: they renamed the executable from node to nodejs
20:20 Gasher_ joined #perl6
20:20 tojo joined #perl6
20:21 Ven joined #perl6
20:23 tojo joined #perl6
20:24 pierre_ joined #perl6
20:25 pierre_ joined #perl6
20:27 pierre_ joined #perl6
20:29 ShoaibJahejo joined #perl6
20:30 * lizmat is starting on the P6W
20:30 notviki :o
20:30 notviki \o/
20:30 samcv \o/
20:30 lizmat if you have anything of interest you want to be sure it gets mentioned, let me know!
20:30 lichtkind__ joined #perl6
20:30 samcv the docs is using a new highlighter? ;)
20:31 tojo joined #perl6
20:33 tojo joined #perl6
20:34 moritz lizmat: there's https://twitter.com/perl6org now
20:34 * samcv follows
20:34 moritz lizmat: .. and my latest blog post for the book: https://perlgeek.de/blog-en/perl-6/2016-book-testing-say.html
20:34 lizmat moritz: yeah, seen that already  :-)
20:37 * moritz is still looking for more folks to help write the perl6org twitter messages
20:37 lizmat should I mention that in the P6W, moritz?
20:38 moritz lizmat: yes, please
20:38 lizmat will do
20:41 Ven joined #perl6
20:44 TimToady joined #perl6
20:49 rightfold Hmm.
20:50 notviki Mhhhmm
20:50 lizmat mumble
20:56 samcv and say happy advent or something, first advent since 6.c?
21:01 Ven joined #perl6
21:07 TEttinger joined #perl6
21:07 Tonik joined #perl6
21:11 espadrine joined #perl6
21:12 dugword joined #perl6
21:13 Ven joined #perl6
21:13 tojo joined #perl6
21:16 pyrimidine joined #perl6
21:22 lizmat moritz: is there a place where you announced @perl6org ?
21:22 lizmat samcv: could you give me a one paragraph description of what you did to get the docs have a new highlighter ?
21:23 samcv uhm. yeah let me try
21:26 TEttinger "black magic"
21:26 samcv yes
21:26 TEttinger it seemed rather involved
21:27 samcv Previously the docs was using the Python Pygments highlighter to highlight Perl 6 code. Now it uses Github's Highlights, which is the same engine Atom and Github use to highlight files. While Github does not yet have the latest and greatest version of atom-language-perl6, the PR[1] updating it has been merged and we only need to wait for them to bump the version of Linguist[2].
21:27 samcv [1] https://github.com/github/linguist/pull/3377
21:27 samcv [2] https://github.com/github/linguist
21:27 samcv also black magic
21:27 samcv i can describe ^ a lot better
21:27 samcv and i think that is cool for people to hear
21:28 TEttinger yeah, other languages benefit from better highlighting too
21:28 samcv TEttinger, probably would have been easier to do if i _actually_ knew how to program in node/coffeescript :P
21:28 TEttinger oh man
21:28 samcv javascript is really strange
21:29 TEttinger I know enough node to import and mess with the unicode data it has, the npm package system being exposed to code is pretty neat
21:29 TEttinger like you can import the string containing all lower-case letters in Unicode 6.0.0, and nothing else from the huge data repo
21:29 samcv uhm also maybe add, it uses Proc::Async to launch a script i wrote, which takes filenames as stdin, and outputs JSON with the filename processed and the html
21:29 samcv inside said JSON format
21:30 samcv wait what import a string?
21:30 TEttinger JSON or CSON?
21:30 samcv JSON
21:30 TEttinger :D
21:31 samcv maybe they will add YAML support sometime https://github.com/atom/first-mate/issues/36
21:31 samcv so all things have to be escaped doubly
21:31 samcv have to escape backslashes once for the CSON/JSON and then again fro the regex engine
21:32 samcv so one backslash literaly, is \\\\
21:32 samcv \S is \\S, and [ becomes \\[
21:32 samcv but i made a perl6script to grab my clipboard and then unescape or re-escape it, so i can fiddle with it easier
21:33 cdg joined #perl6
21:33 TEttinger you can use npm to require only a specific exported piece of data from a package (maybe it's an array of strings, not one string):  require('unicode-6.0.0/General_Category/Lowercase_Letter/symbols');
21:33 cdg joined #perl6
21:34 samcv what that imports strings with ALL the lowercase letter general category thingys?
21:34 samcv codepoint == thingy
21:34 TEttinger in that version of unicode, there's versions for codepoints and for symbols
21:35 TEttinger https://github.com/mathiasbynens/node-unicode-data
21:35 TEttinger I wondered if Perl6 would benefit from a similar DB being exposed by MOAR or something
21:35 samcv to grab all of one kind of thing?
21:35 TEttinger (I assume MOAR has quite a lot of info available to it)
21:35 samcv hm
21:36 samcv yes it does
21:36 TEttinger the actual source for those packages is kinda crazy
21:36 samcv we have unimatch, which boolean matches ANY of that codepoints propertys to the requested so idk maybe someway to dump info
21:36 samcv i'm sure TEttinger
21:36 TEttinger it's a huge gzipped string literal
21:36 samcv also why do you want
21:36 samcv to get ALL of a certain type of thing
21:37 TEttinger it's suprisingly useful
21:37 samcv yeah i do want to be able to do it. not sure why i would want to yet. but i know i want this
21:39 TEttinger I initially got that info into a gnarly compressed bitset that uses very little space in the source code, but I provided a way to take each compressed form representing a Unicode category and decompress it (within the BMP though). Then I found I often wanted some way to churn out more than 52 letters
21:40 TEttinger so if you go past 200 or so letters, you're in Greek or maybe IPA symbols, I think
21:41 TEttinger the technique for the bitset is here https://gist.github.com/gagern/89db1179766a702c564d
21:41 TEttinger the last file is impressive
21:41 Gasher joined #perl6
21:42 samcv bisectable6, say 0xF.uniprop-bool('space')
21:42 bisectable6 samcv, On both starting points (old=2015.12 new=a7bf1ea) the exit code is 0 and the output is identical as well
21:42 bisectable6 samcv, Output on both points: True
21:42 samcv b-but it's false!
21:42 TEttinger is your version different somehow?
21:42 samcv i need to see if my patch to moarvm fixes this
21:42 samcv no it fails for me too,
21:42 samcv but i may have fixed it
21:42 samcv it is false though. i double checked
21:43 TEttinger 0xF is  what again?
21:43 TEttinger m: say 0xF.uniname
21:43 camelia rakudo-moar a7bf1e: OUTPUT«SHIFT IN␤»
21:43 samcv a control character
21:44 samcv m: say 0xF.uniprop-bool('Space')
21:44 camelia rakudo-moar a7bf1e: OUTPUT«True␤»
21:44 samcv m: say 0xF.uniprop-bool('White_Space')
21:44 camelia rakudo-moar a7bf1e: OUTPUT«False␤»
21:44 samcv bugggg
21:45 samcv m: say 0xF.chr ~~ /<:space>/
21:45 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
21:45 samcv ok that seems to be okay i guess
21:45 samcv m: say ' ' ~~ /<:space>/
21:45 camelia rakudo-moar a7bf1e: OUTPUT«「 」␤»
21:45 TEttinger m: say 0xF.chr ~~ /<:Space>/
21:45 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
21:45 samcv m: say ' ' ~~ /<:White_Space>/
21:45 camelia rakudo-moar a7bf1e: OUTPUT«「 」␤»
21:45 TEttinger m: say 0xF.chr ~~ /<:White_Space>/
21:45 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
21:45 samcv m: say 0xF.chr ~~ /<:White_Space>/
21:45 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
21:45 samcv hm
21:45 TEttinger hmmmm indeed
21:46 TEttinger it matches neither space nor white_space, but they return different results for uniprop-bool
21:46 samcv i don't think you were here when I was talking about
21:46 samcv how adding like 14 new unicode properties to moarvm
21:46 samcv i broke space, but then White_Space worked fine
21:46 TEttinger yeah I was here for the second part
21:46 samcv so i tweaked some random things, hoped for a miracle
21:47 TEttinger I didn't know you added 14, nice
21:47 * notviki sees 0xF is not White_Space on https://github.com/perl6/nqp
21:47 notviki I mean on http://www.fileformat.info/info/unicode/char/000F/index.htm
21:47 bjz joined #perl6
21:47 samcv notviki, does nqp specify it's not whitespace?
21:47 TEttinger White_Space is false here too
21:47 samcv does it bypass moar?
21:47 samcv m: say 0xF.chr ~~ /<:White_Space>/
21:47 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
21:47 notviki samcv: my copy-paste didn't work and I pasted the wrong thing
21:47 notviki See FileFormat URL
21:47 samcv oh ok :)
21:48 samcv but space is a synonym for White_Space in unicode
21:48 notviki "Character.isWhitespace()No"
21:48 samcv so i wonder why <:White_Space> correctly doesn't match that control code
21:48 samcv but uniprop-bool does
21:49 samcv unless nqp does something special
21:49 samcv with the regex and knows it's not space
21:49 samcv matching a ' ' space is dependent on moar tho, cause i broke it
21:49 samcv so it's weird
21:50 bjz joined #perl6
21:50 BenGoldberg joined #perl6
21:51 samcv Emoji properties; Bidi_Paired_Bracket; Bidi_Paired_Bracket_Type; Bidi_Mirroring_Glyph; Indic_Syllabic_Category; East_Asian_Width; fix Line_Break; Indic_Positional_Category; fix Jamo_Short_Name;
21:51 samcv this are the ones it adds
21:51 samcv well all but the ZWJ emoji sequences that are combined emoji
21:53 TEttinger notviki: I'm suspicious of Character.isWhitespace since it's Java's understanding of it, which is not great
21:53 TEttinger 000F;<control>;Cc;0;BN;;;;;N;SHIFT IN;;;;
21:54 TEttinger that's the line for 0xf in UnicodeData.txt
21:54 newbie1 joined #perl6
21:56 beatdown joined #perl6
21:57 ShoaibJahejo joined #perl6
21:57 notviki And which of that says it's whitespace?
21:57 samcv notviki, quite ;)
21:58 notviki quite what?
21:58 samcv this is 0x20
21:58 samcv 0020;SPACE;Zs;0;WS;;;;;N;;;;;
21:58 samcv i was more meanning (how to tell if it's whitespace)
21:58 samcv is not obvious
21:58 * geekosaur wouldn't consider SI to be whitespace, fwiw
21:58 rightfold U+000F isn't whitespace
21:59 notviki it's got Zs in that line
21:59 notviki and 0xF got Cc for it
21:59 TEttinger WS is the indicator
21:59 samcv there's a WS
21:59 TEttinger it's BN for 0xf
21:59 notviki And what's BN?
21:59 TEttinger Bidi Neutral
22:00 notviki And that means whitespace?
22:00 TEttinger no
22:00 notviki ...
22:00 TEttinger it means not WS
22:00 TEttinger WS means whitespace
22:00 notviki So why did you paste that line?
22:00 samcv 0020;SPACE;Zs;0;WS;;;;;N;;;;; << see the WS
22:00 TEttinger 0x20 (space) has WS, 0x0f has no WS
22:00 notviki ...
22:01 TEttinger trying to figure out what the correct result is, notviki
22:01 TEttinger (for perl6 to give)
22:01 samcv well it's not whitespace.
22:01 TEttinger yep
22:01 samcv so False
22:01 TEttinger not sure what the space uniprop corresponds to
22:02 samcv m: say "\x[0F] " ~~ /<:White_Space>/
22:02 camelia rakudo-moar a7bf1e: OUTPUT«「 」␤»
22:02 samcv bad bad
22:02 samcv bisectable6, m: say "\x[0F] " ~~ /<:White_Space>/
22:02 bisectable6 samcv, On both starting points (old=2015.12 new=a7bf1ea) the exit code is 0 and the output is identical as well
22:02 bisectable6 samcv, Output on both points: 「 」
22:02 samcv oh
22:02 samcv wait there's a space in there .oh
22:02 samcv m: say "\x[0F]" ~~ /<:White_Space>/
22:02 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
22:02 samcv m: say "\x[0F]" ~~ /<:WhiteSpace>/
22:02 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
22:02 samcv m: say "\x[0F]" ~~ /<:Space>/
22:02 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
22:03 samcv m: "\x[0F]".uniprop-bool('White_Space').say
22:03 camelia rakudo-moar a7bf1e: OUTPUT«False␤»
22:03 samcv m: "\x[0F]".uniprop-bool('WhiteSpace').say
22:03 camelia rakudo-moar a7bf1e: OUTPUT«False␤»
22:03 samcv m: 0xF.uniprop-bool('WhiteSpace').say
22:03 camelia rakudo-moar a7bf1e: OUTPUT«False␤»
22:03 samcv m: 0xF.uniprop-bool('White_Space').say
22:03 camelia rakudo-moar a7bf1e: OUTPUT«False␤»
22:03 TEttinger ok, here's the official info on how to read that file http://www.unicode.org/reports/tr44/#Format_Conventions
22:03 samcv m: 0xF.uniprop-bool('space').say
22:03 camelia rakudo-moar a7bf1e: OUTPUT«True␤»
22:04 samcv T_T
22:04 samcv bisect: 0xF.uniprop-bool('space').say
22:04 bisectable6 samcv, On both starting points (old=2015.12 new=a7bf1ea) the exit code is 0 and the output is identical as well
22:04 bisectable6 samcv, Output on both points: True
22:04 samcv not sure why that's wrong but it works fine for regex
22:04 mr-foobar joined #perl6
22:04 samcv unless nqp has some defining of whitespace in it somewhere
22:05 TEttinger a ha, BN is boundary neutral, http://www.unicode.org/reports/tr44/#Bidi_Class_Values
22:05 samcv bisect: 0xF.uniprop-bool('Space').say
22:05 bisectable6 samcv, On both starting points (old=2015.12 new=a7bf1ea) the exit code is 0 and the output is identical as well
22:05 bisectable6 samcv, Output on both points: True
22:05 TEttinger m: say "\n" ~~ /<:Space>/
22:05 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
22:05 TEttinger I think it may be matching the name there
22:05 samcv the name?
22:06 TEttinger like the name of the char \x20 is "space"
22:06 samcv uh
22:06 samcv why would it
22:06 samcv u: space
22:06 unicodable6 samcv, U+0008 BACKSPACE [Cc] (control character)
22:06 unicodable6 samcv, U+0020 SPACE [Zs] ( )
22:06 unicodable6 samcv, U+00A0 NO-BREAK SPACE [Zs] ( )
22:06 unicodable6 samcv, https://gist.github.com/e9e5aa2574a880649e5398ba8d23e487
22:06 geekosaur isn't that LINE FEED?
22:06 samcv yes
22:06 TEttinger m: say "\t" ~~ /<:Space>/
22:06 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
22:06 TEttinger I mean :space seems to only match \x20
22:06 samcv m: "␠" ~~ /<:space>/
22:06 camelia rakudo-moar a7bf1e: ( no output )
22:06 samcv m: say "␠" ~~ /<:space>/
22:06 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
22:06 TEttinger m: say "\x[08]" ~~ /<:Backspace>/
22:06 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
22:07 TEttinger well I'm confused
22:07 samcv but space and White_Space to moar are not the same because…. idk
22:07 samcv there's a bugf
22:07 TEttinger m: say "\x08" ~~ /<:Backspace>/
22:07 camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
22:07 TEttinger m: say " " ~~ /<:Space>/
22:07 camelia rakudo-moar a7bf1e: OUTPUT«「 」␤»
22:08 TEttinger what the heck is space anyway in this context
22:08 samcv anything with unicode space
22:08 samcv m: say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('White_Space')
22:08 camelia rakudo-moar a7bf1e: OUTPUT«23␤92␤»
22:08 samcv i want to know what 92 is though
22:09 AlexDaniel o/
22:10 TEttinger http://www.unicode.org/reports/tr44/#Property_Index  <-- I just don't see 'space' here, but there is White_Space
22:10 samcv space is a short name for White_Space
22:10 AlexDaniel m: say ‹hello›
22:10 camelia rakudo-moar a7bf1e: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 3say7⏏5 ‹hello›␤Bogus postfix␤at <tmp>:1␤------> 3say 7⏏5‹hello›␤    expecting any of:␤        infix␤        infix stopper␤        postfix…»
22:10 samcv see http://unicode.org/Public/UNIDATA/PropertyAliases.txt
22:10 TEttinger oh man, that explains some of it
22:10 TEttinger so it isn't working as an alias, but is on its own?
22:11 AlexDaniel .oO( why man? xD )
22:11 AlexDaniel but anyway, I wonder if ‹› should be supported in some way
22:11 samcv well it works in regex but not uniprop-bool
22:11 AlexDaniel u: ‹›
22:11 unicodable6 AlexDaniel, U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK [Pf] (›)
22:11 unicodable6 AlexDaniel, U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK [Pi] (‹)
22:12 samcv m: '‹'.uniprop('Bidi_Mirroring_Glyph').parse-base(16).chr.say
22:12 camelia rakudo-moar a7bf1e: OUTPUT«›␤»
22:12 samcv yes
22:12 samcv we can support that
22:13 TEttinger AlexDaniel: it's an English idiom, similar to "oh boy"
22:13 samcv oh you mean instead o,f < >?
22:14 AlexDaniel in addition to
22:14 samcv m: say  q‹test›
22:14 camelia rakudo-moar a7bf1e: OUTPUT«test␤»
22:14 samcv ah kk
22:15 AlexDaniel like
22:15 AlexDaniel m: say ‹hello›
22:15 camelia rakudo-moar a7bf1e: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 3say7⏏5 ‹hello›␤Bogus postfix␤at <tmp>:1␤------> 3say 7⏏5‹hello›␤    expecting any of:␤        infix␤        infix stopper␤        postfix…»
22:15 AlexDaniel m: say <hello>
22:15 camelia rakudo-moar a7bf1e: OUTPUT«hello␤»
22:15 TEttinger Pi and Pf ? interesting
22:16 TEttinger oh, samcv: space is the only alias in that aliases file that's an additional alias for that group of names
22:16 samcv wait what
22:16 AlexDaniel initial and final quote
22:16 TEttinger the line has
22:16 TEttinger WSpace                   ; White_Space                 ; space
22:16 samcv cjkRSUnicode             ; kRSUnicode                  ; Unicode_Radical_Stroke; URS
22:16 TEttinger there's only one line in binary properties with that
22:17 TEttinger that may be why space is trouble
22:17 pierre_ joined #perl6
22:17 samcv oh
22:17 AlexDaniel u: Pi
22:17 unicodable6 AlexDaniel, U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK [Pi] («)
22:17 unicodable6 AlexDaniel, U+2018 LEFT SINGLE QUOTATION MARK [Pi] (‘)
22:17 unicodable6 AlexDaniel, U+201B SINGLE HIGH-REVERSED-9 QUOTATION MARK [Pi] (‛)
22:17 unicodable6 AlexDaniel, https://gist.github.com/eebe11fbd3ecf69b6eafb6dab68a4569
22:17 samcv but yeah that could be hmm
22:17 AlexDaniel u: Pf
22:17 unicodable6 AlexDaniel, U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK [Pf] (»)
22:17 unicodable6 AlexDaniel, U+2019 RIGHT SINGLE QUOTATION MARK [Pf] (’)
22:17 unicodable6 AlexDaniel, U+201D RIGHT DOUBLE QUOTATION MARK [Pf] (”)
22:17 unicodable6 AlexDaniel, https://gist.github.com/bf2a913ad13fc1914354e995601fe883
22:17 * samcv throws the unicode database generation script against the wall
22:17 TEttinger lol
22:19 AlexDaniel u: doesntexist
22:19 unicodable6 AlexDaniel, Found nothing!
22:19 AlexDaniel hm
22:20 BenGoldberg joined #perl6
22:20 TEttinger u: bmg
22:20 unicodable6 TEttinger, Found nothing!
22:20 AlexDaniel by the way, what's the highest unicode codepoint
22:20 AlexDaniel ?
22:21 TEttinger good question
22:21 TEttinger I asked the same earlier
22:22 samcv guys i need a hammer
22:22 samcv maybe not hammer
22:22 timotimo wham bam
22:22 TEttinger m: "»".uniprop-bool('Bidi_Mirrored').say
22:22 camelia rakudo-moar a7bf1e: OUTPUT«True␤»
22:22 TEttinger good...
22:22 TEttinger m: "p".uniprop-bool('Bidi_Mirrored').say
22:22 camelia rakudo-moar a7bf1e: OUTPUT«False␤»
22:22 timotimo captain hammer's here, hair blowing in the breeze
22:22 timotimo the day needs my saving expertise~
22:23 samcv if Bidi_Mirrored and it's Ps Pe then it's a bidi pairing bracket
22:23 TEttinger hm
22:23 TEttinger not totally sure
22:23 TEttinger u: Ps
22:23 unicodable6 TEttinger, U+0028 LEFT PARENTHESIS [Ps] (()
22:23 unicodable6 TEttinger, U+007B LEFT CURLY BRACKET [Ps] ({)
22:23 unicodable6 TEttinger, U+005B LEFT SQUARE BRACKET [Ps] ([)
22:23 unicodable6 TEttinger, https://gist.github.com/7b6f7c29ff402ff99fbb94a68a56e04d
22:23 TEttinger u: Pe
22:23 unicodable6 TEttinger, U+0029 RIGHT PARENTHESIS [Pe] ())
22:23 unicodable6 TEttinger, U+005D RIGHT SQUARE BRACKET [Pe] (])
22:23 unicodable6 TEttinger, U+007D RIGHT CURLY BRACKET [Pe] (})
22:23 unicodable6 TEttinger, https://gist.github.com/585ff5328e40db33f5d1685fdaab34b5
22:23 TEttinger I'll compare these
22:23 AlexDaniel u: U+1F9C0
22:23 unicodable6 AlexDaniel, U+1F9C0 CHEESE WEDGE [So] (🧀)
22:24 samcv two characters, A and B,
22:24 samcv # form a bracket pair if A has gc=Ps and B has gc=Pe, both have bc=ON and
22:24 samcv # Bidi_M=Y, and bmg of A is B.
22:24 timotimo i forgot what bc is
22:24 samcv bidi contrnol i think
22:24 timotimo ah
22:25 TEttinger 201a ‚     and 201e „
22:26 TEttinger there's some weirdness because both of those are Ps
22:26 AlexDaniel ok, seems like unicodable is a bit wrong right now
22:26 TEttinger but there's no corresponding Pe
22:26 TEttinger no, that's actually correct
22:26 AlexDaniel u: VARIATION
22:26 unicodable6 AlexDaniel, U+180B MONGOLIAN FREE VARIATION SELECTOR ONE [Mn] (◌᠋)
22:26 unicodable6 AlexDaniel, U+180C MONGOLIAN FREE VARIATION SELECTOR TWO [Mn] (◌᠌)
22:26 unicodable6 AlexDaniel, U+180D MONGOLIAN FREE VARIATION SELECTOR THREE [Mn] (◌᠍)
22:26 unicodable6 AlexDaniel, https://gist.github.com/3ba0bb82f356cbfa2acf2f0bfe3037b0
22:26 TEttinger Ps and Pe are not identical size
22:26 AlexDaniel u: VARIATION 252
22:26 unicodable6 AlexDaniel, Found nothing!
22:26 AlexDaniel u: U+E01EB
22:26 unicodable6 AlexDaniel, U+E01EB VARIATION SELECTOR-252 [Mn] (◌󠇫)
22:27 AlexDaniel u: U+E01EF
22:27 unicodable6 AlexDaniel, U+E01EF VARIATION SELECTOR-256 [Mn] (◌󠇯)
22:27 TEttinger that's really high
22:27 AlexDaniel this is the highest codepoint
22:27 TEttinger u: VARIATION SELECTOR-252
22:27 unicodable6 TEttinger, Found nothing!
22:27 TEttinger ahh
22:27 TEttinger I get what you're saying
22:27 TEttinger isn't unicodable6 a little older?
22:27 AlexDaniel yea, unicodable only does 0..0x1FFFF
22:27 AlexDaniel no
22:27 samcv u: { .uniprop('Bidi_Mirrored') and .uniprop('Bidi_Mirroring_Glyph') and .uniprop eq 'Ps' }
22:27 unicodable6 samcv, U+005B LEFT SQUARE BRACKET [Ps] ([)
22:27 unicodable6 samcv, U+0028 LEFT PARENTHESIS [Ps] (()
22:27 unicodable6 samcv, U+007B LEFT CURLY BRACKET [Ps] ({)
22:27 unicodable6 samcv, https://gist.github.com/b8a394a72aa0c3bcf4b2baf62ecccddf
22:28 samcv that's not all of them tho
22:28 samcv that shows 60, there's uh
22:28 samcv m: say (64-183)/2
22:28 camelia rakudo-moar a7bf1e: OUTPUT«-59.5␤»
22:28 samcv oh that is all of them
22:28 samcv yep! did that right
22:29 AlexDaniel TEttinger: cheese wedge is actually the highest meaningful character
22:29 AlexDaniel u: cheese wedge
22:29 samcv cheese wedge?
22:29 unicodable6 AlexDaniel, U+1F9C0 CHEESE WEDGE [So] (🧀)
22:29 AlexDaniel yes ↑ :)
22:29 samcv u: U+1F9C1
22:29 unicodable6 samcv, U+1F9C1 <illegal> [] (🧁)
22:29 samcv :(
22:29 AlexDaniel then there are some CJK compatibility ideographs
22:29 AlexDaniel u: U+2F800 U+2FA1D
22:29 unicodable6 AlexDaniel, U+2F800 CJK COMPATIBILITY IDEOGRAPH-2F800 [Lo] (丽)
22:29 unicodable6 AlexDaniel, U+2FA1D CJK COMPATIBILITY IDEOGRAPH-2FA1D [Lo] (𪘀)
22:29 AlexDaniel some tags
22:30 AlexDaniel u: U+E0001 U+E007F
22:30 unicodable6 AlexDaniel, U+E0001 LANGUAGE TAG [Cf] (󠀁)
22:30 unicodable6 AlexDaniel, U+E007F CANCEL TAG [Cf] (󠁿)
22:30 AlexDaniel and then variation selectors
22:30 AlexDaniel u: U+E0100 U+E01EF
22:30 unicodable6 AlexDaniel, U+E0100 VARIATION SELECTOR-17 [Mn] (◌󠄀)
22:30 unicodable6 AlexDaniel, U+E01EF VARIATION SELECTOR-256 [Mn] (◌󠇯)
22:31 AlexDaniel so does it mean that I should bump up the limit from 0x1FFFF to 0x10FFFF ? :-/
22:32 samcv i think i'm gonna focuse on sub emit_unicode_property_keypairs
22:32 samcv from the unicode database genration scirpt
22:33 samcv damn the perl grammar for Atom is way shittier than the Perl 6 one. # inside character classes comments out the line visually
22:37 unicodable6 joined #perl6
22:37 AlexDaniel so let's see how it looks like when it is 16 times slower…
22:37 AlexDaniel u: oetuhonehueo
22:37 unicodable6 AlexDaniel, Found nothing!
22:37 AlexDaniel :(
22:38 AlexDaniel u: VARIATION SELECTOR-252
22:38 unicodable6 AlexDaniel, U+E01EB VARIATION SELECTOR-252 [Mn] (◌󠇫)
22:38 timotimo so there's 255 variation selectors so we have 8 bits we can append to any character?
22:38 AlexDaniel u: variation selector
22:38 unicodable6 AlexDaniel, U+180C MONGOLIAN FREE VARIATION SELECTOR TWO [Mn] (◌᠌)
22:38 unicodable6 AlexDaniel, U+180B MONGOLIAN FREE VARIATION SELECTOR ONE [Mn] (◌᠋)
22:38 unicodable6 AlexDaniel, U+180D MONGOLIAN FREE VARIATION SELECTOR THREE [Mn] (◌᠍)
22:38 unicodable6 AlexDaniel, https://gist.github.com/040dd2f40e5c67bb6c599974eb231596
22:39 AlexDaniel timotimo: ya
22:39 timotimo huh
22:39 timotimo there's not only "no variation selector", but also a 256th
22:39 timotimo so ... we have 8 bit and ... one extra value?
22:39 timotimo anyway, i need to get some rest
22:39 AlexDaniel no?
22:40 AlexDaniel ah
22:40 AlexDaniel if you count nothingness as a value… sure…
22:41 dugword Hey guys, I'm stumped on what I think is a really easy question. I'm writing a module and I don't know how to load my module in my t/ test scripts. I have the statement 'use My::Module::Name' in the test and a directory path of lib/My/Module/Name.pm. But the test script can't find it. Do I need to call "use lib 'lib';" or update an ENV variable?
22:41 pierre_ joined #perl6
22:42 AlexDaniel dugword: yes, either use lib or PERL6LIB env variable
22:46 AlexDaniel u: { False }
22:46 unicodable6 AlexDaniel, Found nothing!
22:46 AlexDaniel hm that was quick
22:46 gfldex dugword: perl6 -Ilib t/00-load.t
22:46 BenGoldberg joined #perl6
22:46 AlexDaniel u: { .uniname.contains(‘VARIATION’) }
22:46 unicodable6 AlexDaniel, U+180C MONGOLIAN FREE VARIATION SELECTOR TWO [Mn] (◌᠌)
22:46 unicodable6 AlexDaniel, U+180B MONGOLIAN FREE VARIATION SELECTOR ONE [Mn] (◌᠋)
22:46 unicodable6 AlexDaniel, U+180D MONGOLIAN FREE VARIATION SELECTOR THREE [Mn] (◌᠍)
22:46 dugword Thanks, so when I am making a module for distribution and I am working on it locally I should just add that path to PERL6LIB? I don't see other modules calling 'use lib 'whatever'' in their scripts. Would I just add the path of my module to PERL6LIB for every module I am working on? That seems clunky, do y'all have a strategy for managing that?
22:46 unicodable6 AlexDaniel, https://gist.github.com/260c5571ae47eb888691eed7b6f2cf3f
22:47 pyrimidine joined #perl6
22:47 samcv ok added some prints. getting so much better info here
22:47 samcv Adding WSpace as an alias to White_Space
22:47 AlexDaniel .u VARIATION 253
22:47 samcv Setting White_Space propcode to White_Space propcode
22:47 yoleaux U+E01EC VARIATION SELECTOR-253 [Mn] (◌󠇬)
22:47 samcv Adding space as an alias to White_Space
22:47 samcv Setting space propcode to White_Space propcode
22:48 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2016/12/26/2016-52-twittering-towards-the-end/
22:48 samcv i mean at least there it seems fine. but need to see what is actually being set here
22:49 dugword And thanks Alex, use lib 'lib' worked. Didn't see other modules using that so I thought I was missing something
22:50 samcv lizmat++
22:51 samcv oh about the aliases moar adds magically
22:51 samcv Skipping alias mro becuase it's not longer than 3 characters.
22:51 samcv i just made it have to be longer than 3 chars to get added
22:51 samcv wtf is mro
22:51 samcv hahah
22:52 AlexDaniel “by Alex-Daniel Princess” XDDD
22:53 samcv Setting Bidi_Paired_Bracket propcode to Bidi_Paired_Bracket propcode
22:53 samcv hmm
22:54 AlexDaniel lizmat++
22:54 samcv if i stop it doing that it might totally break but i guess i will find out
22:54 BenGoldberg joined #perl6
22:55 nowan joined #perl6
22:58 moritz lizmat: I haven't announced @perl6org anywhere except on twitter itself :-)
22:59 lizmat yeah, well, consider it announced on P6W now  :-)
22:59 moritz \o/
23:03 lizmat AlexDaniel: is that incorrect ?
23:03 moritz that what it says on wordpress.com :-)
23:03 AlexDaniel I'm fine with that :D
23:04 lizmat ok  :-)
23:04 moritz .oO( dammit twitter, it's "who*m* to follow" )
23:04 * sjn reads lizmat's p6weekly
23:05 * moritz retires and dreams of sleeping
23:05 samcv somebody removed a print… that
23:05 samcv warning: couldn't resolve property ccc property value alias
23:05 samcv warning: couldn't resolve property nt property value alias
23:05 samcv warning: couldn't resolve property sc property value alia
23:05 samcv well. that would do it. (break the sc property)
23:06 samcv that error shouldn't have been silenced… oh well 2012 was a long time ago
23:06 sjn lizmat: typo in the "Endventing" section (missing space before paranthesis)
23:07 lizmat sjn: you mean (new) ?
23:07 djbkd joined #perl6
23:07 lizmat argh, I see what you mean
23:08 lizmat fixed, sjn++
23:10 bjz_ joined #perl6
23:13 * lizmat wishes #perl6 a good night!
23:14 notviki night
23:14 sjn nn, lizmat++!
23:14 JRaspass joined #perl6
23:28 samcv does MoarVM not check whitespace by the white space property? does it do something weird?
23:28 samcv m: 0xD.uniprop('space').say
23:28 camelia rakudo-moar a7bf1e: OUTPUT«True␤»
23:29 samcv m: 0xD.uniprop('Bidi_Class').say
23:29 camelia rakudo-moar a7bf1e: OUTPUT«B␤»
23:29 samcv m: ' '.uniprop('Bidi_Class').say
23:29 camelia rakudo-moar a7bf1e: OUTPUT«WS␤»
23:29 samcv that's the only thing i can think of diving into this unicode gen script
23:29 samcv because whitespace isn't mentioned anywhere
23:30 samcv u: { .uniprop('space') and ! .uniprop('Bidi_Class') eq 'WS' }
23:30 unicodable6 samcv, «timed out after 10 seconds, output»:  «exit signal = SIGHUP (1)»
23:30 samcv goddamit
23:31 samcv u: { .uniprop-bool('space') and ! .uniprop-str('Bidi_Class') eq 'WS' }
23:31 unicodable6 samcv, «timed out after 10 seconds, output»:  «exit signal = SIGHUP (1)»
23:32 AlexDaniel ok, that's my fault
23:33 samcv can you fix it?
23:33 AlexDaniel one second
23:35 unicodable6 joined #perl6
23:35 AlexDaniel u: { .uniprop('space') and ! .uniprop('Bidi_Class') eq 'WS' }
23:35 unicodable6 AlexDaniel, «timed out after 20 seconds, output»:  «exit signal = SIGHUP (1)»
23:36 unicodable6 joined #perl6
23:36 AlexDaniel how long is it supposed to take? :-/
23:36 AlexDaniel u: { .uniprop('space') and ! .uniprop('Bidi_Class') eq 'WS' }
23:36 samcv idk
23:36 unicodable6 AlexDaniel, Found nothing!
23:36 samcv it's not that complicated
23:36 AlexDaniel u: { .uniprop-bool('space') and ! .uniprop-str('Bidi_Class') eq 'WS' }
23:37 unicodable6 AlexDaniel, Found nothing!
23:37 samcv u: { .uniprop-bool('space') and .uniprop-str('Bidi_Class') ne 'WS' }
23:37 unicodable6 samcv, U+0000 NULL [Cc] (control character)
23:37 unicodable6 samcv, U+0001 START OF HEADING [Cc] (control character)
23:37 unicodable6 samcv, U+0002 START OF TEXT [Cc] (control character)
23:37 samcv thanks
23:37 samcv m: 0x0.uniprop-bool('space')
23:37 camelia rakudo-moar a7bf1e: ( no output )
23:37 samcv m: 0x0.uniprop-bool('space').say
23:37 camelia rakudo-moar a7bf1e: OUTPUT«True␤»
23:37 samcv ahh
23:38 unicodable6 samcv, https://gist.github.com/a570a76750ccc3479d5726cc9d4c3f8f
23:38 AlexDaniel things are 16 times slower now because I increased the range to cover everything properly
23:39 AlexDaniel holy shit it gisted 15691 characters
23:39 samcv { .unimatch('space') }
23:39 AlexDaniel u: { .unimatch('space') }
23:40 unicodable6 AlexDaniel, U+0020 SPACE [Zs] ( )
23:41 AlexDaniel that's it?
23:42 samcv well
23:42 samcv { .unimatch('WS') }
23:42 samcv space isn't a property _value_
23:42 samcv WS is a bidi class
23:43 AlexDaniel u: { .unimatch('WS') }
23:43 samcv it seems to me. that moarvm thinks 'space' is not the same as 'White_Space' and may do something weird in it
23:43 samcv to check what a space is
23:43 unicodable6 AlexDaniel, U+000C FORM FEED (FF) [Cc] (control character)
23:43 unicodable6 AlexDaniel, U+0020 SPACE [Zs] ( )
23:43 unicodable6 AlexDaniel, U+1680 OGHAM SPACE MARK [Zs] ( )
23:43 samcv m: 0x0.uniprop-bool('space').say
23:43 camelia rakudo-moar a7bf1e: OUTPUT«True␤»
23:43 samcv nice.
23:43 samcv i fixed it
23:44 * samcv commits quickly
23:45 samcv now to make spectest
23:45 samcv wow. i. uh
23:45 samcv fixed it. somehow
23:45 samcv i hope nothing else broke as a side effect. spectest will tell
23:47 samcv oh. but. now
23:47 samcv ' ' ~~ /<:space>/ is broken…
23:47 samcv wttth
23:48 samcv Space works though, just not lowercase space
23:48 samcv how is that…
23:48 samcv maybe we do something hackish for <:space>?
23:49 bjz joined #perl6
23:50 Ben_Goldberg joined #perl6
23:51 samcv m: 0xE.uniprop-bool('space').say
23:51 camelia rakudo-moar a7bf1e: OUTPUT«True␤»
23:51 tailgate is there a perl6 way to ask 'Does any object in this list meet this condition?
23:51 samcv m: EVAL "say\0'hi'"
23:51 camelia rakudo-moar a7bf1e: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /home/camelia/EVAL_0:1␤------> 3say7⏏5␀'hi'␤Bogus postfix␤at /home/camelia/EVAL_0:1␤------> 3say7⏏5␀'hi'␤    expecting any of:␤        infix␤        infix stopp…»
23:51 samcv tailgate, yeah with junctions
23:51 samcv any(@list)
23:52 samcv m: "say\x[E]'hi'"
23:52 camelia rakudo-moar a7bf1e: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant string "say'hi'" in sink context (line 1)␤»
23:52 samcv m: EVAL "say\x[E]'hi'"
23:52 camelia rakudo-moar a7bf1e: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /home/camelia/EVAL_0:1␤------> 3say7⏏5'hi'␤Bogus postfix␤at /home/camelia/EVAL_0:1␤------> 3say7⏏5'hi'␤    expecting any of:␤        infix␤        infix stopper…»
23:55 rightfold tailgate: sqrt(any(6, 8, 9)) < 5
23:55 rightfold m: say sqrt(any(6, 8, 9)) < 5
23:55 camelia rakudo-moar a7bf1e: OUTPUT«any(True, True, True)␤»
23:55 rightfold m: say so sqrt(any(6, 8, 9)) < 5
23:55 camelia rakudo-moar a7bf1e: OUTPUT«True␤»
23:55 Ben_Goldberg joined #perl6
23:56 rightfold m: say so sqrt(any(64, 1052)) < 5
23:56 camelia rakudo-moar a7bf1e: OUTPUT«False␤»
23:56 samcv time to delve into the generated unicode database raw
23:56 JRaspass m: class A { method DESTROY { say 1 } }; A.new
23:56 camelia rakudo-moar a7bf1e: ( no output )
23:57 JRaspass hmm, should destructors fire on global destruction? Does p6 have global destruction?
23:57 samcv ok. it seems there's Pattern whitespace as a property too
23:57 samcv so i got it so space is the same propcode as White_Space

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

Perl 6 | Reference Documentation | Rakudo