Programming pearls: little languages
Communications of the ACM
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Notable design patterns for domain-specific languages
Journal of Systems and Software
When and how to develop domain-specific languages
ACM Computing Surveys (CSUR)
The Python Language Reference Manual
The Python Language Reference Manual
Reimagining literate programming
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Writing software to be understood: an exercise in Ginger using literate programming
Journal of Computing Sciences in Colleges
Ficticious: MicroLanguages for interactive fiction
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Hi-index | 0.00 |
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.