Typing lexicon
2022-07-28
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.
Weakly typed
Static type
Type inference
Parameterized Type
Polymorphic type
Duck typing
Subtyping
Nominal vs structural subtyping
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)
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