Modern Haskell → C translation approaches?
Haskell Community [Unofficial]
April 17, 2026
GHC’s “unregisterised” C backend should still work. However, you don’t pass -fvia-C option to GHC – GHC itself needs to be built for the C backend. This means, you need to build GHC yourself.
The -fvia-C option was used for the “registerised” C backend that existed on GHC <= 7.0.
If the compatibility with GHC is not important, you might want to try MicroHs, which bootstraps with a C compiler according to its document.
Discussion in the ATmosphere