F-bounded Polymorphism
   HOME





F-bounded Polymorphism
In type theory, bounded quantification (also bounded polymorphism or constrained genericity) refers to universal or existential quantifiers which are restricted ("bounded") to range only over the subtypes of a particular type. Bounded quantification is an interaction of parametric polymorphism with subtyping. Bounded quantification has traditionally been studied in the functional setting of System F<:, but is available in modern s supporting ( generics) such as

Type Theory
In mathematics and theoretical computer science, a type theory is the formal presentation of a specific type system. 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 have been proposed as foundations are: * Typed λ-calculus of Alonzo Church * Intuitionistic type theory of Per Martin-Löf Most computerized proof-writing systems use a type theory for their foundation. A common one is Thierry Coquand's Calculus of Inductive Constructions. History Type theory was created to avoid paradoxes in naive set theory and formal logic, such as Russell's paradox which demonstrates that, without proper axioms, it is possible to define the set of all sets that are not members of themselves; this set both contains itself and does not contain itself. Between 1902 and 1908, Bertrand Russell proposed various solutions to this problem. By 1908, Russell arrive ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Curiously Recurring Template Pattern
The curiously recurring template pattern (CRTP) is an idiom, originally in C++, in which a class X derives from a class template instantiation using X itself as a template argument. More generally it is known as F-bound polymorphism, and it is a form of ''F''-bounded quantification. History The technique was formalized in 1989 as "''F''-bounded quantification." The name "CRTP" was independently coined by Jim Coplien in 1995, who had observed it in some of the earliest C++ template code as well as in code examples that Timothy Budd created in his multiparadigm language Leda. It is sometimes called "Upside-Down Inheritance" due to the way it allows class hierarchies to be extended by substituting different base classes. The Microsoft Implementation of CRTP in Active Template Library (ATL) was independently discovered, also in 1995, by Jan Falkin, who accidentally derived a base class from a derived class. Christian Beaumont first saw Falkin's code and initially thought it coul ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Portland Pattern Repository
The Portland Pattern Repository (PPR) is an online repository for computer programming software design patterns. It was accompanied by the website WikiWikiWeb, the world's first wiki. The repository has an emphasis on extreme programming, and is hosted by Cunningham & Cunningham (C2) of Portland, Oregon. The PPR's motto is "People, Projects & Patterns". History On 17 September 1987, programmer Ward Cunningham with Tektronix and Apple Computer's Kent Beck co-published the paper "Using Pattern Languages for Object-Oriented Programs" This paper, about software design patterns, was inspired by Christopher Alexander's architectural concept of "patterns" It was written for the 1987 OOPSLA programming conference organized by the Association for Computing Machinery. Cunningham and Beck's idea became popular among programmers because it helped them exchange programming ideas in an easy to understand format. Cunningham & Cunningham, the programming consultancy that would eventually ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Don Syme
Don Syme is an Australian computer scientist and a Principal Researcher at Microsoft Research, Cambridge, U.K. He is the designer and architect of the F Sharp (programming language), F# programming language, described by a reporter as being regarded as "the most original new face in computer languages since Bjarne Stroustrup developed C++ in the early 1980s."Syme, Don"Interview with Don Syme" ''Simple Talk'', 19 January 2010. Earlier, Syme created Generic programming#Generic programming in C.23 and .NET, generics in the .NET Common Language Runtime, including the initial design of generics for the C Sharp (programming language), C# programming language, along with others including Andrew Kennedy and later Anders Hejlsberg. Kennedy, Syme and Dachuan Yu also formalized this widely used system. He holds a Ph.D. from the University of Cambridge, and is a member of the International_Federation_for_Information_Processing, IFIP working group on functional programming. He is a co-auth ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Andrew Kennedy (computer Scientist)
Andrew Kennedy may refer to: *Andrew Kennedy (American politician) (1810–1847), U.S. Representative from Indiana * Andrew Kennedy (Canadian politician) (1842–1904), contractor and politician from Quebec *Andrew Kennedy, cover name for Andrzej Kowerski (1912–1988), Polish Army officer and SOE agent in World War II * Andrew Karpati Kennedy (1931–2016), Hungarian-born British author and literary critic * Andrew Kennedy (cricketer, born 1949), English cricketer * Andrew Kennedy (basketball) (born 1965), American-Jamaican basketball player *Andrew Kennedy (cricketer, born 1975) Andrew Kennedy (born 10 January 1975) is an English cricketer. Kennedy is a right-handed batsman who bowls right-arm medium-fast. He was born in Colchester, Essex. Kennedy represented the Essex Cricket Board in three List A matches. These c ..., English cricketer * Andrew Kennedy (tenor) (born 1977), English tenor See also * Andy Kennedy (other) {{hndis, Kennedy, Andrew ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Philip Wadler
Philip Lee Wadler (born April 8, 1956) is a UK-based American computer scientist known for his contributions to programming language design and type theory. He holds the position of Personal Chair of theoretical computer science at the Laboratory for Foundations of Computer Science at the School of Informatics, University of Edinburgh. He has contributed to the theory behind functional programming and the use of monads; and the designs of the purely functional language Haskell and the XQuery declarative query language. In 1984, he created the Orwell language. Wadler was involved in adding generic types to Java 5.0. He is also author of "Theorems for free!", a paper that gave rise to much research on functional language optimization (see also Parametricity). Education Wadler received a Bachelor of Science degree in mathematics from Stanford University in 1977, and a Master of Science degree in computer science from Carnegie Mellon University in 1979. He completed his Doctor ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

David Stoutamire
David (; , "beloved one") was a king of ancient Israel and Judah and the third king of the United Monarchy, according to the Hebrew Bible and Old Testament. The Tel Dan stele, an Aramaic-inscribed stone erected by a king of Aram-Damascus in the late 9th/early 8th centuries BCE to commemorate a victory over two enemy kings, contains the phrase (), which is translated as "House of David" by most scholars. The Mesha Stele, erected by King Mesha of Moab in the 9th century BCE, may also refer to the "House of David", although this is disputed. According to Jewish works such as the ''Seder Olam Rabbah'', ''Seder Olam Zutta'', and ''Sefer ha-Qabbalah'' (all written over a thousand years later), David ascended the throne as the king of Judah in 885 BCE. Apart from this, all that is known of David comes from biblical literature, the historicity of which has been extensively challenged,Writing and Rewriting the Story of Solomon in Ancient Israel; by Isaac Kalimi; page 32; Cambr ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Martin Odersky
Martin Odersky (born 5 September 1958) is a German computer scientist and professor of programming methods at École Polytechnique Fédérale de Lausanne (EPFL) in Switzerland. He specializes in code analysis and programming languages. He spearheaded the design of Scala and Generic Java (and Pizza before). In 1989, he received his Ph.D. from ETH Zurich under the supervision of Niklaus Wirth, who is best known as the designer of several programming languages, including Pascal. He did postdoctoral work at IBM and Yale University. In 1997, he implemented the GJ compiler, and his implementation became the basis of javac, the Java compiler. In 2001, he and others began working on Scala which had its first public release in 2004. In 2007, he was inducted as a Fellow of the Association for Computing Machinery. On 12 May 2011, Odersky and collaborators launched Typesafe Inc. (renamed Lightbend Inc., ), a company to provide commercial support, training, and services for Scala. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Gilad Bracha
Gilad Bracha (Hebrew: גלעד ברכה) is a software engineer at F5, and formerly at Google, where he was on the Dart programming language team. He is creator of the Newspeak language, and co-author of the second and third editions of the Java Language Specification, and a major contributor to the second edition of the Java Virtual Machine Specification. Between 1994 and 1997, he worked on the Smalltalk system developed by Animorphic Systems, a company that was bought by Sun in 1997. From 1997 to 2006, he worked at Sun Microsystems as computational theologist and, as of 2005, distinguished engineer, on various aspects of the specification and implementation of Java. Following that, he was distinguished engineer at Cadence Design Systems from 2006 to 2009, where he led a team of developers designing and implementing Newspeak. Bracha received his B.Sc. in mathematics and computer science from Ben Gurion University in Israel and his Ph.D. in computer science from the University ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Benjamin C
Benjamin ( ''Bīnyāmīn''; "Son of (the) right") blue letter bible: https://www.blueletterbible.org/lexicon/h3225/kjv/wlc/0-1/ H3225 - yāmîn - Strong's Hebrew Lexicon (kjv) was the younger of the two sons of Jacob and Rachel, and Jacob's twelfth and youngest son overall in Jewish, Christian and Islamic tradition. He was also considered the progenitor of the Israelite Tribe of Benjamin. Unlike Rachel's first son, Joseph, Benjamin was born in Canaan according to biblical narrative. In the Samaritan Pentateuch, Benjamin's name appears as "" (Samaritan Hebrew: , "son of days"). In the Quran, Benjamin is referred to as a righteous young child, who remained with Jacob when the older brothers plotted against Joseph. Later rabbinic traditions name him as one of four ancient Israelites who died without sin, the other three being Chileab, Jesse and Amram. Name The name is first mentioned in letters from King Sîn-kāšid of Uruk (1801–1771 BC), who called himself “King of Amnanum ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




William Olthoff
William is a masculine given name of Germanic origin. It became popular in England after the Norman conquest in 1066,All Things William"Meaning & Origin of the Name"/ref> and remained so throughout the Middle Ages and into the modern era. It is sometimes abbreviated "Wm." Shortened familiar versions in English include Will or Wil, Wills, Willy, Willie, Bill, Billie, and Billy. A common Irish form is Liam. Scottish diminutives include Wull, Willie or Wullie (as in Oor Wullie). Female forms include Willa, Willemina, Wilma and Wilhelmina. Etymology William is related to the German given name ''Wilhelm''. Both ultimately descend from Proto-Germanic ''*Wiljahelmaz'', with a direct cognate also in the Old Norse name ''Vilhjalmr'' and a West Germanic borrowing into Medieval Latin ''Willelmus''. The Proto-Germanic name is a compound of *''wiljô'' "will, wish, desire" and *''helmaz'' "helm, helmet".Hanks, Hardcastle and Hodges, ''Oxford Dictionary of First Names'', Oxford Univers ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Walter L
Walter may refer to: People and fictional characters * Walter (name), including a list of people and fictional and mythical characters with the given name or surname * Little Walter, American blues harmonica player Marion Walter Jacobs (1930–1968) * Gunther (wrestler), Austrian professional wrestler and trainer Walter Hahn (born 1987), who previously wrestled as "Walter" * Walter, standard author abbreviation for Thomas Walter (botanist) ( – 1789) * "Agent Walter", an early codename of Josip Broz Tito * Walter, pseudonym of the anonymous writer of '' My Secret Life'' * Walter Plinge, British theatre pseudonym used when the original actor's name is unknown or not wished to be included * John Walter (businessman), Canadian business entrepreneur Companies * American Chocolate, later called Walter, an American automobile manufactured from 1902 to 1906 * Walter Energy, a metallurgical coal producer for the global steel industry * Walter Aircraft Engines, Czech manufacturer of aero ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]