000007886 001__ 7886 000007886 005__ 20240124114253.0 000007886 0247_ $$2DOI$$a10.6083/M47W69J4 000007886 037__ $$aETD 000007886 245__ $$aAn implementation of Reynolds defunctionalization method for a modern functional language 000007886 260__ $$bOregon Health and Science University 000007886 269__ $$a1994-01-01 000007886 336__ $$aThesis 000007886 502__ $$bM.S. 000007886 520__ $$aIn a 1972 paper, John C. Reynolds outlined a method for removing higher order functions from a functional language program by representing functional values as data and interpreting the representations as needed. This transformation is known as defunctionalization. This thesis describes an automated defunctionalization system that transforms a significant portion of core Standard ML syntax. Modern functional language features addressed by this research include pattern matching, parametric polymorphism, "mul tiple alternate" expressions, local declarations, and function values contained in data structures. This research elaborates on details not explained in earlier presentations of the defunctionalization method, including detection of higher order functions, function values that are "shared" by several higher order functions, and higher order functions with higher order parameters. 000007886 6531_ $$areynolds' defunctionalization method 000007886 7001_ $$aBell, Jeffery M. 000007886 7001_ $$uOregon Graduate Institute of Science and Technology$$041352 000007886 8564_ $$915d6a73c-9729-45ae-9319-c9d9078fc426$$s27088732$$uhttps://digitalcollections.ohsu.edu/record/7886/files/Bell.Jeffrey.1994.pdf 000007886 905__ $$a/rest/prod/sb/39/79/03/sb397903x 000007886 909CO $$ooai:digitalcollections.ohsu.edu:7886$$pstudent-work 000007886 980__ $$aTheses and Dissertations