Live briefing
Everything about Programming Computable Functions
Typed functional language
In computer science, Programming Computable Functions (PCF), or Programming with Computable Functions, or Programming language for Computable Functions, is a programming language which is typed and based on functional programming, introduced by Gordon Plotkin in 1977, based on prior unpublished material by Dana Scott. It can be considered as an extended version of the typed lambda calculus, or a simplified version of modern typed functional languages such as ML or Haskell. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Programming Computable FunctionsA 5-minute orientation
- Skim a recent paper: Universal Set of Composition Operations for Computable Functions with Parallel Process Semantics and a Functional Programming Language Based on ThemInfluential work since 2022
- Pick up a classic book: Purely functional data structuresThe most-reprinted book on the subject
- Read the landmark paper: 𝜆ₛ: computable semantics for differentiable programming with higher-order functions and datatypesCited 10 times
- Go sideways: Denotational semanticsA closely related topic
- Go sideways: Simply typed lambda calculusA closely related topic
🏆 Landmark papers (most cited)
𝜆ₛ: computable semantics for differentiable programming with higher-order functions and datatypes
Loop-programs and polynomially computable functions
Primitive program algebras of computable functions
PRIMITIVE PROGRAMMING ALGEBRAS OF COMPUTABLE FUNCTIONS OVER MULTIDOMAIN TUPLES AND RELATIONS
🆕 Influential since 2022
📚 Books worth reading
Purely functional data structuresChris Okasaki · 1998- 📕Programming in HaskellGraham Hutton · 2006
Steps in ScalaChristos K. K. Loverdos · 2010
Clojure programmingChas Emerick · 2012
Functional JavaScriptMichael Fogus · 2013
The Haskell School of ExpressionPaul Hudak · 2000
The Little TyperDaniel P. Friedman, David Thrane Christiansen · 2018
HaskellSimon Thompson · 1996
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Denotational semantics In computer science, denotational semantics (initially known as mathematical semantics or Scott–Strachey semantics) is an approach of formalizing the meanings…
- Simply typed lambda calculus The simply typed lambda calculus (λ→), a form of type theory, is a typed interpretation of the lambda calculus with only one type constructor (→) that…
- Logic of Computable Functions Logic of Computable Functions (LCF) is a deductive system for computable functions proposed by Dana Scott in 1969 in a memorandum unpublished until 1993…
- Samson Abramsky Samson Abramsky (born 12 March 1953) is a British computer scientist who is a Professor of Computer Science at University College London. He was previously…
- Typing rule In type theory and programming language theory, a typing rule is an inference rule that specifies sufficient conditions for a typing judgment to hold.…
- Intersection type discipline In mathematical logic, the intersection type discipline is a branch of type theory encompassing type systems that use the intersection type constructor…
- Lambda-mu calculus In mathematical logic and computer science, the lambda-mu calculus is an extension of the lambda calculus introduced by Michel Parigot. It introduces two…
- Type theory In mathematical logic, and theoretical computer science, type theory is the study of formal systems that classify expressions or mathematical objects by…