- Fields of mathematics
- >
- Mathematical logic
- >
- Type theory
- >
- Type systems

- Mathematical concepts
- >
- Mathematical structures
- >
- Type theory
- >
- Type systems

- Mathematical logic
- >
- Logic in computer science
- >
- Type theory
- >
- Type systems

- Mathematical objects
- >
- Mathematical structures
- >
- Type theory
- >
- Type systems

- Mathematics of computing
- >
- Logic in computer science
- >
- Type theory
- >
- Type systems

- Philosophy of mathematics
- >
- Mathematical logic
- >
- Type theory
- >
- Type systems

- Theoretical computer science
- >
- Logic in computer science
- >
- Type theory
- >
- Type systems

Comparison of programming languages by type system

This is a comparison of the features of the type systems and type checking of multiple programming languages. Brief definitions
* A nominal type system means that the language decides whether types a

Session type

In type theory, session types are used to ensure correctness in concurrent programs. They guarantee that messages sent and received between concurrent programs are in the expected order and of the exp

Nominal type system

In computer science, a type system is a nominal or nominative type system (or name-based type system) if compatibility and equivalence of data types is determined by explicit declarations and/or the n

Latent typing

In computer programming, latent typing refers to a type system where types are associated with values and not variables. An example latently typed language is Scheme. This typically requires run-time

Intersection type discipline

In mathematical logic, the intersection type discipline is a branch of type theory encompassing type systems that use the intersection type constructor to assign multiple types to a single term.In par

Liquid Haskell

Liquid Haskell is a program verifier for Haskell which allows developers to specify correctness properties by using refinement types. Properties are verified using an SMTLIB2-compliant SMT solver, suc

Security type system

In computer science, a type system can be described as a syntactic framework which contains a set of rules that are used to assign a type property (int, boolean, char etc.) to various components of a

Type inference

Type inference refers to the automatic detection of the type of an expression in a formal language. These include programming languages and mathematical type systems, but also natural languages in som

Manifest typing

In computer science, manifest typing is explicit identification by the software programmer of the type of each variable being declared. For example: if variable X is going to store integers then its t

Multi-stage programming

Multi-stage programming (MSP) is a variety of metaprogramming in which compilation is divided into a series of intermediate phases, allowing typesafe run-time code generation.Statically defined types

Inheritance (object-oriented programming)

In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototype-based inheritance) or class (class-based inheritance), retaining similar implem

Dependent type

In computer science and logic, a dependent type is a type whose definition depends on a value. It is an overlapping feature of type theory and type systems. In intuitionistic type theory, dependent ty

Flow-sensitive typing

In programming language theory, flow-sensitive typing (also called flow typing or occurrence typing) is a type system where the type of an expression depends on its position in the control flow. In st

Type system

In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type to every "term" (a word, phrase, or other set of symbols). Usually the terms

Strong and weak typing

In computer programming, one of the many ways that programming languages are colloquially classified is whether the language's type system makes it strongly typed or weakly typed (loosely typed). Howe

Structural type system

A structural type system (or property-based type system) is a major class of type systems in which type compatibility and equivalence are determined by the type's actual structure or definition and no

Intersection type

In type theory, an intersection type can be allocated to values that can be assigned both the type and the type . This value can be given the intersection type in an intersection type system.Generally

Gradual typing

Gradual typing is a type system in which some variables and expressions may be given types and the correctness of the typing is checked at compile time (which is static typing) and some expressions ma

Hindley–Milner type system

A Hindley–Milner (HM) type system is a classical type system for the lambda calculus with parametric polymorphism. It is also known as Damas–Milner or Damas–Hindley–Milner. It was first described by J

Refinement type

In type theory, a refinement type is a type endowed with a predicate which is assumed to hold for any element of the refined type. Refinement types can express preconditions when used as function argu

© 2023 Useful Links.