HOT Compilation Course ID 15417 Description The course covers the implementation of compilers for higher-order, typed languages such as ML and Haskell, and gives an introduction to type-preserving compilation. Topics covered include type inference, elaboration, CPS conversion, closure conversion, garbage collection, phase splitting, and typed assembly language. Key Topics Topics include type checking, type directed compilation, elaboration, phase splitting, CPS conversion, closure conversion, allocation, and garbage collection. Required Background Knowledge 15-312 Principles of Programming Languages (or equivalent) Course Relevance CS juniors, seniors, and graduate students Course Goals Students will implement an ML compiler and runtime system as a term project. Students will complete several projects through which they will implement an ML compiler and runtime system. Learning Resources There is no textbook for the course. Attendance in lectures is essential. Assessment Structure Grades are based on the number of successfully implemented projects. Course Link https://www.cs.cmu.edu/~crary/hotc/