Dmitrii Kovanikov
Dmitrii Kovanikov
A few improvements to our tests to make them more robust and maintainable: - [ ] Put each inspection test into a separate module - [ ] Put a JSON...
If you have a function of type: ```haskell foo :: MonadIO m => m a ``` then the following specializations are either useless or too restrictive: ```haskell {-# SPECIALIZE foo...
If HIE files track this information, we can advice using `SPECIALIZE` pragmas for some functions (for example, that polymorphic over `MonadIO`, `Num` or `IsString` constraints)
Currently, binaries are dynamically linked. But it would be nice to link them statically. Ideally, using the `musl` environment.
Some Inspections have their own unique configuration settings. A few examples: * [STAN-0212](../wiki/All-Inspections#STAN-0212) has a list of functions, and it might be desirable to disable/enable only some of them *...
- [ ] Use `-O2` optimization - [ ] Add `--enable-split-sections` flag to `cabal` for smaller binaries - [ ] Produce static binaries with cabal
We actually already count this information: https://github.com/kowainik/stan/blob/ff2963b8e409de0bf0f0fb0d8418bdf9fcd313b3/src/Stan/Analysis/Summary.hs#L34-L35 We need to come up with the output design and display this information in the output eventually.
Some extensions can be defined in both `.cabal` and module. In that case we can warn on redundant extensions in modules, if they are already defined in `default-extensions`.
In some cases, we can suggest using new Garbage collector starting from GHC-8.10 (e.g. if we detect web-server dependencies or game programming deps). Or, simply, we can suggest using it...
Some people can accidentally use dangerous libraries (e.g. libraries starting with `acme-`). Stan can notify on some dangerous, wrong or misbehaved libraries.