I’m using this linter for teaching for two years, and I’m very happy that I implemented it. Student’s code is much less annoying to read
Release 1.1.0
- #22: Add ‘reviewer’ tool to report lint’s a Github review.
- #13: Discourage matching a tuple using ‘match’ expression with single branch
match x with (a,b) -> ...
- #18: Warn about unneeded mutually recursive types
- #23: Implement a trial version of the Fix module for auto-correction of lints.
It produces a diff that could be applied later. Dune support is lacking - Add command line switch ‘-skip-level-allow ’ to enable/disable lints
with level=Allow. False has higher priority than per-lint command line switch
(for example,-no-string_concat
) - #28: Warn about too many nested
if
expressions. - #32: Warn about constructor names that hide default constructor names
- #35: Detect manual implementations of List.map/fold functions
- #50: Propose eta reduction when available
- #51: Warn about pattern matching on boolean values
- #53: Warn about
"%s"
in formatted strings - #54: Detection of unused public declarations in .mli file.
- #56: Simplify lint about missing license. We look for required doc-comments anywhere in the file, not only in the beginning.
- #60: Skip some checks for some source files (configured via ‘.zanuda’ config file).
- #15: Split ‘string_concat’ lint to check separately patterns ‘a^b^c’ (level=Allow) and ‘List.fold_left (^)’ (level=Warn).