Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-03-25

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

All times shown according to UTC.

Time Nick Message
00:34 samcv callgrind so slow
00:35 samcv it's been like 20 minutes almost. and at least i think it's almost done with what used to take like 7 secs to run
01:23 MasterDuke jnthn++
01:55 Geth ¦ MoarVM: f2acad4215 | (Samantha McVey)++ | src/strings/ops.c
01:55 Geth ¦ MoarVM: MVM_string_chr: Only allocate and normalize for cp's that require it
01:55 Geth ¦ MoarVM:
01:55 Geth ¦ MoarVM: Makes nqp::chr 2x faster for codepoints that don't require normalization.
01:55 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f2acad4215
02:03 MasterDuke cool
02:51 evalable6 joined #moarvm
02:52 unicodable6 joined #moarvm
02:52 bisectable6 joined #moarvm
02:52 bloatable6 joined #moarvm
02:52 committable6 joined #moarvm
02:52 benchable6 joined #moarvm
02:52 statisfiable6 joined #moarvm
04:17 mst joined #moarvm
05:58 vendethiel joined #moarvm
07:19 dalek joined #moarvm
07:37 unicodable6 joined #moarvm
08:00 domidumont joined #moarvm
08:09 domidumont joined #moarvm
09:07 domidumont joined #moarvm
10:56 vendethiel joined #moarvm
11:46 Geth ¦ MoarVM: 8f9325b8ec | (Samantha McVey)++ | src/strings/ops.c
11:46 Geth ¦ MoarVM: chr: For cp < 0x300 short circuit a unicode property test
11:46 Geth ¦ MoarVM:
11:46 Geth ¦ MoarVM: If the codepoint decomposes we may need to normalize it.
11:46 Geth ¦ MoarVM: The first cp that decomposes is U+0340, To be on the safe side, for
11:46 Geth ¦ MoarVM: now we go with the first significant character which at the time of
11:46 Geth ¦ MoarVM: writing is COMBINING GRAVE ACCENT U+300
11:46 Geth ¦ MoarVM:
11:46 Geth ¦ MoarVM: This saves us a property check on the Decomposition_Type property.
11:46 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/8f9325b8ec
12:03 travis-ci joined #moarvm
12:03 travis-ci MoarVM build errored. Samantha McVey 'chr: For cp < 0x300 short circuit a unicode property test
12:03 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/214953601 https://github.com/MoarVM/MoarVM/compare/f2acad421531...8f9325b8ec20
12:03 travis-ci left #moarvm
12:09 samcv looks like travis stalled
12:09 samcv restartig test
12:14 Geth ¦ MoarVM: samcv++ created pull request #563: UTF-8 Provide a better error when failing to encode surrogates
12:14 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/563
14:06 AlexDaniel joined #moarvm
14:07 unicodable6 joined #moarvm
14:16 domidumont joined #moarvm
15:25 vendethiel joined #moarvm
16:35 timotimo ha
16:35 timotimo i just took a pretty thinkful shower
16:35 timotimo not only did i figure out a way to probably make JSON::Fast do its strings more quickly and hopefully also with much less memory overhead
16:36 timotimo but also i figured out a new class of json blobs that will asplode violently in our parsers but not in others
16:37 timotimo consider: "hello\ñworld"
16:37 MasterDuke you should get a waterproof laptop and take it with you whenever you shower
16:37 timotimo depending on whether that's a composed or decomposed ñ, it'll have to be rejected or allowed
16:38 MasterDuke tricky
16:38 timotimo easy-ish
16:39 timotimo also, i'm wondering if anybody would enjoy having a :path argument to parse that'll only turn parts of the whole json document into actual objects
16:42 timotimo if you're writing code like from-json($foo)[3]<bloop>[1] anyway, why create objects for the whole rest?
16:42 timotimo but that might be better in a JSON::Fast::Lazy or something
16:44 timotimo JSON::Fast really, really wants the impose-no-normalization stuff in place %)
16:52 MasterDuke for `perl6 --target=mast -e 'class :: { has int64 $.x; }.new( x => 9223372036854775807 ).x.say' | grep bindattr`, would you expect to see a bindattr_i?
16:52 samcv good *
16:52 samcv lol timotimo
16:53 samcv please provide samples :)
16:53 timotimo samples of what now?
16:53 samcv oh the thing that make things explode
16:54 timotimo ["a\ñb"] - invalid json
16:54 timotimo ["a\ñb"] - valid json
16:54 timotimo both are considered invalid by JSON::Fast
16:54 samcv heh
16:54 samcv that should not happen
16:54 samcv well. give me the codepoints involved and i will see if mvm is doing anything wrong or could be better
16:55 timotimo no, it's my code that's doing it wrong
16:55 timotimo it sees the \ and then looks for an n
16:55 timotimo but instead of an n it gets ñ no matter whether it was n + combiner or n-with-combiner in teh input
16:56 timotimo the only other option for JSON::Fast right now is to accept both as valid
16:56 timotimo even though the other one is supposed to be rejected
17:07 samcv rejected? wouldn't it just not be a newline and still be valid?
17:08 dogbert17 anyone else getting spectest fails?
17:08 yoleaux2 24 Mar 2017 01:28Z <MasterDuke> dogbert17: do you get a SIGABRT in t/spec/S17-supply/supplier-preserving.t if you run it with valgrind?
17:08 samcv on which dogbert17 ?
17:09 dogbert17 t/spec/S02-types/pair.rakudo.moar and t/spec/integration/advent2011-day23.t
17:10 timotimo samcv: no, the railroad diagram for string says a \ must be followed by either ", \, /, b, f, n, r, t, or u + 4 hexdigits
17:10 dogbert17 # Failed test 'List.invert maps via a required Pair binding'
17:10 dogbert17 # at t/spec/S02-types/pair.rakudo.moar line 382
17:10 samcv ah i see timotimo
17:10 timotimo so \ followed by a n-with-tilde codepoint is wrong and is to be rejected
17:10 samcv yeah i think i got that one maybe dogbert17
17:11 timotimo though the verbiage of the standard doesn't actually say that other things are disallowed
17:11 timotimo oh, no, actually it does
17:11 timotimo "All characters may be placed within the quotation marks except for the characters that must be escaped"
17:11 samcv ah kk
17:11 timotimo and \ must be escaped
17:11 timotimo i think i understood that right
17:12 samcv would be nice if it warned but didn't like totally break in cases like that. idk. being able to decode something is useful
17:12 samcv even if it may not be 100% compliant
17:12 samcv but regardless. that should be a secondary concern
17:12 samcv to not having things be broken
17:12 timotimo i can live with accepting both and resulting in a newline followed by a lone combiner
17:12 timotimo for the time being, that is
17:13 timotimo i'd also like to give it a switch that'd allow trailing , inside [] and a}
17:13 timotimo sorry, {}
17:14 samcv dogbert17, yeah i get test 178 failing for pair.t
17:14 samcv List.invert maps via a required Pair binding
17:21 domidumont joined #moarvm
17:21 dogbert17 samcv, I got the same
17:21 timotimo hey samcv, what are "unicode noncharacters"?
17:22 timotimo https://code.google.com/archive/p/json-test-suite/issues/1 ?!?!
17:22 timotimo like, codepoints outside the specified range? or something?
17:22 dogbert17 test 91 fails as well 'hash stringification'
17:23 timotimo http://seriot.ch/parsing_json.php this ought to be good for me
17:25 timotimo The previous section discussed non-Unicode codepoints that appear in strings, such as "\uDEAD", which is valid Unicode in its u-escaped form, but doesn't decode into a Unicode character.
17:25 timotimo ^- probably that
17:26 samcv noncharacter?. uh. does that mean nonvisible characters?
17:27 timotimo i don't think that's what they mean
17:27 timotimo the standard seems to use "character" and "codepoint" interchangably
17:30 samcv yes timotimo
17:30 timotimo maybe when they say "noncharacter" i have to substitute "code point" for "character" and it becomes "noncode point"
17:30 samcv when unicode in their docs say character. they mean *unicode thing that has an assigned codepoint*
17:30 timotimo so ... like how 420 is code for weed
17:31 timotimo so 421 is probably a noncode point?
17:31 samcv maybe
17:31 timotimo that must be it
17:31 samcv haha
17:31 timotimo does the ECMA accept 420?
17:32 samcv m: say 420.uniname
17:32 camelia rakudo-moar 7ea0f6: OUTPUT: «LATIN CAPITAL LETTER P WITH HOOK␤»
17:32 samcv P for pot.
17:32 samcv this is intentional obviously
17:32 samcv though 421 is small letter p with hook so idk
17:33 timotimo omg
17:33 timotimo m: say 0x420.uniname
17:33 camelia rakudo-moar 7ea0f6: OUTPUT: «CYRILLIC CAPITAL LETTER ER␤»
17:33 timotimo m: say 0x420.chr
17:33 camelia rakudo-moar 7ea0f6: OUTPUT: «Р␤»
17:33 timotimo OMFG
17:34 samcv LOL
17:34 timotimo i'd like to tweet this discovery, is that okay with you? do you want credit? :P
17:34 samcv no you deserve full credit
17:34 timotimo FakeUnicode might just love this
17:35 timotimo hm
17:35 timotimo did i copypaste that correctly?
17:35 timotimo m: say "РP".ords
17:35 camelia rakudo-moar 7ea0f6: OUTPUT: «(1056 80)␤»
17:35 timotimo looks like
17:36 samcv neither of those numbers are 420 though
17:36 timotimo https://twitter.com/loltimo/status/845690720098963457
17:36 timotimo m: say 0x420
17:36 camelia rakudo-moar 7ea0f6: OUTPUT: «1056␤»
17:37 samcv oh
17:37 samcv but 80 is not 420 though
17:37 timotimo yeah, the other one is what i get when i press P
17:37 samcv ye
17:37 Zoffix but... 0x420.chr is "r" :/
17:38 timotimo wait, what?
17:38 timotimo m: say 0x420.chr
17:38 camelia rakudo-moar 7ea0f6: OUTPUT: «Р␤»
17:38 Zoffix 0x420 is the cyrillic version of "R"
17:38 timotimo so it's code for Rot?
17:41 samcv there's gotta be at least one russian slang word for pot that starts with that letter. i mean. you could probably take half the latin alphabet and come up with slang synonyms
17:42 samcv so it's really just an effort of statistics
17:44 * Zoffix can't think of any... only K and T
17:44 timotimo perfect
17:44 Zoffix And well, The russian "P"; Basically the slang is "plan"
17:46 samcv use Test; plan 420;
18:06 Geth ¦ MoarVM/even-moar-jit: 1012a46f65 | (Bart Wiegmans)++ | 7 files
18:06 Geth ¦ MoarVM/even-moar-jit: Split value-nodes from void nodes
18:06 Geth ¦ MoarVM/even-moar-jit:
18:06 Geth ¦ MoarVM/even-moar-jit: IF, DO and CALL would return a value only if their child nodes were
18:06 Geth ¦ MoarVM/even-moar-jit: returning a value. (CALL had an parameter signifiying the 'return
18:06 Geth ¦ MoarVM/even-moar-jit: type'). But because the tiler does not take such parameters into
18:06 Geth ¦ MoarVM/even-moar-jit: account, this leads to confusing results. By splitting the
18:07 Geth ¦ MoarVM/even-moar-jit: value-yielding from void uses of the nodes, each node now corresponds to
18:07 Geth ¦ MoarVM/even-moar-jit: exactly one type, and no conflicts can occur. Although this increases
18:07 Geth ¦ MoarVM/even-moar-jit: the number of nodes, it reduces the number of mechanisms, which is
18:07 Geth ¦ MoarVM/even-moar-jit: pretty interesting.
18:07 Geth ¦ MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/1012a46f65
18:10 samcv timotimo, can we use macros for printf? like for bit sizes?
18:11 samcv how do we ensure it is the correct size
18:18 unicodable6 joined #moarvm
19:09 bartolin joined #moarvm
19:11 bartolin the other day I stumbled acrosse unicode noncharacters while looking at RT #130914
19:11 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130914
19:11 bartolin there are some faq for those: http://www.unicode.org/faq/private_use.html#nonchar1
19:13 bartolin samcv: do you have an opinion about that ticket, perhaps?
19:14 timotimo samcv: i'm not sure what you mean? like tell the compiler that the arguments to our function behave like printf?
19:19 FROGGS joined #moarvm
19:19 timotimo we do get warnings about format strings and too-small identifiers all the time
19:23 timotimo samcv: you know, "hookah" is a device you can use to consume pot
19:24 timotimo samcv: so latin capital letter P with hook(ah) is also very good
19:25 zakharyas joined #moarvm
21:12 lizmat .tell jnthn how threadsafe is nqp::p6firstflag ?
21:12 yoleaux2 lizmat: I'll pass your message to jnthn.

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