[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1566445.1566481acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesacm-seConference Proceedingsconference-collections
research-article

Ginger: implementing a new Lisp family syntax

Published: 19 March 2009 Publication History

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.

References

[1]
Apple Computer Eastern Research and Technology. Dylan(TM) an object-oriented dynamic language. 1992.
[2]
A. Bawden. First-class macros have types. In In 27th ACM Symposium on Principles of Programming Languages (POPL'00, pages 133--141. ACM, 2000.
[3]
J. Bentley. Programming pearls: little languages. Commun. ACM, 29(8):711--721, 1986.
[4]
J. McCarthy. History of LISP. History of programming languages I, pages 173--185, 1981.
[5]
M. Mernik, J. Heering, and A. M. Sloane. When and how to develop domain-specific languages. ACM Comput. Surv., 37(4):316--344, 2005.
[6]
E. Möller. SRFI 49: Indentation-sensitive syntax. http://srfi.schemers.org/srfi-49/srfi-49.html, 2003.
[7]
A. Pralle. Slag language primer. http://www.plasmaworks.com/files/slag/slag_primer.html, 2008.
[8]
R. L. Rivest. Network working group internet draft: S-expressions. http://people.csail.mit.edu/rivest/Sexp.txt, 1997.
[9]
D. Spinellis. Notable design patterns for domain-specific languages. J. Syst. Softw., 56(1):91--99, 2001.
[10]
G. Van Rossum. The Python Language Reference Manual. Network Theory Ltd., September 2003.
[11]
M. P. Ward. Language-oriented programming. Software --- Concepts and Tools, 15(4):147--161, 1994.
[12]
D. Wheeler. Sweet-expressions: A suite of readable formats for Lisp-like languages. http://www.dwheeler.com/readable/sweet-expressions.html, 2006.

Cited By

View all
  • (2010)Writing software to be understoodJournal of Computing Sciences in Colleges10.5555/1858583.185859826:2(106-112)Online publication date: 1-Dec-2010
  • (2010)FicticiousProceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion10.1145/1869542.1869551(61-68)Online publication date: 17-Oct-2010
  • (2009)Reimagining literate programmingProceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications10.1145/1639950.1640072(1007-1014)Online publication date: 25-Oct-2009

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
ACMSE '09: Proceedings of the 47th annual ACM Southeast Conference
March 2009
430 pages
ISBN:9781605584218
DOI:10.1145/1566445
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 March 2009

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ACM SE 09
ACM SE 09: ACM Southeast Regional Conference
March 19 - 21, 2009
South Carolina, Clemson

Acceptance Rates

Overall Acceptance Rate 502 of 1,023 submissions, 49%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2010)Writing software to be understoodJournal of Computing Sciences in Colleges10.5555/1858583.185859826:2(106-112)Online publication date: 1-Dec-2010
  • (2010)FicticiousProceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion10.1145/1869542.1869551(61-68)Online publication date: 17-Oct-2010
  • (2009)Reimagining literate programmingProceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications10.1145/1639950.1640072(1007-1014)Online publication date: 25-Oct-2009

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media