Dynamic Languages for Adaptive Software
"6.001 on Steroids"
Laboratory Dynamic Languages for Adaptive Software "6.001 on Steroids"
We are exploring the design and implementation of next generation programming
languages to support the next generation of intelligent, adaptive, complex
In order to implement dynamic, adaptive software systems, programming
languages must support reasoning about their own structure, performance,
and environment (often called "reflection"). Furthermore, there must be
support for dynamic modification of behavior (think self-modifying code,
or a "mutable MOP (meta-object protocol)"). Finally, this should all be
efficient; in particular, code that does not make use of self reflection
or modification should not take a performance hit.
Our research group takes inspiration and motivation from the broad field
of artificial intelligence, which is always pushing the boundaries of
what can be accomplished with computation, and we apply research from
the fields of programming language design and implementation.
Our primary focus is on dynamic object-oriented programming languages,
such as Dylan and CLOS. We are also actively pursuing research in Aspect-oriented
UROP's will have the opportunity to do stimulating research and contribute
to projects ranging from a production Dylan compiler to a very high level
Supervisor: Dr. Howard S. Shrobe (website)