HOME
*





J Operator
In computer science, Peter Landin's J operator is a programming construct that Function composition, post-composes a Lambda (programming), lambda expression with the continuation to the current lambda-context. The resulting “function” is first-class and can be passed on to subsequent functions, where if applied it will return its result to the continuation of the function in which it was created. History The J operator was created to make labels and jumps a first class value. It was designed to work with the SECD machine with the following extra transitions: The J operator originally created what was called a "program closure", consisting of a function called the body and a SECD state called the dump. A program closure is equivalent to composing its body with the dump in continuation form (''closure''(''f'',''D'')(''x)'' = ''D''(''f''(''x'')) ). Simplified description The J operator composes a function with the continuation of the calling function. That is, the J operator ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Computer Science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical disciplines (including the design and implementation of Computer architecture, hardware and Computer programming, software). Computer science is generally considered an area of research, academic research and distinct from computer programming. Algorithms and data structures are central to computer science. The theory of computation concerns abstract models of computation and general classes of computational problem, problems that can be solved using them. The fields of cryptography and computer security involve studying the means for secure communication and for preventing Vulnerability (computing), security vulnerabilities. Computer graphics (computer science), Computer graphics and computational geometry address the generation of images. Progr ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Peter Landin
Peter John Landin (5 June 1930 – 3 June 2009) was a British computer scientist. He was one of the first to realise that the lambda calculus could be used to model a programming language, an insight that is essential to the development of both functional programming and denotational semantics. Academic Landin was born in Sheffield, where he attended King Edward VII School; he graduated from Clare College, Cambridge University. From 1960 to 1964, he was the assistant to Christopher Strachey when the latter was an independent computer consultant in London. Most of his work was published during this period and the brief time he worked for Univac and at the Massachusetts Institute of Technology in the United States, before taking a position at Queen Mary University of London. During the 1970s and 1980s, his efforts went into building the computer science department in Queen Mary College, developing courses, and teaching students, as set forth in the foreword to the textbook ''Prog ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Function Composition
In mathematics, function composition is an operation that takes two functions and , and produces a function such that . In this operation, the function is applied to the result of applying the function to . That is, the functions and are composed to yield a function that maps in domain to in codomain . Intuitively, if is a function of , and is a function of , then is a function of . The resulting ''composite'' function is denoted , defined by for all in . The notation is read as " of ", " after ", " circle ", " round ", " about ", " composed with ", " following ", " then ", or " on ", or "the composition of and ". Intuitively, composing functions is a chaining process in which the output of function feeds the input of function . The composition of functions is a special case of the composition of relations, sometimes also denoted by \circ. As a result, all properties of composition of relations are true of composition of functions, such as the ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Lambda (programming)
In computer programming, an anonymous function (function literal, lambda abstraction, lambda function, lambda expression or block) is a function definition that is not bound to an identifier. Anonymous functions are often arguments being passed to higher-order functions or used for constructing the result of a higher-order function that needs to return a function. If the function is only used once, or a limited number of times, an anonymous function may be syntactically lighter than using a named function. Anonymous functions are ubiquitous in functional programming languages and other languages with first-class functions, where they fulfil the same role for the function type as literals do for other data types. Anonymous functions originate in the work of Alonzo Church in his invention of the lambda calculus, in which all functions are anonymous, in 1936, before electronic computers. In several programming languages, anonymous functions are introduced using the keyword ''lambd ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Continuation
In computer science, a continuation is an abstract representation of the control state of a computer program. A continuation implements ( reifies) the program control state, i.e. the continuation is a data structure that represents the computational process at a given point in the process's execution; the created data structure can be accessed by the programming language, instead of being hidden in the runtime environment. Continuations are useful for encoding other control mechanisms in programming languages such as exceptions, generators, coroutines, and so on. The "current continuation" or "continuation of the computation step" is the continuation that, from the perspective of running code, would be derived from the current point in a program's execution. The term ''continuations'' can also be used to refer to first-class continuations, which are constructs that give a programming language the ability to save the execution state at any point and return to that point at a lat ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




SECD Machine
The SECD machine is a highly influential (''see: '') virtual machine and abstract machine intended as a target for functional programming language compilers. The letters stand for Stack, Environment, Control, Dump—the internal registers of the machine. The registers Stack, Control, and Dump point to (some realisations of) stacks, and Environment points to (some realisation of) an associative array. The machine was the first to be specifically designed to evaluate lambda calculus expressions. It was originally described by Peter J. Landin in "The Mechanical Evaluation of Expressions" in 1964. The description published by Landin was fairly abstract, and left many implementation choices open (like an operational semantics). Lispkit Lisp was an influential compiler based on the SECD machine, and the SECD machine has been used as the target for other systems such as Lisp/370. In 1989 researchers at the University of Calgary worked on a hardware implementation of the machine.A pape ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Call-with-current-continuation
In the Scheme computer programming language, the procedure call-with-current-continuation, abbreviated call/cc, is used as a control flow operator. It has been adopted by several other programming languages. Taking a function f as its only argument, (call/cc f) within an expression is applied to the current continuation of the expression. For example ((call/cc f) e2) is equivalent to applying f to the current continuation of the expression. The current continuation is given by replacing (call/cc f) by a variable c bound by a lambda abstraction, so the current continuation is (lambda (c) (c e2)). Applying the function f to it gives the final result (f (lambda (c) (c e2))). As a complementary example, in an expression (e1 (call/cc f)), the continuation for the sub-expression (call/cc f) is (lambda (c) (e1 c)), so the whole expression is equivalent to (f (lambda (c) (e1 c))). In other words it takes a "snapshot" of the current control context or control state of the program as an ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


The Computer Journal
''The Computer Journal'' is a peer-reviewed scientific journal covering computer science and information systems. Established in 1958, it is one of the oldest computer science research journals. It is published by Oxford University Press on behalf of BCS, The Chartered Institute for IT. The authors of the best paper in each annual volume receive the Wilkes Award from BCS, The Chartered Institute for IT. Editors-in-chief The following people have been editor-in-chief: * 1958–1969 Eric N. Mutch * 1969–1992 Peter Hammersley * 1993–2000 C. J. van Rijsbergen * 2000–2008 Fionn Murtagh * 2008–2012 Erol Gelenbe Sami Erol Gelenbe (born 22 August 1945, in Istanbul, Turkey) is a Turkish and French computer scientist, electronic engineer and applied mathematician who pioneered the field of Computer System and Network Performance in Europe, and is active ... * 2012–2016 Fionn Murtagh * 2016–2020 Steve Furber * 2021–present Tom Crick References External links Offici ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Communications Of The ACM
''Communications of the ACM'' is the monthly journal of the Association for Computing Machinery (ACM). It was established in 1958, with Saul Rosen as its first managing editor. It is sent to all ACM members. Articles are intended for readers with backgrounds in all areas of computer science and information systems. The focus is on the practical implications of advances in information technology and associated management issues; ACM also publishes a variety of more theoretical journals. The magazine straddles the boundary of a science magazine, trade magazine, and a scientific journal. While the content is subject to peer review, the articles published are often summaries of research that may also be published elsewhere. Material published must be accessible and relevant to a broad readership. From 1960 onward, ''CACM'' also published algorithms, expressed in ALGOL. The collection of algorithms later became known as the Collected Algorithms of the ACM. See also * ''Journal of the A ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Higher-Order And Symbolic Computation
''Higher-Order and Symbolic Computation'' (formerly ''LISP and Symbolic Computation''; print: , online: ) 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 Dat ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Logical Methods In Computer Science
''Logical Methods in Computer Science'' (LMCS) is a peer-reviewed open access scientific journal covering theoretical computer science and applied logic. It opened to submissions on September 1, 2004. The editor-in-chief is Stefan Milius ( Friedrich-Alexander Universität Erlangen-Nürnberg). History The journal was initially published by the International Federation for Computational Logic, and then by a dedicated non-profit. It moved to the . platform in 2017. The first editor-in-chief was Dana Scott. In its first year, the journal received 75 submissions. Abstracting and indexing The journal is abstracted and indexed in Current Contents/Engineering, Computing & Technology, Mathematical Reviews, Science Citation Index Expanded, Scopus, and Zentralblatt MATH. According to the ''Journal Citation Reports'', the journal has a 2016 impact factor The impact factor (IF) or journal impact factor (JIF) of an academic journal is a scientometric index calculated by Clarivate th ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Lecture Notes In Computer Science
''Lecture Notes in Computer Science'' is a series of computer science books published by Springer Science+Business Media since 1973. Overview The series contains proceedings, post-proceedings, monographs, and Festschrifts. In addition, tutorials, state-of-the-art surveys, and "hot topics" are increasingly being included. The series is indexed by DBLP. See also *''Monographiae Biologicae'', another monograph series published by Springer Science+Business Media *''Lecture Notes in Physics'' *''Lecture Notes in Mathematics'' *''Electronic Workshops in Computing ''Electronic Workshops in Computing'' (eWiC) is a publication series by the British Computer Society. The series provides free online access for conferences and workshops in the area of computing. For example, the EVA London Conference proceeding ...'', published by the British Computer Society References External links * Publications established in 1973 Computer science books Series of non-fiction books Springer ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]