Add missing calling conventions to Template Haskell
Template Haskell only supports the CCall and StdCall calling conventions, while GHC supports more:
CApiConv, PrimCallConv and JavaScriptCallConv are missing, and I think they should just be added unless this is expected to lead to problems.
I'd personally like to have JavaScriptCallConv so I can remove the horrible hacks to make ghcjs-ffiqq (https://github.com/ghcjs/ghcjs-ffiqq) work. I imagine that PrimCallConv would be useful for a package using a similar approach for high performance inline assembly or LLVM with quasiquotes.
A small change in GHC required to convert the new constructors, and possibly to check if the required extension is enabled.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.9 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Core Libraries |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | core-libraries-committee@haskell.org |
| Operating system | |
| Architecture |