Ginger: implementing a new Lisp family syntax

  • Authors:
  • James Dean Palmer

  • Affiliations:
  • Northern Arizona University, Flagstaff, Arizona

  • Venue:
  • Proceedings of the 47th Annual Southeast Regional Conference
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

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.