Verse admite dar a un tipo otro nombre que pueda utilizarse para referirse al mismo tipo subyacente. Esto se conoce como un alias de tipo. La sintaxis es muy parecida a la inicialización de constantes, ya que es básicamente lo mismo, pero con tipos en lugar de valores.
Por ejemplo, para darle un alias a float, podrías utilizar la siguiente sintaxis:
number := float
Esto te permite acortar algunas firmas de tipo. Por ejemplo, en lugar del siguiente código:
RotateInts(X : tuple(int, int, int)) : tuple(int, int, int) =
( X(3), X(1), X(2))
se podría introducir un alias para la tupla de la siguiente manera:
int_triple := tuple(int, int, int)
RotateInts(X : int_triple) : int_triple =
(X(3), X(1), X(2))
Esto es especialmente útil en combinación con los tipos de función. Por ejemplo:
int_predicate := type{_(:int)<transacts><decides> : void}
Filter(X : []int, F : int_predicate) : []int =
for (Y : X, F[Y]):
Y
Ten en cuenta que Verse actualmente no admite alias de tipos paramétricos.
Por ejemplo:
predicate(t : type) := type{_(:t)<transacts><decides> : void}
no se admite.