Types
VCL is a statically typed language.
Some familiar primitive types like FLOAT
, BOOL
, INTEGER
and STRING
are provided for scalar values, and may be assigned values from literals.
Other types represent scalar values but in a more complex format or are expressed with a unit, like TIME
and RTIME
.
These types all have implicit conversions to strings, such that their values may be used in contexts where a STRING
value is necessary.
In addition to scalar types, VCL supports a number of types with special semantics that are particular to built in data structures, like IP
, and ACL
.
Available types
Not set
STRING
and IP
types may be not set
(as opposed to being set to the empty string), in which case the variable is considered to have no value. Various functions and operators treat not set
differently; some render them as the empty string, and some as "(null)"
. This handling is a property of the function (or operator), rather than a property of the type.