You can use a custom Makefile/Setup.hs hook and invoke windres (if you're on Windows) or objcopy/elfrc (if you're on Linux) to compile resources to COFF/ELF objects which you can then combine with your Haskell object files to form the final executable. You can then access resources using Haskell FFI like this (not tested):