Constructing language processors with algebra combinators

  • Authors:
  • Philip Weaver;Garrin Kimmell;Nicolas Frisby;Perry Alexander

  • Affiliations:
  • University of Kansas, Lawrence, KS;University of Kansas, Lawrence, KS;University of Kansas, Lawrence, KS;University of Kansas, Lawrence, KS

  • Venue:
  • GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modular Monadic Semantics (MMS) is a well-known mechanism for structuring modular denotational semantic definitions for programming languages. The principal attraction of MMS is that families of language constructs can be independently specified and later combined in a mix-and-match fashion to create a complete language semantics. This has proved useful for constructing formal, yet executable, semantics when prototyping languages. In this work we demonstrate that MMS has an additional software engineering benefit. Rather than composing semantics for various language constructs, we can use MMS to compose various differing semantics for the same language constructs. We describe algebra combinators, the principal vehicle for achieving this reuse, along with a series of applications of the technique for common language processing tasks.