Programs = Data = First-Class Citizens in a Computational World

Thursday February 26, 13:15 (1:15pm), Wigforssalen, Halmstad University

Click here for the lecture video.

Joint work with Jakob Grue Simonsen.

From a programming perspective, Alan Turing's epochal 1936 paper on computable functions introduced several new concepts, originated a great many now-common programming techniques, including the invention of what are today known as self-interpreters, using programs as data. The 'blob' model of computation is a recent stored-program computational model, biologically motivated and without pointers or memory addresses. Novelties of the blob model: programs are truly first-class citizens, capable of being automatically executed, compiled or interpreted. The model is Turing complete in a strong sense: a universal interpretation algorithm exists, able to run any program in a natural way and without arcane data encodings. The model appears closer to being physically realisable than earlier computation models. In part this owes to strong finiteness due to early binding; and a strong adjacency property: the active instruction is always adjacent to the piece of data on which it operates.

About Prof. Neil D. Jones

Neil Jones is professor emeritus with the University of Copenhagen, Denmark. Research directions follow two directions: programming languages (compiling, program analysis, partial evaluation, semantics); and the theory of computation and computational complexity. He has published books and a number of articles in both areas. Educated in the U.S. and Canada, Neil Jones has been assistant, associate or full professor at the University of Western Ontario, Pennsylvania State University, University of Kansas, Aarhus University in Denmark, and the University of Copenhagen.