Programming geeks fight to the finish

"One way to win is to disable the other robots."

"One way to win is to disable the other robots."

While the rest of America lounges on the beach and bids farewell to summer, some computer programmers will spend Labor Day creating software robots that will deliver virtual packages while shoving each other into lethal ponds. No, really... The occasion for this creative exercise is the Fifth ICFP Programming Contest, a 72-hour battle announced Friday and ending Monday at noon. Winning robots will square off against each other at the International Conference on Functional Programming held this year in Pittsburgh, 4-6 October. Entrants, vying for a $1,000 cash top prize, may use any programming language they wish, but contest organisers are confident that the prevailing robot will be created with a functional programming language. Functional programming, based on the use of mathematical functions, is one of several different computer language paradigms. More common is the imperative programming paradigm, which includes languages such as C and Java and works by giving step-by-step instructions. Other programming types include logic and object-oriented programming. "We believe that the functional programming paradigm has a lot of advantages and deserves to be used more widely," said contest organiser Tim Sheard, a professor at contest sponsor the OGI School of Science & Engineering, an Oregon Health & Science University school. "We believe it leads to programs that are more robust with fewer errors. The contest is a light-hearted way to make our point." Functional languages have been well represented in the ICFP winners' circle. Between 1998 and 2001, winners of first, second and third prizes have used Haskell and Erlang, both functional languages Dylan, an object-oriented language OCaml, an object-oriented and functional hybrid and Cilk, a parallel imperative variant of ANSI C. Entries reached a peak last year, increasing six fold from the previous year to 263. The competing programmers' task is to create a software robot that delivers packages of varying weights. The robots, which drown when pushed into virtual bodies of water, do not necessarily have to be nice to win. "One way to win is to disable the other robots," Sheard said. "That adds a real elements of difficulty in the programming, and that's part of what we were reaching for." Software robots, like their hardware counterparts, imitate human behaviour in some way. A common example is a search engine spider, which crawls the web gathering information. Sheard made no apologies for making contestants work over the Labor Day weekend. He cited the heavily international make-up of past contestant pools - only a minority hail from the United States - as well as two weekends of Jewish holidays that follow Labor Day. Any later than that, and last-minute airfare starts becoming a budgetary issue. "We'll pay for the winners to come to the conference," Sheard said. "And we wanted to get cheap flights." Paul Festa writes for News.com