Reimagining literate programming

James Dean Palmer, Eddie Hillenbrand

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Scopus citations

Abstract

In this paper we describe Ginger, a new language with first class support for literate programming. Literate programming is a philosophy that argues computer programs should be written as literature with human readability and understanding of paramount importance. While the intent of literate programming is to make understanding computer programs simpler, most literate programming systems are quite complex and consist of three different languages corresponding to 1) an implementation language, 2) a documentation language, and 3) a literate programming glue language. In Knuth's original implementation these were Pascal, TeX, and WEB respectively. Antithetical to the goals that literate programming espouses, this three language paradigm creates a truly challenging environment for new programmers. In this paper we reimagine literate programming as a core programming language feature and describe a novel system for literate programming based on G-expression transformations. We show that Ginger code can be used to naturally represent code, prose, and literate connections, which in turn unifies, simplifies and significantly extends the literate programming experience.

Original languageEnglish (US)
Title of host publicationOOPSLA 2009 Companion - 24th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2009
Pages1007-1014
Number of pages8
DOIs
StatePublished - Dec 24 2009
EventOOPSLA 2009 Companion - 24th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2009 - Orlando, FL, United States
Duration: Oct 25 2009Oct 29 2009

Publication series

NameProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA

Other

OtherOOPSLA 2009 Companion - 24th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2009
CountryUnited States
CityOrlando, FL
Period10/25/0910/29/09

Keywords

  • Ginger
  • Literate programming
  • Program comprehension

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Reimagining literate programming'. Together they form a unique fingerprint.

  • Cite this

    Palmer, J. D., & Hillenbrand, E. (2009). Reimagining literate programming. In OOPSLA 2009 Companion - 24th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2009 (pp. 1007-1014). (Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA). https://doi.org/10.1145/1639950.1640072