»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
notviki Yeah :D 00:00
Definitely
mst notviki: 'fine' as in gunshowcomic.com/648
notviki AlexDaniel: or rather I had it... I'm 80% certain the other person was you
AlexDaniel notviki: RT #129131 ?
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129131
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 :)
AlexDaniel: that's teh one yeah 00:02
AlexDaniel m: say (‘z’ ^.. ‘ac’)[^5] 00:04
camelia rakudo-moar 1374fc: OUTPUT«(aa ab ac Nil Nil)␤»
AlexDaniel m: say (‘z’ .. ‘ac’)[^5]
camelia rakudo-moar 1374fc: OUTPUT«(Nil Nil Nil Nil Nil)␤»
AlexDaniel notviki: like this?
notviki no, becauise "aa" cmp "ab" is Less and so is cmp "ac" 00:05
m: say elems "a".."Ỳ" 00:08
camelia rakudo-moar 1374fc: OUTPUT«7826␤»
mst basically: everything succ()s 00:09
notviki Given the above, how many elems would there be between "za".."zỲ"?
AlexDaniel no idea
notviki Infinite
:)
AlexDaniel notviki: I don't even understand how it does it with ascii chars, everything else is completely beyond me 00:10
notviki m: say .ord cmp chr(.ord+1) with "\x[831]" 00:11
camelia rakudo-moar 1374fc: OUTPUT«Less␤»
notviki err
m: say .ord cmp chr(.ord+1).ord with "\x[831]"
camelia rakudo-moar 1374fc: OUTPUT«Less␤»
notviki ^_^
m: say .ord cmp chr(.ord+10).ord with "\x[831]" 00:13
camelia rakudo-moar 1374fc: OUTPUT«Less␤»
notviki ehehe
Oh
This is not the magic trick
but the infinite range is. 00:14
AlexDaniel notviki: wait, so what's with the challenge? 00:15
notviki I was using decimal as hex digits... 00:16
m: say .ord cmp chr(.ord+1).ord with "\x[33F]"
camelia rakudo-moar 1374fc: OUTPUT«More␤»
00:17 Strawberry joined
notviki m: my ($a, $b) = "\x[33f]".."\x[999]"; say $a cmp $b 00:17
camelia rakudo-moar 1374fc: OUTPUT«More␤»
notviki AlexDaniel: ^ and this is a challenge
second value in the range is "less" than the first
AlexDaniel m: say "\x[33f]" cmp "\x[999]" 00:19
camelia rakudo-moar 1374fc: OUTPUT«Less␤»
AlexDaniel ?
notviki oh dammit
:(
AlexDaniel: right... it only works with sequences and it actually hangs :} 00:22
Check it out
m: .say for ("z\x[33f]"…Inf)[^2]
camelia rakudo-moar 1374fc: OUTPUT«z̿␤z̿␤»
notviki Infinity and still works right?
m: .say for ("z\x[33f]"…"z\x[340]")[^2]
Boom, one char higher, but hangs :} 00:23
camelia rakudo-moar 1374fc: OUTPUT«(timeout)»
notviki m: .say for ("z\x[33f]".."z\x[340]")[^2]
camelia rakudo-moar 1374fc: OUTPUT«Nil␤Nil␤»
notviki interesting
m: say "z\x[33f]" before "z\x[340]" 00:24
camelia rakudo-moar 1374fc: OUTPUT«False␤»
notviki Ah, that's why
00:26 Strawberry left
samcv interesting… no wonder when i rewrote it i got so many less tests 00:33
github.com/perl6/roast/blob/master...equality.t
tests are all duplicated
at least some of them 00:34
maybe not that many but there are some
00:36 pmurias left
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:39
00:54 pierre_ joined 00:58 pierre_ left
rightfold How can I do a rightfold with reduce passing a lambda? (As opposed to an operator) 00:59
notviki [[&stuff]] 01:01
What's the way to find mirroring glyph? Like ']' for '['?
I have a Ps I wanna know what it's Pe is
01:02 Actualeyes left
rightfold notviki: Will that not do a leftfold? 01:03
notviki ah ok 01:04
rightfold m: (^10).reduce({"Tuple $^a ($^b)"}) 01:05
camelia ( no output )
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)␤»
rightfold m: (^10).reduce({"Tuple ($^a) $^b"}).say
camelia rakudo-moar 1374fc: OUTPUT«Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (Tuple (0) 1) 2) 3) 4) 5) 6) 7) 8) 9␤»
notviki rightfold: did you fashion your nickname just for this question? :)
rightfold nope, been using it for ages :P
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␤»
rightfold right fold isn't left fold in reverse
notviki ok
rightfold left fold does f(f(f(a, z), b), c) and right fold does f(a, f(b, f(c, z))) 01:08
TEttinger notviki: unicode bidi mirroring info, IIRC 01:10
notviki TEttinger: I mean programmatically
TEttinger I'm trying to find what would be relevant there 01:13
www.unicode.org/notes/tn39/
rightfold notviki: lame: 01:16
m: (^10).reduce(do { sub f is assoc<right> {"Tuple $^a ($^b)"}; &f }).say
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…»
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)))))))))␤»
TEttinger notviki: there's some perl5 info here stackoverflow.com/a/33357311
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, aborazmeh left, aborazmeh joined
rightfold perfect 01:19
notviki .tell moritz seems search on loogs is broken. Gives me 500: irclog.perlgeek.de/perl6/search/?n...amp;q=bidi 01:20
yoleaux notviki: I'll pass your message to moritz.
rightfold the warning is weird though 01:22
01:22 BenGoldberg joined, Ben_Goldberg joined
notviki There's probably a much simpler way to do what you're trying to do 01:23
01:23 BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 01:24 Gasher left
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)␤»
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…»
notviki heh
01:25 Ben_Goldberg joined
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 Ben_Goldberg left
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␤»
BenGoldberg m: my sub f is assoc<right> {"Tuple $^a ($^b)"}; 01:26
camelia ( no output )
BenGoldberg m: say my sub f is assoc<right> {"Tuple $^a ($^b)"};
camelia rakudo-moar 1374fc: OUTPUT«sub f ($a, $b) { #`(Sub+{Precedence}|39766464) ... }␤»
BenGoldberg m: say [[my sub f is assoc<right> {"Tuple $^a ($^b)"}]] ^10;
camelia rakudo-moar 1374fc: OUTPUT«one([sub f ($a, $b) { #`(Sub+{Precedence}|44923408) ... }], 10)␤»
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…»
rightfold What is the difference between sub and my sub?
BenGoldberg isn't entirely sure ;)
m: say [[sub f is assoc<right> {"Tuple $^a ($^b)"}]] (^10);
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…»
notviki rightfold: none 01:28
BenGoldberg m: say [[sub {"Tuple $^a ($^b)"}]] (^10);
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␤ …»
rightfold maybe reduce should have :l and :r adverbs
to override the heuristic
BenGoldberg There should be a non-metaoperator way of doing reduce. 01:29
m: (sub {"Tuple $^a ($^b)"}).reduce: ^10;
camelia rakudo-moar 1374fc: OUTPUT«Cannot resolve caller reduce(Sub: Range); none of these signatures match:␤ ($: &with, *%_)␤ in block <unit> at <tmp> line 1␤␤»
rightfold there is 01:30
notviki BenGoldberg: yes, it's called.... .reduce
rightfold m: (^10).reduce("Tuple $^a ($^b)").say
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␤»
rightfold m: (^10).reduce({"Tuple $^a ($^b)"}).say
camelia rakudo-moar 1374fc: OUTPUT«Tuple Tuple Tuple Tuple Tuple Tuple Tuple Tuple Tuple 0 (1) (2) (3) (4) (5) (6) (7) (8) (9)␤»
BenGoldberg Cool.
rightfold github.com/perl6/roast/blob/master....t#L50-L53 01:31
but I don't get the "Use of uninitialized value % of type Any in string context." warning 01:32
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…»
notviki m: eager (^10).reduce(sub f is assoc<right> {"Tuple $^a ($^b)"});
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␤»
notviki s: ^10, 'reduce', \(sub f is assoc<right> {"Tuple $^a ($^b)"})
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 line
notviki grr 01:35
Hate that bug
01:35 bpmedley left
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␤»
BenGoldberg s: ^10, 'reduce', ()
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␤␤
notviki m: (^10).^lookup('reduce').file.say
camelia rakudo-moar 1374fc: OUTPUT«SETTING::src/core/Any-iterable-methods.pm␤»
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␤␤
BenGoldberg s: ^10, 'reduce', \(List, :with)
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␤␤
BenGoldberg SourceBaby's errors are still LTA :( 01:37
notviki What's more A than "Could not find candidate that can do" 01:38
rightfold ok 01:39
notviki m: dd sub f is assoc<right> {"Tuple $^a ($^b)"}.prec
camelia rakudo-moar 1374fc: OUTPUT«Hash % = {:assoc("right")}␤»
notviki aha!
rightfold: found the bug 01:40
that produces that warning
rightfold oh cool
I'm just doing this now: 01:41
multi sub infix:<Tuple>() is assoc<right> { "Unit" }
multi sub infix:<Tuple>(Str:D $a) { $a }
multi sub infix:<Tuple>(Str:D $a, Str:D $b --> Str:D) { "Tuple ($a) ($b)" }
notviki cool 01:42
BenGoldberg: how did you come up with \(List, :with) ? 01:43
rightfold kind of ugly but it does the job: github.com/rightfold/purescript-po...pp#L77-L80 01:44
notviki m: multi sub infix:<Tuple>() is assoc<right> { "Unit" }; multi sub infix:<Tuple>($) is assoc<left> { "Unit" }
camelia ( no output )
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␤␤»
notviki orly
rightfold: was just wondering whether it detecting the right associativity was a fluke or not 01:46
Since you have it on just one multi
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␤»
notviki m: multi sub infix:<Tuple>() is assoc<right> { "Unit" }; multi sub infix:<Tuple>($) is assoc<left> { "Unit" }; dd &infix:<Tuple>.^mro.say
camelia rakudo-moar 1374fc: OUTPUT«((Sub) (Routine) (Block) (Code) (Any) (Mu))␤Bool::True␤»
notviki I see
rightfold something like @oids.map({%mapping{$_}}).reduce({"Tuple ($^a) ($^b)"}, :right, :start("Unit")) would be great 01:48
notviki Make a module and release it 01:49
01:55 pierre_ joined 01:59 evalable6 left, bisectable6 left, committable6 left, benchable6 left, statisfiable6 left, unicodable6 left, pierre_ left
notviki weee 01:59
hmm 02:00
wonder what happened
02:01 unicodable6 joined, ChanServ sets mode: +v unicodable6, evalable6 joined, committable6 joined, ChanServ sets mode: +v committable6, bisectable6 joined, ChanServ sets mode: +v bisectable6, benchable6 joined, ChanServ sets mode: +v benchable6, statisfiable6 joined
AlexDaniel I was updating rakudo on the server 02:01
notviki Ah :)
AlexDaniel I wish I didn't… 02:04
seems like there's some memory leak :-/
02:05 lustlife joined
AlexDaniel or maybe it's an old one and I've only noticed now… 02:05
02:06 pyrimidi_ joined, pyrimidine left, rburkholder joined 02:07 committable6 left
tailgate The memory leak was inside you the whole time! 02:07
02:07 committable6 joined, ChanServ sets mode: +v committable6
AlexDaniel ah wait, it could be my fault… let's see… 02:08
02:09 committable6 left, committable6 joined, ChanServ sets mode: +v committable6
AlexDaniel yea, my fault! Nevermind! 02:10
notviki rightfold: fix for warning pushed 02:11
02:13 committable6 left, committable6 joined, ChanServ sets mode: +v committable6 02:15 BenGoldberg left 02:17 committable6 left, statisfiable6 left, benchable6 left, bisectable6 left, unicodable6 left, evalable6 left 02:18 evalable6 joined, statisfiable6 joined, unicodable6 joined, ChanServ sets mode: +v unicodable6, committable6 joined, ChanServ sets mode: +v committable6, bisectable6 joined, ChanServ sets mode: +v bisectable6, BenGoldberg joined, benchable6 joined, ChanServ sets mode: +v benchable6
notviki jesus 02:18
AlexDaniel well, they should be a little bit faster now :) 02:19
switched to pzstd
like 10-20% faster 02:20
only matters if you run committable on a 100+ commit range
02:21 BenGoldberg left 02:23 BenGoldberg joined 02:26 kyan joined 02:40 kaare_ joined 02:46 kalkin- joined 02:50 kalkin-_ left 03:00 espadrine left, bstamour left 03:02 kurahaupo left 03:08 bstamour joined, xtreak joined 03:09 john51_ joined 03:11 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 03:13 AlexDani` joined, TimToady_ joined, susmus joined, TimToady left, cgfbee left, jantore_ joined, Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 03:14 jantore left, AlexDaniel left, susmus_ left, ChoHag left 03:15 BenGoldberg left 03:16 AlexDani` is now known as AlexDaniel 03:17 BenGoldberg joined 03:18 ChoHag joined 03:20 cgfbee joined, Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg
notviki .tell moritz now no 500, but no results either 03:37
yoleaux notviki: I'll pass your message to moritz.
mst 200 OSHI 03:44
03:52 noganex joined 03:56 noganex_ left, pierre_ joined 03:58 aborazmeh left 04:01 pierre_ left 04:11 khw joined 04:13 lustlife left 04:15 AlexDaniel left
notviki .tell moritz seems to work fine now... 04:26
yoleaux notviki: I'll pass your message to moritz.
04:30 pyrimidine joined, pyrimidi_ left
kaare_ is failing to find the "p5 Moose to p6" cheat sheet 04:40
Specifically the equivalent of the Native Hash Trait 04:41
notviki "Reflecting on Haskell in 2016": www.stephendiehl.com/posts/haskell_2017.html
Nice how they did the "Haskel Sucks" thing. We should too
Get some concrete suckage examples instead of vague "performance" or whatever 04:42
kaare_: what does it do?
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 :)
mst it basically generates things like 04:44
sub set_foo { my ($self, $key, $value) = @_; $self->foo->{$key} = $value }
can't say I've ever really seen the point most of the time
kaare_ notviki: metacpan.org/pod/Moose::Meta::Attr...rait::Hash explains it better 04:46
than I can.
I'd kust check here for a p6 version. I guess It's a fairly common pattern 04:47
just
notviki never seen it
easier to just write attributes as is 04:48
notviki is trying something; 1 sec
04:50 lustlife joined
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
camelia rakudo-moar 1ee24c: OUTPUT«Hash %!foo = {:foo(42)}␤»
notviki hooray
You can pack that in a trait I'm sure. 04:51
But in Perl 6, I'd just write
class Foo { has $.foo is rw; has $.bar is rw }
instead of that layer of indirection ¯\_(ツ)_/¯
we also have `handles` thing: docs.perl6.org/language/typesystem...it-handles 04:54
I'm not familiar with it, but maybe something can be cooked up with it too
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␤»
notviki ehehe
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␤␤»
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
notviki Yeah, I think I get it. Can't think of anything similar in core Perl 6, but I don't know much. 05:01
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
samcv, Output on both points: 「 」
05:14 Cabanossi left 05:16 Cabanossi joined
notviki samcv: what's the failing test? 05:17
samcv well it doesn't fail right now but. say ' ' ~~ /<:space>/
after adding all the unicode properties, everything passes but this one
but it works for say ' ' ~~ /<:Space>/
05:17 khw left
samcv and calling ' '.uniprop-bool('space') works too (which doesn't resolve names 05:17
05:17 kurahaupo joined
notviki ah 05:18
samcv it makes no sense
and it's happened even when i didn't change anything
05:18 Vynce joined
samcv and i checked like 4x copying the unicode files and extracting again etc 05:18
notviki :(
samcv ooooo 05:21
what.
m: say Rakudo::Internals.PROPCODE('space')
camelia rakudo-moar 1ee24c: OUTPUT«23␤»
samcv m: say Rakudo::Internals.PROPCODE('Space');
camelia rakudo-moar 1ee24c: OUTPUT«23␤»
05:21 kyan left
samcv why are they not the same for me 05:21
ok i found the problem I guess hmm
notviki \o/
samcv i'm guessing rakudo gets the prop code numbers from moar? 05:22
bisectable6, say Rakudo::Internals.PROPCODE('space')
bisectable6 samcv, Bisecting by output (old=2015.12 new=1ee24cc) because on both starting points the exit code is 0
samcv, bisect log: gist.github.com/fbc67de91a96f057f7...34e92cb78d
samcv, (2016-09-28) github.com/rakudo/rakudo/commit/2c...1838332c21
samcv well it's been 23 before and 21 05:23
wtf
from the bisect log
bisectable6, say Rakudo::Internals.PROPCODE('Space')
bisectable6 samcv, Bisecting by output (old=2015.12 new=1ee24cc) because on both starting points the exit code is 0
samcv, bisect log: gist.github.com/ab99a12175f1e46821...3a67e401f3
samcv, (2016-09-28) github.com/rakudo/rakudo/commit/2c...1838332c21
samcv github.com/rakudo/rakudo/commit/2c...1838332c21 05:24
so uhm. maybe the property values ARE hardcoded into rakudo?
notviki Doesn't that commit suggests they're in moar?
samcv well.
yes
i mean does it bisect EVERY commit?
notviki no 05:25
TEttinger unicode is great heh
notviki bisect: all Rakudo::Internals.PROPCODE('Space') 05:26
bisectable6 notviki, On both starting points (old=2015.12 new=1ee24cc) the exit code is 0 and the output is identical as well
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)
notviki (that's all releases)
bisect: all say Rakudo::Internals.PROPCODE('Space')
bisectable6 notviki, Bisecting by output (old=2015.12 new=1ee24cc) because on both starting points the exit code is 0
notviki Oh wait
bisectable6 notviki, bisect log: gist.github.com/19669839c7de8df069...ff04b369b5
notviki, (2016-09-28) github.com/rakudo/rakudo/commit/2c...1838332c21
notviki commit: all say Rakudo::Internals.PROPCODE('Space')
That's all releases
samcv ok :)
notviki committable6: all say Rakudo::Internals.PROPCODE('Space')
committable6 notviki, gist.github.com/b637a43c4e742258e0...e3ca9d30ed
notviki ¦«2015.11,2015.12,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09»: 21
committable6 notviki, gist.github.com/4443eba6c109868fb7...fc1a774c32 05:27
notviki ¦«2016.10,2016.11,2016.12,HEAD»: 23
TEttinger would trying with 'space' be different maybe?
samcv it is possible
05:27 kurahaupo left
samcv because for me on my moar when i added a bunch of unicode properties 05:27
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
samcv looking at the source for PROPCODE 05:28
nqp::unipropcode then i guess 05:29
which i get 16 or 102 for space vs Space 05:30
and guessing that one calls moar
ugh i already knew there was a bug in the code that did capitalized vs uncapitalized versions 05:31
but i didn't think it would happen for this
WSpace gives 102 05:32
and White_Space 102, so that's probably the right code. it's just lowercase space not working
ugh. not looking forward to fixing this :( i gave up last time 05:34
05:36 labster left
notviki m: <fatal warning>.pick.say 05:44
camelia rakudo-moar 1ee24c: OUTPUT«warning␤»
samcv well i got it working
unknown why.
samcv commits quickly
notviki
.oO( Perl 6's devs choose behavior by random throw of the dice! )
05:45
samcv just keep rebuilding it until it works!
now to run spectests
also let me note the numbers are different for space and Space
but it also works
notviki I'm not sure whether -> True {} should die or warn. I rather it just died, but other smartmatchagainsttrue warns :/
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␤»
notviki m: quietly say 'foo' ~~ True
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␤»
samcv i think warn is good
notviki You can't even quite these
samcv: why not just die
samcv what if it's a variable they're smartmatching against
notviki It wouldn't warn
samcv oh. ok
then die is fine 05:47
notviki But, in my case, you can't even use a variable.
samcv m: say Rakudo::Internals.PROPCODE('Space'); say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('WSpace');
camelia rakudo-moar 1ee24c: OUTPUT«23␤23␤92␤»
samcv ahaha!
caught you moarVM 05:48
05:48 cpage_ joined
samcv at your game 05:48
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
samcv, bisect log: gist.github.com/41d4419657e19b0200...0219c3a38d
samcv, (2016-09-28) github.com/rakudo/rakudo/commit/2c...1838332c21
samcv going to try regenning the c data structure for the unicode props. maybe i did actually fix it 05:50
wait. nope. now the file changed 05:51
due to magic
i even check the sha1's before each time, and it's not changing. just to rule things out 05:52
though i think i may have fixed it actually 05:53
there's still things wrong with it, but
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
notviki, most of this code was written in 2012 05:55
notviki :)
samcv :)
fixed a bug with the Line_Break property, they had coded in a set number of values for it could be 05:56
in 2012. so
i don't even think all of them were there that existed back then, unless they added like 3x as many since then
so anything that wasn't those 10 was set to BK
maybe by reducing the number of aliases it creates, it 'fixed' this bug. 05:58
06:02 sammers left 06:05 Vynce left
samcv good thing I have a test already for this… and it seems White_Space is not space :) 06:06
so that is bad
06:06 pyrimidine left 06:07 pyrimidine joined
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
samcv, bisect log: gist.github.com/5b5d5a198c87468c69...6571f258cc
samcv, (2016-09-28) github.com/rakudo/rakudo/commit/2c...1838332c21
samcv well then notviki look at that bisect log 06:14
so i guess i didn't break anything that wasn't already broken
i only failed one test, which seems totally not related 06:16
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␤␤»
notviki samcv: you just don't have the latest and greatest Rakudo for that test to work
samcv oh ok ;) 06:18
ok so it passes then :DDDD
gonna push those changes
notviki, it's okay if WSpace and White_Space are broken ;) but not space and Space
so i guess when you fiddle around enough they swap or something… definitely some bug going on 06:19
nice TODO passed 18-19, 32-37, 118-119, 121-123, 126-127 06:22
130-131, 133-134, 142-149
very very good 06:23
need to make a test to catch that whitespace bug and TODO that
06:26 bjz joined
samcv m: say 0x371.uniprop('White_Space') == 0x371.uniprop('space') 06:26
camelia rakudo-moar 1ee24c: OUTPUT«True␤»
samcv bisectable6, : say 0x371.uniprop('White_Space') == 0x371.uniprop('space')
bisectable6 samcv, On both starting points (old=2015.12 new=1ee24cc) the exit code is 1 and the output is identical as well
samcv, Output on both points: 04===SORRY!04=== Error while compiling /tmp/pJn6eFPb0m␤Bogus statement␤at /tmp/pJn6eFPb0m:1␤------> 03:08⏏04 say 0x371.uniprop('White_Space') == 0x3␤ expecting any of:␤ colon pair
samcv bisectable6, say 0x371.uniprop('White_Space') == 0x371.uniprop('space')
bisectable6 samcv, Bisecting by exit code (old=2015.12 new=1ee24cc). Old exit code: 1
samcv, bisect log: gist.github.com/c62f377291f6d98de4...fd745f3c98
samcv, (2016-12-11) github.com/rakudo/rakudo/commit/64...42ff7362a1 06:27
samcv oh huh. duh i fixed that one that's not what i'm trying to do
bisectable6, say 0x371.uniprop-bool('White_Space') == 0x371.uniprop-bool('space')
bisectable6 samcv, On both starting points (old=2015.12 new=1ee24cc) the exit code is 0 and the output is identical as well
samcv, Output on both points: True
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
samcv, Output on both points: False
samcv there we go!
bug found
i wonder what property it actually thinks White_Space is… at least we're lucky that it is True through for 0x20 space 06:30
m: say "a".uniprop('sc') 06:32
camelia rakudo-moar 1ee24c: OUTPUT«Latin␤»
06:33 rburkholder left, grondilu left
TEttinger m: say " ".uniprop('sc') 06:36
camelia rakudo-moar 1ee24c: OUTPUT«Common␤»
TEttinger m: say "\t".uniprop('sc')
camelia rakudo-moar 1ee24c: OUTPUT«Common␤»
TEttinger m: say 0xfeff.uniprop('sc') 06:37
camelia rakudo-moar 1ee24c: OUTPUT«Common␤»
TEttinger m: say 0x2100.uniprop('sc')
camelia rakudo-moar 1ee24c: OUTPUT«Common␤»
samcv that wouldn't work except my workaround in rakudo
TEttinger hm
samcv if you want to see exactly what moarvm spits back, do uniprop-bool or uniprop-str 06:38
m: say "a".uniprop-str('sc')
camelia rakudo-moar 1ee24c: OUTPUT«Ll␤»
samcv :\
TEttinger that's the category
samcv will table that for another day though.
yep
TEttinger m: say "A".uniprop-str('sc')
camelia rakudo-moar 1ee24c: OUTPUT«Lu␤»
TEttinger nice
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');
camelia rakudo-moar 1ee24c: OUTPUT«21␤8␤8␤»
TEttinger ???
samcv TEttinger, uniprop matches cannonical unicode shortnames to the full names
which work properly on moarvm
the thing is, it creates alias names, but some collide
TEttinger like a hash? 06:40
samcv like it tries to be smart and add two letter names based on two property names
or maybe some other magic 06:41
uh it's a C data structure
also Sc is a unicode category
btw
TEttinger yeah, currency
samcv so maybe they collide there. idk there's a lot of weird things it does
without comments
my moarvm pull addds like 10+ properties tho :)
and finally got it working
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:41 bjz left
TEttinger (for a codepoint) 06:42
samcv uhm
not sure if they have
not sure though…
TEttinger I've seen 6-hex-digit codepoints
samcv soon i will be able to find all emoji's with unicodable6 :)
SIX?
TEttinger which would be no more than 24 bits
not currently used
samcv and all were nonzero?
oh
yeah
06:43 dugword left
TEttinger I've only seen 17 or maybe 18 bits used in practice 06:43
still, a pain to get that into 2 chars without colliding
(printable ascii chars)
samcv colliding? 06:44
TEttinger is it generating a unique alias per char?
samcv i'm especially looking forward to bidi matching brackets working in the new pull. and bidi mirroring glyphs working
uh
TEttinger totally
samcv you mean moarvm unicode database? 06:45
TEttinger not sure, you mentioned "two letter names"
samcv oh
not per char but maybe per property idk. maybe it's just because Sc is a general category
TEttinger ohhh
samcv ohhh joining type doesn't work either
TEttinger totally possible
samcv at least sc and jt are broken
TEttinger hm
06:45 darutoko joined
samcv i have a script to test them 06:45
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?
samcv did you read the scrollup about WSpace and space ?
TEttinger some of it
samcv yeah. so i changed things and broke 'space'
then tweaked more random things and then now White_Space is brokjn but space works
so White_Space has always been broken but nobody noticied 06:47
TEttinger uhhh
wow
that's interesting
06:54 ilogger2 joined, ChanServ sets mode: +v ilogger2 06:55 john51 joined, shadowpaste0 joined, chee joined 06:57 ilbot3 joined 06:58 camelia joined 06:59 ChanServ sets mode: +v camelia 07:00 ugjka joined, Gothmog_ joined 07:01 erdic_ joined, erdic_ is now known as erdic 07:03 RabidGravy joined
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
samcv, Output on both points: False
samcv probably bug has been in since 2012
bisectable6, help 07:09
bisectable6 samcv, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT128181
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128181
samcv what
notviki you can set the start and end commits with old= and new= 07:10
The rest is code to bisect
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
samcv, Output on both points: False
notviki drops to bed 07:12
samcv night!
07:13 grondilu joined
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:14
“You can let the Rakudo admins know that we've received the CLA.” 07:15
07:17 Tonik joined 07:24 cyphase joined, krakan_ joined, pierre_ joined 07:41 labster joined, Tonik left 07:49 CIAvash joined 07:54 adhoc joined 07:56 pierre_ left 08:01 pierre_ joined 08:06 domidumont joined 08:10 domidumont left 08:11 domidumont joined 08:16 cyphase left 08:17 wamba joined 08:18 yyy joined 08:19 yyy left, pierre_ left, pierre_ joined 08:20 cyphase joined 08:21 grondilu left 08:33 Wanderer68 joined 08:38 ilbot3 left, holck joined 08:39 ilbot3 joined 08:40 hahainternet joined, ChoHag joined
dalek c: efcbc37 | samcv++ | doc/Type/NFC.pod6:
Explain a little bit better what NFC Unicode form is
08:43
synopsebot6 Link: doc.perl6.org/type/NFC
dalek c: 88e688f | samcv++ | doc/Type/NFK (2 files):
Beter explain about Unicode NFKD and NFKC forms
08:48
samcv u: zero width
unicodable6 samcv, U+200B ZERO WIDTH SPACE [Cf] (​)
samcv, U+200C ZERO WIDTH NON-JOINER [Cf] (‌)
samcv, U+200D ZERO WIDTH JOINER [Cf] (‍)
samcv, gist.github.com/65b41bf18907f74b10...be56040c97
samcv m: say 0x200B.chr.chars 08:49
camelia rakudo-moar b01dfc: OUTPUT«1␤»
samcv m: say (0x200B.chr ~ 'a').chars
camelia rakudo-moar b01dfc: OUTPUT«2␤»
09:17 holck left 09:22 xtreak joined 09:27 rindolf joined
dalek c: 01a0f34 | samcv++ | doc/Type/NFKD.pod6:
Trigger doc rebuild to pull in fixes from highlighter

Fix highlighting in interpolated `qq´ heredocs
09:36
synopsebot6 Link: doc.perl6.org/type/NFKD
09:47 ZzZombo joined
dalek c: 4b3281c | gfldex++ | doc/Language/quoting.pod6:
tell limitations of Q and where they come from
10:18
synopsebot6 Link: doc.perl6.org/language/quoting
10:28 cibs joined 10:41 labster left 10:46 espadrine joined 10:54 lukaramu joined 10:58 xtreak left 11:00 Actualeyes joined 11:31 faraco joined
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:34
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:36
11:38 Actualeyes left 11:40 nowan joined
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:41
11:41 espadrine left
faraco I wanted to use them for general programming, prototyping and heavy sysadmin (so far for sysadmin, both are good). 11:42
11:42 FROGGS joined 11:43 Actualeyes joined 11:48 bjz joined 11:49 xtreak joined 11:51 xtreak left 11:54 wamba left 11:55 Ven joined 11:56 wamba joined 12:00 rafaelschp joined 12:05 pierre_ left 12:06 pierre_ joined 12:07 Actualeyes left, faraco left 12:09 bjz left 12:11 pierre_ left 12:18 bjz joined
RabidGravy faraco, Perl 6 is used in "production" so yes 12:18
rakudo is *an* official compiler
rightfold notviki: yay 12:19
12:22 pmurias joined 12:36 Actualeyes joined 12:41 pierre_ joined 12:42 pierre_ left
moritz good morning 12:50
yoleaux 01:20Z <notviki> moritz: seems search on loogs is broken. Gives me 500: irclog.perlgeek.de/perl6/search/?n...amp;q=bidi
03:37Z <notviki> moritz: now no 500, but no results either
04:26Z <notviki> moritz: seems to work fine now...
moritz self-healing services \o/
12:51 bjz_ joined, bjz left 12:59 Gasher joined 13:06 rindolf left 13:12 espadrine joined 13:17 hankache joined
masak oh by the way 13:19
to all a Merry Christmas, and to all people a good will <3
moritz to you and your family too, masak 13:20
masak instead of a Christmas tree emoji, here's a KANGXI RADICAL TREE: ⽊
moritz do we support radical trees?
masak we accepts all elements
including radicals
as long as they're productive radicals
we're fine with trees, as far as I know :P
(but we have a tendency to draw them upside down) 13:21
moritz pbs.twimg.com/media/C0i7ZcIXEAE3cid.jpg
hankache Merry Christmas *
does anyone know who got the twitter handle for @perl6 and @rakudoperl? 13:22
13:23 pierre_ joined
moritz I think pmichaud has @rakudoperl 13:23
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.
we need an active twitter account 13:25
someone that tweets new blog posts, new releases etc... 13:26
13:29 ugjka is now known as UgJkA
lizmat fwiw, I agree 13:30
13:31 bjz_ left 13:33 bjz joined 13:34 rburkholder joined
hankache hiya lizmat 13:35
13:42 nowan left
lizmat hankache o/ 13:42
13:44 nowan joined 13:53 AlexDaniel joined 13:56 aborazmeh joined, aborazmeh left, aborazmeh joined
moritz I've created a new twitter account @perl6org 14:11
anybody want access to tweet things?
14:11 aborazmeh left, bjz left 14:14 pierre__ joined
hankache moritz I volunteer 14:16
moritz hankache: the I need your twitter username
14:17 pierre_ left
hankache moritz @hankache 14:17
moritz hankache: you should have received some kind of invitation or so; dunno how exactly it works 14:18
hankache moritz: i'll see how it works 14:24
moritz same goes for others; if you want to contribute (or write a bot that automatically tweets relevant things :-), just tell me 14:25
14:42 kaare_ joined 14:49 rindolf joined 14:51 espadrine left 14:56 CIAvash left 15:04 jkaye_ joined
jkaye_ gfldex: I should be around today if you're interested in continuing our investigation from yesterday at some point 15:08
15:11 jkaye_ is now known as jkaye 15:12 khw joined 15:14 zilti joined
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:14
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:15
now if you have some releases in between 2015.12..HEAD that were broken, it won't know 15:16
and also it most likely won't give a meaningful result if the behavior was changed multiple times in this range
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
commit: 6c say Rakudo::Internals.PROPCODE('Space'); say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('WSpace'); say Rakudo::Internals.PROPCODE('White_Space');
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
AlexDaniel like this ↑
now again, it does not check on any commits between the releases… but we can do it if we want to 15:19
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');
will take some time to finish of course :) 15:20
15:20 espadrine joined
committable6 AlexDaniel, gist.github.com/8ad63145fbcb0e3dcb...60a0e800f5 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
which is why bisectable is so verbose 15:22
(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
gfldex jkaye: did you get my emails? 15:33
15:33 Rawriful joined
samcv thanks AlexDaniel :) 15:33
jkaye gfldex: I did, just responded to them a few minutes ago 15:34
gfldex: Figured it would be better to continue the conversation in here for the benefit of everyone else
gfldex jkaye: the REPL is quite buggy 15:39
and there are other problems that are inherent, thanks to the not so dynamic nature of Perl 6
jkaye I see. So you think some of these issues my go away running the code through tests rather than the REPL? 15:40
gfldex yes 15:42
are you using vim?
jkaye Yup
gfldex github.com/gfldex/config/blob/mast...vimrc#L120 15:43
line 120-124
jkaye Neat. So you are using makefiles for your development then? 15:45
gfldex when I cross more then 3 source files I tend to use make 15:48
15:49 zilti left
gfldex I like to run code generaters and with that make becomes pretty much a requirement 15:49
and simple Makefiles are actually quite nice 15:50
sadly there are plenty of not so simple Makefiles out there
15:51 BenGoldberg joined
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:52
gfldex you can have a Build.pl in your project but then you have to run zef or panda to build a project 15:53
bit to slow for my taste 15:54
that will change ofc
that's an ENODOC i blieve 15:55
jkaye I've been using panda so far 15:56
It does seem a bit slow
16:00 Gasher_ joined 16:02 Gasher left 16:08 Actualeyes left 16:10 sergot left 16:11 sergot joined 16:21 aindilis joined
jkaye gfldex: Looks like the same issue running the tests :( 16:24
Maybe some bug in the role punning?
I can try switching it to a class
16:35 BenGoldberg left 16:36 JJMerelo joined, BenGoldberg joined
JJMerelo Hi all. I am checking out the perl6 emacs mode. 16:36
Anybody using it? 16:37
You can see the main issue I have right here github.com/hinrik/perl6-mode/network
The official release you can find in the ELPA repos is quite behind the new branch that has been opened by @tbrowder 16:38
16:38 BenGoldberg left, as_ joined, as_ left
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
16:39 as_ joined
notviki should we? 16:39
notviki never even seen an emacs editor
as_ p6: my @a = 1, 2, 3; @a = @a, 4; say @a 16:40
camelia rakudo-moar 249696: OUTPUT«(\Array_68765848 = [Array_68765848 4])␤»
JJMerelo Well, at list a _bit_ more.
as_ hey guys, i find that output wrong
notviki m: my @a = 1, 2, 3; @a = @a, 4; say @a
camelia rakudo-moar 249696: OUTPUT«(\Array_63637720 = [Array_63637720 4])␤»
notviki what the hell :o
as_ it is
16:41 BenGoldberg joined
notviki m: my @a = 1, 2, 3; @a = @a, 4; print @a 16:41
oh fun
camelia rakudo-moar 249696: OUTPUT«(timeout)»
notviki as_: OOC what output are you expecting?
as_ [1, 2, 3, 4] 16:42
AlexDaniel JJMerelo: well, unfortunately perl6-mode is not very actively maintained
gfldex i would expect ∞-recursion
as_ at least it was so a year ago
AlexDaniel JJMerelo: feel free to fork it, I guess :)
16:43 troys joined
as_ m: my @a = 1, 2, 3; @a = |@a, 4; say @a; 16:43
camelia rakudo-moar 249696: OUTPUT«[1 2 3 4]␤»
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.
And the gist points that out
AlexDaniel recursive arrays! OK, I think that sounds familiar
gfldex m: my @a = 1, 2, 3; @a = @a, 4; say +@a
camelia rakudo-moar 249696: OUTPUT«2␤»
notviki committable6: 2015.07 my @a = 1, 2, 3; @a = @a, 4; say @a
committable6 notviki, ¦«2015.07»: 1 2 3 4
AlexDaniel oh, a regression? 16:44
notviki as_: yeah, we did GLR
AlexDaniel ah no
notviki so it's no longer 1234
as_ omg
notviki ?
gfldex i wonder if .elems could detect the recursion and print ∞
as_ but ok - in the past, the ",=" metaoperator was working as expected. now it is uselss then 16:45
because @a ,= 4 is not @a = |@a, 4
notviki gfldex: that would be wrong. The array contains 2 elements: itself and 4
AlexDaniel notviki: hmm, there's also this: rt.perl.org/Ticket/Display.html?id=127254
notviki as_: well, "in the past" is "before our first stable release"
as_ let's ignore the past
JJMerelo @AlexDaniel problem is, I don't know the first thing about Emacs Lisp. I can do that, I guess.
as_ but what about the ,= metaop
notviki don't even know what it's for 16:46
m: dd 4 ,= 4
camelia rakudo-moar 249696: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at <tmp> line 1␤␤»
as_ docs.perl6.org/language/operators#..._Operators
like $a min= $b is the same as $a = $a min $b
the ,= should work as @a ,= @a, 4
gfldex notviki: see S03-operators/assign.t:775 16:47
AlexDaniel wait, but… that's how it's supposed to be
gfldex as_: the ,= meta op is currently not supported
AlexDaniel I mean, it may look surprising at first, but that's pretty consistent
JJMerelo @AlexDaniel, or, anyone would be interested in helping?
notviki m: my $x ,= 42; dd $x
camelia rakudo-moar 249696: OUTPUT«List $x = $((), 42)␤»
AlexDaniel m: my @a = 1, 2, 3; @a.push: 4; say @a 16:48
camelia rakudo-moar 249696: OUTPUT«[1 2 3 4]␤»
notviki m: my $x = infix:<,>(42); dd $x
camelia rakudo-moar 249696: OUTPUT«List $x = $(42,)␤»
as_ "@foo ,= 1,2,3 # same as push(@foo,1,2,3)" 16:49
m: my @foo; @foo ,= 1,2,3; say @foo
camelia rakudo-moar 249696: OUTPUT«(\Array_57092072 = [Array_57092072 (1 2 3)])␤»
as_ aha
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
JJMerelo: I can report bugs, sure, but that doesn't really help
16:51 thereyouare joined
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:51
16:52 ChanServ sets mode: +o mst
mst thereyouare: *cough* 16:52
notviki oh :)
16:52 mst sets mode: +b *!*@unaffiliated/justinhitla
JJMerelo @thereyouare: and *cough* CPAN is only for Perl 5, AFAIK 16:52
mst JJMerelo: wrong
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 mst sets mode: -o mst
JJMerelo @notviki, @mst note taken. 16:53
AlexDaniel has no idea what's going on here
notviki mst++ saving me from writing a long explanation :)
mst notviki: based on past experience, he wouldn't've read it 16:54
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
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
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 ;-)
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 :-)
notviki neat there's now twitter.com/perl6org
moritz: why did you guys cut off camelia's wings! 16:59
16:59 tojo joined
notviki Ah, I see. 17:00
mst notviki: because they're apple fans, and as of the new macbook pro, there is No Escape
geekosaur twitter's got some stupid limit on icon size
rafaelschp notviki: Twitter did that.
dalek rketing: 61f374f | (Zoffix Znet)++ | LOGOs/Camelia/Camelia-200 (2 files):
Add sqauare variants of camelia

So they can be used for things expecting a square image (like Twitter)
17:03
notviki .tell moritz if @perl6org uses this image, the wings won't get cut off: github.com/perl6/marketing/blob/ma...SQUARE.png 17:04
yoleaux notviki: I'll pass your message to moritz.
notviki .tell moritz @perl6org on Twitter I mean
yoleaux notviki: I'll pass your message to moritz.
AlexDaniel notviki: gist.github.com/AlexDaniel/f0c4196...fc0789708a
notviki umm heh
buggable: speed 17:05
buggable notviki, ▅▅▅▆▅▅▅▄▅▅▆▅▅▅▆▄▄▄▄▄▅▄▄▅▄█▃▃▄▄▃▄▄▃▄▃▄▄▃▄▄▄▂▃▂▂▂▂▁▁ data for 2016-12-04–2016-12-26; variance: 5.328s–7.592s
notviki Looks at that slope! Look at it!
AlexDaniel notviki: or maybe this is slightly more appropriate gist.github.com/AlexDaniel/c19077a...f328b92280 17:06
17:07 JJMerelo left
gfldex tries to cope with vertigo after looking at that slope 17:09
jkaye gfldex: Seems like I've narrowed it down. Something to do with trying to use a parameterized role within another one 17:11
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
dalek href="https://perl6.org:">perl6.org: 772cd98 | (Naoum Hankache)++ | includes/menu-nav:
Add Modules to menu-nav
href="https://perl6.org:">perl6.org: 4257b95 | (Naoum Hankache)++ | source/resources/index.html:
Reorganize the Resources page.
href="https://perl6.org:">perl6.org: f9f9d38 | (Naoum Hankache)++ | README.md:
Update README
href="https://perl6.org:">perl6.org: e5f94bd | (Zoffix Znet)++ | / (3 files):
Merge pull request #62 from hankache/master

Enhance "Resources" and add "Modules" to menu-nav
17:13 rburkholder left 17:14 cibs left
jkaye gfldex: Just for clarity, here's the paste that has the issue down to a single line: pastebin.com/KhqDFHkV 17:15
17:16 cibs joined, xinming_ joined
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:16
gfldex jkaye: there is a test for recursion, so what you want to do must work but is untested 17:20
17:21 rburkholder joined 17:23 pyrimidi_ joined
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 ( no output )
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 ( no output )
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
gfldex jkaye: you can rakudobug the whole thing ofc 17:28
moritz . 17:29
yoleaux 17:04Z <notviki> moritz: if @perl6org uses this image, the wings won't get cut off: github.com/perl6/marketing/blob/ma...SQUARE.png
17:04Z <notviki> moritz: @perl6org on Twitter I mean
17:30 hankache left
moritz notviki: thanks, I'e used the camelia-SQUARE now 17:30
notviki yey 17:31
moritz++
moritz notviki++
17:31 Ben_Goldberg joined, Ben_Goldberg left, Ben_Goldberg joined 17:32 pierre__ left 17:33 BenGoldberg left, Ben_Goldberg is now known as BenGoldberg
timotimo i'm sitting in a place where wifi gives me 50 mbps up and down 17:36
into the internets
notviki neat 17:37
17:39 cdg joined, as_ left 17:43 rafaelschp left 17:48 troys is now known as troys_ 17:49 tojo left
moritz internets++ 17:52
17:53 ralissonschp joined 18:00 troys_ is now known as troys 18:04 Gasher_ left 18:10 AlexDaniel left, cdg_ joined, cdg left 18:11 AlexDaniel joined
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:14
which is basically all zef does when it encounters one 18:15
gfldex takes note
18:15 cdg_ left 18:16 cdg joined, Gasher_ joined
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
and a proxy/as a proxy
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:18
pmurias I really hope makefiles don't become a mandatory part of the Perl 6 build "ecosystem" 18:29
ralissonschp pmurias: what would you suggest instead? 18:31
mst pmurias: what do you mean 'mandatory' 18:33
pmurias mst: people who don't want to being forced to write makefiles ;)
mst pmurias: where did you even hallucinate that as a possibility from? :( 18:34
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
but given NativeCall that's probably not how to do it anyway 18:36
AlexDaniel oh, it's exactly 1 year today since the 6.c release? 18:43
18:44 pierre_ joined
notviki You're one day late :) 18:47
AlexDaniel m: say DateTime.now 18:49
camelia rakudo-moar 249696: OUTPUT«2016-12-26T19:49:32.112858+01:00␤»
AlexDaniel github.com/rakudo/rakudo/releases/tag/v6.c
“tagged this on Dec 26, 2015”
so was the tag a little bit late? 18:50
notviki :S
geekosaur iir yes
notviki Today's 26th dude
mst notviki: and so's the tag
notviki "coke tagged this on Dec 25, 2015"
AlexDaniel “coke tagged this on Dec 26, 2015”
notviki " 18:51
"coke tagged this on Dec 25, 2015, 5:01 PM EST"
mst AlexDaniel: it shows Dec 25 here if I click your link.
notviki guesses timezone thing
AlexDaniel ok
notviki AlexDaniel: what timezone are you in?
AlexDaniel GMT+2
it says “12:01 AM”, I'm not sure what it means… 18:52
mst hah
notviki m: DateTime.new(:2015year, :12month, :25day, :5hour, :1minute, :timezone(-5*3600)).in-timezone(3600*2).say
camelia rakudo-moar 249696: OUTPUT«2015-12-25T12:01:00+02:00␤»
mst yeah, so it was 5:01pm EST, or 10:01pm GMT, or 12:01am on the 26th
notviki omm 18:53
So is it a bug in our DateTime or on GitHub?
m: DateTime.new(:2015year, :12month, :25day, :5hour, :1minute, :timezone(-5*3600)).say
camelia rakudo-moar 249696: OUTPUT«2015-12-25T05:01:00-05:00␤»
notviki oh
It's a bug in me :) 18:54
mst :D
notviki m: DateTime.new(:2015year, :12month, :25day, :17hour, :1minute, :timezone(-5*3600)).in-timezone(3600*2).say
camelia rakudo-moar 249696: OUTPUT«2015-12-26T00:01:00+02:00␤»
notviki hehe
That timing :P
1 minute past midnight
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␤»
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:12
19:22 troys is now known as troys_ 19:23 pierre_ left 19:24 xinming_ left
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:24
El_Che www.lucas-nussbaum.net/blog/?p=916 (The Linux 2.5, Ruby 1.9 and Python 3 release management anti-pattern) 19:25
19:25 xinming joined 19:28 cdg left 19:29 cdg joined
notviki snorts derisively 19:32
"it is probably a better idea to break early, break often, and fix a constant stream of breakages"
Yeah, and watch how many users would love to use software they constantly have to patch for
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.
El_Che (to avoid the python2/3 nomen land)
19:33 cdg left
El_Che ralissonschp: I was not implying that, just a considiration over the fence 19:33
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.
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.
notviki ralissonschp: what does that have to do with advocating frequent breakages due to feature change? 19:37
El_Che: here's what that "break early, break often" pattern looks on the user's end: github.com/perl6/modules.perl6.org...l/61/files
geekosaur there's a fair number of people who run debian testing instead of stable
notviki That's changes in just one app
geekosaur (which is more or less running ubuntu without unity or canonical's idiocy)
ralissonschp You asked for an example, I brough one. Not all languages are like the Perls where new features arew expected to be sane.
notviki One small app, I'd even add. 19:38
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
pmurias geekosaur: debian testing is pretty stable
geekosaur yes, that was my point 19:39
(re "more or less running ubuntu")
the really unstable stuff is in sid, not testing
ralissonschp geekosaur: testing is just 10 days behind sid
geekosaur but it's still much safer :)
19:40 Ven left
geekosaur mostly because more people run it, getting back to the start of this discussion 19:40
it Gets Tested
ralissonschp But when it does break, it's worse. It takes longer for the fix to be shipped.
19:41 Ven joined
pmurias distributions shipping their own mangled "more stable" versions of things seem very undesirable 19:42
19:43 domidumont left
ralissonschp pmurias: they would lose 90% of their users if that wasn't the case. 19:43
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
moritz because it means you can apply upgrades within a distribution without having to worry much about stuff breaking
pmurias I understand that they need to do it to avoid breaking stuff
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)
but the baseline must be rock solid
ralissonschp Red Hat still supports perl 5.12 19:47
El_Che and 5.20 through Software Collections 19:48
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:49
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, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg
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:54 Ven left
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:55
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
But it took 3 releases (6 years).
moritz the node developers could just have picked an executable name that wasn't taken in any major distribution 19:59
20:00 pierrot joined
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
20:01 Ven joined
ralissonschp There's plenty of packages in debian that share executable names, but they can't share a package name. 20:03
20:05 espadrine left
ralissonschp Niecza and Rakudo could be installed at the same time, both taking the name 'perl6'. Not a problem. 20:06
20:06 Gasher_ left 20:09 Ven left 20:13 bjz joined
pmurias robinsmidsrod: the executable name was the problem 20:14
robinsmidsrod: they renamed the executable from node to nodejs 20:15
20:17 ralissonschp left 20:20 Gasher_ joined, tojo joined 20:21 tojo left, Ven joined 20:22 nowan left 20:23 tojo joined 20:24 pierre_ joined 20:25 pierre_ left, pierre_ joined, Ven left 20:26 ShoaibJahejo left 20:27 pierre_ left, pierre_ joined 20:29 ShoaibJahejo joined
lizmat is starting on the P6W 20:30
notviki :o
\o/
samcv \o/
lizmat if you have anything of interest you want to be sure it gets mentioned, let me know!
20:30 lichtkind__ joined
samcv the docs is using a new highlighter? ;) 20:30
20:31 tojo left, tojo joined 20:33 tojo left, tojo joined
moritz lizmat: there's twitter.com/perl6org now 20:34
samcv follows
moritz lizmat: .. and my latest blog post for the book: perlgeek.de/blog-en/perl-6/2016-bo...g-say.html
lizmat moritz: yeah, seen that already :-)
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?
moritz lizmat: yes, please 20:38
lizmat will do
20:40 troys_ is now known as troys 20:41 Ven joined 20:44 TimToady joined 20:45 tojo left
rightfold Hmm. 20:49
notviki Mhhhmm 20:50
lizmat mumble
20:51 ShoaibJahejo left 20:55 Ven left
samcv and say happy advent or something, first advent since 6.c? 20:56
21:01 Ven joined 21:06 Gasher_ left 21:07 TEttinger joined, Tonik joined 21:09 Ven left 21:11 espadrine joined 21:12 dugword joined 21:13 Ven joined, tojo joined 21:16 pyrimidine joined, pyrimidi_ left 21:17 bjz left, pmurias left
lizmat moritz: is there a place where you announced @perl6org ? 21:22
samcv: could you give me a one paragraph description of what you did to get the docs have a new highlighter ?
samcv uhm. yeah let me try 21:23
TEttinger "black magic" 21:26
samcv yes
TEttinger it seemed rather involved
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
[1] github.com/github/linguist/pull/3377
[2] github.com/github/linguist
also black magic
i can describe ^ a lot better
and i think that is cool for people to hear
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
TEttinger oh man
samcv javascript is really strange
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
like you can import the string containing all lower-case letters in Unicode 6.0.0, and nothing else from the huge data repo
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
inside said JSON format
wait what import a string? 21:30
TEttinger JSON or CSON?
samcv JSON
TEttinger :D
samcv maybe they will add YAML support sometime github.com/atom/first-mate/issues/36 21:31
so all things have to be escaped doubly
have to escape backslashes once for the CSON/JSON and then again fro the regex engine
so one backslash literaly, is \\\\ 21:32
\S is \\S, and [ becomes \\[
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, cdg left
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
21:33 cdg joined
samcv what that imports strings with ALL the lowercase letter general category thingys? 21:34
codepoint == thingy
TEttinger in that version of unicode, there's versions for codepoints and for symbols
github.com/mathiasbynens/node-unicode-data 21:35
I wondered if Perl6 would benefit from a similar DB being exposed by MOAR or something
samcv to grab all of one kind of thing?
TEttinger (I assume MOAR has quite a lot of info available to it)
samcv hm 21:36
yes it does
TEttinger the actual source for those packages is kinda crazy
samcv we have unimatch, which boolean matches ANY of that codepoints propertys to the requested so idk maybe someway to dump info
i'm sure TEttinger
TEttinger it's a huge gzipped string literal
samcv also why do you want
to get ALL of a certain type of thing
TEttinger it's suprisingly useful 21:37
21:37 BenGoldberg left
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:37
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:39
so if you go past 200 or so letters, you're in Greek or maybe IPA symbols, I think 21:40
the technique for the bitset is here gist.github.com/gagern/89db1179766a702c564d 21:41
the last file is impressive
21:41 Gasher joined
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
samcv, Output on both points: True
samcv b-but it's false!
TEttinger is your version different somehow?
samcv i need to see if my patch to moarvm fixes this
no it fails for me too,
but i may have fixed it
it is false though. i double checked
21:43 pierre_ left
TEttinger 0xF is what again? 21:43
m: say 0xF.uniname
camelia rakudo-moar a7bf1e: OUTPUT«SHIFT IN␤»
samcv a control character
m: say 0xF.uniprop-bool('Space') 21:44
camelia rakudo-moar a7bf1e: OUTPUT«True␤»
samcv m: say 0xF.uniprop-bool('White_Space')
camelia rakudo-moar a7bf1e: OUTPUT«False␤»
samcv bugggg
m: say 0xF.chr ~~ /<:space>/ 21:45
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
samcv ok that seems to be okay i guess
m: say ' ' ~~ /<:space>/
camelia rakudo-moar a7bf1e: OUTPUT«「 」␤»
TEttinger m: say 0xF.chr ~~ /<:Space>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
samcv m: say ' ' ~~ /<:White_Space>/
camelia rakudo-moar a7bf1e: OUTPUT«「 」␤»
TEttinger m: say 0xF.chr ~~ /<:White_Space>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
samcv m: say 0xF.chr ~~ /<:White_Space>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
samcv hm
TEttinger hmmmm indeed
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
how adding like 14 new unicode properties to moarvm
i broke space, but then White_Space worked fine
TEttinger yeah I was here for the second part
samcv so i tweaked some random things, hoped for a miracle
TEttinger I didn't know you added 14, nice 21:47
notviki sees 0xF is not White_Space on github.com/perl6/nqp
21:47 cdg left
notviki I mean on www.fileformat.info/info/unicode/ch.../index.htm 21:47
21:47 bjz joined
samcv notviki, does nqp specify it's not whitespace? 21:47
TEttinger White_Space is false here too
samcv does it bypass moar?
m: say 0xF.chr ~~ /<:White_Space>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
notviki samcv: my copy-paste didn't work and I pasted the wrong thing
See FileFormat URL
samcv oh ok :)
but space is a synonym for White_Space in unicode 21:48
notviki "Character.isWhitespace()No"
samcv so i wonder why <:White_Space> correctly doesn't match that control code
but uniprop-bool does
unless nqp does something special 21:49
with the regex and knows it's not space
matching a ' ' space is dependent on moar tho, cause i broke it
so it's weird
21:50 bjz left, bjz joined, BenGoldberg joined
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
this are the ones it adds
well all but the ZWJ emoji sequences that are combined emoji
21:52 tojo left
TEttinger notviki: I'm suspicious of Character.isWhitespace since it's Java's understanding of it, which is not great 21:53
000F;<control>;Cc;0;BN;;;;;N;SHIFT IN;;;;
that's the line for 0xf in UnicodeData.txt 21:54
21:54 newbie1 joined 21:57 beatdown joined, ShoaibJahejo joined
notviki And which of that says it's whitespace? 21:57
samcv notviki, quite ;)
notviki quite what? 21:58
samcv this is 0x20
0020;SPACE;Zs;0;WS;;;;;N;;;;;
i was more meanning (how to tell if it's whitespace)
is not obvious
geekosaur wouldn't consider SI to be whitespace, fwiw
rightfold U+000F isn't whitespace
notviki it's got Zs in that line 21:59
and 0xF got Cc for it
TEttinger WS is the indicator
samcv there's a WS
TEttinger it's BN for 0xf
notviki And what's BN?
TEttinger Bidi Neutral 22:00
notviki And that means whitespace?
TEttinger no
notviki ...
TEttinger it means not WS
WS means whitespace
notviki So why did you paste that line?
samcv 0020;SPACE;Zs;0;WS;;;;;N;;;;; << see the WS
TEttinger 0x20 (space) has WS, 0x0f has no WS
notviki ...
TEttinger trying to figure out what the correct result is, notviki 22:01
(for perl6 to give)
samcv well it's not whitespace.
TEttinger yep
samcv so False
TEttinger not sure what the space uniprop corresponds to
samcv m: say "\x[0F] " ~~ /<:White_Space>/ 22:02
camelia rakudo-moar a7bf1e: OUTPUT«「 」␤»
samcv bad bad
bisectable6, m: say "\x[0F] " ~~ /<:White_Space>/
bisectable6 samcv, On both starting points (old=2015.12 new=a7bf1ea) the exit code is 0 and the output is identical as well
samcv, Output on both points: 「 」
samcv oh
wait there's a space in there .oh
m: say "\x[0F]" ~~ /<:White_Space>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
samcv m: say "\x[0F]" ~~ /<:WhiteSpace>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
samcv m: say "\x[0F]" ~~ /<:Space>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
samcv m: "\x[0F]".uniprop-bool('White_Space').say 22:03
camelia rakudo-moar a7bf1e: OUTPUT«False␤»
samcv m: "\x[0F]".uniprop-bool('WhiteSpace').say
camelia rakudo-moar a7bf1e: OUTPUT«False␤»
samcv m: 0xF.uniprop-bool('WhiteSpace').say
camelia rakudo-moar a7bf1e: OUTPUT«False␤»
samcv m: 0xF.uniprop-bool('White_Space').say
camelia rakudo-moar a7bf1e: OUTPUT«False␤»
TEttinger ok, here's the official info on how to read that file www.unicode.org/reports/tr44/#Format_Conventions
samcv m: 0xF.uniprop-bool('space').say
camelia rakudo-moar a7bf1e: OUTPUT«True␤»
samcv T_T 22:04
bisect: 0xF.uniprop-bool('space').say
bisectable6 samcv, On both starting points (old=2015.12 new=a7bf1ea) the exit code is 0 and the output is identical as well
samcv, Output on both points: True
samcv not sure why that's wrong but it works fine for regex
22:04 mr-foobar joined
samcv unless nqp has some defining of whitespace in it somewhere 22:04
TEttinger a ha, BN is boundary neutral, www.unicode.org/reports/tr44/#Bidi_Class_Values 22:05
samcv bisect: 0xF.uniprop-bool('Space').say
bisectable6 samcv, On both starting points (old=2015.12 new=a7bf1ea) the exit code is 0 and the output is identical as well
samcv, Output on both points: True
TEttinger m: say "\n" ~~ /<:Space>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
TEttinger I think it may be matching the name there
samcv the name?
TEttinger like the name of the char \x20 is "space" 22:06
samcv uh
why would it
u: space
unicodable6 samcv, U+0008 BACKSPACE [Cc] (control character)
samcv, U+0020 SPACE [Zs] ( )
samcv, U+00A0 NO-BREAK SPACE [Zs] ( )
samcv, gist.github.com/e9e5aa2574a880649e...ba8d23e487
geekosaur isn't that LINE FEED?
samcv yes
TEttinger m: say "\t" ~~ /<:Space>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
TEttinger I mean :space seems to only match \x20
samcv m: "␠" ~~ /<:space>/
camelia ( no output )
samcv m: say "␠" ~~ /<:space>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
TEttinger m: say "\x[08]" ~~ /<:Backspace>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
TEttinger well I'm confused 22:07
samcv but space and White_Space to moar are not the same because…. idk
there's a bugf
TEttinger m: say "\x08" ~~ /<:Backspace>/
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
TEttinger m: say " " ~~ /<:Space>/
camelia rakudo-moar a7bf1e: OUTPUT«「 」␤»
TEttinger what the heck is space anyway in this context 22:08
samcv anything with unicode space
m: say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('White_Space')
camelia rakudo-moar a7bf1e: OUTPUT«23␤92␤»
samcv i want to know what 92 is though
AlexDaniel o/ 22:09
TEttinger 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
AlexDaniel m: say ‹hello›
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…»
samcv see unicode.org/Public/UNIDATA/PropertyAliases.txt
TEttinger oh man, that explains some of it
so it isn't working as an alias, but is on its own?
AlexDaniel
.oO( why man? xD )
22:11
but anyway, I wonder if ‹› should be supported in some way
samcv well it works in regex but not uniprop-bool
AlexDaniel u: ‹›
unicodable6 AlexDaniel, U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK [Pf] (›)
AlexDaniel, U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK [Pi] (‹)
samcv m: '‹'.uniprop('Bidi_Mirroring_Glyph').parse-base(16).chr.say 22:12
camelia rakudo-moar a7bf1e: OUTPUT«›␤»
samcv yes
we can support that
TEttinger AlexDaniel: it's an English idiom, similar to "oh boy" 22:13
samcv oh you mean instead o,f < >?
AlexDaniel in addition to 22:14
samcv m: say q‹test›
camelia rakudo-moar a7bf1e: OUTPUT«test␤»
samcv ah kk
AlexDaniel like 22:15
m: say ‹hello›
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…»
AlexDaniel m: say <hello>
camelia rakudo-moar a7bf1e: OUTPUT«hello␤»
TEttinger Pi and Pf ? interesting
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
AlexDaniel initial and final quote
TEttinger the line has
WSpace ; White_Space ; space
samcv cjkRSUnicode ; kRSUnicode ; Unicode_Radical_Stroke; URS
TEttinger there's only one line in binary properties with that
that may be why space is trouble 22:17
22:17 pierre_ joined
samcv oh 22:17
AlexDaniel u: Pi
unicodable6 AlexDaniel, U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK [Pi] («)
AlexDaniel, U+2018 LEFT SINGLE QUOTATION MARK [Pi] (‘)
AlexDaniel, U+201B SINGLE HIGH-REVERSED-9 QUOTATION MARK [Pi] (‛)
AlexDaniel, gist.github.com/eebe11fbd3ecf69b6e...dab68a4569
22:17 BenGoldberg left
samcv but yeah that could be hmm 22:17
AlexDaniel u: Pf
unicodable6 AlexDaniel, U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK [Pf] (»)
AlexDaniel, U+2019 RIGHT SINGLE QUOTATION MARK [Pf] (’)
AlexDaniel, U+201D RIGHT DOUBLE QUOTATION MARK [Pf] (”)
AlexDaniel, gist.github.com/bf2a913ad13fc19143...95601fe883
samcv throws the unicode database generation script against the wall
TEttinger lol
AlexDaniel u: doesntexist 22:19
unicodable6 AlexDaniel, Found nothing!
AlexDaniel hm
22:20 BenGoldberg joined
TEttinger u: bmg 22:20
unicodable6 TEttinger, Found nothing!
AlexDaniel by the way, what's the highest unicode codepoint
?
TEttinger good question 22:21
22:21 Tonik left
TEttinger I asked the same earlier 22:21
samcv guys i need a hammer 22:22
maybe not hammer
timotimo wham bam
TEttinger m: "»".uniprop-bool('Bidi_Mirrored').say
camelia rakudo-moar a7bf1e: OUTPUT«True␤»
TEttinger good...
m: "p".uniprop-bool('Bidi_Mirrored').say
camelia rakudo-moar a7bf1e: OUTPUT«False␤»
timotimo captain hammer's here, hair blowing in the breeze
the day needs my saving expertise~
samcv if Bidi_Mirrored and it's Ps Pe then it's a bidi pairing bracket 22:23
TEttinger hm
not totally sure
u: Ps
unicodable6 TEttinger, U+0028 LEFT PARENTHESIS [Ps] (()
TEttinger, U+007B LEFT CURLY BRACKET [Ps] ({)
TEttinger, U+005B LEFT SQUARE BRACKET [Ps] ([)
TEttinger, gist.github.com/7b6f7c29ff402ff99f...a68a56e04d
TEttinger u: Pe
unicodable6 TEttinger, U+0029 RIGHT PARENTHESIS [Pe] ())
TEttinger, U+005D RIGHT SQUARE BRACKET [Pe] (])
TEttinger, U+007D RIGHT CURLY BRACKET [Pe] (})
TEttinger, gist.github.com/585ff5328e40db33f5...5fdaab34b5
TEttinger I'll compare these
AlexDaniel u: U+1F9C0
unicodable6 AlexDaniel, U+1F9C0 CHEESE WEDGE [So] (🧀)
samcv two characters, A and B, 22:24
# form a bracket pair if A has gc=Ps and B has gc=Pe, both have bc=ON and
# Bidi_M=Y, and bmg of A is B.
timotimo i forgot what bc is
samcv bidi contrnol i think
timotimo ah
TEttinger 201a ‚ and 201e „ 22:25
there's some weirdness because both of those are Ps 22:26
AlexDaniel ok, seems like unicodable is a bit wrong right now
TEttinger but there's no corresponding Pe
no, that's actually correct
AlexDaniel u: VARIATION
unicodable6 AlexDaniel, U+180B MONGOLIAN FREE VARIATION SELECTOR ONE [Mn] (◌᠋)
AlexDaniel, U+180C MONGOLIAN FREE VARIATION SELECTOR TWO [Mn] (◌᠌)
AlexDaniel, U+180D MONGOLIAN FREE VARIATION SELECTOR THREE [Mn] (◌᠍)
AlexDaniel, gist.github.com/3ba0bb82f356cbfa2a...0bfe3037b0
TEttinger Ps and Pe are not identical size
AlexDaniel u: VARIATION 252
unicodable6 AlexDaniel, Found nothing!
AlexDaniel u: U+E01EB
unicodable6 AlexDaniel, U+E01EB VARIATION SELECTOR-252 [Mn] (◌󠇫)
AlexDaniel u: U+E01EF 22:27
unicodable6 AlexDaniel, U+E01EF VARIATION SELECTOR-256 [Mn] (◌󠇯)
TEttinger that's really high
AlexDaniel this is the highest codepoint
TEttinger u: VARIATION SELECTOR-252
unicodable6 TEttinger, Found nothing!
TEttinger ahh
I get what you're saying
isn't unicodable6 a little older?
AlexDaniel yea, unicodable only does 0..0x1FFFF
no
samcv u: { .uniprop('Bidi_Mirrored') and .uniprop('Bidi_Mirroring_Glyph') and .uniprop eq 'Ps' }
unicodable6 samcv, U+005B LEFT SQUARE BRACKET [Ps] ([)
samcv, U+0028 LEFT PARENTHESIS [Ps] (()
samcv, U+007B LEFT CURLY BRACKET [Ps] ({)
samcv, gist.github.com/b8a394a72aa0c3bcf4...f62ecccddf
samcv that's not all of them tho 22:28
that shows 60, there's uh
m: say (64-183)/2
camelia rakudo-moar a7bf1e: OUTPUT«-59.5␤»
samcv oh that is all of them
yep! did that right
AlexDaniel TEttinger: cheese wedge is actually the highest meaningful character 22:29
u: cheese wedge
unicodable6 AlexDaniel, U+1F9C0 CHEESE WEDGE [So] (🧀)
samcv cheese wedge?
AlexDaniel yes ↑ :)
samcv u: U+1F9C1
unicodable6 samcv, U+1F9C1 <illegal> [] (🧁)
samcv :(
AlexDaniel then there are some CJK compatibility ideographs
u: U+2F800 U+2FA1D
unicodable6 AlexDaniel, U+2F800 CJK COMPATIBILITY IDEOGRAPH-2F800 [Lo] (丽)
AlexDaniel, U+2FA1D CJK COMPATIBILITY IDEOGRAPH-2FA1D [Lo] (𪘀)
AlexDaniel some tags
u: U+E0001 U+E007F 22:30
unicodable6 AlexDaniel, U+E0001 LANGUAGE TAG [Cf] (󠀁)
AlexDaniel, U+E007F CANCEL TAG [Cf] (󠁿)
AlexDaniel and then variation selectors
u: U+E0100 U+E01EF
unicodable6 AlexDaniel, U+E0100 VARIATION SELECTOR-17 [Mn] (◌󠄀)
AlexDaniel, U+E01EF VARIATION SELECTOR-256 [Mn] (◌󠇯)
AlexDaniel so does it mean that I should bump up the limit from 0x1FFFF to 0x10FFFF ? :-/ 22:31
samcv i think i'm gonna focuse on sub emit_unicode_property_keypairs 22:32
from the unicode database genration scirpt
damn the perl grammar for Atom is way shittier than the Perl 6 one. # inside character classes comments out the line visually 22:33
22:37 unicodable6 joined, ChanServ sets mode: +v unicodable6
AlexDaniel so let's see how it looks like when it is 16 times slower… 22:37
u: oetuhonehueo
unicodable6 AlexDaniel, Found nothing!
AlexDaniel :(
u: VARIATION SELECTOR-252 22:38
unicodable6 AlexDaniel, U+E01EB VARIATION SELECTOR-252 [Mn] (◌󠇫)
timotimo so there's 255 variation selectors so we have 8 bits we can append to any character?
AlexDaniel u: variation selector
unicodable6 AlexDaniel, U+180C MONGOLIAN FREE VARIATION SELECTOR TWO [Mn] (◌᠌)
AlexDaniel, U+180B MONGOLIAN FREE VARIATION SELECTOR ONE [Mn] (◌᠋)
AlexDaniel, U+180D MONGOLIAN FREE VARIATION SELECTOR THREE [Mn] (◌᠍)
AlexDaniel, gist.github.com/040dd2f40e5c67bb6c...74eb231596
AlexDaniel timotimo: ya 22:39
timotimo huh
there's not only "no variation selector", but also a 256th
so ... we have 8 bit and ... one extra value?
anyway, i need to get some rest
AlexDaniel no?
ah 22:40
if you count nothingness as a value… sure…
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
22:41 pierre_ left, pierre_ joined
AlexDaniel dugword: yes, either use lib or PERL6LIB env variable 22:42
22:43 rindolf left 22:44 BenGoldberg left 22:46 pierre_ left
AlexDaniel u: { False } 22:46
unicodable6 AlexDaniel, Found nothing!
AlexDaniel hm that was quick
gfldex dugword: perl6 -Ilib t/00-load.t
22:46 BenGoldberg joined
AlexDaniel u: { .uniname.contains(‘VARIATION’) } 22:46
unicodable6 AlexDaniel, U+180C MONGOLIAN FREE VARIATION SELECTOR TWO [Mn] (◌᠌)
AlexDaniel, U+180B MONGOLIAN FREE VARIATION SELECTOR ONE [Mn] (◌᠋)
AlexDaniel, U+180D MONGOLIAN FREE VARIATION SELECTOR THREE [Mn] (◌᠍)
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?
unicodable6 AlexDaniel, gist.github.com/260c5571ae47eb8886...d7b6f2cf3f
22:46 pyrimidine left 22:47 pyrimidine joined
samcv ok added some prints. getting so much better info here 22:47
Adding WSpace as an alias to White_Space
AlexDaniel .u VARIATION 253
yoleaux U+E01EC VARIATION SELECTOR-253 [Mn] (◌󠇬)
samcv Setting White_Space propcode to White_Space propcode
Adding space as an alias to White_Space
Setting space propcode to White_Space propcode
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/12/26/...s-the-end/ 22:48
samcv i mean at least there it seems fine. but need to see what is actually being set here
dugword And thanks Alex, use lib 'lib' worked. Didn't see other modules using that so I thought I was missing something 22:49
samcv lizmat++ 22:50
22:51 troys is now known as troys_
samcv oh about the aliases moar adds magically 22:51
Skipping alias mro becuase it's not longer than 3 characters.
i just made it have to be longer than 3 chars to get added
wtf is mro
hahah
AlexDaniel “by Alex-Daniel Princess” XDDD 22:52
22:52 BenGoldberg left
samcv Setting Bidi_Paired_Bracket propcode to Bidi_Paired_Bracket propcode 22:53
hmm
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 22:55 nowan joined
moritz lizmat: I haven't announced @perl6org anywhere except on twitter itself :-) 22:58
lizmat yeah, well, consider it announced on P6W now :-) 22:59
moritz \o/
lizmat AlexDaniel: is that incorrect ? 23:03
moritz that what it says on wordpress.com :-)
AlexDaniel I'm fine with that :D
lizmat ok :-) 23:04
moritz
.oO( dammit twitter, it's "who*m* to follow" )
sjn reads lizmat's p6weekly
moritz retires and dreams of sleeping 23:05
samcv somebody removed a print… that
warning: couldn't resolve property ccc property value alias
warning: couldn't resolve property nt property value alias
warning: couldn't resolve property sc property value alia
well. that would do it. (break the sc property)
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 wamba left
lizmat sjn: you mean (new) ? 23:07
23:07 djbkd joined
lizmat argh, I see what you mean 23:07
23:07 Gasher left
lizmat fixed, sjn++ 23:08
23:10 bjz_ joined 23:11 bjz left 23:12 dugword left
lizmat wishes #perl6 a good night! 23:13
notviki night 23:14
sjn nn, lizmat++!
23:14 JRaspass joined 23:28 BenGoldberg left
samcv does MoarVM not check whitespace by the white space property? does it do something weird? 23:28
m: 0xD.uniprop('space').say
camelia rakudo-moar a7bf1e: OUTPUT«True␤»
samcv m: 0xD.uniprop('Bidi_Class').say 23:29
camelia rakudo-moar a7bf1e: OUTPUT«B␤»
samcv m: ' '.uniprop('Bidi_Class').say
camelia rakudo-moar a7bf1e: OUTPUT«WS␤»
samcv that's the only thing i can think of diving into this unicode gen script
because whitespace isn't mentioned anywhere
u: { .uniprop('space') and ! .uniprop('Bidi_Class') eq 'WS' } 23:30
unicodable6 samcv, «timed out after 10 seconds, output»: «exit signal = SIGHUP (1)»
samcv goddamit
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)»
AlexDaniel ok, that's my fault 23:32
23:32 unicodable6 left
samcv can you fix it? 23:33
AlexDaniel one second
23:35 unicodable6 joined, ChanServ sets mode: +v unicodable6
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 left, unicodable6 joined, ChanServ sets mode: +v unicodable6
AlexDaniel how long is it supposed to take? :-/ 23:36
u: { .uniprop('space') and ! .uniprop('Bidi_Class') eq 'WS' }
samcv idk
unicodable6 AlexDaniel, Found nothing!
samcv it's not that complicated
AlexDaniel u: { .uniprop-bool('space') and ! .uniprop-str('Bidi_Class') eq 'WS' }
unicodable6 AlexDaniel, Found nothing! 23:37
samcv u: { .uniprop-bool('space') and .uniprop-str('Bidi_Class') ne 'WS' }
unicodable6 samcv, U+0000 NULL [Cc] (control character)
samcv, U+0001 START OF HEADING [Cc] (control character)
samcv, U+0002 START OF TEXT [Cc] (control character)
samcv thanks
m: 0x0.uniprop-bool('space')
camelia ( no output )
samcv m: 0x0.uniprop-bool('space').say
camelia rakudo-moar a7bf1e: OUTPUT«True␤»
samcv ahh
unicodable6 samcv, gist.github.com/a570a76750ccc3479d...cc9d4c3f8f 23:38
AlexDaniel things are 16 times slower now because I increased the range to cover everything properly
holy shit it gisted 15691 characters 23:39
samcv { .unimatch('space') }
AlexDaniel u: { .unimatch('space') }
unicodable6 AlexDaniel, U+0020 SPACE [Zs] ( ) 23:40
AlexDaniel that's it? 23:41
samcv well 23:42
{ .unimatch('WS') }
space isn't a property _value_
WS is a bidi class
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
to check what a space is
unicodable6 AlexDaniel, U+000C FORM FEED (FF) [Cc] (control character)
AlexDaniel, U+0020 SPACE [Zs] ( )
AlexDaniel, U+1680 OGHAM SPACE MARK [Zs] ( )
samcv m: 0x0.uniprop-bool('space').say
camelia rakudo-moar a7bf1e: OUTPUT«True␤»
samcv nice.
i fixed it
samcv commits quickly 23:44
now to make spectest 23:45
wow. i. uh
fixed it. somehow
i hope nothing else broke as a side effect. spectest will tell
oh. but. now 23:47
' ' ~~ /<:space>/ is broken…
wttth
Space works though, just not lowercase space 23:48
how is that…
maybe we do something hackish for <:space>?
23:49 bjz_ left, bjz joined 23:50 Ben_Goldberg joined 23:51 Ben_Goldberg is now known as BenGoldberg
samcv m: 0xE.uniprop-bool('space').say 23:51
camelia rakudo-moar a7bf1e: OUTPUT«True␤»
tailgate is there a perl6 way to ask 'Does any object in this list meet this condition?
samcv m: EVAL "say\0'hi'"
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…»
samcv tailgate, yeah with junctions
any(@list)
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)␤»
samcv m: EVAL "say\x[E]'hi'"
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…»
rightfold tailgate: sqrt(any(6, 8, 9)) < 5 23:55
23:55 jkaye left
rightfold m: say sqrt(any(6, 8, 9)) < 5 23:55
camelia rakudo-moar a7bf1e: OUTPUT«any(True, True, True)␤»
rightfold m: say so sqrt(any(6, 8, 9)) < 5
camelia rakudo-moar a7bf1e: OUTPUT«True␤»
23:55 Ben_Goldberg joined, BenGoldberg left 23:56 Ben_Goldberg is now known as BenGoldberg
rightfold m: say so sqrt(any(64, 1052)) < 5 23:56
camelia rakudo-moar a7bf1e: OUTPUT«False␤»
samcv time to delve into the generated unicode database raw
JRaspass m: class A { method DESTROY { say 1 } }; A.new
camelia ( no output )
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
so i got it so space is the same propcode as White_Space