We give an introduction to reflective towers of interpreters, a semantic model of reflection with a user level interpreted by a meta level interpreted by a meta meta level and so on.
When developing massively distributed, interactive applications, programmers must select mechanisms that balance consistency, performance, and availability, which can be challenging. New research is looking at ways to automate this selection, with provable guarantees.
As quantum computers become more practical, there is a rich opportunity to advance the development of tools to assist in the process of programming them, both now and in the future. To encourage more PL-minded researchers to work in this exciting new area, we established the Workshop on Programming Languages for Quantum Computing (PLanQC).
We share the results of a DARPA ISAT study, I-USHER: Interfaces to Unlock the Specialized HardwarE Revolution, arguing for new hardware/software interfaces to enable the revolution promised by hardware specialization.
Quantum computing may be more powerful than classical computing but has a radically different programming model. Current languages are in their infancy; future languages are likely to be different. Now is a great time for language designers and implementers to try new ideas.