New Paradigm for Comparing the Expressive Power of Languages

If you're an ICFP referee, you definitely want to read further.

New Paradigm for Comparing the Expressive Power of Languages

Abstract

The community folklore abounds with informal claims concerning the expressive power of certain programming languages. Given that just about all languages under discussion are Turing Complete, Felleisen introduce the concept of »macro expressiveness« to provide a framework for more principled comparisons between languages [1].

While Felleisen's work was groundbreaking, we have built upon Diggin's recent work on the Cat language [2] to develop a comparative framework that not only correctly captures many informal notions of expressiveness, but is durned cute at the same time. Language features that can be encoded using our methodology are said to be »cat macro expressible« [3]. We illustrate the technique by showing that most features of C language [4] are cat macro expressible as »im in ur stackz overflowing ur bufferz« [5]. Finally, we provide evidence that the massive parallelism inherent in the Internet can be harnessed for the generation of programming idioms that are cat macro expressible [6].

[1] http://www.ccs.neu.edu/scheme/pubs/scp91-felleisen.ps.gz
[2] http://www.cat-language.com/
[3] http://en.wikipedia.org/wiki/Cat_macros
[4] Brian W. Kernighan and Dennis M. Ritchie. The C Programming Language.
[5]

im in ur stackz overflowing ur bufferz

[6] http://www.xkcd.com/c262.html

1 Comment »

  1. cdiggins.com » Blog Archive » Lolcat programming? said,

    May 23, 2007 @ 1:04 pm

    […] If you know what a lolcat is, then the following is for you:  http://existentialtype.net/?p=133 […]

RSS feed for comments on this post · TrackBack URI

Leave a Comment