Abstract

Functional languages are based on the notion of application: programs may be applied to data or programs. By application one may define algebraic functions; and a programming language is functionally complete when any algebraic function f( x 1,…, x n ) is representable (i.e. there is a constant a such that f( x 1,…, x n ) = ( a· x 1,…, x n ). Combinatory logic is the simplest type-free language which is functionally complete. In a sound category-theoretic framework the constant a may be considered as an “abstract Gödel-number” for f, when Gödel-numberings are generalized to “principal morphisms”, in suitable categories. By this, models of combinatory logic are categorically characterized and their relation is given to lambda-calculus models within cartesian closed categories. Finally, the partial recursive functionals in any finite higher type are shown to yield models of combinatory logic.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call