I've now pushed the image to the Docker Hub. Pull it with:<br><br>$ docker pull sseefried/debian-stable-ghc-android<br><br><div class="gmail_quote">On Mon Nov 24 2014 at 10:57:31 AM Sean Seefried <<a href="mailto:sean.seefried@gmail.com">sean.seefried@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="line-height:19.7999992370605px"><div>I just updated the wiki [1] with a build script I wrote in Docker [2].<div><br></div><div>Putting together the build script in Docker was a very pleasant experience. I broke the script up into many small pieces so that if one particular part failed I could simply go back to the last checkpoint and start from there. Once I had finished the script, I also had very high assurance that it would work with no problems whatsoever when I ran it again from scratch.</div><div><br></div><div>Normally putting together build scripts is difficult because of the inherently stateful nature of a file system. If you are working on a build script that takes a long time to run the temptation is not to start again from scratch every time something goes wrong. The turn-around times are simply too long. You can't be waiting 50 minutes every time you make a small change. Therein lies madness. But because Docker uses a copy-on-write filesystem under the hood, the filesystem is really a kind of persistent data structure. When one particular part of the script failed I was able to go back to *exactly* the state it was in before it failed. The boon to my productivity and my sanity was immense.</div><div><br></div><div>Sean<br><br>[1] <a href="https://www.haskell.org/haskellwiki/Android" target="_blank">https://www.haskell.org/<u></u>haskellwiki/Android</a><br><div>[2] <a href="https://github.com/sseefried/docker-build-ghc-android" target="_blank">https://github.com/<u></u>sseefried/docker-build-ghc-<u></u>android</a></div></div></div></div><div style="line-height:19.7999992370605px"><br></div></blockquote></div>