Randomness and Complexity, From Leibniz to Chaitin 2007
DOI: 10.1142/9789812770837_0014
|View full text |Cite
|
Sign up to set email alerts
|

Binary Lambda Calculus and Combinatory Logic

Abstract: In the first part, we introduce binary representations of both lambda calculus and combinatory logic terms, and demonstrate their simplicity by providing very compact parser-interpreters for these binary languages. Along the way we also present new results on list representations, bracket abstraction, and fixpoint combinators. In the second part we review Algorithmic Information Theory, for which these interpreters provide a convenient vehicle. We demonstrate this with several concrete upper bounds on program-… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
30
0

Year Published

2009
2009
2020
2020

Publication Types

Select...
3
3
3

Relationship

0
9

Authors

Journals

citations
Cited by 24 publications
(30 citation statements)
references
References 18 publications
(11 reference statements)
0
30
0
Order By: Relevance
“…A similar idea is the reflective tower, which uses an infinite tower of self-interpreters to add reflective capabilities to a language. There are many examples of self-interpreters in the literature, including ones for λ-calculus [4,7,8,18,22,23,28,31], Haskell [25], JavaScript [13], Lisp [21], Python [36], Ruby [37], Scheme [2], Standard ML [29], and many others [19,32,38]. In each of these the representations are untyped, in the sense that (1) it is possible to build representations of ill-typed terms, and (2) all representations are either untyped or else have the same type.…”
Section: Representationmentioning
confidence: 99%
“…A similar idea is the reflective tower, which uses an infinite tower of self-interpreters to add reflective capabilities to a language. There are many examples of self-interpreters in the literature, including ones for λ-calculus [4,7,8,18,22,23,28,31], Haskell [25], JavaScript [13], Lisp [21], Python [36], Ruby [37], Scheme [2], Standard ML [29], and many others [19,32,38]. In each of these the representations are untyped, in the sense that (1) it is possible to build representations of ill-typed terms, and (2) all representations are either untyped or else have the same type.…”
Section: Representationmentioning
confidence: 99%
“…Injective Gödel numbering schemes for lambda terms in de Bruijn notation have been described in the context of binary lambda calculus [32] and as a mechanism to encode datatypes in [17,33]. Both these use prefix-free codes, ensuring unique decoding.…”
Section: Related Workmentioning
confidence: 99%
“…On line 1, we use the standard SKI bracket-abstraction algorithm [3] to transform the expression into CLSKI. A more sophisticated algorithm, such as that found in Tromp [22], would have resulted in a shorter CLSKI representation. On line 2 below, we replace all instances of I by (SKK), transforming the original expression into an equivalent one in CLSK.…”
Section: Syntaxmentioning
confidence: 99%