LLVM's New Versioning Scheme
Historically, LLVM's major releases always added "0.1" to the version number, producing major versions like 3.8, 3.9, and 4.0 (expected by March 2017). With our next release though, we're changing this.
Elm for the Front End, Right Now
We build smart, robust, enterprise-level software that works, both with you and for you.
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...
Self Healing Code with clojure.spec
Works On My Machine is the place where Cognitects reflect on tech, culture, and the work we do. The views expressed on Works On My Machine are those of the a...
NET Core and ASP.NET Core RC2 Released
Free downloads for building and running .NET apps on Linux, macOS, and Windows. Runtimes, SDKs, and developer packs for .NET Framework, .NET, and ASP.NET.
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…
PEP 518 – Specifying Minimum Build System Requirements for Python Projects
This PEP specifies how Python software packages should specify what build dependencies they have in order to execute their chosen build system. As part of this specification, a new configuration file is introduced for software packages to use to specify...
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 …
Clojure - spec Guide
The spec library ( API docs ) specifies the structure of data, validates or conforms it, and can generate data based on the spec.
cgo is not Go
Some people, when confronted with a problem, think “I know, I’ll use cgo.” Now they have two problems.