[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Array-Oriented Prgramming Language wins special attention



Below is an exceprt from the announcement of winners of the ICFP programming 
contest, (URL being http://www.ai.mit.edu/extra/icfp-contest/winners.html).
I bring this to the attention of anyone in the group who wishes to learn more
about porogramming; if you're interested in more of this sort of thing, please
write to me....
                                                           ---> RGB <---
------------------------------------------------------------------------------

Judge's Prize

The Judge's Prize was awarded to the ISI entry, submitted by a team of five
from Iverson Software: 

 Chris Burke
                Roger Hui
 Eric Iverson
                Ken Iverson
 Kirk Iverson

The ISI entry was written in a language called J, Ken Iverson's successor to 
APL. J appears to be rather like a cross between APL and Backus' fp language,
described in his Turing award lecture. Although it is restricted to the ASCII 
character set, it shares the APL qualities of being extremely terse and 
looking, for the most part, a lot like line noise. Also like APL, J is
notationally a bold departure from more traditional languages...Iverson
Software puts up free evaluation copies of the J interpreter on their
web site, along with papers describing the language. (Unfortunately for Unix
programmers, most of these papers are in Microsoft Word format, rather than 
PostScript or PDF.) [I can supply translations -- RGB]

The contest judges selected the J program because we felt it was the most 
thought-provoking entry. In brief, it is everything the number one Cilk Pousse 
entry is not:

        It is not parallel. 

        It is not even compiled -- it ran on a simple interpreter. 

        Note that J's aggregate-data operators tend to keep execution in the
        "leaf" primitives of the program, so this is rather more efficient 
        than one might imagine. 

        It is astoundingly brief.

        Not including comments and test-case "dead code," the J entry is 113
        lines of code -- we've posted the source for the whole program. 
        (http://www.ai.mit.edu/extra/icfp-contest/j-source.txt)
        It is extremely functional.

        There is only one one loop in the whole program. J syntax allows 
        operators such as addition to be transparently "lifted" to function
        domains. 

And yet the J entry proceeded to beat 17 compiled C entries, which we view as 
at least a partial testament to the productivity gains of working with a 
powerful notation (and a partial testament to the skill and expertise of the 
isi team members, of course).

We felt there were several lessons in the J entry for the programming 
community. Like the other two prize-winners, it is a strong statement.

Congratulations to the isi team! Without a doubt, "a bunch of extremely cool 
hackers" -- and an extremely cool programming language.