tag:blogger.com,1999:blog-8068466035875589791.post6236661648499565498..comments2024-03-26T00:37:39.585-07:00Comments on Semantic Domain: John C. Reynolds, June 1, 1935 - April 28, 2013Neel Krishnaswamihttp://www.blogger.com/profile/06853898957395028131noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-8068466035875589791.post-77945969361449858392013-04-30T18:25:35.008-07:002013-04-30T18:25:35.008-07:00Thanks for this great post, Neel.Thanks for this great post, Neel.Lindsey Kuperhttps://www.blogger.com/profile/16008212366231583780noreply@blogger.comtag:blogger.com,1999:blog-8068466035875589791.post-88853567510992260572013-04-29T15:09:57.523-07:002013-04-29T15:09:57.523-07:00I only spoke with John a few times, but I always e...I only spoke with John a few times, but I always enjoyed our conversations. I never managed to get a chance to probe him more deeply about his 1975 paper, which I believe captures some of the essence of object-oriented programming. He didn't call them objects, he called them "Procedural Data Structures". Its still a great read, as it also contains the initial seeds of "expression problem". See http://repository.cmu.edu/cgi/viewcontent.cgi?article=2278&context=compsci<br />This work, along with Zilles "Procedural encapsulation: A linguistic protection technique" in 1973 were the first steps toward clear descriptions presentations of objects independent of particular programming languages.William R Cookhttps://www.blogger.com/profile/13627036863243572742noreply@blogger.comtag:blogger.com,1999:blog-8068466035875589791.post-57998977907431701012013-04-29T12:06:42.135-07:002013-04-29T12:06:42.135-07:00Though I wasn't one of John Reynold's grad...Though I wasn't one of John Reynold's graduate students, I did have the fortune of taking his class on Hoare logic and separation logic. Like Neel, I think the greatest thing I learned from him was his vision of science and the world.<br /><br />He was one of the most humble people I have ever met, yet probably the most brilliant! I remember once asking him about how he discovered the simply typed lambda calculus, and he said it came to him in an afternoon. It was nothing, really—after all, Girard was the one to discover F_sub and show the correspondence between the two. From that point on, whenever people would say of someone, "well, X has the right to be arrogant because he/she is so brilliant," I would provide John Reynolds as the obvious counter-example. :)<br /><br />Early in my graduate studies, I quickly noticed a trend that is familiar to most programming languages researchers: John Reynolds discovered just about every important problem in the space about 20 years before anyone else even realized its importance. You will often see text of the form, “This problem has been considered by many researchers, e.g., [Aaa92, Bbb95, Ccc98, Ddd05], though it was originally discovered by Reynolds [Rey71].” And not in just one area, but many, ranging from intersection types to polymorphism to subtyping and coercions. <br /><br />Some professors hold themselves in very high esteem and insist that others defer to them with great respect and admiration. We all held Reynolds in great esteem and respected and admired him, but it was because he was always willing to listen to others and wanted to see what he could learn from them. For instance, once he introduced himself to one my academic siblings, Ciera Jaspan, when she was still a student at CMU. He said (and I paraphrase), “I don’t know you, but I’ve often seen you talking to my students, so I should learn more about you. Who are you, and what do you work on?” (She, of course, knew him, but was a bit intimidated by his expertise!)<br /><br />When teaching separation logic, he spoke of the broken “frame property” in his and O’Hearn’s original work on the logic. I liked his wry and amusing characterization: “Well, we know less than we did before, but more of what we know is actually true.”<br /><br />Once he gave a presentation showing how you would use separation logic to verify the behavior of an XOR linked-list (which stores both the previous and next pointer in one field, using a bit manipulation trick). Someone asked, “yes, you can verify this, but why would you want to verify such a terrible program?” To which Reynolds responded, “ah yes, but once you have verified it, it’s not a terrible program anymore!”<br /><br />Reynolds was a great man and a great scientist, and he will be very missed.<br /><br />Donna Malayerihttps://www.blogger.com/profile/13853237652001998883noreply@blogger.com