Abstract

The problem of the translation of λ-terms into combinators (bracket abstraction) is of great importance for the implementation of functional languages. In the literature there exist a lot of algorithms concerning this topic, each of which is based on a particular choice of a combinatory basis, its cardinality, and an abstraction technique. The algorithm presented here originated from a modification of the definition of abstraction given by Curry in 1930, and has the following interesting properties: 1. (i) it employs a potentially infinite basis of combinators, each of which depends on at most two parameters and is, therefore, directly implementable; 2. (ii) it gives compact code, introducing a number of basic combinators which is proportional to the size of the expression to be abstracted and invariant for one- and multi-sweep abstraction techniques; 3. (iii) it gives the result in the form RI M 1… M n , where R is a regular combinator expressed as a composition of basic combinators, I is the identity combinator, and M 1,…, M n are the constant terms appearing into the expression subjected to the translation process. It appears that a slight modification of the algorithm yields a combinatory equivalent of Hughes' supercombinators.

Full Text
Paper version not known

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.