Programs=data=first-class citizens in a computational world

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningfagfællebedømt

Standard

Programs=data=first-class citizens in a computational world. / Jones, Neil; Simonsen, Jakob Grue.

I: Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, Bind 370, Nr. 1971, 2012, s. 3305-3318.

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningfagfællebedømt

Harvard

Jones, N & Simonsen, JG 2012, 'Programs=data=first-class citizens in a computational world', Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, bind 370, nr. 1971, s. 3305-3318. https://doi.org/10.1098/rsta.2011.0328

APA

Jones, N., & Simonsen, J. G. (2012). Programs=data=first-class citizens in a computational world. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 370(1971), 3305-3318. https://doi.org/10.1098/rsta.2011.0328

Vancouver

Jones N, Simonsen JG. Programs=data=first-class citizens in a computational world. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences. 2012;370(1971):3305-3318. https://doi.org/10.1098/rsta.2011.0328

Author

Jones, Neil ; Simonsen, Jakob Grue. / Programs=data=first-class citizens in a computational world. I: Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences. 2012 ; Bind 370, Nr. 1971. s. 3305-3318.

Bibtex

@article{93a47ea037d94ae88094e3fe9e593e1e,
title = "Programs=data=first-class citizens in a computational world",
abstract = "From a programming perspective, Alan Turing's epochal 1936 paper on computable functions introduced several new concepts, including what is today known as self-interpreters and programs as data, and invented a great many now-common programming techniques. We begin by reviewing Turing's contribution from a programming perspective; and then systematize and mention some of the many ways that later developments in models of computation (MOCs) have interacted with computability theory and programming language research. Next, we describe the {\textquoteleft}blob{\textquoteright} MOC: a recent stored-program computational model without pointers. In the blob model, programs are truly first-class citizens, capable of being automatically compiled, or interpreted, or executed directly. Further, the blob model appears closer to being physically realizable than earlier computation models. In part, this is due to strong finiteness owing to early binding in the program; and a strong adjacency property: the active instruction is always adjacent to the piece of data on which it operates. The model is Turing complete in a strong sense: a universal interpretation algorithm exists that is able to run any program in a natural way and without arcane data encodings. Next, some of the best known among the numerous existing MOCs are described, and we develop a list of traits an {\textquoteleft}ideal{\textquoteright} MOC should possess from our perspective. We make no attempt to consider all models put forth since Turing's 1936 paper, and the selection of models covered concerns only models with discrete, atomic computation steps. The next step is to classify the selected models by qualitative rather than quantitative features. Finally, we describe how the blob model differs from an {\textquoteleft}ideal{\textquoteright} MOC, and identify some natural next steps to achieve such a model.",
author = "Neil Jones and Simonsen, {Jakob Grue}",
year = "2012",
doi = "10.1098/rsta.2011.0328",
language = "English",
volume = "370",
pages = "3305--3318",
journal = "Philosophical transactions. Series A, Mathematical, physical, and engineering sciences",
issn = "1364-503X",
publisher = "Royal Society Publishing",
number = "1971",

}

RIS

TY - JOUR

T1 - Programs=data=first-class citizens in a computational world

AU - Jones, Neil

AU - Simonsen, Jakob Grue

PY - 2012

Y1 - 2012

N2 - From a programming perspective, Alan Turing's epochal 1936 paper on computable functions introduced several new concepts, including what is today known as self-interpreters and programs as data, and invented a great many now-common programming techniques. We begin by reviewing Turing's contribution from a programming perspective; and then systematize and mention some of the many ways that later developments in models of computation (MOCs) have interacted with computability theory and programming language research. Next, we describe the ‘blob’ MOC: a recent stored-program computational model without pointers. In the blob model, programs are truly first-class citizens, capable of being automatically compiled, or interpreted, or executed directly. Further, the blob model appears closer to being physically realizable than earlier computation models. In part, this is due to strong finiteness owing to early binding in the program; and a strong adjacency property: the active instruction is always adjacent to the piece of data on which it operates. The model is Turing complete in a strong sense: a universal interpretation algorithm exists that is able to run any program in a natural way and without arcane data encodings. Next, some of the best known among the numerous existing MOCs are described, and we develop a list of traits an ‘ideal’ MOC should possess from our perspective. We make no attempt to consider all models put forth since Turing's 1936 paper, and the selection of models covered concerns only models with discrete, atomic computation steps. The next step is to classify the selected models by qualitative rather than quantitative features. Finally, we describe how the blob model differs from an ‘ideal’ MOC, and identify some natural next steps to achieve such a model.

AB - From a programming perspective, Alan Turing's epochal 1936 paper on computable functions introduced several new concepts, including what is today known as self-interpreters and programs as data, and invented a great many now-common programming techniques. We begin by reviewing Turing's contribution from a programming perspective; and then systematize and mention some of the many ways that later developments in models of computation (MOCs) have interacted with computability theory and programming language research. Next, we describe the ‘blob’ MOC: a recent stored-program computational model without pointers. In the blob model, programs are truly first-class citizens, capable of being automatically compiled, or interpreted, or executed directly. Further, the blob model appears closer to being physically realizable than earlier computation models. In part, this is due to strong finiteness owing to early binding in the program; and a strong adjacency property: the active instruction is always adjacent to the piece of data on which it operates. The model is Turing complete in a strong sense: a universal interpretation algorithm exists that is able to run any program in a natural way and without arcane data encodings. Next, some of the best known among the numerous existing MOCs are described, and we develop a list of traits an ‘ideal’ MOC should possess from our perspective. We make no attempt to consider all models put forth since Turing's 1936 paper, and the selection of models covered concerns only models with discrete, atomic computation steps. The next step is to classify the selected models by qualitative rather than quantitative features. Finally, we describe how the blob model differs from an ‘ideal’ MOC, and identify some natural next steps to achieve such a model.

U2 - 10.1098/rsta.2011.0328

DO - 10.1098/rsta.2011.0328

M3 - Journal article

C2 - 22711860

VL - 370

SP - 3305

EP - 3318

JO - Philosophical transactions. Series A, Mathematical, physical, and engineering sciences

JF - Philosophical transactions. Series A, Mathematical, physical, and engineering sciences

SN - 1364-503X

IS - 1971

ER -

ID: 45487997