~subsetpark/apcl

A Practical Combinator Library
6 months ago

ed8b7d8 Add license

6 months ago

#A Practical Combinator Library

This project consists of a series of libraries, each for a different programming language, each implementing the set of higher-order functions described in the article Combinatory Programming. Each library's function inventory should have the same naming scheme, signatures, and behaviour, modulo the conventions and syntax of the language in which it's implemented.

The purpose of this project is to provide a straightforward and practical API for programming in a tacit (or point-free) style, particularly in those languages that do not have very much support for tacit programming baked into the syntax of the language itself.

Taking this idea further, this project proposes that the most essential nature of tacit style is therefore not inherent to any particular language, and also that the most essential benefit of tacit style is not concision, saving on characters typed, or anything else other than the reduction of conceptual inventory. Tacit style at its most basic, stripped of any baggage inherited from its academic precursors or from those languages which lend themselves most naturally to it, allows the programmer to omit names from their programs. Thi project proposes that by reducing the number of names that a program must refer to, the programmer reduces the number of conceptual entities that they have to accommodate in their mind; and that this in turn results in programs which are easier to understand and simpler to manipulate.

#Supported Languages