TY - THES AB - In 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. AD - Oregon Graduate Institute of Science and Technology AU - Bell, Jeffery M. DA - 1994-01-01 DO - 10.6083/M47W69J4 DO - DOI ID - 7886 KW - reynolds' defunctionalization method L1 - https://digitalcollections.ohsu.edu/record/7886/files/Bell.Jeffrey.1994.pdf L2 - https://digitalcollections.ohsu.edu/record/7886/files/Bell.Jeffrey.1994.pdf L4 - https://digitalcollections.ohsu.edu/record/7886/files/Bell.Jeffrey.1994.pdf LK - https://digitalcollections.ohsu.edu/record/7886/files/Bell.Jeffrey.1994.pdf N2 - In 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. PB - Oregon Health and Science University PY - 1994-01-01 T1 - An implementation of Reynolds defunctionalization method for a modern functional language TI - An implementation of Reynolds defunctionalization method for a modern functional language UR - https://digitalcollections.ohsu.edu/record/7886/files/Bell.Jeffrey.1994.pdf Y1 - 1994-01-01 ER -