Neil Mitchell's Blog (Haskell etc)

Tuesday, May 27, 2014

Shake 0.13 released

›
Summary: Shake 0.13 is out, which contains a few API changes and several new features. I've just released Shake 0.13 . There are several...
Thursday, May 15, 2014

Shake as a dependency library

›
Summary: You can use Shake as a library to implement other build tools. The Shake build tool is often used to define a specific build syste...
5 comments:
Monday, May 05, 2014

Build system performance: Shake vs Ninja

›
Summary: Ninja is a build system focused on being fast. Some limited benchmarking suggests the Shake build system might be faster. The Shake...
6 comments:
Tuesday, April 01, 2014

Exceptional Testing

›
Summary: Failing properties should throw exceptions, not return False. When testing properties in Haskell with QuickCheck we usually write...
2 comments:
Thursday, March 13, 2014

HLint API

›
Summary: HLint now has a real API. HLint is a tool for making suggestions about your Haskell source code, available as a standalone tool ...
Monday, February 24, 2014

The Build System Shootout

›
Summary: I am collecting examples to show how build systems relate in terms of power. Contributions welcome. A while back I tried to classi...
4 comments:
Monday, January 06, 2014

Optimising Haskell for a tight inner loop

›
Summary: I walk through optimising a Haskell string splitter to get a nice tight inner loop. We look at the Haskell code, the generated Core...
12 comments:
Saturday, January 04, 2014

Running Makefiles with Shake

›
Summary: Shake can interpret some Makefiles, just like Make. Since version 0.10 the Shake build system also installs a shake executable th...
13 comments:
Friday, January 03, 2014

Announcing Shake 0.11

›
Summary: Shake 0.11 is out, upgrading should be pretty easy. Shake is a Haskell library for writing build tools, and I've just released...
Thursday, December 12, 2013

Progress Reporting in Shake

›
Summary: Shake can predict you how long your build will take. The prediction makes use of stateful applicative streams. The Shake build syst...
5 comments:
Tuesday, November 19, 2013

The oldest Shake bug - async exceptions are hard

›
Summary: Shake could corrupt the build database under rare circumstances. Last week I finally figured out why, and fixed it. The Shake build...
2 comments:
Saturday, November 16, 2013

ACM Article - Leaking Space

›
I wrote an article for the Communcations of the ACM which is now available on the ACM Queue , entitled Leaking Space , all about space leak...
Tuesday, November 12, 2013

NSIS plugins and LZMA solid

›
Summary: If you use NSIS plugins along with LZMA solid compression, make sure you reference the plugins first. The NSIS Windows Installer s...
Monday, November 04, 2013

NSIS Haskell wrapper now supports plugins

›
Summary: I've just released NSIS-0.2.3 which supports NSIS plugins. My NSIS library is a Haskell EDSL to make it easier to write NSIS W...
2 comments:
Saturday, October 12, 2013

Haskell type graphs with Uniplate and Haskell-src-exts

›
Summary: Generating graphs from Haskell modules is easy, using Haskell-src-exts and Uniplate. In my recent Uniplate talk I showed a grap...
Wednesday, October 02, 2013

Upcoming talks

›
I'll be talking at two events this month - hope to see some people there! 9 Oct 2013 - Haskell eXchange 2013 Everyone should use a G...
Thursday, September 12, 2013

Repeated Word Detection with Haskell

›
Summary: I wrote a simple program to detect repeated words in a file. This post gives a walk-through of how I developed it. My wife is cur...
3 comments:
Wednesday, August 14, 2013

Destroying Performance with Strictness

›
Summary: New versions of unordered-containers cause a massive performance regression in uniplate (10x slower is typical), which I have fixed...
6 comments:
Tuesday, July 30, 2013

Standard Chartered are hiring

›
Summary: Haskell programmer willing to relocate to Singapore? Come work for Standard Chartered! Standard Chartered , the bank where I work...
‹
›
Home
View web version

About Me

My photo
Neil Mitchell
View my complete profile
Powered by Blogger.