HOME





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]  


picture info

Analytic Philosophy
Analytic philosophy is a broad movement within Western philosophy, especially English-speaking world, anglophone philosophy, focused on analysis as a philosophical method; clarity of prose; rigor in arguments; and making use of formal logic, mathematics, and to a lesser degree the natural sciences.Mautner, Thomas (editor) (2005) ''The Penguin Dictionary of Philosophy'', entry for "Analytic philosophy", pp. 22–23 It is further characterized by an interest in language, semantics and Meaning (philosophy), meaning, known as the linguistic turn. It has developed several new branches of philosophy and logic, notably philosophy of language, philosophy of mathematics, philosophy of science, modern predicate logic and mathematical logic. The proliferation of analysis in philosophy began around the turn of the 20th century and has been dominant since the latter half of the 20th century. Central figures in its historical development are Gottlob Frege, Bertrand Russell, G. E. Moore, and L ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Lazy Evaluation
In programming language theory, lazy evaluation, or call-by-need, is an evaluation strategy which delays the evaluation of an Expression (computer science), expression until its value is needed (non-strict evaluation) and which avoids repeated evaluations (by the use of Sharing (computer science), sharing). The benefits of lazy evaluation include: * The ability to define control flow (structures) as abstractions instead of Language primitive, primitives. * The ability to define actual infinity, potentially infinite data structures. This allows for more straightforward implementation of some algorithms. * The ability to define partly-defined data structures where some elements are errors. This allows for rapid prototyping. Lazy evaluation is often combined with memoization, as described in Jon Bentley (computer scientist), Jon Bentley's ''Writing Efficient Programs''. After a function's value is computed for that Parameter (computer programming), parameter or set of parameters, th ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Lambda Calculus
In mathematical logic, the lambda calculus (also written as ''λ''-calculus) is a formal system for expressing computability, computation based on function Abstraction (computer science), abstraction and function application, application using variable Name binding, binding and Substitution (algebra), substitution. Untyped lambda calculus, the topic of this article, is a universal machine, a model of computation that can be used to simulate any Turing machine (and vice versa). It was introduced by the mathematician Alonzo Church in the 1930s as part of his research into the foundations of mathematics. In 1936, Church found a formulation which was #History, logically consistent, and documented it in 1940. Lambda calculus consists of constructing #Lambda terms, lambda terms and performing #Reduction, reduction operations on them. A term is defined as any valid lambda calculus expression. In the simplest form of lambda calculus, terms are built using only the following rules: # x: A ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




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]  


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]  


picture info

Programming Language
A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually defined by a formal language. Languages usually provide features such as a type system, Variable (computer science), variables, and mechanisms for Exception handling (programming), error handling. An Programming language implementation, implementation of a programming language is required in order to Execution (computing), execute programs, namely an Interpreter (computing), interpreter or a compiler. An interpreter directly executes the source code, while a compiler produces an executable program. Computer architecture has strongly influenced the design of programming languages, with the most common type (imperative languages—which implement operations in a specified order) developed to perform well on the popular von Neumann architecture. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Variable (computer Science)
In computer programming, a variable is an abstract storage location paired with an associated symbolic name, which contains some known or unknown quantity of data or object referred to as a '' value''; or in simpler terms, a variable is a named container for a particular set of bits or type of data (like integer, float, string, etc...). A variable can eventually be associated with or identified by a memory address. The variable name is the usual way to reference the stored value, in addition to referring to the variable itself, depending on the context. This separation of name and content allows the name to be used independently of the exact information it represents. The identifier in computer source code can be bound to a value during run time, and the value of the variable may thus change during the course of program execution. Variables in programming may not directly correspond to the concept of variables in mathematics. The latter is abstract, having no reference ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Word And Object
''Word and Object'', philosopher Willard Van Orman Quine's most famous work, expands on ideas in ''From a Logical Point of View'' (1953) and reformulates earlier arguments like his attack on the analytic–synthetic distinction from " Two Dogmas of Empiricism". It introduces the thought experiment of radical translation and the related concept of indeterminacy of translation. Synopsis Quine emphasizes his naturalism, the doctrine that philosophy should be pursued as part of natural science. He argues in favor of naturalizing epistemology, physicalism as against phenomenalism and mind-body dualism, and extensionality as against intensionality. He also develops a behavioristic conception of sentence-meaning, theorizes about language learning, speculates on the ontogenesis of reference, explains various forms of ambiguity and vagueness, and recommends measures for regimenting language so as to eliminate ambiguity and vagueness as well as to make a theory's logic and ontic co ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Willard Van Orman Quine
Willard Van Orman Quine ( ; known to his friends as "Van"; June 25, 1908 – December 25, 2000) was an American philosopher and logician in the analytic tradition, recognized as "one of the most influential philosophers of the twentieth century". He was the Edgar Pierce Chair of Philosophy at Harvard University from 1956 to 1978. Quine was a teacher of logic and set theory. He was famous for his position that first-order logic is the only kind worthy of the name, and developed his own system of mathematics and set theory, known as New Foundations. In the philosophy of mathematics, he and his Harvard colleague Hilary Putnam developed the Quine–Putnam indispensability argument, an argument for the Philosophy of mathematics#Empiricism, reality of mathematical entities.Colyvan, Mark"Indispensability Arguments in the Philosophy of Mathematics" The Stanford Encyclopedia of Philosophy (Fall 2004 Edition), Edward N. Zalta (ed.). He was the main proponent of the view that philosophy is ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Principia Mathematica
The ''Principia Mathematica'' (often abbreviated ''PM'') is a three-volume work on the foundations of mathematics written by the mathematician–philosophers Alfred North Whitehead and Bertrand Russell and published in 1910, 1912, and 1913. In 1925–1927, it appeared in a second edition with an important ''Introduction to the Second Edition'', an ''Appendix A'' that replaced ✱9 with a new ''Appendix B'' and ''Appendix C''. ''PM'' was conceived as a sequel to Russell's 1903 '' The Principles of Mathematics'', but as ''PM'' states, this became an unworkable suggestion for practical and philosophical reasons: "The present work was originally intended by us to be comprised in a second volume of ''Principles of Mathematics''... But as we advanced, it became increasingly evident that the subject is a very much larger one than we had supposed; moreover on many fundamental questions which had been left obscure and doubtful in the former work, we have now arrived at what we bel ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]