Technical Papers
May 13, 2014
I have many dozens of technical papers saved to my hard drive but I thought I'd open up with some links to a selection of great papers I found from Rasmus Anderson's Twitter:
- A History of Haskell - Being Lazy With Class
- Design of LISP-Based Processors (AIM-514)
- Design Principles Behind Smalltalk
- Kqueue - A generic and scalable event notification facility
- Making reliable distributed systems in the presence of software errors (Erlang, Armstrong)
- Organizing Programs Without Classes
- PC Assembly Language (Paul A. Carter, 2001-2004)
- Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part 1 (John McCarthy, lisp, 1960)
- RRB-Trees - Efficient Immutable Vectors
- Synthesis - An Efficient Implementation of Fundamental Operating System Services
- The GrAIL language and operations
- The Implementation of Lua 5.0
- x86-64 Machine-Level Programming (CMU)
Of these already great papers, Joe Armstrong's thesis “Making reliable distributed systems in the presence of software errors” is my stand-out favourite. Written in a clear, concise manner it defines the problems he and his team were facing and goes on — through it's nearly 300 pages — to solve each of them. I could (and probably should) dedicate an entire post to this paper alone.