ICFP 2008 Programming Contest
Submission Instructions

Submission Instructions

Your submission must run in the Linux environment provided by the LiveCD provided on the contest web site. The LiveCD includes many popular language implementations, but if your favorite language is not included, you may still submit a solution. The only restriction is that it must run in the LiveCD environment.

Contest entries must consist of a single gzipped tarball named icfp08.tgz. The archive must include all of the following:

  • at the top level, a directory icfp08.
  • a file team, inside icfp08, which consists of a single line of text, the team name.
  • a file contact, inside icfp08, which consists of the team member names and email addresses in the following format:
    John Doe <johndoe@gmail.com>
    Name/address pairs must appear one per line.
  • a directory src containing all the source code for your contest entry. Inside src, your code may be organized however you like.
  • a file README, inside src, to assist the judges' understanding of your code. If you used a compiler not among those provided on the LiveCD, specify the language and compiler your team used in this file.
  • a directory bin, containing whatever executables and scripts support the running of your controller.
  • an executable file run, inside bin, which runs your client. It may be an executable, or it may be a shell script that manages running your client. It must take command-line arguments (which will be specified in the contest task description). That is, the judges must be able to execute your client with
    bin/run [arguments redacted]
    from inside the icfp08 directory.

In addition, your archive may contain the file

  • an executable file install in the bin directory. If present, this file is run immediately after the submitted tarball is unbundled.

Roughly, the process of running your client will involve the following steps:

tar -xzf icfp08.tgz
cd icfp08
if test -x bin/install ; then
bin/install
fi
bin/run
[arguments redacted]

These commands will be run as user Knoppix (not root) in a temporary directory. The install command should not attempt to copy files outside the icfp08 directory.

Your tarball may include other files as well.


This document was translated from LATEX by HEVEA.