any
any
is the practical abstract root of the Avail type lattice. It is the second most senior type, inferior only to ⊤
. It includes every value available to an Avail program. The only value that is not an instance of any
is the unexposed special value nil
.
any
is made extremely useful by semantic restrictions. Many algorithms can be codified once in terms of any
, or some type parameterized by any
, and then strengthened via a semantic restriction that extrapolates a stronger result type from the argument types.
any
is the most general type that may appear in the following contexts:
- As a parameter type of a function definition or function type.
- As the read type of a variable type.
- As a leading type or the default type of a tuple type.
- As the element type of a set type.
- As the key type or value type of a map type.
- As the attribute value type of an object type.
- As the type parameter of a POJO type.
‹ ⊤ (top) |
| | Return to Type System | | | type › |