Everything about Tacit programming
Programming paradigm
Tacit programming, also called point-free style, is a programming paradigm in which function definitions do not identify the arguments on which they operate. Instead the definitions merely compose other functions, among which are combinators that manipulate the arguments. Tacit programming is of theoretical interest, because the strict use of composition results in programs that are well adapted for equational reasoning. It is also the natural style of some programming languages, including APL and its derivatives, and concatenative languages such as Forth. The lack of argument naming gives point-free style a reputation of being needlessly obscure, hence the epithet "pointless style". Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Tacit programmingA 5-minute orientation
- Pick up a classic book: Guide to Personal Knowledge : the Philosophy of Michael PolanyiThe most-reprinted book on the subject
- Read the landmark paper: Teaching the tacit knowledge of programming to noviceswith natural language tutoringCited 62 times
- Go sideways: Function composition (computer science)A closely related topic
- Go sideways: Haskell featuresA closely related topic
📖 Definitions
Noun A programming paradigm in which function definitions do not identify the arguments (or "points") on which they operate. Instead, the definitions merely compose other functions, among which are combinators that manipulate the arguments.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
📚 Books worth reading
- 📕Guide to Personal Knowledge : the Philosophy of Michael PolanyiDaniel Paksi, Mihaly Heder · 2022
Competition Law and Policy in Latin AmericaEleanor M. Fox · 2009
Perspectives of knowledge management in urban healthMichael Christopher Gibbons, Rajeev K. Bali · 2010
Public policy in gifted educationJames John Gallagher · 2004
The 21st-century Black librarian in AmericaAndrew P. Jackson · 2012- 📕NASA Space Shuttle Program Tacit Knowledge Capture ProjectWorld Spaceflight News · 2017
- 📕How Does a Program Manager Gain Insight in the Complex and Chaotic Decision-Making Process? Six CategoriesU. S. Military, Department of Defense · 2019
- 📕THE PILLARS OF BANKINGJohn Chibaya Mbuya · 2008
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Function composition (computer science) In computer science, function composition is an act or mechanism to combine simple functions to build more complex ones. Like the usual composition of…
- Haskell features This article describes the features in the programming language Haskell. A simple example that is often used to demonstrate the syntax of functional languages…
- Closure (computer programming) In programming languages, a closure, also lexical closure or function closure, is a technique for implementing lexically scoped name binding in a language…
- Programming style Programming style, also known as coding style, refers to conventions and patterns used in writing source code, resulting in a consistent and readable codebase…
- Parameter (computer programming) In computer programming, a parameter, or formal argument, is a variable that represents an argument to a function call. A function's signature defines…
- Nial Nial (from "Nested Interactive Array Language") is a high-level array programming language developed from about 1981 by Mike Jenkins of Queen's University…
- Monad (functional programming) In functional programming, monads are a way to structure computations as a sequence of steps, where each step produces a value, plus some extra information…
- Variadic function In mathematics and in computer programming, a variadic function is a function of indefinite arity, i.e., one which accepts a variable number of arguments…