Type system
In programming languages, a type system is a logical system comprising a set of rules that assigns a property called a type to the various constructs of a computer program, such as variables, expressions, functions or modules. These types formalize and enforce the otherwise implicit categories the programmer uses for algebraic data types, data structures, or other components (e.g. "string", "array of float", "function returning boolean"). The main purpose of a type system is to reduce possibilities for bugs in computer programs by defining interfaces between different parts of a computer program, and then checking that the parts have been connected in a consistent way. This checking can happen statically (at compile time), dynamically (at run time), or as a combination of both.
Relations
e.g. Substructural type system
Substructural type systems are a family of type systems analogous to substructural logics where one o...
subtopic of Programming language
A programming language is a formal language comprising a set of instructions that produce various kin...
Edit details Edit relations Attach new author Attach new topic Attach new resource
Resources
treated in Counterexamples in Type Systems
The "counterexamples" here are programs that go wrong in ways that should be impossible: corrupt memo...
treated in Type-driven development with Idris
Type-Driven Development with Idris, written by the creator of Idris, teaches you how to improve the p...