Introduction to Metaprogramming in Nim
Metaprogramming is the writing of computer programs with the ability to treat programs as their data. It means that a program could be designed to read, generate, analyse and/or transform other programs, and even modify itself while running.
V8: Behind the Scenes (December Edition)
Personal website of Benedikt Meurer, JavaScript Engine Hacker and Programming Language Enthusiast.
How undefined signed overflow enables optimizations in GCC
Signed integers are not allowed to overflow in C and C++, and this helps compilers generate better code. I was interested in how GCC is tak...
Writing a compiler in Ruby, bottom up (2008)
(To follow my compiler related posts, either subscribe to my main RSS feed, or the compiler specific one )
Technical Issues of Separation in Lisp Function Cells and Value Cells (1988)
This paper appears in Lisp and Symbolic Computation , Volume 1, No. 1, June 1988, pp81-101.
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…
GC support in Rust: API design
Recently we (Felix, Niko, and I) have been working on getting compiler-level GC support for Rust. The plan is to provide a base set of APIs and …
cgo is not Go
Some people, when confronted with a problem, think “I know, I’ll use cgo.” Now they have two problems.