ezyang’s blog

the arc of software bends towards understanding

August, 2016

cabal new-build is a package manager

An old article I occasionally see cited today is Repeat after me: "Cabal is not a Package Manager". Many of the complaints don't apply to cabal-install 1.24's new Nix-style local builds. Let's set the record straight. Fact: cabal new-build doesn't handle non-Haskell dependencies OK, so this is one thing that hasn't changed since Ivan's article. […]

  • August 29, 2016

Optimizing incremental compilation

When you run make to build software, you expect a build on software that has been previously built to take less time than software we are building from scratch. The reason for this is incremental compilation: by caching the intermediate results of ahead-of-time compilation, the only parts of a program that must be recompiled are […]

  • August 27, 2016