Cedalion: A language for language oriented programming

David H. Lorenz, Boaz Rosenan

Research output: Contribution to journalArticlepeer-review

Abstract

Language Oriented Programming (LOP) is a paradigm that puts domain specific programming languages (DSLs) at the center of the software development process. Currently, there are three main approaches to LOP: (1) the use of internal DSLs, implemented as libraries in a given host language; (2) the use of external DSLs, implemented as interpreters or compilers in an external language; and (3) the use of language workbenches, which are integrated development environments (IDEs) for defining and using external DSLs. In this paper, we contribute: (4) a novel language-oriented approach to LOP for defining and using internal DSLs. While language workbenches adapt internal DSL features to overcome some of the limitations of external DSLs, our approach adapts language workbench features to overcome some of the limitations of internal DSLs. We introduce Cedalion, an LOP host language for internal DSLs, featuring static validation and projectional editing. To validate our approach we present a case study in which Cedalion was used by biologists in designing a DNA microarray for molecular Biology research.

Original languageEnglish
Pages (from-to)733-752
Number of pages20
JournalACM SIGPLAN Notices
Volume46
Issue number10
DOIs
StatePublished - Oct 2011

Keywords

  • Domain-specific languages (DSL).
  • Language workbenches
  • Language-oriented programming (LOP)
  • Logic programming

All Science Journal Classification (ASJC) codes

  • General Computer Science

Fingerprint

Dive into the research topics of 'Cedalion: A language for language oriented programming'. Together they form a unique fingerprint.

Cite this