Metaprogramming for madmen
This post is part of the series “Debris: Opening the box”. Okay, previous posts from this series aimed to actually convey useful technical information: assuming you actually want to wri…
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 662 posts.
This post is part of the series “Debris: Opening the box”. Okay, previous posts from this series aimed to actually convey useful technical information: assuming you actually want to wri…
Why a programming language should not offer a primitive to capture undelimited continuations (call/cc).
Why I can't use Elm, and can't recommend it to others.
I keep seeing discussions that equate zig's level of memory safety with c (or occasionally with rust!). Neither is particularly accurate. This is an attempt at a more detailed breakdown.
What implications exist around linking friendly-c code with machiavellian-c? I.e. put the performance critical kernels in there own module and work realy hard to make it correct.
A list of things about unicode on Linux and Python 3 you really did not want to know.
Encoding business logic in types
Lisp has done quite well over the last ten years: becoming nearly standardized, forming the basis of a commercial sector, achieving excellent performance, having good environments, able to deliver applications. Yet the Lisp community has failed to do as well as it could have. In this paper I look at the successes, the…
It seems like I can’t spend five minutes on reddit these days without someone playing the JS-is-Scheme is card . I see everything from the innocuous, “JavaScript has a lot in common with Scheme”, all the way up to, “JavaScript is basically Scheme.” This is basically crazy. Or, at least it has a lot in common with…
(This article came about in response to some questions on the LL1 mailing list. It is now incorporated in Revenge of the Nerds .) When McCarthy designed Lisp in the late 1950s, it was a radical departure from existing languages, the most important of which was Fortran . Lisp embodied nine new ideas:
The official Go proposal is at https://golang.org/issue/24301 , filed on March 20, 2018 and accepted on May 21, 2018.
In 2013, I spent 6 months converting 0install's 29,215 lines of Python to OCaml (learning OCaml along the way). In this post, I'll describe the …
The typestate pattern is an API design pattern that encodes information about an object’s run-time state in its compile-time type . In particular, an API using the typestate pattern will have:
I promised two things when I did the closing keynote at RustConf 2018:
It's not about technology for its own sake. It's about being able to implement your ideas.
Writing and Stuff from Isaac Z. Schlueter
Some people, when confronted with a problem, think “I know, I’ll use cgo.” Now they have two problems.
In order to increase fluency in a programming language, one has to read a lot of it. But how can you read a lot of it if you don’t know what it means? In this article, instead of focusing on one or...
TLDR: read the paper and view the gallery of pretty Perl programs. In this paper, we aim to answer a long-standing open problem in the programming languages community: is it possible to smear paint on the wall without creating valid Perl?
My blog post on falling in love with Rust got quite a bit of attention – with many being surprised by what had surprised me as well: the high performance of my naive Rust versus my (putatively less naive?) C. However, others viewed it as irresponsible to report these performance differences, believing that these…
Every now and then, I stumble onto some algorithm or idea that’s so clever and such a perfect solution to a problem that I feel like I got smarter or gained a new superpower just by learning it. Heaps were one, just about the only thing I got out of my truncated CS education. I recently stumbled onto another: Pratt or…
[This file, jargon.txt, was maintained on MIT-AI for many years, before being published by Guy Steele and others as the Hacker's Dictionary. Many years after the original book went out of print, Eric Raymond picked it up, updated it and republished it as the New Hacker's Dictionary. Unfortunately, in the process, he…
I recently posted an entry in my Python History blog on the origins of Python's functional features . A side remark about not supporting ta...