Can hc2hs be used to create hs files? How?
I did not find the answer in manuals, in search engines and in other projects (I had hopes for gtk2hs, but it turned out that it does not use cabal)
Yes, cabal understands that when you list the Foo module in your .cabal file and find Foo.hsc on disk, it must first run hsc2hs in the module.
Cabal transparently handles the existence of .hsc files.