Subject: Ari Lamstein's submission Date: Thu, 19 Oct 2000 10:23:12 -0700 (PDT) From: Peter Selinger <selinger@dead.stanford.edu> To: mathjournal@rose-hulman.edu CC: alamstei0@yahoo.com (Ari Lamstein) Hi, this is a letter in support of Ari Lamstein's submission "Theory and Implementation of a Functional Programming Language" to the Undergraduate Journal of Mathematics at Rose-Hulman Institute of Technology. * My association with the student. I supervised Ari Lamstein's work through a UROP project (Undergraduate Research Opportunities Program, http://www.umich.edu/~urop/) in the academic year 1999/2000 at the University of Michigan. The project continued as an REU project through the Math Dept at Michigan in the summer of 2000. I was an Assistant Professor of Mathematics at the University of Michigan at that time (now I am a Computer Scientist at Stanford). The paper that Ari has submitted to your journal is also the final project paper for the REU project. * My assessment of the paper. Scope: This paper is in the mathematical foundations of computer science, an area closely related to (and historically derived from) mathematical logic. While the subject matter is programming languages, the nature of the article is mathematical (with precise definitions, theorems, and proofs). Therefore I think the paper falls well within the scope of this journal. Content: The paper does not contain any original results, but it is a well-written, self-contained introduction to the study of programming languages. An unusual feature of this paper is that it covers several stages of the language design process, all the way from theoretical definitions to a practical implementation. The article treats a variety of non-trivial topics, such as polymorphic type inference, abstract machines, and operational semantics, but manages to do this in a self-contained way, by focusing on the example of a relatively small, custom-made programming language PPL. To my knowledge, a self-contained introduction of this scope and brevity is not readily available elsewhere. Presentation and Level: The paper is well-written, and it should be accessible, with a reasonable amount of work, to a person who is comfortable with the idea of syntax, e.g., someone who has taken an introductory logic course. The paper contains proper references (although it does not attempt to give a complete or even near-complete bibliography of the subject). The level of mathematical maturity of this paper is way beyond a typical homework assignment. * A statement verifying that the student did the work as an undergraduate. Ari Lamstein was an undergraduate math major at the University of Michigan during the bulk of this project. We continued the project for several months in the summer of 2000 after Ari had graduated. * My name and address. Peter Selinger Department of Computer Science Stanford University selinger@theory.stanford.edu Best wishes, -- Peter Selinger