Computing Reviews

On a uniform representation of combinators, arithmetic, lambda terms and types
Tarau P.  PPDP 2015 (Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming, Siena, Italy, Jul 14-16, 2015)244-255,2015.Type:Proceedings
Date Reviewed: 09/08/15

The dream of a common language is strong, as are the benefits claimed for realizing the dream. This paper describes a binary tree representation capable of describing combinators, their types, lambda expressions, and natural numbers. This paper, also a literate Prolog program, uses the common representation as the declarative basis, along with unification and backtracking, for an environment to explore the computational consequences of commonality.

Section 2 presents the fundamental representations. X combinator expressions are represented as binary trees, as are lambda expressions for S and K combinators via De Brujin indices. The relations between the X and the S and K combinators tie the two representations together. Later sections add representations for X combinator expression types as lambda expressions (section 3), natural numbers as X combinator trees (section 5), and natural numbers as lambda expressions (section 6).

The established fundamentals can be exploited in various ways to develop associated algorithms, such as type inferencing and arithmetic operations. Expressions can be rendered in the most appropriate (for example, concise) representation for evaluation (section 4). A shared representation leads to several interesting consequences, including Quine-like expressions that are also their type and various space savings via shared representations and succinctness (section 7).

The paper is well written, clear, and thorough, building on computational theory fundamentals. A reading knowledge of Prolog, or general logic programming, is required to the level of definite clause grammars; a willing suspension of disbelief is not enough to fully appreciate this paper.

Reviewer:  R. Clayton Review #: CR143753 (1511-0960)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy