Module Modes.Predicate

A very crucial design points here is that the predicates are syntactic. They do not talk about the evaluation of the ordered set, but refer to what is written in the dune file, literally.

So, for example even if the evaluation of the :standard mode includes byte, evaluating: `mem `byte on the input (:standard) returns false.

The reason is that dunolint focuses on linting what the user writes in the dune files, as opposed to how dune interprets it.

type deprecated_names = [
  1. | `has_mode of [ `byte | `native | `best | `melange ]
  2. | `has_modes of [ `byte | `native | `best | `melange ] list
]

These names are deprecated and will be removed by a future upgrade. Do not use in new code and migrate at your earliest convenience. Use `mem instead.

type t = [
  1. | `mem of [ `byte | `native | `best | `melange ] list
  2. | deprecated_names
]
val equal : t -> t -> bool
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t