Typing lexicon


Typecasting

Type coercion

Strongly typed

The fireworks around type systems have their roots in ordinary English, where people attach notions of value to the words “weak” and “strong”: we usually think of strength as better than weakness. Many more programmers speak plain English [1] than academic jargon, and quite often academics really are throwing brickbats at whatever type system doesn't suit their fancy. The result is often that popular Internet pastime, a flame war.

Real World Haskell

Weakly typed

Static type

Type inference

Parameterized Type

Polymorphic type

Duck typing

Subtyping

Nominal vs structural subtyping

mypy FAQ

Type constructor

Value constructor

Type synonym

Isomorphic types

Types with the same shape

Algebraic data type

Enumeration type

Algebraic data types also serve where we'd use an enum in C or C++, to represent a range of symbolic values. Such algebraic data types are sometimes referred to as enumeration types.

 -- Haskell Code
   data Roygbiv = Red
       | Orange
       | Yellow
       | Green
       | Blue
       | Indigo
       | Violet
       deriving (Eq, Show)

Real World Haskell

GADT

Recursive type

See also


(1) Other instances I've noticed where the plain English meaning differs from academic meaning is "impurity" and "elastic". Impurities are generally seen as a bad thing to be avoided but that's not always the case with materials / solutions.

Steel is more leastic than rubber

I'm maintaing a document with differences between programming languages. It can be viewed here