package zanuda

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

Install

Dune Dependency

Authors

Maintainers

Sources

v1.1.0.tar.gz
sha256=5b7deabdb016858a0e19ddfb7647f628a243065f88c5ae9f4c362500d51cea7a
sha512=ceb852103fbbb88b5eeb8130bc7aa8bffe7130df6645d3298e1bb9b8f7e8f6c7b323ccc474cf92a08d28e7b80e9a96d68fd53de2e51c7c0e7d8e3e82e436b4bc

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
OCaml

Innovation. Community. Security.