Predicate Language

The predicate language allows the user to define simple predicates (Boolean-valued functions) that Dune can evaluate. Here is a semiformal specification of the predicate language:

pred ::=  (and pred pred)
          (or pred pred)
          (not pred)
          :standard
          element

The exact meaning of :standard and the nature of element depend on the context. For example, in the case of the subdir, an element corresponds to file glob patterns. Another example is the user action with-accepted-exit-codes, where an element corresponds to a literal integer.