In this dissertation we develop a formal framework for examining multi-language systems. First, we introduce the framework with a simple language that connects two call-by-value languages with different type systems, and then we extend the language features we consider. This analysis allows us to reveal essential similarities in many different problems in programming language design, such as the surprising fact that safe foreign interfaces share a strong connection with contracts. We also explore the idea that a multi-language system ought to preserve the equational properties of its constituent languages and illustrate how to use this criterion as a design principle. Finally, we extend our methodology to domain-specific languages by presenting a formal design for Topsl, a domain-specific language for writing web-based surveys that is embedded into PLT Scheme.
Recommendations
Compiling Embedded Programs to Byte Code
PADL '02: Proceedings of the 4th International Symposium on Practical Aspects of Declarative LanguagesFunctional languages have proven substantially useful for hosting embedded domain-specific languages. They provide an infrastructure rich enough to define both a convenient syntax for the embedded language, a type system for embedded programs, and an ...
Compilation of Nonprocedural Specifications into Computer Programs
The paper describes the compilation of a program specification, written in the very high level nonprocedural MODEL language, into an object, PL/1 or Cobol, procedural language program. Nonprocedural programming languages are descriptive and devoid of ...