john reynolds, definitional interpreters for higher … · john reynolds, definitional...
TRANSCRIPT
![Page 1: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/1.jpg)
John Reynolds,Definitional Interpreters forHigher-Order Programming
Languages
Philip WadlerUniversity of Edinburgh
Papers We Love, 18 October 2016
![Page 2: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/2.jpg)
![Page 3: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/3.jpg)
![Page 4: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/4.jpg)
Some other Papers I Love
![Page 5: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/5.jpg)
John McCarthy, Toward a Mathematical Science of Computation, IFIP Congress, pages 21–28, 1962.
Peter Landin, The Next 700 Programming Languages, CACM, 9(3):157–166, March 1966.
Gordon Plotkin, Call-by-name, Call-by-value, and the Lambda Calculus, TCS 1:125–159, 1975.
![Page 6: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/6.jpg)
John McCarthy presents Recursive Functions of
Symbolic Expressions and Their Computation by
Machine, Part I, CACM 3(4):184—195, April 1960.
![Page 7: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/7.jpg)
Philip Wadler explains ‘Propositions as Types’, CACM, 58(12):75—84,
December 2015.
![Page 8: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/8.jpg)
The Papers
![Page 9: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/9.jpg)
John Reynolds, Definitional Interpreters for Higher-Order Programming Languages, in Proceedings of the ACM Annual Conference, Volume 2, pages 717—740, August 1972.
John Reynolds, Definitional Interpreters for Higher-Order Programming Languages, in Higher-Order and Symbolic Computation, 11(4):363—397, 1998.
John Reynolds, Definitional Interpreters Revisited, in Higher-Order and Symbolic Computation, 11(4):355—361, 1998.
John Reynolds, The Discoveries of Continuations, in Lisp and Symbolic Computation, 6:233—248, 1993.
![Page 10: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/10.jpg)
![Page 11: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/11.jpg)
![Page 12: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/12.jpg)
![Page 13: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/13.jpg)
![Page 14: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/14.jpg)
![Page 15: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/15.jpg)
Definitional Interpreters for Higher-Order Programming
Languages
![Page 16: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/16.jpg)
![Page 17: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/17.jpg)
I IIIIIIV
![Page 18: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/18.jpg)
![Page 19: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/19.jpg)
![Page 20: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/20.jpg)
![Page 21: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/21.jpg)
I A meta-circular interpreter
![Page 22: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/22.jpg)
Types: Syntax
![Page 23: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/23.jpg)
Types: Semantics
![Page 24: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/24.jpg)
![Page 25: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/25.jpg)
![Page 26: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/26.jpg)
![Page 27: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/27.jpg)
IIDefunctionalisation
![Page 28: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/28.jpg)
![Page 29: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/29.jpg)
![Page 30: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/30.jpg)
![Page 31: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/31.jpg)
![Page 32: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/32.jpg)
IIIContinuations
![Page 33: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/33.jpg)
![Page 34: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/34.jpg)
![Page 35: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/35.jpg)
![Page 36: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/36.jpg)
![Page 37: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/37.jpg)
IVContinuations
with higher-order functions(Continuation-Passing Style)
![Page 38: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/38.jpg)
![Page 39: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/39.jpg)
![Page 40: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/40.jpg)
VEscape expressions(Scheme’s call/cc)
![Page 41: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/41.jpg)
![Page 42: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/42.jpg)
![Page 43: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/43.jpg)
VIAssignment
![Page 44: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/44.jpg)
![Page 45: John Reynolds, Definitional Interpreters for Higher … · John Reynolds, Definitional Interpreters for Higher-Order Programming Languages Philip Wadler University of Edinburgh](https://reader034.vdocument.in/reader034/viewer/2022052313/5b61ab357f8b9a09498cac4f/html5/thumbnails/45.jpg)