package zanuda

  1. Overview
  2. Docs

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
OCaml

Innovation. Community. Security.