package zanuda

  1. Overview
  2. Docs
Linter for OCaml+dune projects

Install

dune-project
 Dependency

Authors

Maintainers

Sources

zanuda-2.0.0.tbz
sha256=0108d8d6e6e23bfe5e5cdade27ae434db921ed4b6f522ea71800f14a7662230e
sha512=c8d633f4083867dfc73caf3b51b63c8c01771f5c286aa0a8357861044448e0b55df38eb695b997df470267ec921adae6f86c73d251fb3e965ac83ebb2c6b856c

doc/zanuda.core/Zanuda_core/LINT/index.html

Module Zanuda_core.LINT

Module types for program tree analyzers

type impl =
  1. | Untyped
  2. | Typed

A type of lint's implementation. Typed and untyped lints inspect OCaml's Parsetree/Typedtree respectively. In Clippy it corresponds to early and late lint passes.

type group =
  1. | Style
    (*

    Code that should be written in a more idiomatic way

    *)
  2. | Correctness
    (*

    Code that is outright wrong or useless

    *)
  3. | Perf
    (*

    Code that can be written to run faster

    *)
  4. | Restriction
  5. | Deprecated
  6. | Pedantic
    (*

    Lints which are rather strict or might have false positives

    *)
  7. | Complexity
  8. | Suspicious
  9. | Nursery
    (*

    New lints that are still under development

    *)

Group of lints. The same as Rust's Clippy

type level =
  1. | Allow
  2. | Warn
  3. | Deny
  4. | Deprecated

Level of lints. The same as Rust's Clippy

type lint_source =
  1. | Camelot
    (*

    Adopted from Camelot linter

    *)
  2. | Clippy
    (*

    Adopted from Rust's Clippy

    *)
  3. | FPCourse
    (*

    Invented after reviewing Kakadu's student's OCaml homeworks

    *)
  4. | Other
    (*

    The source is not specified

    *)

How various lints were invented

module type GENERAL = sig ... end
module type UNTYPED = sig ... end
module type TYPED = sig ... end
module type UNUSED_DECLS = sig ... end
module type REPORTER = sig ... end