January/February 2018 issue of acmqueue

The January/February issue of acmqueue is out now

Programming Languages

  Download PDF version of this article PDF

ITEM not available


Originally published in Queue vol. 2, no. 9
see this item in the ACM Digital Library



Robert C. Seacord - Uninitialized Reads
Understanding the proposed revisions to the C language

Carlos Baquero, Nuno Preguiça - Why Logical Clocks are Easy
Sometimes all you need is the right language.

Erik Meijer, Kevin Millikin, Gilad Bracha - Spicing Up Dart with Side Effects
A set of extensions to the Dart programming language, designed to support asynchrony and generator functions

Dave Long - META II: Digital Vellum in the Digital Scriptorium
Revisiting Schorre's 1962 compiler-compiler


(newest first)

Gary Baumgartner | Tue, 04 Apr 2017 18:32:46 UTC

In case anyone else stumbles on this article: the example shown is not a Scheme "hygienic macro", it is a primitive 1960s Lisp macro. And there were macro debuggers for Scheme at the time this article was published. There are decades of research and application of extensible programming from the Lisp and Scheme communities, and the majority of that work continues today in the Scheme descendant Racket.

Racket has for a long time now contained an infrastructure for not just extending the core Scheme semantics, in an s-expression syntax, but embedding entire new languages: with any syntax, static semantics, and dynamic semantics. The tools (e.g. IDE) are extension-aware, and interoperability between embedded languages is as seamless as the differing semantics allow.

Luke Stanley | Tue, 26 Jul 2011 06:35:35 UTC

Or you could do it in text format instead of XML too, like my friend Lion's Sectioned Format (LSF) - who even diagrams things in text. Sometimes you might need to use a text editor that doesn't have sophisticated new rendering.

Trystan | Thu, 09 Apr 2009 18:00:47 UTC

Very cool. Some of the initial statements regarding a common underlying communication medium (i.e. command line v.s. COM, etc) reminded me of research that was (is?) being performed by Ian Piumarta. His take is to have a virtual virtual machine (VVM) as an additional level of abstraction that provides a common communication medium across all languages and applications on a system (the prototypes are all very Lispy in spirit). Your proposal seems as though it could accomplish a subset of this but be implemented incrementally on existing technology.

Leave this field empty

Post a Comment:

© 2018 ACM, Inc. All Rights Reserved.