Legend:
Library
Module
Module type
Parameter
Class
Class type
Manage filters
Filters are a small language of formulas over strings and booleans used for conditions and text replacements. It has relational operators over strings (using version-number comparison), And, Or and Not boolean operations, dynamic casting (using strings "true" and "false"), and string interpolation. Variables are resolved using a user function returning an option, undefined values are propagated.
String interpolation uses the syntax '%dentifier%'
Identifiers have the form
[package:]var[?str_if_true:str_if_false_or_undef]v}.
The last optional part specifies a conversion from boolean to static strings.
The syntax [pkg1+pkg2+pkgn:var] is allowed as a shortcut to
[pkg1:var & pkg2:var & pkgn:var].
The special variable [pkg:enable] is allowed as a shortcut for
[pkg:installed?enable:disable]
Same as eval_to_bool, but takes an option as filter and returns always true on None, false when the filter is Undefined. This is the most common behaviour for using "filters" for filtering