Slashdot Mirror


ICFP 2004 Programming Contest Results

jnagra writes "The results of the 2004 ICFP Programming Contest have been announced. First place is to a program in Haskell, second place is to a program in C++, and the judges' prize is to a program in OCaml. The ICFP contest is an annual contest to promote functional languages (although programs in any language are accepted) and bestows on the winners unlimited bragging rights."

2 of 30 comments (clear)

  1. Visualizing the winners by TheRealFoxFire · · Score: 4, Interesting

    For those of you who want to see the winners in action, the Formicidae simulator from Ant Wars can be used. It comes with a converter from the ICFP language to Ant Wars bytecode. To do so:

    1. Grab a copy of Formicidae from the download page
    2. Use the included convert.py on an ICFP .ant file:
    convert.py <filename.ant>
    3. Run formicidae.[sh|bat], and provide a world (ICFP maps included in the worlds/ subdirectory) and two .antc files
    4. Check ICFP Mode
    5. Enjoy the match

    Interestingly, this year's winning ant is already beaten by some of the competitors on Ant Wars, due to the fact that some Ant Wars ants have more aggressive defensive tactics that wind up decimating Dunkosmiloolump's ants that too brazenly approach their ant hill.

  2. Re:What happened to Dylan? by brucehoult · · Score: 4, Interesting

    We (DylAntz) were there, we just seem to have had an "off" year, managing only 25th out of 87 in the lightning (24 hour) contest and 137th out of 361 in the main (72 hour) contest.

    It would be nice to win every year, but actually I'm pretty happy with a record that goes:

    2001: 2nd
    2002: 35th
    2003: Judge's Prize
    2004: 137th

    I think this year's contest results had very little to do with how good your chosen programming language is. Instead it was all about how well you could get around the limitations of the ant instruction set and devise strategies for your ants to follow.

    Sure, you could make a compiler that gave you a language with loops and subroutines and (very limited) variables and turned that into ant code -- and we did that -- but in the end you had to have something smart you wanted to get your ants to do. We spent a lot of time on making out ants explore the world and gather food efficiently (including raiding the opponent's nest), but our strategy for defening our own nest turned out to be inadequate.

    For some reason the results say we used Perl, not Dylan. I don't know why. It's true that we had a quick&dirty ant assembler written in Perl that some of us used to play around with strategies while we waited for the proper compiler (written in Dylan) to be ready, but that wasn't used for the final submission.

    We submitted the following programs all written in Dylan:

    - world simulator library
    - very fast simulator (2 sec for 100,000 rounds)
    - slow simulator with OpenGL interface for visualization
    - high level compiler for ant brains

    Congratulations to the winners and we're looking forward to next year's contest!