Live briefing
Everything about Functional programming
Programming paradigm based on applying and composing functions
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. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Functional programmingA 5-minute orientation
- Skim a recent paper: Functional composites by programming entropy-driven nanosheet growthInfluential work since 2022
- Pick up a classic book: Purely functional data structuresThe most-reprinted book on the subject
- Read the landmark paper: Why Functional Programming MattersCited 370 times
- Go sideways: Comparison of functional programming languagesA closely related topic
- Go sideways: Lisp (programming language)A closely related topic
📖 Definitions
Noun Programming in a style that, in lieu of assignment, uses procedure calls to bind variables to values, so that referential transparency is preserved.
🏆 Landmark papers (most cited)
Why Functional Programming Matters
Functional equations in dynamic programming
SSA is functional programming
Parallel functional programming in Eden
Functional Approximations and Dynamic Programming
Functional logic programming
Adaptive functional programming
FUNCTIONAL PEARLS: Probabilistic functional programming in Haskell
🆕 Influential since 2022
Functional composites by programming entropy-driven nanosheet growth
Generation of functional hepatocytes by forward programming with nuclear receptors
Functional collection programming with semi-ring dictionaries
HasChor: Functional Choreographic Programming for All (Functional Pearl)
The Verse Calculus: A Core Calculus for Deterministic Functional Logic Programming
📚 Books worth reading
Purely functional data structuresChris Okasaki · 1998- 📕Programming in HaskellGraham Hutton · 2006
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- 📕Thinking Functionally with HaskellRichard Bird · 2014
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Comparison of functional programming languages The table shows a comparison of functional programming languages which compares various features and designs of different functional programming languages…
- Lisp (programming language) Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized…
- List of functional programming topics This is a list of functional programming topics. Programming paradigm Declarative programming Programs as mathematical objects Function-level programming…
- Comparison of multi-paradigm programming languages Programming languages can be grouped by the number and types of paradigms supported. A concise reference for the programming paradigms listed in this article…
- First-class function In computer science, a programming language is said to have first-class functions if it treats functions as first-class citizens. This means the language…
- Lazy evaluation In programming language theory, lazy evaluation, or call-by-need, is an evaluation strategy which delays the evaluation of an expression until its value…
- Purely functional programming In computer science, purely functional programming usually designates a programming paradigm—a style of building the structure and elements of computer…
- List of JVM languages This list of JVM languages comprises notable computer programming languages that are used to produce computer software that runs on the Java virtual machine…