Hubbry Logo
search
logo

Tacit programming

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Tacit programming

Tacit programming, also called point-free style, is 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. 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".

Unix scripting uses the paradigm with pipes.

Tacit programming can be illustrated with the following Python code. A sequence of operations such as the following:

... can be written in point-free style as the composition of a sequence of functions, without parameters:

For a more complex example, the Haskell code p = ((.) f) . g can be translated as:

A simple example (in Haskell) is a program which computes the sum of a list of numbers. We can define the sum function recursively using a pointed style (cf. value-level programming) as:

However, using a fold, this can be replaced with:

And then the argument is not needed, so this simplifies to

See all
User Avatar
No comments yet.