Julia
juliascript.bsky.social
Julia
@juliascript.bsky.social
No, probably not hahah, I just noticed cause I was trying to generate this and other luts for my use (but in zig) and I couldn’t get the results to match
May 5, 2025 at 1:29 PM
This causes the entries of the 10000 (5 digits) to be overwritten in the lookup tables
April 28, 2025 at 10:25 PM
Your regex is expecting Unicode to be 5 digits long at most
re.compile(
r'(?P<cp1>[0-9A-Fa-f]{4,5})(?:\.\.(?P<cp2>[0-9A-Fa-f]{4,5}))?'
)

But on the Unicode spec files, there are some entries like

“100000..10FFFD ; XX # Co [65534] <private-use-100000>..<private-use-10FFFD>”
April 28, 2025 at 10:25 PM
This is not free though, the output is bloated with extra instructions and the performance is often worse. And the worst part is that the initial source code was already within the same limitations wasm has, so this is entirely caused by the information loss of lowering the source to LLVM Ir
January 17, 2025 at 10:50 PM
The way it does it is by implementing a “relooper” algorithm, that basically lays all blocks inside a loop with a switch statement that conditionally joins the target block. That pattern gives wasm the “goto-like” ability to jump between blocks..
January 17, 2025 at 10:50 PM
LLVM however, just like assembly in general, is built on the assumption that it will be able to arbitrarily jump between blocks.. when compiling to wasm, LLVM has to work around Wasm limitations, which often ends up in less optimized instructions than it started with..
January 17, 2025 at 10:50 PM
The reason is a bit hard to explain, but basically, developers got tired of the pitfalls of “gotos” so it was decided that webassembly wouldn’t support it.. that meant that not every CFG can be represented in wasm..
January 17, 2025 at 10:50 PM
On JS’s defense though, there is something nice about “a = b” actually meaning a is equal to b, and not a is a copy of b..
January 8, 2025 at 11:28 PM
To me it feels so unintuitive and sluggish to move things around like that, but rationally, I know my intuition was built over years of daily JS work, and I accept JS is actually the unintuitive one (I can vaguely remember having trouble to wrap my head around this JS behavior)
January 8, 2025 at 11:28 PM
C, Zig and Go will clone the struct if you do something like “b = a” (a being an instance of a struct. Rust will not let you do it unless you implement the copy trait…
January 8, 2025 at 11:28 PM