Verse bir türe, altta yatan aynı türe başvurmak için kullanılabilecek başka bir ad vermeyi destekler. Bu kavram tür diğer adı olarak bilinir. Sözdizimi temelde aynı şey olduğu için sabit başlatma ile benzerdir ancak değerler yerine türleri kullanır.
Örneğin, float
türüne bir diğer ad vermek için aşağıdaki sözdizimi kullanılabilir:
number := float
Bazı tür imzalarını kısaltmak için bunu kullanabilirsin. Örneğin, aşağıdaki kodu yazmak yerine:
RotateInts(X : tuple(int, int, int)) : tuple(int, int, int) =
( X(3), X(1), X(2))
demet için şunun gibi bir diğer ad tanımlanabilir:
int_triple := tuple(int, int, int)
RotateInts(X : int_triple) : int_triple =
(X(3), X(1), X(2))
Bunun yapılması özellikle fonksiyon türleriyle birlikte faydalıdır. Örneğin,
int_predicate := type{_(:int)<transacts><decides> : void}
Filter(X : []int, F : int_predicate) : []int =
for (Y : X, F[Y]):
Y
Verse şu anda parametrik tür diğer adlarını desteklemez.
Örneğin,
predicate(t : type) := type{_(:t)<transacts><decides> : void}
desteklenmez.