Ginger

Implementing a new Lisp family syntax

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

2 Citations (Scopus)

Abstract

In this paper we introduce G-expressions, a new syntax based on the S-expression syntax utilized by most Lisp family languages. We have implemented a new homoiconic language, Ginger, based on this syntax and a Smalltalk inspired object system. Like the Scheme language, Ginger employs only a few special forms and observes a minimalist discipline allowing users to define functions that act like the primitive forms in many Algol-like languages. But unlike Scheme, G-expressions allow Ginger to emulate the aesthetic feel of an Algol-like language syntax. While fundamentally a dialect of Lisp, Ginger implements an attractive modern syntax which can superficially resemble Python or Ruby. This syntactic flexibility exemplifies Ginger's true power as a tool for developing task or domain-specific micro-languages.

Original languageEnglish (US)
Title of host publicationProceedings of the 47th Annual Southeast Regional Conference, ACM-SE 47
DOIs
StatePublished - 2009
Event47th Annual Southeast Regional Conference, ACM-SE 47 - Clemson, SC, United States
Duration: Mar 19 2009Mar 21 2009

Other

Other47th Annual Southeast Regional Conference, ACM-SE 47
CountryUnited States
CityClemson, SC
Period3/19/093/21/09

Fingerprint

Ruby
Syntactics

Keywords

  • D.3.1 [Programming Languages]: Formal definitions and theory

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Science Applications
  • Hardware and Architecture
  • Software

Cite this

Palmer, J. D. (2009). Ginger: Implementing a new Lisp family syntax. In Proceedings of the 47th Annual Southeast Regional Conference, ACM-SE 47 [1566481] https://doi.org/10.1145/1566445.1566481

Ginger : Implementing a new Lisp family syntax. / Palmer, James D.

Proceedings of the 47th Annual Southeast Regional Conference, ACM-SE 47. 2009. 1566481.

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

Palmer, JD 2009, Ginger: Implementing a new Lisp family syntax. in Proceedings of the 47th Annual Southeast Regional Conference, ACM-SE 47., 1566481, 47th Annual Southeast Regional Conference, ACM-SE 47, Clemson, SC, United States, 3/19/09. https://doi.org/10.1145/1566445.1566481
Palmer JD. Ginger: Implementing a new Lisp family syntax. In Proceedings of the 47th Annual Southeast Regional Conference, ACM-SE 47. 2009. 1566481 https://doi.org/10.1145/1566445.1566481
Palmer, James D. / Ginger : Implementing a new Lisp family syntax. Proceedings of the 47th Annual Southeast Regional Conference, ACM-SE 47. 2009.
@inproceedings{d5f1107ae94d48ef98add5ac50253ce2,
title = "Ginger: Implementing a new Lisp family syntax",
abstract = "In this paper we introduce G-expressions, a new syntax based on the S-expression syntax utilized by most Lisp family languages. We have implemented a new homoiconic language, Ginger, based on this syntax and a Smalltalk inspired object system. Like the Scheme language, Ginger employs only a few special forms and observes a minimalist discipline allowing users to define functions that act like the primitive forms in many Algol-like languages. But unlike Scheme, G-expressions allow Ginger to emulate the aesthetic feel of an Algol-like language syntax. While fundamentally a dialect of Lisp, Ginger implements an attractive modern syntax which can superficially resemble Python or Ruby. This syntactic flexibility exemplifies Ginger's true power as a tool for developing task or domain-specific micro-languages.",
keywords = "D.3.1 [Programming Languages]: Formal definitions and theory",
author = "Palmer, {James D}",
year = "2009",
doi = "10.1145/1566445.1566481",
language = "English (US)",
isbn = "9781605584218",
booktitle = "Proceedings of the 47th Annual Southeast Regional Conference, ACM-SE 47",

}

TY - GEN

T1 - Ginger

T2 - Implementing a new Lisp family syntax

AU - Palmer, James D

PY - 2009

Y1 - 2009

N2 - In this paper we introduce G-expressions, a new syntax based on the S-expression syntax utilized by most Lisp family languages. We have implemented a new homoiconic language, Ginger, based on this syntax and a Smalltalk inspired object system. Like the Scheme language, Ginger employs only a few special forms and observes a minimalist discipline allowing users to define functions that act like the primitive forms in many Algol-like languages. But unlike Scheme, G-expressions allow Ginger to emulate the aesthetic feel of an Algol-like language syntax. While fundamentally a dialect of Lisp, Ginger implements an attractive modern syntax which can superficially resemble Python or Ruby. This syntactic flexibility exemplifies Ginger's true power as a tool for developing task or domain-specific micro-languages.

AB - In this paper we introduce G-expressions, a new syntax based on the S-expression syntax utilized by most Lisp family languages. We have implemented a new homoiconic language, Ginger, based on this syntax and a Smalltalk inspired object system. Like the Scheme language, Ginger employs only a few special forms and observes a minimalist discipline allowing users to define functions that act like the primitive forms in many Algol-like languages. But unlike Scheme, G-expressions allow Ginger to emulate the aesthetic feel of an Algol-like language syntax. While fundamentally a dialect of Lisp, Ginger implements an attractive modern syntax which can superficially resemble Python or Ruby. This syntactic flexibility exemplifies Ginger's true power as a tool for developing task or domain-specific micro-languages.

KW - D.3.1 [Programming Languages]: Formal definitions and theory

UR - http://www.scopus.com/inward/record.url?scp=70449728308&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=70449728308&partnerID=8YFLogxK

U2 - 10.1145/1566445.1566481

DO - 10.1145/1566445.1566481

M3 - Conference contribution

SN - 9781605584218

BT - Proceedings of the 47th Annual Southeast Regional Conference, ACM-SE 47

ER -