Skip to content
maximecb edited this page Nov 19, 2014 · 10 revisions

Why did you choose D for Higgs?

I chose the D programming language because it fulfilled my requirements for a systems language very well, while also providing the convenience of a powerful template engine and a modern build system. What I wanted was largely a "better C++", and I've found that D fulfills that role very well. I touched on more reasons behind this choice in my presentation at DConf 2013. I should also mention that Higgs is not entirely written in D. Some parts, such as the runtime library, are written in extended JavaScript.

What is basic block versioning?

Basic block versioning is a technique used by the Higgs backend to specialize code on-the-fly by generating multiple type-specialized versions of basic blocks. It is described in detail in this paper and summarized in Maxime's Strange Loop 2013 talk.

Why the name Higgs?

Higgs is the successor to another compiler I had named Tachyon. I decided to follow the particle theme and go with Higgs, like the Higgs boson. It sounded just cool enough.

Clone this wiki locally