Tuples
Lists are good for when we want a collection of one type, but sometimes we want to combine multiple values of different types. In this case tuples are a quick and convenient option.
The tuple access syntax can be used to get elements from a tuple without
pattern matching. some_tuple.0
gets the first element,
some_tuple.1
gets the second element, etc.
Tuples are generic types, they have type parameters for the types they
contain. #(1, "Hi!")
has the type #(Int, String)
,
and #(1.4, 10, 48)
has the type #(Float, Int, Int)
.
Tuples are most commonly used to return 2 or 3 values from a function. Often it is clearer to use a custom type where a tuple could be used. We will cover custom types next.