en.unionpedia.org

Structural type system, the Glossary

Index 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 not by other characteristics such as its name or place of declaration.[1]

Table of Contents

  1. 12 relations: Algebraic data type, Dichotomy, Duck typing, Go (programming language), Haskell, Haxe, Interface (object-oriented programming), Nominal type system, OCaml, Subtyping, Type system, WikiWikiWeb.

  2. Type systems

Algebraic data type

In computer programming, especially functional programming and type theory, an algebraic data type (ADT) is a kind of composite type, i.e., a type formed by combining other types.

See Structural type system and Algebraic data type

Dichotomy

A dichotomy is a partition of a whole (or a set) into two parts (subsets).

See Structural type system and Dichotomy

Duck typing

In computer programming, duck typing is an application of the duck test—"If it walks like a duck and it quacks like a duck, then it must be a duck"—to determine whether an object can be used for a particular purpose.

See Structural type system and Duck typing

Go (programming language)

Go is a statically typed, compiled high-level programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson.

See Structural type system and Go (programming language)

Haskell

Haskell is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation.

See Structural type system and Haskell

Haxe

Haxe is a high-level cross-platform programming language and compiler that can produce applications and source code for many different computing platforms from one code-base.

See Structural type system and Haxe

Interface (object-oriented programming)

In object-oriented programming, an interface or protocol type is a data type that acts as an abstraction of a class.

See Structural type system and Interface (object-oriented programming)

Nominal type system

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

See Structural type system and Nominal type system

OCaml

OCaml (formerly Objective Caml) is a general-purpose, high-level, multi-paradigm programming language which extends the Caml dialect of ML with object-oriented features.

See Structural type system and OCaml

Subtyping

In programming language theory, subtyping (also called subtype polymorphism or inclusion polymorphism) is a form of type polymorphism.

See Structural type system and Subtyping

Type system

In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a ''type'' (for example, integer, floating point, string) to every term (a word, phrase, or other set of symbols). Structural type system and type system are type systems.

See Structural type system and Type system

WikiWikiWeb

The WikiWikiWeb is the first wiki, or user-editable website.

See Structural type system and WikiWikiWeb

See also

Type systems

References

[1] https://en.wikipedia.org/wiki/Structural_type_system

Also known as Structural subtyping, Structural type, Structural typing.