Neil Mitchell's Blog (Haskell etc)

Saturday, September 27, 2014

GHCID - a new GHCi based IDE (ish)

›
Summary: I've just released ghcid , which interactively shows the errors in your project on each save. I'm please to announce ghcid ...
2 comments:
Wednesday, September 24, 2014

Generating Open 3D Viewer Models

›
Summary: It's not obvious how to generate suitable Open 3D Viewer models, but with the right tools it isn't hard. The Open 3D Viewer...
Tuesday, September 16, 2014

Towards Shake 1.0

›
Summary: I've just released a new version of Shake, with a --demo feature and an underlying continuation monad. I want to release v1.0 i...
Sunday, September 07, 2014

Shake in the wild

›
Summary: I spotted a few things using Shake, which I had nothing to do with. In the past few days I have come across several things using th...
Wednesday, August 20, 2014

Continuations and Exceptions

›
Summary: In moving Shake to continuations, exceptions were the biggest headache. I figured out how to somewhat integrate continuations and e...
Tuesday, August 12, 2014

Safe library - generalising functions

›
Summary: The Safe library now has exact versions of take / drop , with twelve functions implemented on top of a generalised splitAt . The S...
Saturday, July 26, 2014

Converting Make to Shake

›
Summary: I have converted over 10,000 lines from Make to Shake. Here are some tips I learnt along the way. Make is the de facto build system...
2 comments:
Wednesday, July 23, 2014

Applicative vs Monadic build systems

›
Summary: Shake is a monadic build system, and monadic build systems are more powerful than applicative ones. Several people have wondered ...
4 comments:
Sunday, June 29, 2014

Optimisation with Continuations

›
Summary: Continuations are confusing. Here we solve a simple problem (that is at the heart of the Shake build system) using continuations. I...
8 comments:
Sunday, June 22, 2014

Announcing ghc-make

›
Summary: I've released ghc-make , which is an alternative to ghc --make . I've just released v0.2 of ghc-make ( on Hackage , on Git...
2 comments:
Tuesday, June 03, 2014

Shake file hashes/digests

›
Summary: Shake can now be configured to check file hashes/digests instead of modification times, which is great if you frequently switch git...
3 comments:
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:
‹
›
Home
View web version

About Me

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