value-level programming) as: However, using a fold we can replace this with: And then the argument is not needed, so this simplifies to which is point-free.
Another example uses function composition: The following Haskell-like pseudo-code exposes how to reduce a function definition to its point-free equivalent: Finally, to see a complex example imagine a map filter program which takes a list, applies a function to it, and then filters the elements based on a criterion It can be expressed point-free[4] as Note that, as stated previously, the points in 'point-free' refer to the arguments, not to the use of dots; a common misconception.
[5] A few programs have been written to automatically convert a Haskell expression to a point-free form.
The same tacit computations expressed in Dyalog APL: In stack-oriented programming languages (and concatenative ones, most of which are stack based[citation needed]), point-free methods are commonly used.
Due to the way pipelines work, it is only normally possible to pass one "argument" at a time in the form of a pair of standard input/output stream.
Although extra file descriptors can be opened from named pipes, this no longer constitutes a point-free style.
jq is a JSON-oriented programming language in which the '|' symbol is used to connect filters to form a pipeline in a familiar way.