Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 662 posts.
Baby's First Garbage Collector
When I get stressed out and have too much to do, I have this paradoxical reaction where I escape from that by coming up with another thing to do. Usually it’s a tiny self-contained program that I can write and finish.
Swift Achieved Dynamic Linking Where Rust Couldn't (2019)
For those who don’t follow Swift’s development, ABI stability has been one of its most ambitious projects and possibly it’s defining feature, and it finally shipped in Swift 5 . The result is something I find endlessly fascinating, because I think Swift has pushed the notion of ABI stability farther than any language…
The Bipolar Lisp Programmer (2007)
You're only given a little spark of madness. You mustn't lose it. Robin Williams
SBCL: the ultimate assembly code breadboard (2014)
Paul Khuong's personal blog. Some Lisp, some optimisation, mathematical or computer.
The Next Big Language
Dylan? C# 3? Perl 6? Does it have deterministic destructors, even as blocks like Python 2.5? Generics? A powerful macro system? Even as described it sounds like magic, but not a moment too soon.
Monads are like burritos (2009)
From the highly eclectic blog of Mark Dominus
Go Data Structures: Interfaces (2009)
Go's interfaces—static, checked at compile time, dynamic when asked for—are, for me, the most exciting part of Go from a language design point of view. If I could export one feature of Go into other languages, it would be interfaces.
Yacc is dead: An update
The draft of " Yacc is Dead " that David Darais and I posted on arXiv received some attention, so we'd like to share updates and feedback.
Wizards and warriors, part one
A common problem I see in object-oriented design is: A wizard is a kind of player. A warrior is a kind of player. A staff is a kind of weapon. A sword is a kind of weapon. A player has a weapon. Bu…
Embed is in C23
It happened. Nearly 5 years of paper writing, being snuck Committee Meeting notes on the DL until I could access them myself and absolve my co-conspirators of their sins, 5 different implementations/patches later, I can
Haskell Researchers Announce Discovery of Industry Programmer Who Gives a Shit
Oh, Steve, you do make me laugh, always. And it's so long between posts these days I hardly believed it when Safari hinted that there was some action over at Steve's. Thank you.
Dynamic type systems are not inherently more open
Internet debates about typing disciplines continue to be plagued by a pervasive myth that dynamic type systems are inherently better at modeling “open world” domains. The argument usually goes like this: the goal of static typing is to pin everything down as much as possible, but in the real world, that just isn’t…
The Zen of Erlang
This is a loose transcript (or long paraphrasing?) of a presentation given at ConnectDev'16, a conference organized by Genetec in which I was invited to speak.
Pointers Are Complicated II, or: We need better language specs
Some time ago, I wrote a blog post about how there’s more to a pointer than meets the eye. One key point I was trying to make is that just because two pointers point to the same address...
Pointers Are Complicated, or What’s in a Byte?
This summer, I am again working on Rust full-time, and again I will work (amongst other things) on a “memory model” for Rust/MIR. However, before I can talk about the ideas I have for this ...
Parallelism is not concurrency
In an earlier post I mentioned that one goal of the new introductory curriculum at Carnegie Mellon is to teach parallelism as the general case of computing, rather than an esoteric, specialized sub…
Boolean Blindness
I hate Booleans! But isn’t everything “just bits”? Aren’t computers built from gates? And aren’t gates just the logical connectives? How can a Computer Scientist p…
Things that amuse me
I think the only serious gripe is what you call your biggest gripe, and I must say that I envy this in Haskell. As you know, in the eager world we tend to write out our own recursive functions, rather than use combinators. You give part of the reason; the other part is that deforestation and related transformations…
Zig as an alternative to writing unsafe Rust
There are endless debates online about Rust vs. Zig, this post explores a side of the argument I don't think is mentioned enough.
Code Like a Pythonista: Idiomatic Python
The home of pythonistas
State of Loom
Project Loom aims to drastically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications that make the best use of available hardware.
Rust for functional programmers
This post follows up on OCaml for Haskellers from Edward Z. Yang (2010) and my own Haskell for OCaml programmers from earlier this year. Note The latest version of this document can be found online at https://dr-knz.net/rust-for-functional-programmers.html. Alternate formats: Source, PDF. Prologue Rust for C…
Rust's Ugly Syntax (2023)
People complain about Rust syntax. I think that most of the time when people think they have an issue with Rust's syntax, they actually object to Rust's semantics. In this slightly whimsical post, I'll try to disentangle the two.