|
- PLT Scheme is an umbrella name for a family of projects. PLT is the distributed group of people who produced DrScheme, the underlying implementation language MzScheme, and many teaching-oriented tools. The current projects include: the design and implementation of language extensions for Scheme; the design and implementation of innovative programming environment tools; the design and implementation of teaching subsets of, and teaching tools for, Java; the study of interactive web programming via continuation-based servers; and the exploration of the role of interface contracts in program design. This work is currently supported by two NSF grants.
TeachScheme! is a PLT project whose objective it is to turn Computing and Programming into an indispensable part of the liberal arts curriculum. The TeachScheme! project is now its 10th year, and is supported by a multi-institution NSF grant and a donation from CORD.
Felleisen and Proulx are now investigating how to generalize the lessons of TeachScheme! to an object-oriented language such as Java.
Clinger and Felleisen are currently developing a version of Scheme on the .NET platform; this work (joint with Will Clinger) is supported by a gift from Microsoft Research. The eventual goal is to have a second implementation of MzScheme for scripting Microsoft's class framework for the CLR.
- The goal of the Demeter project is to improve on current leading-edge
software development practices using ideas from programming languages
and software engineering. Our focus is on Separation of Concerns (SOC)
technology, in particular on adaptive programming and aspect-oriented
programming.
- This work seeks to find new algorithms for generational
garbage collection and to explore, both experimentally and
theoretically, the behavior of garbage collection algorithms.
This work is supported by a Sun Collaborative Research grant and by
the National Science Foundation under
grant CCR-0208722.
- We are interested in understanding just how a program analysis
justifies the program transformation that is typically based upon it.
We have studied a sequence of analysis-based transformations,
including offline partial evaluation, lightweight closure conversion,
useless variable elimination, and destructive update introduction.
We seek to extend this work to context- and flow-dependent analyses,
and to languages in which procedures may be invoked implicitly via
events, callbacks, or aspects. This work is supported by the National Science Foundation under grant
CCR-0097740. (Recent
Papers)
- We are interested in various aspects of the semantics of
programming languages, including operational semantics of monads,
semantics of aspect-oriented programming, and compiler correctness
- Logic is to computer science and software engineering what
calculus is to physics and engineering. The project's goal is to
integrate logic into all aspects of the computer science curriculum so
that students understand how logic helps with the most fundamental
task of our science, programming and system design. This is joint work
with Moshe Vardi at Rice and Phoikon Kolaitis at UCSC and is supported
by the National Science
Foundation.
|