Types¶
Tuples¶
A tuple type is defined similarly to a tuple expression. For example, given two types
a
and b
,
the type (a, b)
represents a tuple that consists of an element of type a
and
an element of type b
. For example (felt, felt)
may be used to represent a
(2-dimensional) point.
Cairo also supports named tuples, for example (x : felt, y : felt)
represents a tuple similar
to (felt, felt)
except that the two items are named x and y, respectively.
Used-defined type aliases¶
You can give a new alias for a type as follows:
using Point = (x : felt, y : felt)
Note that Point
is not a new type in this case – it is only an alias to
(x : felt, y : felt)
.
You can use Point
as an alias for this type.
For example, you may replace
local pt : (x : felt, y : felt) = (x=2, y=3)
with:
local pt : Point = (x=2, y=3)