Andrew D. Gordon | |
---|---|
Born | |
Education | Ph.D., University of Cambridge, 1992 |
Known for | Concurrent Haskell Spi calculus ambient calculus SecPAL |
Scientific career | |
Fields | computer science |
Institutions | Cogna Department of Computer Science and Technology, University of Cambridge University of Edinburgh Microsoft Research |
Thesis | Functional programming and input/output (1992) |
Website | www |
Andrew D. Gordon is a British computer scientist employed by software synthesis company Cogna [1] as Chief Science Officer, [2] and by the University of Cambridge. [2] Formerly, he worked for Microsoft Research. His research interests include programming language design, formal methods, concurrency, cryptography, and access control.
Gordon earned a Ph.D. from the University of Cambridge in 1992. Until 1997, Gordon was a Research Fellow at the University of Cambridge Computer Laboratory. He then joined the Microsoft Research laboratory in Cambridge, England, where he was a principal researcher in the Programming Principles and Tools group. [3] He also holds a professorship at the University of Edinburgh. [4]
Gordon is one of the designers of Concurrent Haskell, an extension to the functional programming language Haskell, which added explicit primitive data types for concurrency, and then became a library named Control.Concurrent
as part of the Glasgow Haskell Compiler. He is the co-designer with Martin Abadi of Spi calculus, a π-calculus extension, for formalized reasoning about cryptographic systems. [5] He and Luca Cardelli invented the ambient calculus for reasoning about mobile code. [6] With Moritz Y. Becker and Cédric Fournet, Gordon also designed SecPAL, a Microsoft specification language for access control policies.
Gordon's Ph.D. thesis, Functional programming and input/output , won the 1993 Distinguished Dissertation Award of the British Computer Society. [7] His 2000 paper on the ambient calculus subject with Luca Cardelli, "Anytime, Anywhere: Modal Logics for Mobile Ambients", won the 2010 SIGPLAN Most Influential POPL Paper Award. [8]
In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that map values to other values, rather than a sequence of imperative statements which update the running state of the program.
In programming language theory, lazy evaluation, or call-by-need, is an evaluation strategy which delays the evaluation of an expression until its value is needed and which also avoids repeated evaluations.
SIGPLAN is the Association for Computing Machinery's Special Interest Group (SIG) on programming languages. This SIG explores programming language concepts and tools, focusing on design, implementation, practice, and theory. Its members are programming language developers, educators, implementers, researchers, theoreticians, and users.
John Charles Reynolds was an American computer scientist.
Philip Lee Wadler is a UK-based American computer scientist known for his contributions to programming language design and type theory. He is 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.
Robert William Harper, Jr. is a computer science professor at Carnegie Mellon University who works in programming language research. Prior to his position at Carnegie Mellon, Harper was a research fellow at the University of Edinburgh.
The actor model and process calculi share an interesting history and co-evolution.
Simon Peyton Jones is a British computer scientist who researches the implementation and applications of functional programming languages, particularly lazy functional programming.
Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages. Programming language theory is closely related to other fields including mathematics, software engineering, and linguistics. There are a number of academic conferences and journals in the area.
Luca Andrea Cardelli is an Italian computer scientist who is a research professor at the University of Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. Among other contributions, in programming languages, he helped design the language Modula-3, implemented the first compiler for the (non-pure) functional language ML, defined the concept of typeful programming, and helped develop the experimental language Polyphonic C#.
In computer science, lambda calculi are said to have explicit substitutions if they pay special attention to the formalization of the process of substitution. This is in contrast to the standard lambda calculus where substitutions are performed by beta reductions in an implicit manner which is not expressed within the calculus; the "freshness" conditions in such implicit calculi are a notorious source of errors. The concept has appeared in a large number of published papers in quite different fields, such as in abstract machines, predicate logic, and symbolic computation.
Dexter Campbell Kozen is an American theoretical computer scientist. He is Professor Emeritus and Joseph Newton Pew, Jr. Professor in Engineering at Cornell University.
Haskell is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell has pioneered several programming language features such as type classes, which enable type-safe operator overloading, and monadic input/output (IO). It is named after logician Haskell Curry. Haskell's main implementation is the Glasgow Haskell Compiler (GHC).
Peter William O'Hearn, formerly a research scientist at Meta, is a Distinguished Engineer at Lacework and a Professor of Computer science at University College London (UCL). He has made significant contributions to formal methods for program correctness. In recent years these advances have been employed in developing industrial software tools that conduct automated analysis of large industrial codebases.
Simon Marlow is a British computer scientist, programmer, author, and co-developer of the Glasgow Haskell Compiler (GHC) for the programming language Haskell. He and Simon Peyton Jones won the SIGPLAN Programming Languages Software Award in 2011 for their work on GHC. Marlow's book Parallel and Concurrent Programming in Haskell was published in July 2013.
David Bacon is an American computer programmer.
John Launchbury is an American and British computer scientist who is currently Chief Scientist at Galois, Inc. Previously, he directed one of DARPA’s technical offices, where he oversaw nation-scale scientific and engineering research in cybersecurity, data analysis, and artificial intelligence. He is known for research and entrepreneurship in the implementation and application of functional programming languages. In 2010, Launchbury was inducted as a Fellow of the Association for Computing Machinery.
In computer science, choreographic programming is a programming paradigm where programs are compositions of interactions among multiple concurrent participants.