1. Do I have to program in a functional language to enter the contest?
No. You can use any language you want.
2. There are two weeks between the deadline for the first task and the announcement of the second task. Am I allowed to make changes to my program during that time?
Yes. However, you should be aware that the judges' prize will be awarded to the team that best reuses their first submission in their second. If you make major modifications to your first submission after you submit it, you will be seriously hurting your chances of winning the judges' prize.
3. How do I register for the contest?
You don't, until you have an entry you would like to submit. Details will appear on the contest web site after the competition starts.
4. Is there an official IRC channel for the contest?
No. There is, however, an unofficial one: #icfpc on irc.freenode.net. Many of the contest organizers will be around that channel during the contest (though sending email to the public mailing list for public questions or to firstname.lastname@example.org for private questions is the preferred way for you to contact us), and there may be other contestants around to swap tips with.
5. The web page lists package X (Java 1.5, for example), but it isn't on the CD! What gives?
Some of the newer packages are stored in /icfpc on the livecd. Be sure to read the README file on the CD.
6. Can you add package X to the CD, or update package X to a later version?
This was possible until recently. We're too close to the start of the competition now, so we will not be releasing a new cd.
In any case, most programming languages can produce stand-alone programs of some form. If you do not know how to do that with your programming language, now is the time to find out.
If your programs need certain libraries that are not on the CD, please try to install them in your working directory and then include them as part of your program submission (or statically link them into a binary you submit). If this is impossible for some reason, please let us know as part of your submission.
7. Can I use a language that doesn't have a freely-available implementation for Linux?
Certainly. The only requirement is that we be able to somehow run it in our testing environment, which will be x86 machines running with the distributed LiveCD. For instance, if your language implementation can produce standalone binaries for Linux, you can certainly submit those and not worry about the details of the LiveCD.
If your language cannot produce standalone Linux binaries and there is no runtime support environment that the judges can use to run your programs (for instance because your favorite language only produces Mac or Windows programs) let us know as soon as possible by emailing email@example.com. Based on previous years' submissions, we expect that a few special arrangements will be sufficient to handle the submissions in this category, but we are open to reevaluating that plan if there is huge demand for Windows or Macintosh hardware.