Verse에서는 하나의 타입을 나타내는 데 사용하는 새로운 이름을 부여할 수 있습니다. 이를 타입 에일리어스 라고 합니다. 상수를 초기화할 때와 같은 구문을 사용하며, 값을 사용하는 대신 타입을 사용해 같은 작업을 하는 것입니다.
다음은 float 에 타입 에일리어스를 부여하는 구문입니다.
number := float
타입 시그니처를 짧게 줄이기 위해 타입 에일리어스를 사용할 수 있습니다. 예를 들어, 다음과 같이 작성하는 대신
RotateInts(X : tuple(int, int, int)) : tuple(int, int, int) =
( X(3), X(1), X(2))
튜플에 타입 에일리어스를 부여해 다음과 같이 작성할 수 있습니다.
int_triple := tuple(int, int, int)
RotateInts(X : int_triple) : int_triple =
(X(3), X(1), X(2))
타입 에일리어스는 함수 타입과 함께 사용하면 더 유용합니다. 예를 들면 다음과 같습니다.
int_predicate := type{_(:int)<transacts><decides> : void}
Filter(X : []int, F : int_predicate) : []int =
for (Y : X, F[Y]):
Y
Verse는 현재 파라미터 타입 에일리어스를 지원하지 않습니다.
예를 들면 다음과 같습니다.
predicate(t : type) := type{_(:t)<transacts><decides> : void}
위 코드는 지원하지 않습니다.