Please log in to watch this conference skillscast.
Shake, like Make, is a tool for writing build systems. However, unlike Make, Shake features monadic dependencies (your dependencies themselves can depend on the results of previous dependencies), polymorphic dependencies (your dependencies don't have to be files) and stable dependencies (if something rebuilds but doesn't change things that depend on it don't have to rebuild). These features make it much easier to define build systems that have accurate dependencies. Additionally, these features let you define your own custom build system, and then implement a Shake-based interpreter for it. It is often said that the easiest way to solve a problem is to define the perfect language for solving the problem, then write an interpreter. In this talk we'll see how to use Shake to apply that advice to build systems.
Join us at the Haskell eXchange in 2016!
Want to learn about the latest innovations in Haskell? Join 200+ Haskell and functional programmers to learn and share skills with some of the world's top Haskell experts at the Haskell eXchange 2016 in London. Find out all about Haskell's infrastructure roadmap, learn how Haskell is used in academia and enterprise and discover how Haskell is changing the way our industry tackles complex engineering problems. Early bird tickets already available!
YOU MAY ALSO LIKE:
- Gojko Adzic's Impact Mapping Workshop (in London on 27th September 2017)
- Uncle Bob's Clean Code: Agile Software Craftsmanship (in London on 1st - 3rd November 2017)
- Whole Team Approach to Agile Testing (in London on 6th - 8th November 2017)
- Agile Testing & BDD eXchange 2017 (in London on 9th - 10th November 2017)
Defining your own Build System with Shake
Neil Mitchell is a Haskell programmer who lives in Cambridge with his wife Emily and his son Henry. Neil has a PhD in Computer Science from York University, working on making functional programs shorter, faster and safer. Since then he's worked with F# at Credit Suisse and Haskell/F#/C++ at Standard Chartered and Barclays, taking the lessons of functional programming and applying them in finance.