Type aliasing is a feature in some programming languages that allows the creation to refer to a type using another name. It does not create a new type hence does not increase type safety. It can be used to shorten a long name. Programing languages which allows type aliasing include C++, D, Dart, Elixir, Elm, F#, Go, Hack, Haskell, Julia, Kotlin, Nim, Python, Rust, Scala, Swift and TypeScript.

Example

C++

C++ features type aliasing using the using keyword. using Distance = int;

Type aliasing

D

D features type aliasing using the alias keyword. alias Distance = int;

Type aliasing

Dart

Dart features type aliasing using the typedef keyword. typedef Distance = int;

Type aliasing

Elixir

Elixir features type aliasing using @type. @type Distance :: integer

Elm

Elm features type aliasing using type alias. type alias Distance = Int

F#

F3 features type aliasing using the type keyword. type Distance = int

Go

Go features type aliasing using the type keyword. type Distance int

Hack

Hack features type aliasing using the newtype keyword. newtype Distance = int;

Haskell

Haskell features type aliasing using the type keyword. type Distance = Int;

Julia

Julia features type aliasing. const Distance = Int

Kotlin

Kotlin features type aliasing using the typealias keyword. typealias Distance = Int

Nim

Nim features type aliasing. type Distance* = int

Python

Python features type aliasing using the typealias keyword. Vector = list[float]

Type aliases may be marked with TypeAlias to make it explicit that the statement is a type alias declaration, not a normal variable assignment.

from typing import TypeAlias

Vector: TypeAlias = list[float]

Rust

Rust features type aliasing using the type keyword. type Point = (u8, u8);

Scala

Swift can create type aliases using opaque types.

object Logarithms: opaque type Logarithm = Double

Swift

Swift features type aliasing using the typealias keyword.

typealias Distance = Int;

TypeScript

TypeScript features type aliasing using the type keyword.

type Distance = number;

References

Articles with example C++ code

Articles with example D code

Articles with example Haskell code

Articles with example Python (programming language) code

Articles with example Scala code

Programming constructs

Data types