Build management with a dash of prolog
Build management with a dash of prolog
By Matt S Trout (mst) from northwestengland.pm, dahut.pm, drinkers.pm, lgbt.pm
Date: Monday, 8 June 2015 14:30
Duration: 50 minutes
Target audience: Any
Language: English
Tags: build cpan dependency prolog wtf
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
management.
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.
Attended by: Henry Van Styn (vanstyn), Brad Lhotsky, Andrew Griffin, Michael LaGrasta, D Ruth Bavousett (druthb), Lonny Jepson, Jason Hall (Jayce^), John Karr, Garth Hill, Sean Quinlan (spq_easy), Scott Gustafson, Jared Miller, atoomic, Doyle Young, Stephen Scaffidi (hercynium), Fitz Elliott, Graham TerMarsch, James Morgan (Ven'Tatsu), Buddy Burden (barefootcoder), Joe Kline (gizmo), Yanick Champoux (Yanick), Wes Malone (wesm), Thomas Stanton (tstanton), Stuart Johnston, Jason McIntosh (jmac), Karl Boehnker, Andy Bach, Thomas Sibley (trs), Victor Stevko, Rikus Goodell, David Golden (xdg), Neelima Gaddam, Geoffrey Darling (Geoff), Weldon Whipple, Eric Ellis, Chris Hamilton, Samuel Smith (esaym), Allie Rogers, Don Silvia, Rish, Irina Todeva, Aran Deltac (bluefeet), Grigor Karavardanyan (G), Nathan Sullivan, Andrew Grangaard (spazm), Ben Grimm, Ramchand Karumuri, Louis Erickson, Andrew Baerg, Sean Murphy, Michael South (msouth), Gabriel Munoz (gabriel), Norman Yamada, Matthew Green, Belden Lyman (belden), Miller Hall, Drew Taylor (drewbie), Mike Greb (mikegrb), Dan Muey, Brad Oaks (bradoaks), R Geoffrey Avery (rGeoffrey), Jan Peterson (jlp), Tim Howe (thowe), Jeremy Koch, Matt Finkel, Ryan Olson (Gimpson), Christopher Eades (Chro), Brent Laabs (labster),