Type systemIn 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). Usually the terms are various constructs of a computer program, such as variables, expressions, functions, or modules. A type system dictates the operations that can be performed on a term. For variables, the type system determines the allowed values of that term.
Dependent typeIn 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 types are used to encode logic's quantifiers like "for all" and "there exists". In functional programming languages like Agda, ATS, Coq, F*, Epigram, and Idris, dependent types help reduce bugs by enabling the programmer to assign types that further restrain the set of possible implementations.
Data typeIn computer science and computer programming, a data type (or simply type) is a collection or grouping of data values, usually specified by a set of possible values, a set of allowed operations on these values, and/or a representation of these values as machine types. A data type specification in a program constrains the possible values that an expression, such as a variable or a function call, might take. On literal data, it tells the compiler or interpreter how the programmer intends to use the data.
Type theoryIn mathematics, logic, and computer science, a type theory is the formal presentation of a specific type system, and in general, type theory is the academic study of type systems. Some type theories serve as alternatives to set theory as a foundation of mathematics. Two influential type theories that were proposed as foundations are Alonzo Church's typed λ-calculus and Per Martin-Löf's intuitionistic type theory. Most computerized proof-writing systems use a type theory for their foundation, a common one is Thierry Coquand's Calculus of Inductive Constructions.
Romance languagesThe Romance languages, sometimes referred to as Latin languages or Neo-Latin languages, are numerous modern languages that evolved from Late Latin and its spoken form, often called Vulgar Latin. They are the only extant subgroup of the Italic languages branch of the Indo-European language family. The five most widely spoken Romance languages by number of native speakers are Spanish (489 million), Portuguese (283 million), French (80 million), Italian (67 million) and Romanian (24 million), which are all national languages of their respective countries of origin.
Franco-ProvençalFranco-Provençal (also Francoprovençal, Patois or Arpitan) is a language within Gallo-Romance originally spoken in east-central France, western Switzerland and northwestern Italy. Franco-Provençal has several distinct dialects and is separate from but closely related to neighbouring Romance dialects (the langues d'oïl and the langues d'oc, in France, as well as Rhaeto-Romance in Switzerland and Italy). Even with all its distinct dialects counted together, the number of Franco-Provençal speakers has been declining significantly and steadily.
FranceFrance (fʁɑ̃s), officially the French Republic (République française ʁepyblik fʁɑ̃sɛz), is a country located primarily in Western Europe. It also includes overseas regions and territories in the Americas and the Atlantic, Pacific and Indian Oceans, giving it one of the largest discontiguous exclusive economic zones in the world. Its metropolitan area extends from the Rhine to the Atlantic Ocean and from the Mediterranean Sea to the English Channel and the North Sea; overseas territories include French Guiana in South America, Saint Pierre and Miquelon in the North Atlantic, the French West Indies, and many islands in Oceania and the Indian Ocean.