Turing machines and register machines have been used for decades in theoretical computer science as abstract models of computation. Also the lambda-calculus has played a central role in this domain as it allows to focus on the notion of functional computation, based on the substitution mechanism, while abstracting away from implementation details. The present article starts from the observation that the equivalence between these formalisms is based on the Church-Turing Thesis rather than an actual encoding of lambda-terms into Turing (or register) machines. The reason is that these machines are not well-suited for modelling lambda-calculus programs. We study a class of abstract machines that we call addressing machine since they are only able to manipulate memory addresses of other machines. The operations performed by these machines are very elementary: load an address in a register, apply a machine to another one via their addresses, and call the address of another machine. We endow addressing machines with an operational semantics based on leftmost reduction and study their behaviour. The set of addresses of these machines can be easily turned into a combinatory algebra. In order to obtain a model of the full untyped lambda-calculus, we need to introduce a rule that bares similarities with the omega-rule and the rule zeta_eta from combinatory logic.

Addressing Machines as models of lambda-calculus

Della Penna Giuseppe;
2022-01-01

Abstract

Turing machines and register machines have been used for decades in theoretical computer science as abstract models of computation. Also the lambda-calculus has played a central role in this domain as it allows to focus on the notion of functional computation, based on the substitution mechanism, while abstracting away from implementation details. The present article starts from the observation that the equivalence between these formalisms is based on the Church-Turing Thesis rather than an actual encoding of lambda-terms into Turing (or register) machines. The reason is that these machines are not well-suited for modelling lambda-calculus programs. We study a class of abstract machines that we call addressing machine since they are only able to manipulate memory addresses of other machines. The operations performed by these machines are very elementary: load an address in a register, apply a machine to another one via their addresses, and call the address of another machine. We endow addressing machines with an operational semantics based on leftmost reduction and study their behaviour. The set of addresses of these machines can be easily turned into a combinatory algebra. In order to obtain a model of the full untyped lambda-calculus, we need to introduce a rule that bares similarities with the omega-rule and the rule zeta_eta from combinatory logic.
File in questo prodotto:
Non ci sono file associati a questo prodotto.
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11697/186974
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? 0
social impact