The racket manifesto

Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi, Eli Barzilay, Jay Mccarthy, Sam Tobin-Hochstadt

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

25 Scopus citations

Abstract

The creation of a programming language calls for guiding principles that point the developers to goals. This article spells out the three basic principles behind the 20-year development of Racket. First, programming is about stating and solving problems, and this activity normally takes place in a context with its own language of discourse; good programmers ought to formulate this language as a programming language. Hence, Racket is a programming language for creating new programming languages. Second, by following this language-oriented approach to programming, systems become multi-lingual collections of interconnected components. Each language and component must be able to protect its specific invariants. In support, Racket offers protection mechanisms to implement a full language spectrum, from C-level bit manipulation to soundly typed extensions. Third, because Racket considers programming as problem solving in the correct language, Racket also turns extra-linguistic mechanisms into linguistic constructs, especially mechanisms for managing resources and projects. The paper explains these principles and how Racket lives up to them, presents the evaluation framework behind the design process, and concludes with a sketch of Racket's imperfections and opportunities for future improvements.

Original languageEnglish (US)
Title of host publication1st Summit on Advances in Programming Languages, SNAPL 2015
EditorsThomas Ball, Rastislav Bodik, Benjamin S. Lerner, Greg Morrisett, Shriram Krishnamurthi
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Pages113-128
Number of pages16
ISBN (Electronic)9783939897804
DOIs
StatePublished - May 1 2015
Event1st Summit on Advances in Programming Languages, SNAPL 2015 - Asilomar, United States
Duration: May 3 2015May 6 2015

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
Volume32
ISSN (Print)1868-8969

Other

Other1st Summit on Advances in Programming Languages, SNAPL 2015
CountryUnited States
CityAsilomar
Period5/3/155/6/15

Keywords

  • Design guidelines
  • Full-spectrum language
  • Language generation

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'The racket manifesto'. Together they form a unique fingerprint.

Cite this