Improve frontend usability as a library
I need a few additional functions exported and/or generalized. They are mostly concerned with starting the compilation or emitting status information.
This MR changes:
- Bumps GHC and stack resolver to ghc-9.2. Some libraries shipped with GHC are also updated of course.
- Fixes a few warnings. Mostly
-Wincomplete-uni-patterns
. - Accepts a few sensible hints from HLint
- Derives
Binary
automatically viaGeneric
to prevent incorrect instances - Adds a binary output target for typed flat curry, to reduce read/write efforts
- Exports:
- defaultCppOpts
- parseOpts
- processPragmas
- adjustOptions
- smake
- compMessage
- transModule
- writeFlat
- writInterface
- dumpWith
- generalizes the type of
smake
andcompMessage
and also adds another argument tocompMessage
to configure padding of messages. - Removes and adds whitespace to be consistent
The frontend still compiles both as a library and an executable But admittedly, I have not executed the tests yet.