This project, seeking to enhance the programming tools available in PLT scheme, aims at Improving its performance, Developing a dynamic foreign library interface, Developing a web programming environment, and Supporting language embeddings into its environment. The PLT suite of software tools consists of an interpreter and an interactive program development environment for the Scheme programming language, with special support for component programming, graphics, web programming, and numerous extension libraries. This infrastructure effort aims to equip PLT Scheme with a compiler to improve its performance and an easy-to-use framework for embedding additional languages into its program development environment. The infrastructure will help the PLT research group to continue its investigation into programming languages and software engineering. The project contributes towards the following expectations: Language researchers outside of PLT should be able to use PLT Scheme not just as a modeling language, but also as an implementation language for their prototypes and Use their prototype language tools for large software systems. Other computer scientists should be able to tackle Large verification problems, Studies of access control, and Learning algorithms. Textbook authors should develop language embeddings to enable students to program in toy languages with a full-fledged IDE around.
Broader Impact: The widely used PLT Scheme has had a large impact on education. The improvements should benefit the PLT research group in its research and education efforts, as well as computer science educators at high school and college level, and programming languages' researchers in general. Hence, this enhanced platform should enable the continued influx of research ideas into the high school science curriculum through PLT's outreach efforts.