Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_logs/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm Set by AlexDaniel on 12 June 2018. |
|||||||||||||||||||||||||||||||||||||||
buggable | 🎺🎺🎺 It's time for the monthly Accidental /win Lottery 😍😍😍 We have 2 ballots submitted by 2 users! DRUM ROLL PLEASE!... | 00:00 | |||||||||||||||||||||||||||||||||||||
And the winning number is 10! Congratulations to samcv, nine! You win a roll of duck tape! | |||||||||||||||||||||||||||||||||||||||
00:02
BenGoldberg joined
00:06
stmuk joined
00:08
stmuk_ left
01:14
perlpilot joined
02:07
perlpilot left
02:43
microfed left
03:33
p6lert left,
Undercover left,
dalek joined,
ChanServ sets mode: +v dalek,
Geth joined,
ChanServ sets mode: +v Geth,
p6lert joined,
synopsebot joined,
ChanServ sets mode: +v synopsebot,
SourceBaby left
03:34
SourceBaby joined,
ChanServ sets mode: +v SourceBaby,
Undercover joined,
ChanServ sets mode: +v Undercover
04:50
Zoffix joined
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | Is this the right MoarVM build command when built with auto-genned MoarVM? perl Configure.pl --prefix=../../install/bin & gmake & gmake install | 04:50 | |||||||||||||||||||||||||||||||||||||
I'm making changes to code, but they don't show up | |||||||||||||||||||||||||||||||||||||||
geekosaur | I would distrust that prefix; make it an absolute path | 04:51 | |||||||||||||||||||||||||||||||||||||
otherwise you;'re in trouble if it uses it from a subdirectory | 04:52 | ||||||||||||||||||||||||||||||||||||||
Zoffix | oh no /bin part | ||||||||||||||||||||||||||||||||||||||
Looks like the vast majority of Windows roast failure is due to busted `Test::Util::is_run` | 04:53 | ||||||||||||||||||||||||||||||||||||||
no, not the /bin part -_- | 04:59 | ||||||||||||||||||||||||||||||||||||||
Zoffix tries with absolute path | |||||||||||||||||||||||||||||||||||||||
no love | 05:03 | ||||||||||||||||||||||||||||||||||||||
Now I remember why our Windows support lagging… deving on Windows sucks :) | 05:04 | ||||||||||||||||||||||||||||||||||||||
looks like the cause was stuck background moar.exe processess that were silently preventing from rebuilt moar.exe from being copied | 05:05 | ||||||||||||||||||||||||||||||||||||||
05:22
Kaiepi left
05:23
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | :S messing with spawn_setup() that spawns a process breaks `use lib ...` weird | 05:47 | |||||||||||||||||||||||||||||||||||||
oh, but only with t\fudgeandrun | 05:49 | ||||||||||||||||||||||||||||||||||||||
06:15
BenGoldberg left
09:36
robertle joined
09:59
lizmat left
|
|||||||||||||||||||||||||||||||||||||||
[TuxCM] |
|
10:09 | |||||||||||||||||||||||||||||||||||||
10:29
Ven`` joined
10:33
Ven`` left
10:44
lizmat joined
12:02
pmurias joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Perl 5.28 ahead of Perl 6: metacpan.org/pod/distribution/perl...detectable | 12:12 | |||||||||||||||||||||||||||||||||||||
perhaps we should have some regex attribute and a Str.script method that would give the script of the string if all characters are of the same script, and Nil if they are different ? | 12:14 | ||||||||||||||||||||||||||||||||||||||
pmurias | lizmat: by regex attribute you mean adverb? | 13:04 | |||||||||||||||||||||||||||||||||||||
lizmat | argh | ||||||||||||||||||||||||||||||||||||||
yes, of course :-) | |||||||||||||||||||||||||||||||||||||||
pmurias | lizmat: wouldn't something like <samescript \d+> work? | 13:06 | |||||||||||||||||||||||||||||||||||||
lizmat | I guess :-) | 13:07 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: e0e221d44e | (Elizabeth Mattijsen)++ | src/core/Cool.pm6 Naive implementation of uniscript(Str:D) Inspired by the work of Karl Williamson on Perl 5 as described in: metacpan.org/pod/distribution/perl...detectable this is a prototype of the basic functionality needed to create this Perl 5 ... (11 more lines) |
13:48 | |||||||||||||||||||||||||||||||||||||
nqp/truffle: 4 commits pushed by (Paweł Murias)++ | 14:00 | ||||||||||||||||||||||||||||||||||||||
14:16
brrt joined
14:27
lizmat left
15:15
lizmat joined
|
|||||||||||||||||||||||||||||||||||||||
[TuxCM] | if $o.WHAT gives "(Array of Hash) [{…}]", what is the cheapest way to check if $o is of that type? | 15:37 | |||||||||||||||||||||||||||||||||||||
given $o { when Array-ofHash { … }} sounds like not the right way :) | 15:38 | ||||||||||||||||||||||||||||||||||||||
if $o ~~ Array && $o[0] ~~ Hash ? | 15:39 | ||||||||||||||||||||||||||||||||||||||
lizmat | m: 'my Hash @a; dd @a ~~ Array && @a.of ~~ Hash | ||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in single quotes; couldn't find final "'" (corresponding starter was at line 1) at <tmp>:1 ------> 3Hash @a; dd @a ~~ Array && @a.of ~~ Hash7⏏5<EOL> expecting … |
||||||||||||||||||||||||||||||||||||||
lizmat | m: my Hash @a; dd @a ~~ Array && @a.of ~~ Hash | 15:40 | |||||||||||||||||||||||||||||||||||||
camelia | Bool::True | ||||||||||||||||||||||||||||||||||||||
[TuxCM] | my $full-aoh = [{:bar("1"),:baz("2"),:foo("3")},{:bar("2"),:baz("a b"),:foo("")}]; | 16:10 | |||||||||||||||||||||||||||||||||||||
How can I build a loop or other construct so that keys $full-aoh is *always* < bar baz foo > (sorted) | 16:11 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: lizmat assigned to masak Issue Should we allow identifiers with different scripts? github.com/rakudo/rakudo/issues/2003 lizmat assigned to moritz Issue Should we allow identifiers with different scripts? github.com/rakudo/rakudo/issues/2003 lizmat assigned to niner Issue Should we allow identifiers with different scripts? github.com/rakudo/rakudo/issues/2003 lizmat assigned to pmichaud Issue Should we allow identifiers with different scripts? github.com/rakudo/rakudo/issues/2003 lizmat assigned to jnthn Issue Should we allow identifiers with different scripts? github.com/rakudo/rakudo/issues/2003 lizmat assigned to TimToady Issue Should we allow identifiers with different scripts? github.com/rakudo/rakudo/issues/2003 lizmat assigned to ugexe Issue Should we allow identifiers with different scripts? github.com/rakudo/rakudo/issues/2003 105f4db380 | (Elizabeth Mattijsen)++ | src/core/Cool.pm6 Should look at the "Script" property, not the general one |
16:20 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | m: uniscript ‘f’ | 16:40 | |||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | m: say uniscript ‘f’ | ||||||||||||||||||||||||||||||||||||||
camelia | Ll | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | unidump: f | 16:41 | |||||||||||||||||||||||||||||||||||||
unicodable6 | AlexDaniel, gist.github.com/39949ee5f2d3c596bd...75fe36ce65 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | unidump: after | ||||||||||||||||||||||||||||||||||||||
unicodable6 | AlexDaniel, gist.github.com/c6046915280199325f...c5f22f0ed1 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | unidump: аfter | 16:42 | |||||||||||||||||||||||||||||||||||||
unicodable6 | AlexDaniel, gist.github.com/52130fb00556452cc8...2813031b9b | ||||||||||||||||||||||||||||||||||||||
lizmat | hmmm... | 16:43 | |||||||||||||||||||||||||||||||||||||
oops, forgot to include "Script" | 16:45 | ||||||||||||||||||||||||||||||||||||||
lizmat | really afk& | ||||||||||||||||||||||||||||||||||||||
16:56
brrt left
16:58
microfed joined
|
|||||||||||||||||||||||||||||||||||||||
b2gills | m: my \A′ = uniscript 'A′'; say A′; | 17:00 | |||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Term definition requires an initializer at <tmp>:1 ------> 3my \A7⏏5′ = uniscript 'A′'; say A′; |
||||||||||||||||||||||||||||||||||||||
b2gills | m: my \Aʹ = uniscript 'Aʹ'; say Aʹ; # wrong prime | 17:01 | |||||||||||||||||||||||||||||||||||||
camelia | Latin | ||||||||||||||||||||||||||||||||||||||
b2gills | I mean the first one was the wrong prime | ||||||||||||||||||||||||||||||||||||||
17:04
ExtraCrispy left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | m: say uniscript ‘after’ | 17:09 | |||||||||||||||||||||||||||||||||||||
camelia | Latin | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | m: say uniscript ‘𝚊fter’ | ||||||||||||||||||||||||||||||||||||||
camelia | Latin | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: looking for a comment from you on R#2003 :) | 17:18 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#2003 [open]: github.com/rakudo/rakudo/issues/2003 Should we allow identifiers with different scripts? | ||||||||||||||||||||||||||||||||||||||
17:18
Zoffix left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | as I see it, any time a variable is declared it can be matched against other variables based on confusables db | 17:19 | |||||||||||||||||||||||||||||||||||||
so if there are two variables that look alike, then it can be a compile-time error | |||||||||||||||||||||||||||||||||||||||
well, same for subs and other stuff | 17:20 | ||||||||||||||||||||||||||||||||||||||
samcv | yeah we could do that | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | not only this will not ban identifiers with characters from different scripts | ||||||||||||||||||||||||||||||||||||||
samcv | that'd be better than just not allow multiple scripts in the same variable :\ | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | but it will also help with confusables within ascii range, like hello and heIIo and stuff like that | 17:21 | |||||||||||||||||||||||||||||||||||||
samcv | what if you want to use english and your native language? since programming uses english in most cases, so like my $NOUN-var so let's say the noun is in your own language but then you end it with something in english | ||||||||||||||||||||||||||||||||||||||
due to english being the language for most named constructs in languages | |||||||||||||||||||||||||||||||||||||||
etc | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | I wonder how many existing modules or scripts will stop compiling after the change :) | 17:22 | |||||||||||||||||||||||||||||||||||||
but we can tweak the detection to our liking | |||||||||||||||||||||||||||||||||||||||
for example, maybe identifiers that are very short can be exempt from these checks | 17:23 | ||||||||||||||||||||||||||||||||||||||
or something like that | |||||||||||||||||||||||||||||||||||||||
samcv | i will comment in a sec. i just woke up btw | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | I actually think that “You have two variables that look alike” is a reasonable thing even without malicious stuff in mind | 17:25 | |||||||||||||||||||||||||||||||||||||
if you have two variable names that are indeed, well, confusable, why? | 17:26 | ||||||||||||||||||||||||||||||||||||||
samcv | well most likely it was an accident | ||||||||||||||||||||||||||||||||||||||
heh | |||||||||||||||||||||||||||||||||||||||
i mean should it be an error or a warning. because it's a warning now when you have one variable shadow another | 17:27 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | we can start with a warning, although Zoffix++ doesn't like those :) | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: JJ++ created pull request #2004: Some typos and updating of variable names |
17:37 | |||||||||||||||||||||||||||||||||||||
17:41
robertle left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 54368f1fa0 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | docs/module_management.md Some typos and updating of variable names In fact, this would contribute towards solving #1941. It's really helping me, at least. |
17:46 | |||||||||||||||||||||||||||||||||||||
synopsebot | RAKUDO#1941 [open]: github.com/rakudo/rakudo/issues/1941 Document Rakudo-specific classes to support Perl 6 documentation | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 82866b72b4 | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/module_management.md Merge pull request #2004 from JJ/patch-1 Some typos and updating of variable names |
||||||||||||||||||||||||||||||||||||||
17:56
robertle joined
18:17
stephane_ joined
18:19
cog left
18:25
cog joined
18:26
stephane_ left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat++ I like that ticket :) | 18:29 | |||||||||||||||||||||||||||||||||||||
Geth | ¦ rakudo: zoffixznet self-assigned [RFC] Implement `:handle-win-shell` arg to `run`, `shell`, and `Proc::Async.new` github.com/rakudo/rakudo/issues/2005 | 18:32 | |||||||||||||||||||||||||||||||||||||
18:38
brrt joined
18:41
microfed left,
Kaiepi left
|
|||||||||||||||||||||||||||||||||||||||
pmurias | having hello and heIIo should be allowed | 18:56 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | pmurias: because? | 18:57 | |||||||||||||||||||||||||||||||||||||
pmurias | because banning them is a stylistic decision | 18:58 | |||||||||||||||||||||||||||||||||||||
they aren't confusable for some people | |||||||||||||||||||||||||||||||||||||||
who use a different font | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | so in other words you're saying that R#2003 is not an issue? | 18:59 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#2003 [open]: github.com/rakudo/rakudo/issues/2003 Should we allow identifiers with different scripts? | ||||||||||||||||||||||||||||||||||||||
pmurias | AlexDaniel: I'm not competent enough in unicode to have a strong opinion on banning characters that look *exactly* the same | 19:01 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | there's no such thing as “look exactly the same” | ||||||||||||||||||||||||||||||||||||||
any font can have any rendering of any character, l can be rendered as a cow | |||||||||||||||||||||||||||||||||||||||
so if you say l and I are not confusable in my font, and therefore are OK, then same statement can be applied to any pair of characters | 19:02 | ||||||||||||||||||||||||||||||||||||||
moreover, unicode tends not to introduce characters that look exactly the same, even if the proposed character has different semantics | 19:03 | ||||||||||||||||||||||||||||||||||||||
now there are exceptions of course | |||||||||||||||||||||||||||||||||||||||
pmurias | a style checker could (or maybe should) complain about such things | 19:04 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | but generally different characters will look different, it's humans who are confused by similarly-looking shapes | ||||||||||||||||||||||||||||||||||||||
pmurias | but generally rakudo allows stuff that's valid Perl 6 but not the best idea | 19:05 | |||||||||||||||||||||||||||||||||||||
for example we compile unindented source code | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | I found the example here very compelling: github.com/rakudo/rakudo/issues/20...-401619383 | ||||||||||||||||||||||||||||||||||||||
so it's not about something that's not the best idea, it's about people trying to sneak stuff in with malicious intent | 19:07 | ||||||||||||||||||||||||||||||||||||||
pmurias | IMHO if your font is confusing for ASCII characters it sucks and you shouldn't use it for programming | ||||||||||||||||||||||||||||||||||||||
tbrowder_ | speaking of humans, i wish we could get rid of non-ascii chars as variables in rakudo code, e.g. \c[CENT SIGN] | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | tbrowder_: $¢ is no longer needed I think | 19:08 | |||||||||||||||||||||||||||||||||||||
pmurias: I can say the same about non-ascii characters, or maybe even about some subset of commonly used non-ascii chars | 19:10 | ||||||||||||||||||||||||||||||||||||||
tbrowder_ | i think timotimo or nine said so. can i do a pr removing it if all works well? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | and it doesn't matter, as my awesome font will not help someone to review a PR that has garbage in it | ||||||||||||||||||||||||||||||||||||||
tbrowder_: sure | |||||||||||||||||||||||||||||||||||||||
tbrowder_ | yep, garbage in text is my problem, too. thnx | 19:11 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | a-hem, I was talking about maliciously crafted stuff :) | 19:12 | |||||||||||||||||||||||||||||||||||||
not unicode characters in general :) | |||||||||||||||||||||||||||||||||||||||
tbrowder_ | well, malicious or not, i still haven’t cured seeing all the funny-font chars in all the editors and tools tha i use. | 19:13 | |||||||||||||||||||||||||||||||||||||
unicode (non-ascii) is wonderful for people language, but, imo, not for computer programs. | 19:15 | ||||||||||||||||||||||||||||||||||||||
moritz | but it'll mostly be people that read the program | 19:16 | |||||||||||||||||||||||||||||||||||||
geekosaur | if this is coming down to "but I don't do alien line noise that isn't the characters I grew up with" then we have a problem: who said your character set is the only legal one? but this is working around unicode running into a political problem, places demanding they get their own characters even when they duplicate existing ones | ||||||||||||||||||||||||||||||||||||||
tbrowder_ | you know what i mean :) | ||||||||||||||||||||||||||||||||||||||
geekosaur | yes, I do know what you mean | ||||||||||||||||||||||||||||||||||||||
that someone should have declared United States ASCII as the only legal character set | 19:17 | ||||||||||||||||||||||||||||||||||||||
because it's what you know and therefore "standard" and "proper" | |||||||||||||||||||||||||||||||||||||||
pmurias | geekosaur: banning non-ascii variables names seems like a good perl6critic policy, the compiler shouldn't do it | 19:19 | |||||||||||||||||||||||||||||||||||||
geekosaur | maybe. I'd call that local policy, not something that should be enshrined in either the compiler or a general checker | 19:20 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | banning ascii quotes also seems like a good idea to me :) | 19:22 | |||||||||||||||||||||||||||||||||||||
AlexDaniel brings popcorn | |||||||||||||||||||||||||||||||||||||||
anyway, I think the riased issue in R#2003 is irrelevant to all that | 19:23 | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2003 [open]: github.com/rakudo/rakudo/issues/2003 Should we allow identifiers with different scripts? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | raised* | ||||||||||||||||||||||||||||||||||||||
brrt | then there's the simpler argument that a limited number of characters is handy because there's only so many buttons that can be placed in convenient ways for computer entry, and given that (almost) everybody already has a keyboard that outputs ascii... | 19:25 | |||||||||||||||||||||||||||||||||||||
i mean, culture is arbitrary, sure, but sometimes aribtrary is acceptable | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | and over 50% of perl 6 users can type non-ascii stuff | 19:29 | |||||||||||||||||||||||||||||||||||||
so “acceptable” is fine, but there's also “better” :) | 19:30 | ||||||||||||||||||||||||||||||||||||||
samcv | AlexDaniel: interested what you think of my proposal github.com/rakudo/rakudo/issues/20...-401627848 | 19:32 | |||||||||||||||||||||||||||||||||||||
brrt | is that the same set of non-ascii stuff, though | 19:50 | |||||||||||||||||||||||||||||||||||||
samcv | brrt: hmm? | 19:53 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: what if there's no ascii lookalike? | 19:57 | |||||||||||||||||||||||||||||||||||||
samcv | then ignore it | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: then script that only uses non-ascii variable names is vulnerable to malicious PRs? | 19:58 | |||||||||||||||||||||||||||||||||||||
samcv | yes | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | isn't it LTA? | ||||||||||||||||||||||||||||||||||||||
samcv | note: i'm not saying this is the end-all-be-all of this issue. this is a good starting point | ||||||||||||||||||||||||||||||||||||||
notable6 | samcv, I cannot recognize this command. See wiki for some examples: github.com/perl6/whateverable/wiki/Notable | ||||||||||||||||||||||||||||||||||||||
samcv | and easier to implement. otherwise we have to convert all of the variable names to some confusable-normalized form and compare all of them | 19:59 | |||||||||||||||||||||||||||||||||||||
sure it's LTA, but only using ascii variable names you will be protected. and we can address the other issue later if needed | 20:00 | ||||||||||||||||||||||||||||||||||||||
lizmat | samcv: do you have any opinion about unicode.org/reports/tr39/ ? | 20:01 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: I think it's tricky, because there are sometimes multiple ascii confusables for a character | 20:02 | |||||||||||||||||||||||||||||||||||||
samcv: like I and l | |||||||||||||||||||||||||||||||||||||||
samcv | AlexDaniel: well that will cause false positives. and that is over the top | 20:03 | |||||||||||||||||||||||||||||||||||||
i don't think *most* people are worried about that | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: I mean there's a problem with step 2 :) | ||||||||||||||||||||||||||||||||||||||
“If it contains any non-ascii characters we replace these non-ascii characters with their ascii lookalikes” | |||||||||||||||||||||||||||||||||||||||
samcv | so if it looks like more than one ascii character? | 20:04 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | It looks like even ascii characters should be replaced to a “normalized” to one form | ||||||||||||||||||||||||||||||||||||||
samcv | AlexDaniel: i'll have to see if there's any unicode characters that are confusable for multiple ascii's | 20:05 | |||||||||||||||||||||||||||||||||||||
give me a few mins | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | any l-like character | ||||||||||||||||||||||||||||||||||||||
unicode.org/cldr/utility/confusabl...amp;r=None | |||||||||||||||||||||||||||||||||||||||
can be deconfused to 1 I l | | 20:06 | ||||||||||||||||||||||||||||||||||||||
| we can throw away, that's fine | |||||||||||||||||||||||||||||||||||||||
but we're still left with three 1 I l | |||||||||||||||||||||||||||||||||||||||
samcv | well yeah. let me come up with a list | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | also | 20:07 | |||||||||||||||||||||||||||||||||||||
confusables are not just 1-to-1 replacements | |||||||||||||||||||||||||||||||||||||||
m is confusable with rn | |||||||||||||||||||||||||||||||||||||||
for a fixed-width font that's probably not an issue, but I'm not entirely sure | 20:08 | ||||||||||||||||||||||||||||||||||||||
because even with a fixed-width font there are fullwidth characters | |||||||||||||||||||||||||||||||||||||||
so maybe some halfwidth+halfwidth can be confused with some fullwidth char | |||||||||||||||||||||||||||||||||||||||
well, if we only care about ascii, then maybe all that doesn't matter… | 20:17 | ||||||||||||||||||||||||||||||||||||||
Geth | nqp/truffle: 91547a32dd | (Paweł Murias)++ | 4 files [truffle] Add some type coercions |
20:25 | |||||||||||||||||||||||||||||||||||||
nqp/truffle: f6cb25369c | (Paweł Murias)++ | 4 files [truffle] Implement nqp::list |
|||||||||||||||||||||||||||||||||||||||
nqp/truffle: 3b6bba5128 | (Paweł Murias)++ | 20 files [truffle] Implement a bunch of comparision ops |
|||||||||||||||||||||||||||||||||||||||
samcv | AlexDaniel: in their confusables.txt there's only: | 20:27 | |||||||||||||||||||||||||||||||||||||
2113 ;006C ;MA# ( ℓ → l ) SCRIPT SMALL L → LATIN SMALL LETTER L# | |||||||||||||||||||||||||||||||||||||||
fyi | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | and that's it? | 20:28 | |||||||||||||||||||||||||||||||||||||
samcv | at least as of version 8 | ||||||||||||||||||||||||||||||||||||||
let me check newer :P | |||||||||||||||||||||||||||||||||||||||
no that's it | |||||||||||||||||||||||||||||||||||||||
AlexDaniel: here's the list gist.github.com/samcv/851f0f8a8fa5...d8cbae56ce | 20:37 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: I don't understand… so ℓ is confusable with l but not with anything else in this list? 𝚰𝘭І𝖨𝐥ﺍﺎ𝔩ℐℑ𐊊Ⲓ𐌉ℓ𝜤Ɩ𝞘Ι𝚕𝟏∣اI𝗅𝕀1𝙄𝓁𐌠𝐼𞸀𞺀׀𝑰ǀӀᛁ𝟭𝕴Iߊl𝛪ⵏ𝝞𝕝𝟣ו𞣇𝙡𝓘𝗜𝟙𝑙ןⅠ𝘐١𝒍𝖑│𝐈l۱ꓲ𖼨𝙸𝟷𝓵|ⅼ⏽𝗹 | 20:38 | |||||||||||||||||||||||||||||||||||||
20:38
ggoebel left
20:39
brrt left
|
|||||||||||||||||||||||||||||||||||||||
samcv | i guess this is backwards what i wanted to do. i want to find things that map to multiple different ascii | 20:39 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | ah | ||||||||||||||||||||||||||||||||||||||
samcv | but still iteresting | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | but it should still include I, no? | ||||||||||||||||||||||||||||||||||||||
samcv | AlexDaniel: ah i see now | 20:41 | |||||||||||||||||||||||||||||||||||||
l is confusable with I | |||||||||||||||||||||||||||||||||||||||
so transitively it does | |||||||||||||||||||||||||||||||||||||||
AlexDaniel: ok i got what we wanted | 21:04 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel: gist.github.com/f501c4d0716ec49454...bf663ddbe1 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: nice. So really it's just 0O and lI1 if we're talking about ascii range | 21:06 | |||||||||||||||||||||||||||||||||||||
21:07
robertle left
|
|||||||||||||||||||||||||||||||||||||||
samcv | i mean a lot of them become lookalikes transitively | 21:07 | |||||||||||||||||||||||||||||||||||||
though i mean there's not too many in this list. it is only for 1->1 mappings that map to an ascii | 21:08 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel: should i exclude ascii->ascii confusables? only non-ascii to ascii confusable? | 21:09 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | I don't know | ||||||||||||||||||||||||||||||||||||||
samcv | (still transitive, just the list won't include ascii->ascii confusables). | ||||||||||||||||||||||||||||||||||||||
though the list can stay the same for now because it's useful to see | 21:10 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | how many visible variables do we have typically? | ||||||||||||||||||||||||||||||||||||||
do we really need this lookup to be super efficient? | |||||||||||||||||||||||||||||||||||||||
I mean, we can even narrow down the search by using variable length | 21:11 | ||||||||||||||||||||||||||||||||||||||
samcv | also i wouldn't say 𝕴 looks like a 1 | 21:12 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | or, ok, identifier length if we're speaking generally | ||||||||||||||||||||||||||||||||||||||
samcv | well or an l or an i or a | | ||||||||||||||||||||||||||||||||||||||
how does length factor into this? | |||||||||||||||||||||||||||||||||||||||
also for things that are transitive like i and l and 1 and | those can all be mapped to the same ascii | 21:13 | ||||||||||||||||||||||||||||||||||||||
for comparing | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: well, if you're declaring a sub named “very-very-long-sub-name”, then even if our confusable detector is really slow, it doesn't matter | ||||||||||||||||||||||||||||||||||||||
samcv | ah | ||||||||||||||||||||||||||||||||||||||
only compare ones with the same length | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | for example, yeah | ||||||||||||||||||||||||||||||||||||||
that would ignore multichar confusables, but maybe that's fine | 21:14 | ||||||||||||||||||||||||||||||||||||||
I don't know, I'm just brainstorming | |||||||||||||||||||||||||||||||||||||||
samcv | yeah | ||||||||||||||||||||||||||||||||||||||
idk we can maybe include ones like 𝙄 being confusible for I? | 21:15 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | or even if we have thousands of variables with the same length, we can still come up with something that has a better O() | ||||||||||||||||||||||||||||||||||||||
for example, for every identifier generate it's confusable hash | 21:16 | ||||||||||||||||||||||||||||||||||||||
so that hola and h0Ia has the same hash | |||||||||||||||||||||||||||||||||||||||
samcv | yeah | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | and then we can look it up almost instantly, no need for ascii-oriented optimizations | ||||||||||||||||||||||||||||||||||||||
s/it's/its/ – I don't understand how I keep making this mistake :) | 21:17 | ||||||||||||||||||||||||||||||||||||||
samcv | 「'」 is confusable with 「」 :P | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | huh? | 21:19 | |||||||||||||||||||||||||||||||||||||
samcv | i was making a joke. that ' is confusable with empty string | 21:20 | |||||||||||||||||||||||||||||||||||||
it's vs its | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | ah yeah… well “it's” is indeed confusable with “its” :) | 21:21 | |||||||||||||||||||||||||||||||||||||
maybe it's muscle memory because “it's” is more common | 21:22 | ||||||||||||||||||||||||||||||||||||||
samcv: ok, but seriously, if we get confusables db into rakudo, we can also assign a confusable id for every character… then use that id to generate a confusable hash for any string. And boom, efficient lookup for confusables | 21:27 | ||||||||||||||||||||||||||||||||||||||
if we make that available to users also, then it could be another great selling point | 21:28 | ||||||||||||||||||||||||||||||||||||||
among other unicode features in perl 6 | |||||||||||||||||||||||||||||||||||||||
samcv: I can't find aа in the list | 21:37 | ||||||||||||||||||||||||||||||||||||||
u: aа | |||||||||||||||||||||||||||||||||||||||
unicodable6 | AlexDaniel, U+0061 LATIN SMALL LETTER A [Ll] (a) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, U+0430 CYRILLIC SMALL LETTER A [Ll] (а) | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: in the gist I mean | ||||||||||||||||||||||||||||||||||||||
samcv | hmm let me see | 21:38 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: also maybe | ||||||||||||||||||||||||||||||||||||||
u: yу | |||||||||||||||||||||||||||||||||||||||
unicodable6 | AlexDaniel, U+0079 LATIN SMALL LETTER Y [Ll] (y) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, U+0443 CYRILLIC SMALL LETTER U [Ll] (у) | |||||||||||||||||||||||||||||||||||||||
samcv | AlexDaniel: ok it's fixed | 21:45 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: why does it say foo foo foo2 foo foo2? | ||||||||||||||||||||||||||||||||||||||
samcv | refresh. i fixed it | 21:46 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | ah right, it was a list of things confusable with ascii characters that have more than one ascii confusable | 21:48 | |||||||||||||||||||||||||||||||||||||
samcv | yeah. now it has all of them | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | but that's probably identical to this table: unicode.org/cldr/utility/confusabl...amp;r=None | 21:49 | |||||||||||||||||||||||||||||||||||||
maybe throw in ' and - in there | 21:50 | ||||||||||||||||||||||||||||||||||||||
unicode.org/cldr/utility/confusabl...amp;r=None | |||||||||||||||||||||||||||||||||||||||
21:59
MasterDuke joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp/truffle: a5f75c6308 | (Daniel Green)++ | 2 files [truffle] Implement nqp::tclc |
22:02 | |||||||||||||||||||||||||||||||||||||
rakudo: zoffixznet++ created pull request #2006: Fix typo "immediatelly" → "immediately" |
22:47 | ||||||||||||||||||||||||||||||||||||||
rakudo: e2e4218142 | (Tobias Boege)++ | 2 files Fix typo "immediatelly" → "immediately" |
|||||||||||||||||||||||||||||||||||||||
rakudo: 4bdb9787de | (Zoffix Znet)++ (committed using GitHub Web editor) | 2 files Merge pull request #2006 from taboege/typo-immediately Fix typo "immediatelly" → "immediately" |
|||||||||||||||||||||||||||||||||||||||
23:20
pmurias left
23:41
MasterDuke left
|