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;
D
D features type aliasing using the alias keyword. alias Distance = int;
Dart
Dart features type aliasing using the typedef keyword. typedef Distance = int;
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;