Ответ 1
В Hackage есть как минимум два декодера: stb-image (частичная реализация JPEG, PNG, TGA, BMP, PSD-декодеров, с действительно простой API) и pngload (чистый загрузчик Haskell для изображений PNG).
В противном случае вы можете использовать привязки Haskell для существующей библиотеки, например hsmagick или gd.
Существует также Codec-Image-DevIL, которые являются привязками Haskell к библиотеке DevIL. Он позволяет загружать изображение в массив Haskell или записывать массив в виде изображения. Больше ничего, но для чтения/записи он поддерживает множество форматов изображений.