Informing the end-users about best practices for packaging Haskell code with(out) non-portable C flags.
Open
documentation
re: user experience
type: user-question
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
Some package authors will want to enable C flags for their FFI C code in order to get good performance (or avoid terrible performance) by default for their users. However some of these flags are not portable across compilers and versions.
`-march=native` for instance, gives a solid performance boost, but is unsuitable for distributing binaries. We should probably encourage the pattern of having a `cabal.project` for local development and a `cabal.release.project` file that enables it.
This information would be located in the user guide's *How to package Haskell code* section.
Contributor guide
Assessment
This issue has not been assessed yet.