Maybe it's just me, but I found the paper a total fail. Impatient readers should skip to sections 5.1 and 5.2 right away. Basically, the authors are trying to "evolve" simple functions by combining and recombining typed terms. First they "evolve" boolean-xor, sum-of-list and product-of-list, tweaking the "evolution" parameters until they get the right answer. Then they attempt to "evolve" increment-all-elements-of-list-by-one and fail.
Results like this are why I left computer science and started programming for money.
Results like this are why I left computer science and started programming for money.
Which is what you would have had to do anyway if you'd stayed in computer science. So, good call.
J. Y. Girard, et al. (1989). Proofs and types. Cambridge University Press, New York, NY, USA. (PDF)
I found introductory description of a number of ideas given in the beginning of this book very intuitively clear, and these ideas should be relevant to our discussion, preoccupied with the meaning of meaning as we are. Though the book itself is quite technical, the first chapter should be accessible to many readers.
From the beginning of the chapter:
Read the whole chapter (or the first three chapters). Download the book here (PDF).