Build management with a dash of prolog

50 minutes



A finely honed hatred of every systems tool I have to work with led me to
experiment with alternative ideas for build, configuration and deployment

Last year, I presented DX, a hybrid logic programming / planning language
concept largely inspired by prolog, with a little help from haskell and lisp.

This year, it's time to show you something that actually runs.

Since it seems to me that any deployment tool should be capable of deploying
itself, my first target has been perl dependency management and deployment.

Today I'd like you to meet cdx, a DX-based deployment tool. Built from
the ground up to deal with full dependency graph resolution, conflict handling,
it produces re-usable build artifacts so final deployment is pure file copying.

In the process I'll be covering the underlying conceptual model of the DX
engine, and how it maps onto the goals of a build system - and showing how you
can then glue it directly to indepedent code that does the heavy lifting
and can be tested separately.

Trust me, it'll be fun. I'll bring tissues in case anybody's head explodes.