Dear Cafe,

I'm happy to announce the first release of arb-fft, a pure Haskell FFT implementation for arbitrary length vectors: http://hackage.haskell.org/package/arb-fft

This is probably more of pedagogical interest than anything else, since there's a long series of blog articles describing the development of the package, indexed at http://skybluetrades.net/haskell-fft-index.html

The package has some interesting features beyond the usual "textbook" powers-of-two FFT algorithm.  In particular, it uses a mixed-radix decomposition of composite input lengths, uses Rader's algorithm for large prime factors and has an empirical benchmarking scheme using Criterion for FFT plan selection.

The performance of arb-fft is within a factor of 10 of FFTW for most input sizes, which isn't too bad for a pure Haskell with only a relatively limited amount of work done on optimisation.

Commentary is very welcome, as are offers to help with any of the tasks listed in the last blog article: http://skybluetrades.net/blog/posts/2014/01/27/data-analysis-fft-14.html


Hackage: http://hackage.haskell.org/package/arb-fft
GitHub: https://github.com/ian-ross/arb-fft
Blog article index: http://skybluetrades.net/haskell-fft-index.html

--
Ian Ross   Tel: +43(0)6804451378   ian@skybluetrades.net   www.skybluetrades.net