9806746 Muller, Robert Boston College Experimental Software Systems: Collaborative Research: Applications of Flow Types in the Efficient, Modular, and Reliable Compilation of Higher-Order Typed Languages Modern programming languages (e.g. ML, Haskell, Scheme, Java) have several expressive features that let programmers abstract away from low-level, system-specific details and achieve benefits like code safety, code reuse, and modularity. Unfortunately, these features are challenging to implement efficiently in a compiler. The central difficulty is that the compiler must decide what concrete representations to assign to different abstractions of the same type in different contexts. Traditional compilers (inefficiently) solve this problem by choosing a uniform representation for all data. This research, part of the Church Project (www.cs.bu.edu/groups/church) addresses this challenge by (1) embedding type and control/data flow information in the intermediate representation of the program, (2) maintaining the accuracy of this information through the stages of the compiler and (3) using this information to customize data representations based on context, and to drive several compiler optimizations. The goal is to experimentally evaluate the efficacy of these "flow types" to compile a modern language like ML. Products of this research will include a compiler workbench that can be tuned with respect to flow information, experimental results indicating the effectiveness of type and flow information in compilation, and the design, implementation and evaluation of a new framework for the compilation of program fragments.