HOME





Fundamental Concepts In Programming Languages
''Fundamental Concepts in Programming Languages'' were an influential set of lecture notes written by Christopher Strachey for the International Summer School in Computer Programming at Copenhagen in August, 1967. It introduced much programming language terminology still in use today, including " R-value" and " L-value", " ad hoc polymorphism", " parametric polymorphism", and "referential transparency". The lecture notes were reprinted in 2000 in a special issue of '' Higher-Order and Symbolic Computation'' in memory of Strachey. Bibliography * * Also: See also * CPL (programming language) References External links Higher-Order and Symbolic ComputationVolume 13, Issue 1/2 (April 2000) ''Special Issue in memory of Christopher Strachey'' Fundamental Concepts In Programming Languagesat the Portland Pattern Repository Fundamental Concepts In Programming Languagesat the College of Information Sciences and Technology at Pennsylvania State University The Pennsy ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Lecture Notes
A lecture (from ) is an oral presentation intended to present information or teach people about a particular subject, for example by a university or college teacher. Lectures are used to convey critical information, history, background, theories, and equations. A politician's speech, a minister's sermon, or even a business person's sales presentation may be similar in form to a lecture. Usually the lecturer will stand at the front of the room and recite information relevant to the lecture's content. Though lectures are much criticised as a teaching method, universities have not yet found practical alternative teaching methods for the large majority of their courses. Critics point out that lecturing is mainly a one-way method of communication that does not involve significant audience participation but relies upon passive learning. Therefore, lecturing is often contrasted to active learning. Lectures delivered by talented speakers can be highly stimulating; at the very least ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Christopher Strachey
Christopher S. Strachey (; 16 November 1916 – 18 May 1975) was a British computer scientist. He was one of the founders of denotational semantics, and a pioneer in programming language design and computer time-sharing.F. J. Corbató, et al., The Compatible Time-Sharing System A Programmer's Guide' (MIT Press, 1963) . "the first paper on time-shared computers by C. Strachey at the June 1959 UNESCO Information Processing conference" He has also been credited as possibly being the first developer of a video game and for coining terms such as polymorphism and referential transparency that are still widely used by developers today. He was a member of the Strachey family, prominent in government, arts, administration, and academia. Early life and education Christopher Strachey was born on 16 November 1916 to Oliver Strachey and Rachel (Ray) Costelloe in Hampstead, England. Oliver Strachey was the son of Richard Strachey and the great-grandson of Sir Henry Strachey, 1st Baronet. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Value (computer Science)
In computer science and software programming, a value is the representation of some entity that can be manipulated by a program. The members of a type are the values of that type. The "value of a variable" is given by the corresponding mapping in the environment. In languages with assignable variables, it becomes necessary to distinguish between the ''r-value'' (or contents) and the ''l-value'' (or location) of a variable. In declarative (high-level) languages, values have to be referentially transparent. This means that the resulting value is independent of the location of the expression needed to compute the value. Only the contents of the location (the bits, whether they are 1 or 0) and their interpretation are significant. Value category Despite its name, in the C++ language standards this terminology is used to categorize expressions, not values. Assignment: l-values and r-values Some languages use the idea of l-values and r-values, deriving from the typical mod ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Ad Hoc Polymorphism
In programming languages, ad hoc polymorphismC. StracheyFundamental concepts in programming languages Lecture notes for International Summer School in Computer Programming, Copenhagen, August 1967 is a kind of polymorphism in which polymorphic functions can be applied to arguments of different types, because a polymorphic function can denote a number of distinct and potentially heterogeneous implementations depending on the type of argument(s) to which it is applied. When applied to object-oriented or procedural concepts, it is also known as function overloading or operator overloading. The term ad hoc in this context is not intended to be pejorative; it refers simply to the fact that this type of polymorphism is not a fundamental feature of the type system. This is in contrast to parametric polymorphism, in which polymorphic functions are written without mention of any specific type, and can thus apply a single abstract implementation to any number of types in a transparent way. T ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Parametric Polymorphism
In programming languages and type theory, parametric polymorphism allows a single piece of code to be given a "generic" type, using variables in place of actual types, and then instantiated with particular types as needed. Parametrically polymorphic functions and data types are sometimes called generic functions and generic datatypes, respectively, and they form the basis of generic programming. Parametric polymorphism may be contrasted with ad hoc polymorphism. Parametrically polymorphic definitions are ''uniform'': they behave identically regardless of the type they are instantiated at. In contrast, ad hoc polymorphic definitions are given a distinct definition for each type. Thus, ad hoc polymorphism can generally only support a limited number of such distinct types, since a separate implementation has to be provided for each type. Basic definition It is possible to write functions that do not depend on the types of their arguments. For example, the identity function \ma ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Referential Transparency
In analytic philosophy and computer science, referential transparency and referential opacity are properties of linguistic constructions, and by extension of languages. A linguistic construction is called ''referentially transparent'' when for any expression built from it, Rewriting, replacing a subexpression with another one that Denotation, denotes the same value does not change the value of the expression. Also: Otherwise, it is called ''referentially opaque''. Each expression built from a referentially opaque linguistic construction states something about a subexpression, whereas each expression built from a referentially transparent linguistic construction states something not about a subexpression, meaning that the subexpressions are ‘transparent’ to the expression, acting merely as ‘references’ to something else. For example, the linguistic construction ‘_ was wise’ is referentially transparent (e.g., ''Socrates was wise'' is equivalent to ''The founder of Weste ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Higher-Order And Symbolic Computation
''Higher-Order and Symbolic Computation'' (formerly ''LISP and Symbolic Computation'') was a computer science journal published by Springer Science+Business Media. It focuses on programming concepts and abstractions and programming language theory. The final issue appeared in 2013. Editors Former editors-in-chief of the journal have been: * Richard P. Gabriel, Sun Microsystems, Inc., USA (1988 – 1991) * Guy L. Steele Jr., Sun Microsystems, Inc., USA (1988 – 1991) * Robert R. Kessler, University of Utah, USA (1991 – 1998) The last editors-in-chief were Olivier Danvy (Aarhus University) and Carolyn Talcott (SRI International). Abstracting and indexing The journal is abstracted and indexed in Academic OneFile, ACM Computing Reviews, ACM Digital Library, Computer Abstracts International Database, Computer Science Index, Current Abstracts, EBSCO, EI-Compendex, INSPEC, io-port.net, PASCAL, Scopus, Summon by Serial Solutions, VINITI Database RAS, a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


CPL (programming Language)
CPL (Combined Programming Language) is a multi-paradigm programming language developed in the early 1960s. It is an early ancestor of the C language via the BCPL and B languages. Design CPL was developed initially at the Mathematical Laboratory at the University of Cambridge as the "Cambridge Programming Language" and later published jointly between Cambridge and the University of London Computer Unit as the "Combined Programming Language" (CPL was also nicknamed by some as "Cambridge Plus London" or "Christopher's Programming Language"). Christopher Strachey, David Barron and others were involved in its development. The first paper describing it was published in 1963, while it was being implemented on the Titan Computer at Cambridge and the Atlas Computer at London. It was heavily influenced by ALGOL 60, but instead of being extremely small, elegant and simple, CPL was intended for a wider application area than scientific calculations and was therefore much more complex and ...
[...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

Pennsylvania State University
The Pennsylvania State University (Penn State or PSU) is a Public university, public Commonwealth System of Higher Education, state-related Land-grant university, land-grant research university with campuses and facilities throughout Pennsylvania, United States. Founded in 1855 as Farmers' High School of Pennsylvania, Penn State was named the state's first land-grant university eight years later, in 1863. Its primary campus, known as Penn State University Park, is located in State College, Pennsylvania, State College and College Township, Pennsylvania, College Township. Penn State enrolls more than 89,000 students, of which more than 74,000 are undergraduates and more than 14,000 are postgraduates. In addition to its land-grant designation, the university is a National Sea Grant College Program, sea-grant, National Space Grant College and Fellowship Program, space-grant, and one of only six Sun Grant Association, sun-grant universities. It is Carnegie Classification of Instit ...
[...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]  


picture info

1967 In Computing
Events January * January 1 – Canada begins a year-long celebration of the 100th anniversary of Canadian Confederation, Confederation, featuring the Expo 67 World's Fair. * January 6 – Vietnam War: United States Marine Corps and Army of the Republic of Vietnam troops launch ''Operation Deckhouse Five'' in the Mekong Delta. * January 8 – Vietnam War: Operation Cedar Falls starts, in an attempt to eliminate the Iron Triangle (Vietnam), Iron Triangle. * January 13 – A military coup occurs in Togo under the leadership of Étienne Eyadema. * January 15 – Louis Leakey announces the discovery of pre-human fossils in Kenya; he names the species ''Proconsul nyanzae, Kenyapithecus africanus''. * January 23 ** In Munich, the trial begins of Wilhelm Harster, accused of the murder of 82,856 Jews (including Anne Frank) when he led German security police during the German occupation of the Netherlands. He is eventually sentenced to 15 years in prison. ** Milton Keynes in England is ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]