New

The latest blog posts to take off on Hacker News. 3,707 posts.

Programming Languages
Any year
395

Ways to generate SSA

Static Single Assignment is a program representation where each “variable” (though this term can be misleading) is assigned exactly once. Mostly the variables aren’t variables at all, but instead names for values—for expressions. SSA is used a lot in compilers. See this lesson from Cornell for converting Bril to SSA…

397

What about K?

k is a family of concise, fast vector-oriented languages designed by Arthur Whitney . Calling k a “family” is deliberate; there is no single definitive k, but instead a sequence of slightly incompatible versions. If you decide to stick with k, you’ll see mentions of k4 , k5 etc. Exactly what those numbers mean aren’t…

408

I Wrote a WebAssembly VM in C

For the last 6 months, I’ve been spending my (limited) free time on evenings and weekends writing a WebAssembly VM in C. After repeatedly throwing away small side-projects, this was an extremely productive experience for me as an engineer. I’m writing this in order to put together some take-aways and organize my…

416

Rust’s worst feature

There are several aspects of Rust that I’m not particularly fond of but the one that takes the cake is core::io::BorrowedBuf which I despise with passion. It’s a nightly feature which puts in question my extreme emotions about it. On the other hand it means there’s time to stop it from getting stabilised and figure…

417

The Simplicity of Prolog

Nowadays the most popular programming languages are Python, Javascript, Java, C++, C#, Kotlin and Ruby, and the average programmer is probably familiar with one or more of these languages. It's relatively easy to switch from one to another (barring any framework specific knowledge that may be needed), since they are…

418

Tilde, My LLVM Alternative

I'm Yasser and I've made it my mission to produce an alternative to LLVM, the current king of compiler backend libraries. I'm calling it Tilde (or TB for tilde backend) and the reasons are pretty simple, i believe it's far too slow at compiling and far too big to be fixed from the inside. It's been 20 years and cruft…