»ö« 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«NilNil» | ||
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 1Tuple 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 blockat <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 rowat <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 rowat <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 rowat <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 blockat <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 1Tuple 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⏏5TrueTrue» | ||
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⏏5TrueTrue» | ||
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«232392» | ||
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/pJn6eFPb0mBogus statementat /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«2188» | ||
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»: 21219191¦«2016.10,2016.11,2016.12,HEAD»: 23239292 | ||
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«2392» | ||
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 malformedat <tmp>:1------> 3say7⏏5 ‹hello›Bogus postfixat <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 malformedat <tmp>:1------> 3say7⏏5 ‹hello›Bogus postfixat <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 malformedat /home/camelia/EVAL_0:1------> 3say7⏏5␀'hi'Bogus postfixat /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 malformedat /home/camelia/EVAL_0:1------> 3say7⏏5'hi'Bogus postfixat /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 |