Heterogeneous IDEs (HIDEs): Allowing Users to Edit Heterogeneous Languages
Project
Heterogeneous IDEs (HIDEs): Allowing Users to Edit Heterogeneous Languages
Principal Investigator
Oracle Fellowship Recipient
Lukas Diekmann
Oracle Principal Investigator
Hassan Chafi, Vice President, Research and Advanced Development
Summary
The aim of this project is to develop the first practical techniques and technologies for language composition compilers. These are currently the 'missing link' between language composition editors and VMs. Language composition compilers are needed to: enforce basic properties of programs before they are run (e.g. are variables in scope across composed languages?); (optionally) enforce complex properties (e.g. type systems across composed languages); and to translate programs to a common format that composed VMs can understand. To date there has been no work on any of these areas. This project will gradually build more sophisticated language composition compilers, driven by a series of gradually more complex case studies. We will start by taking an existing composition (Python to Prolog) and defining a sensible interchange format for editor and VM. We will then move to a composition where cross-language scoping needs to be enforced (PHP to Python). Finally, we will tackle basic type system composition (with cut-down languages like SML and Featherweight Java).