- Applicative computing systems
Applicative computing systems, or ACS are the systems of object calculi founded on
combinatory logic andlambda calculus [Wolfengagen V.E. "Methods and means for computations with objects. Applicative Computational Systems." — M.: JurInfoR Ltd., «Center JurInfoR», 2004. — xvi+789 pp. ISBN 5-89158-100-0.] . The only essential notion which is under consideration in these systems is the representation ofobject . Incombinatory logic the only metaoperator isapplication in a sense of applying one object to other. Inlambda calculus two metaoperators are used:application – the same as in combinatory logic, andfunctional abstraction which binds the only variable in one object.Features of ACS
The objects generated in these systems are the functional entities with the following features:
# the number of argument places, or object arity is not fixed but is enabling step by step in interoperations with other objects;
# in a process of generating the compound object one of its counterparts -- function, -- is applied to other one -- argument, -- but in other contexts they can change their roles, i.e. functions and arguments are considered on the equal rights;
# the self-applying of functions is allowed, i.e. any object can be applied to itself.ACS give a sound ground for applicative approach to programming.
Research challenge
Applicative computing systems' lack of storage and history sensitivity is the basic reason they have not provided a foundation for computer design. Moreover, most applicative systems employ the substitution operation of the
lambda calculus as their basic operation. This operation is one of virtually unlimited power, but its complete and efficient realization presents great difficulties to the machine designer [1977 Turing Award Lecture: Backus J. [http://www.stanford.edu/class/cs242/readings/backus.pdf "Can Programming Be Liberated from the von Neumann Style?] A Functional Style and Its Algebra of Programs". – Comm. of the ACM, Vol. 2, No 8, 1978. -- pp. 613-641] .See also
*
Combinatory logic
*Lambda calculus
*Categorical abstract machine
*Functional programming
*Applicative programming language References
Further reading
* Hindley J.R., Seldin J.P. (Eds.) "To H. B. Curry: Essays on combinatory logic, lambda calculus and formalism". — Academic Press, 1980. [This volume reflects the research program and philosophy of H. Curry, one of the founders of
computational models and deductive framework for reasoning in terms of objects.]* Wolfengagen, V.E. " [http://vew.0catch.com/books/Wolfengagen_CLP-2003-En.djvu Combinatory logic in programming.] Computations with objects through examples and exercises". -- 2-nd ed. -- M.: "Center JurInfoR" Ltd., 2003. -- x+337 с. ISBN 5-89158-101-9.
Wikimedia Foundation. 2010.