Tamacola --- a meta language kit for the web: a report on creating a self-hosting lisp compiler on the Tamarin VM

  • Authors:
  • Takashi Yamamiya;Yoshiki Ohshima

  • Affiliations:
  • Viewpoints Research Institute, Glendale, CA;Viewpoints Research Institute, Glendale, CA

  • Venue:
  • Workshop on Self-Sustaining Systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Tamacola is a dynamic, self-sustaining meta-language system grounded upon the Tamarin VM. Tamacola compiles a Scheme-like S-expression language into ActionScript bytecodes, and contains meta-linguistic features, such as a PEG parser generator and macro system, which make it useful for defining new languages. In fact, Tamacola is written in itself, using its meta-linguistic features. Since the Tamarin VM can load ActionScript bytecode files to extend and replace running programs, Tamacola can extend itself and define new languages while it is running. Furthermore, since the Tamarin VM is part of the ubiquitous Adobe Flash player, this self-modification can be accomplished while running in a web browser, with no extra installation requirement. Objects in Tamacola are intimately tied to their Action-Script counterparts, providing good interoperability between Tamacola and the Flash Player. To show that the system is ready for practical use, we used Tamacola to implement both an interactive programming environment ("Workspace") and a simple particle language.