You are here : Version anglaise > Fellows > Fellows 2018-2019

Séjour long


Computer sciences - Italy

Contact details

Research topics



A Conceptual History of Programming Languages aims to be an organic tale of how some of the crucial notions present in computer programming languages (of today and of the past) entered the field, how their semantics has been modified during the years, which linguistic mechanisms were proposed to “name” those concepts in specific languages. This evolution happened in dialogue and under the influence of important areas of mathematics, which, at some point across the sixties and the seventies, were identified with mathematical logic (and proof-theory in particular). Contrary to most folklore, however, the explicit recognition (in the published literature) of the influence of mathematical logic on programming language design is not something that happens since the beginning of the discipline. Moreover, concepts of the same name (e.g. types) have slightly different meanings in the two fields. The project will study these phenomena, by using a methodology bringing together computer scientists, professional historians, and philosophy scholars. I also propose to investigate on the notion of “program”, exploring to which extent we may look to programs as “inscriptions”, à la Latour. The ambitious (long-term) goal is that the study of programming languages, and of their conceptual history could become a blueprint for a more general epistemological investigation of computer science. This reconstruction would be useful also for a better understanding of the so-called “digital revolution”. The ubiquitous presence of computational concepts in our lives calls for an enhanced awareness of their limits and possibilities, which may be provided only by social and philosophical reflections.

Activities / Resume


Simone Martini is Professor of Computer Science at Alma Mater Studiorum-Università di Bologna, where he served as Head of the Department of Computer Science and Engineering until May 2018. He received the Laurea degree in Scienze dell’Informazione and the Dottorato di Ricerca in Informatica (Ph.D. in Computer Science, 1988) from Università di Pisa. Before joining Università di Bologna in 2002, he has been a professor in Pisa, and in Udine. He has been a visiting scientist at several international institutions, including the Systems Research Center of Digital Equipment Corporation, Palo Alto; Stanford University; École normale supérieure, Paris; Université Paris 13; University of California at Santa Cruz. He has supervised several PhD students, whose careers have ranged from industry to academia (professors, consultants, members of the Italian Parliament, etc.).
His research is in the foundations of computer science, with special interest in the mathematical foundations of programing languages, and, more generally, of computational processes. He used techniques borrowed from mathematical logic, developing also novel approaches to the proof-theory of modal and linear logics. He is actively interested in “implicit computational complexity”, a research field studying computational complexity phenomena by using language restrictions, and not external measure conditions or explicit machine models. In the last years, he started participating to the research community of “History and Philosophy of Computing,” whose central tenet is that a strong “interplay between researchers across disciplines with a serious interest in the history and philosophy of computing can crucially add to the maturity of the field of computing in general.”


  • M. Gabbrielli, and S. Martini, Programming languages, Springer, London, 2010. (English translation of the first Italian printing).
  • S. Martini, “Several types of types in programming languages”, History and Philosophy of Computing, HAPOC 2015, Springer, Berlin, IFIP Advances in Information and Communication Technology 487, 216--227, 2016.
  • S. Martini, “Types in Programming Languages, between Modelling, Abstraction, and Correctness”, Computability in Europe, CiE 2016: Pursuit of the Universal, Springer, Berlin, LNCS 9709, 164--169, 2016.
  • U. Dal Lago, S. Martini, “On constructor rewrite systems and the lambda-calculus”. Logical Methods in Computer Science, vol. 8(3:12), pp. 1-27, 2012.
  • U. Dal Lago, S. Martini, “The weak lambda-calculus as a reasonable machine”, Theoretical Computer Science, vol. 398(1-3) (2008) 32--50. (Elsevier, Amsterdam).
  • P. Coppola and S. Martini, “Optimizing Optimal Reduction. A type inference algorithm for Elementary Affine Logic”, ACM Transactions on Computational Logic (TOCL), vol. 7(2) (2006) 219--260 (ACM Press, New York).
  • A. Asperti, P. Coppola, and S. Martini, “(Optimal) duplication is not elementary recursive”, Information and Computation, vol. 193(1) (2004) 21-56 (Elsevier, Amsterdam). Also in the 27th ACM Conference on Principles of Programming Languages, POPL 2000.
  • U. Dal Lago, and S. Martini, “Phase Semantics and Decidability of Elementary Affine Logic”, Theoretical Computer Science, vol. 318(3) (2004) 409-433. (Elsevier, Amsterdam).
  • S. Guerrini, S. Martini, and A. Masini, “Coherence for sharing proof-nets”, Theoretical Computer Science, vol. 294(3) (2003) 379-409 (Elsevier, Amsterdam).
  • S. Guerrini, S. Martini, and A. Masini, “Proof nets, garbage, and computation”, Theoretical Computer Science, vol. 253(2) (2001), 185-237 (Elsevier, Amsterdam).
  • S. Martini and A. Masini, “A computational interpretation of modal proofs”, in Proof Theory of Modal Logic, H. Wansing (Ed), Kluwer, Dordrecht, 1996, 213--241.
  • L. Cardelli, S. Martini, J. C. Mitchell, and A. Scedrov, “An extension of system F with subtyping”, Information and Computation, vol. 109(1994), 4--56 (Academic Press, San Diego, CA).