Neil Mitchell's Blog (Haskell etc)

Monday, December 21, 2015

Solving the GCHQ puzzle "by hand"

›
The GCHQ 2015 Christmas puzzle is a Nonogram puzzle, which involves filling in squares on a grid to reveal a picture, guided by constraint...
Wednesday, December 09, 2015

MinGHC is Dead, Long Live Stack

›
Summary: The MinGHC project has now finished. The MinGHC project was started to produce a minimal Windows installer which didn't contai...
Tuesday, December 08, 2015

What's the point of Stackage LTS?

›
Summary: Stackage LTS is mostly pointless. Stackage provides a set of precise versions of a subset of Hackage which all place nicely toget...
11 comments:
Wednesday, October 28, 2015

ViewPatterns and lambda expansion

›
Summary: One of HLint's rules reduced sharing in the presence of view patterns. Lambda desugaring and optimisation could be improved in ...
Monday, October 26, 2015

FilePaths are subtle, symlinks are hard

›
Summary: When thinking about the filepath .. , remember symlinks, or you will trip yourself up. As the maintainer of the Haskell filepath pa...
8 comments:
Monday, October 12, 2015

Defining your own Shake build system

›
Summary: The video of my recent Shake talk is now online. My Haskell eXchange 2015 talk "Defining your own build system with Shake...
2 comments:
Tuesday, September 22, 2015

Three Space Leaks

›
Summary: Using the technique from the previous post , here are three space leaks I found. Every large Haskell program almost inevitably cont...
5 comments:
Monday, September 21, 2015

Detecting Space Leaks

›
Summary: Below is a technique for easily detecting space leaks. It's even found a space leak in the base library. Every large Haskell pr...
6 comments:
Monday, September 14, 2015

Making sequence/mapM for IO take O(1) stack

›
Summary: We have a version of mapM for IO that takes O(1) stack and is faster than the standard Haskell/GHC one for long lists. The stand...
8 comments:
Saturday, August 15, 2015

Testing is never enough

›
Summary: Testing shows the presence, not the absence of bugs. Recently, someone suggested to me that, thanks to test suites, things like cha...
Monday, August 10, 2015

Upcoming talk to the Cambridge UK Meetup, Thursday 13 Aug (Shake 'n' Bake)

›
I'll be talking at the Cambridge NonDysFunctional Programmers Meetup this coming Thursday (13 Aug 2015). Doors open at 7:00pm with talk...
Thursday, July 30, 2015

Parallel/Pipelined Conduit

›
Summary: I wrote a Conduit combinator which makes the upstream and downstream run in parallel. It makes Hoogle database generation faster. T...
4 comments:
Sunday, July 19, 2015

Thoughts on Conduits

›
Summary: I'm growing increasingly fond of the Conduit library. Here I give my intuitions and some hints I'd have found useful. Recen...
4 comments:
Saturday, June 20, 2015

Announcing the 'extra' library

›
Summary: I wrote an extra library, which contains lots of my commonly used functions. When starting to write Bake , my first step was to co...
2 comments:
Friday, June 19, 2015

Maximum Patches, Minimum Time

›
Summary: Writing a fast continuous integration server is tricky. When I started writing the continuous integration server Bake , I thought I...
Sunday, June 07, 2015

ghcid 0.4 released

›
Summary: I've released a new version of ghcid, which is faster and works better for Vim users. I've just released version 0.4 of ghc...
5 comments:
Thursday, May 21, 2015

Handling Control-C in Haskell

›
Summary: The development version of ghcid seemed to have some problems with terminating when Control-C was hit, so I investigated and learn...
2 comments:
Wednesday, May 06, 2015

Announcing js-jquery Haskell Library

›
Summary: The library js-jquery makes it easy to get at the jQuery Javascript code from Haskell. I've just released a new version. I'...
Saturday, April 25, 2015

Cleaning stale files with Shake

›
Summary: Sometimes source files get deleted, and build products become stale. Using Shake, you can automatically delete them. Imagine you ha...
3 comments:
‹
›
Home
View web version

About Me

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