Modular and generic programming with interpreterlib

  • 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:
  • Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modular monadic semantics (MMS) is a well-known technique for structuring modular denotational semantic definitions. Families of language constructs are independently defined using syntactic functors and semantic algebras that can be combined in a mix-and-match fashion to create complete language definitions. We introduce InterpreterLib, a Haskell library that implements and extends MMS techniques for writing composable analyses. In addition to modular analyses composition, InterpreterLib provides algebra combinators, explicit algebra semantics, preprocessors for boiler plate generation and generic programming techniques adapted to language analysis. The key benefits of these features are reliability, increased code reuse via modularity and the ability to rapidly retarget component analyses.