Any type

Any type represents a type whose value can assume another type at runtime after explicit casting.

Any types cannot be constructed directly. Any types can be created by the inferrer or through explicitly casting it to any.

Any types don’t contain nullability: any type can be casted to int null or to int not null but itself isn’t either null or not null.

The operations below apply to any types in the system.


Checks if expression is of a given type.



For example:

x := 1;
IS_TYPE(v, int) // true

v: any := 1
IS_TYPE(v, int) // true
IS_TYPE(v, string) // false


IS_TYPE not currently implemented.