A type system associates a type with each computed value. By examining the flow of these values, a type system attempts to ensure or prove that no type errors can occur. The particular type system in question determines exactly what constitutes a type error, but in general the aim is to prevent operations expecting a certain kind of value being used with values for which that operation does not make sense; memory errors will also be prevented.
more from Wikipedia
Haskell (programming language)
Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the primary control construct is the function.
more from Wikipedia
Expression (mathematics)
In mathematics, an expression is a finite combination of symbols that is well-formed according to rules that depend on the context. Symbols can designate numbers, variables, operations, functions, and other mathematical symbols, as well as punctuation, symbols of grouping, and other syntactic symbols.
more from Wikipedia
Data type
In certain technical fields, a data type is a classification identifying one of various types of data, such as real-valued, integer or Boolean, that determines the possible values for that type; the operations that can be done on values of that type; the meaning of the data; and the way values of that type can be stored.
more from Wikipedia
Dynamic programming language
This article is about a class of programming languages, for the method for reducing the runtime of algorithms, see Dynamic programming. Dynamic programming language is a term used broadly in computer science to describe a class of high-level programming languages that execute at runtime many common behaviors that other languages might perform during compilation, if at all.
more from Wikipedia
Value (computer science)
In computer science, a value is an expression which cannot be evaluated any further. The members of a type are the values of that type. For example, the expression "1 + 2" is not a value as it can be reduced to the expression "3". This expression cannot be reduced any further (and is a member of the type Nat) and therefore is a value. The "value of a variable" is given by the corresponding mapping in the environment.
more from Wikipedia
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely. The earliest programming languages predate the invention of the computer, and were used to direct the behavior of machines such as Jacquard looms and player pianos.
more from Wikipedia
Universal quantification
In predicate logic, universal quantification formalizes the notion that something is true for everything, or every relevant thing. The resulting statement is a universally quantified statement, and we have universally quantified over the predicate. In symbolic logic, the universal quantifier (typically, U+2200 ∀, a turned A) is the symbol used to denote universal quantification, and is often informally read as "given any" or "for all".
more from Wikipedia