International Conference on Functional Programming Contest

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Der ICFP Contest ist ein Programmierwettbewerb, der jährlich im Umfeld der ICFP-Konferenz ausgerichtet wird. Der erste ICFP Contest fand 1998 statt.

Austragungsmodus[Bearbeiten]

Das gestellte Problem darf mit einer beliebigen Programmiersprache, zum Teil sogar mit beliebigen Hilfsmitteln und Anzahl an Teammitgliedern gelöst werden, auch wenn die Veranstalter hoffen, dass sich eine funktionale Sprache durchsetzt. Die einzige Begrenzung stellt die zur Verfügung stehende Zeit dar (Zeitlimit).

Es gibt üblicherweise zwei Wertungen, die Lightning Division, für Lösungen, die innerhalb eines Tages erstellt wurden und die normale Main Division, wo drei Tage für die Lösung ausgeschöpft werden dürfen.

Die Probleme sind in der Regel recht anspruchsvoll, in der Vergangenheit war Hintergrundwissen aus den Bereichen Raytracing, Optimale Steuerung und KI gefordert.

Teilnehmer[Bearbeiten]

Jeder kann teilnehmen, ob Student oder Profi, alleine oder im Team.

Das Feld ist in der Regel stark besetzt. Unter den Teilnehmern vergangener Wettbewerbe befanden sich so illustre Namen wie Thomas Rockiki (dvips), Simon Peyton Jones (Haskell), Joe Armstrong (Erlang), Andreas Bogk (libc5, Dylan), Tom Duff (Duff's Device).

Austragungsort[Bearbeiten]

Der Wettbewerb wird über das Internet veranstaltet, d.h. man kann von überall auf der Welt, wo es eine Netzanbindung gibt, teilnehmen.

Preise[Bearbeiten]

Zu gewinnen ist im Wesentlichen Ruhm, denn für die ersten Plätze gibt es traditionelle Proklamationen:

The judges declare...

  • Jurypreis: Your team is an extremely cool bunch of hackers!
  • Sieger Lightning Division: Your language is very suitable for rapid prototyping.
  • 2. Platz Main Division: Your language is a fine programming tool for many applications.
  • 1. Platz Main Division: Your language is the language of choice for discriminating hackers!

Oft gibt es auch ein Ticket zur ICFP-Konferenz, auf der die Gewinner und ihre Lösung vorgestellt werden.

Bisherige Wettbewerbe[Bearbeiten]

  • 2013
    • Aufgabe: Es ist ein durch einen beschränkten Befehlssatz kurzer Code zu finden, der ein als Zahl vorgegebenes Ergebnis aus einer Ausgangszahl berechnet. Je kürzer der Code, desto mehr Punkte gibt es.
  • 2012
    • Aufgabe: Digger-Variante
  • 2011
  • 13. Wettbewerb 2010[1]
    • Aufgabe: Autos und passende Treibstoffe
    • Eigentlich Suche nach passenden Matrizen, die komplizierte Bedingungen erfüllen
  • 12. Wettbewerb 2009[2]
    • Aufgabe: Vier Probleme, bei denen ein Satellit gesteuert werden muss, um eine Aufgabe zu erfüllen
    • First Prize: C++
    • Lightning: ML
    • Judges Prize: Haskell, MATLAB, PHP, Python, C++, Java
  • 11. Wettbewerb 2008[3]
    • Aufgabe: Kontrolle eines Mars-Rover, der diverse Hürden und Feinde umgehen muss
    • First Prize: Java
    • Lightning: OCaml
    • Judges prize: TeX
  • 10. Wettbewerb 2007[4]:
    • Aufgabe: Bildtransformation mit Hilfe einer zusätzlichen Programmiersprache, die über Reverse Engineering entschlüsselt werden muss.
    • First Prize: C++
    • Second Prize: Perl
    • Judge's Prize: Celestial Dire Badger (Jed Davis) mit OCaml und C++
  • 8. Wettbewerb 2005[6]:
    • Aufgabe: Spielersteuerung eines komplexen Räuber-und-Gendarm-„Brettspiels“.
    • First Prize: Haskell
    • Second Prize: Dylan
    • Third Prize: Haskell
    • Judge's Prize: Dylan
  • 6. Wettbewerb 2003[8]:
    • Aufgabe: Optimale Steuerung eines Rennwagens durch zum Teil arg verzwickte Rennstrecken
    • First Prize: C++
    • Second Prize: C++
    • Lightning Division: Objective CAML
    • Judge's Prize: Dylan, C++
  • 4. Wettbewerb 2001[10]:
    • Aufgabe: Entwicklung eines Parsers für sehr große SML/NG-Dateien
    • First Prize: Haskell
    • Second Prize: Dylan
    • Judge's Prize: Erlang

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. 13. Wettbewerb 2010
  2. 12. Wettbewerb 2009
  3. 11. Wettbewerb 2008
  4. 10. Wettbewerb 2007
  5. 9. Wettbewerb 2006
  6. 8. Wettbewerb 2005
  7. 7. Wettbewerb 2004
  8. 6. Wettbewerb 2003
  9. 5. Wettbewerb 2002
  10. 4. Wettbewerb 2001
  11. 3. Wettbewerb 2000
  12. 2. Wettbewerb 1999
  13. 1. Wettbewerb 1998