Fugue uses a new domain-specific language, Ludwig, to describe infrastructure configuration. Before we started building, we looked around for what we wanted, but didn't find it all in one place. We want typical things you do in cloud to be easy, and not feel like programming. We want users to get great error messages, fast. We want a program that compiles to almost always work in the cloud. We want sophisticated work to be possible, but safe, predictable, and shareable.