Vector
:Vector
of Int
s? In the current approach, it would require us to create another class just for this purpose. We can, however, add a type parameter to the Vector
class:Real
s, Int
s, Bool
s etc.a
(such as supporting arithmetic operations, or having defined some other methods). Once you use such properties, Luna typechecker automatically keeps track of them and checks whether they are satisfied. For example:dotProduct
method will work with any elements supporting addition and multiplication, so using it with Int
s or Real
s is fine, while using it with Text
results in a type error.