ICFP 2002 sorted results. See this page for all the details about the contest.
They don't seem to provide a sorted list of entries, so I cross-referenced the info and made this table. I took the rankings from the results of round 4 combined. See the end of the page for the Lua script I used to generate the table. Hopefully it's correct; let me know if not.
DISCLAIMER: On the scoring page the organizers explicitly say they didn't try to generate a correct ordering for the whole field of entries, just the top couple. Which is probably why they don't provide this table. So take this with a huge grain of salt! Entertainment value only, etc.
rank | entry # | team name | program name | language |
---|---|---|---|---|
1 | 107 | TAPLAS | Rog-O-Matic III | Objective Caml |
2 | 161 | Radical Too | lessobliv | C, raw C |
3 | 193 | Berkeley State Machines Incorporated | BSM-2 | C |
4 | 290 | Ephibian Harbinger | Harbinger | Java |
5 | 94 | Nederwiet | Millennium Falcon | C++ |
6 | 209 | MIMteam | postman | Ocaml |
7 | 117 | Stephen Villee | player | C |
8 | 68 | tooTiredToBeClever | lateNightHack | Java |
9 | 246 | Tycon Mismatch | Zol | SML |
10 | 30 | Bernd Paysan | busy-bee | Forth |
11 | 65 | TomZ | TomZBot | Haskell with GHC extensions |
12 | 95 | TeamGHC | TeamGHC (3 day) | Haskell |
13 | 84 | Greed is good | Gekko | C++/C |
14 | 199 | Funktion im Kopf der Mensch | FeigAberBoes | ocaml |
15 | 207 | Frictionless Bananas | Skipperdee | Haskell, C++ |
16 | 16 | Simon Funk | Baseline | Vanilla C (with my personal toolbox) |
17 | 121 | Bloody Camls | Buddha | OCaml |
18 | 188 | Otaniemi Lisp User Team | Karhu | Common Lisp |
19 | 142 | Tapani Utriainen | Robo | C, pure C |
20 | 267 | mldonkey | runme | Objective-Caml |
21 | 205 | 5 Gorillas | barbobot | ocaml |
22 | 249 | Team Solecist | dib | O'Caml |
23 | 130 | Mike Lin | Edsger | ocaml |
24 | 269 | Erwin | Simpleton | Python |
25 | 185 | Marcel van Kervinck | kervinck | C |
26 | 192 | TeamBob | TeamBobProgram | C |
27 | 8 | TeamGHC | TeamGHC | Haskell |
28 | 98 | Nimbus | Nimbus | Java |
29 | 157 | One Happy Python Hacker | RoboSnake | Python |
30 | 138 | Cube | Bad Robot | C++ |
31 | 182 | Watt | watt | Common Lisp |
32 | 73 | Manic Street Preachers | Higher Kind | Haskell and C |
33 | 231 | Spam, Eggs, Sausage, and Spam | Throatwarbler Mangrove | Python |
34 | 259 | Ocaml's Razor | Nono | Ocaml (3.04) |
35 | 258 | DylanDownUnder | Baseless | Dylan |
36 | 78 | The four Caml Riders of the Apocalypse | Neanderthal | Objective Caml |
37 | 226 | Pining for the fjords | Sparky | VisualAge Smalltalk |
38 | 54 | The Sleepy Schemers | Tired Headless Chicken | Scheme |
39 | 172 | Hash-Haskell | Postman | Haskell |
40 | 135 | steffen@swb.de | just4fun | python |
41 | 145 | Excors | Serendipity | Perl |
42 | 165 | Penguins of Love | SharedMonkey | Python2.2 |
43 | 197 | Purple Monkey Dishwasher | WarTaxi | Java |
44 | 148 | WeetIkHet | Yngwie | Java |
45 | 260 | RunRobot | runrobotrun | C++ (with boost) |
46 | 139 | London.pm | Marvin | Perl |
47 | 111 | Nothern Gryphons | Automorthbil | Cobol 4ever! (hehe, no... it's C, which I bet you don't think is much better) |
48 | 177 | SunsRevenge | SunsRevenge | Java |
49 | 88 | Merry Mercurians | Dumbo | Mercury (with some C, see README) |
50 | 53 | YesLogic | Pacifist | Mercury |
51 | 113 | OneMeanBot | OneMeanSonOfABot | Java |
52 | 19 | A bored perl hacker | POT | Perl |
53 | 97 | arock | bigflood | C++ |
54 | 248 | Blue Avengers | erlbot | erlang |
55 | 61 | Terran Society for Computer Based Studies | Dominator | C++ |
56 | 191 | The Vicious Camlers | The Vicious Deliverator | ocaml 3.06 |
57 | 9 | Nederwiet | Millennium Falcon | C++ |
58 | 122 | Big Dudes | runme | c++ |
59 | 255 | Jeremy Day | Johanna | C |
60 | 159 | zigo | pathfinder | Haskell, C |
61 | 60 | Sleep Deprivation | C is for Cookie | C |
62 | 100 | otabi | JPackageBot | Java |
63 | 169 | I don't need no stinkin' team | George | Prolog |
64 | 35 | john60622 | ernie | Java |
65 | 170 | ExPGers | Blockhead | Java |
66 | 34 | pyloner | aaw (almost aimless wanderer) | pure python |
67 | 176 | Berkeley Rules, Pittsburgh Sucks | The Pacifist | Ocaml |
68 | 99 | MonadWranglers | Pathfinder | Haskell |
69 | 116 | No Idea | No Idea's Idea | Haskell (with GHC extensions) |
70 | 221 | Christian Szegedy | antznpathes | Ruby, C |
71 | 167 | joerg | 813 | Perl |
72 | 21 | Superficial Intelligence Labs | Deus Ex Machina (v2 - nonlightning) | Perl |
73 | 67 | The Lone Wolf | runme | C |
74 | 175 | The Doug Boat "AKA The Al-Gore-Rythym" | TIM-MAH! | Java |
75 | 163 | WRSomsky | SfExpress | perl |
76 | 194 | Squires | UPSBot | Java 1.4 |
77 | 227 | Six Angry Jews | Separatist Violence | Python |
78 | 208 | John Hazen | jsPerlBot | Perl |
79 | 56 | OaSys | OaSys (non-lightning round) | Python |
80 | 222 | Neil Drumm | stomt | Java |
81 | 115 | Camls 'R Us | Mostly Harmless | OCaml |
82 | 4 | Simon Funk | Baseline | Vanilla C (plus my personal toolbox) |
83 | 173 | J-Squared | ElaithBot | Java |
84 | 220 | Artem Dmytrenko | fast_bot_682 | C |
85 | 110 | Ryan Carey | ICFP02 | Java |
86 | 168 | Rugbe's Wreckers | Rugbe Package Delivery Bot | Java (1.4.0) |
87 | 162 | Gizzywump | Hi, Robot | Python |
88 | 201 | The silver hamers | Maxwell's deamon | Icon |
89 | 218 | Malcolm | cbot | C |
90 | 5 | OaSys | OaSys | Python |
91 | 225 | cwilper | notEvolution | java |
92 | 118 | Team Ball | Hal | Java |
93 | 278 | Smart | idiot | Java |
94 | 179 | Treebulb (members: Julian Grizzard) | runme | C |
95 | 43 | Dragan | Dragan | C++ |
96 | 39 | The SIGSEGV Team | Theo Killer | C |
97 | 57 | Ian Lance Taylor | Electronic Imbroglio | C++ |
98 | 195 | Een | StNikolaus | C++ |
99 | 235 | Dylanoid phenomenon | Dylanoid | Gwydion Dylan |
100 | 237 | The Patenaudes | BullHeaded | Java |
101 | 272 | MIT Condensed Matter Theory | Polite Man | C++ |
102 | 289 | The Monkey Juicers | Da Man | Java |
103 | 294 | Cyber-Otters | otterbot | ANSI-C |
104 | 228 | LAZZE-GETOBZ | King Ghidorah | C |
105 | 63 | uhmmmm | client | C |
106 | 101 | Team Eikkel | Perverse | C++ |
107 | 223 | Gromph | GooseBot | C++ |
108 | 277 | Studio Ghibli | Kiki | PLT Scheme |
109 | 7 | Superficial Intelligence Labs | Deus Ex Machina | Perl |
110 | 90 | Steve Trottier | aimless | Java |
111 | 251 | jpistole | Approximator 2000 | ocaml |
112 | 149 | Quokka | Perliminator | Perl |
113 | 196 | Barbapapa | Barbabot | Ruby |
114 | 37 | Team Xoltar | CrudeButEffective | Python 2.2 |
115 | 257 | Brown PLT Team | Brownian Motion | Rice PLT v202 |
116 | 81 | Caustic Disk | denizens | Java |
117 | 202 | magic insa | shyant | OCaml |
118 | 76 | Green Jello Mold | TestClient | PLT Scheme |
119 | 150 | Adirondack Pyrates | Gradient Slider | Python |
120 | 105 | Blue Alert | Pandemonium | |
121 | 156 | Caml Blues | oyna | ocaml |
122 | 74 | 4am | PDS - Python Delivery Service | Python 2.2 |
123 | 216 | Vinterst?vler | Diffusion Confusion | Ada |
124 | 276 | sk | sk | |
125 | 119 | PerlBot | PerlBot | Perl |
126 | 11 | Aqua Team Hunger Farce | Meatball | Python, requires python 2 |
127 | 295 | scott | bot | Pearl |
128 | 87 | Andrey Vikt. Stolyarov | Loosy Alligator | C++, InteLib Lisp |
129 | 266 | PPS | PPS | |
130 | 86 | NetDragons.com | FaladosQuickSilver | Delphi (Object Pascal), IDE Kylix |
131 | 141 | b3nd3r cr3w | b3nd3r | C++ |
132 | 241 | lspm (LeipzigStarPackageManagement) | lspm | Haskell GHC 5.04 |
133 | 14 | Team Xoltar | CrudeButEffective | Python 2.2 |
134 | 210 | Robot Mania | RobotController | Java |
135 | 261 | Better Than Nothing | Better Than Nothing | C++ |
136 | 291 | The Haskell Carrots | The Traveling Knapsack | Haskell |
137 | 42 | Embry | robot1.lisp | Common Lisp |
138 | 22 | Darklight | Drunk man | ocaml |
139 | 273 | TuBieWuJiXian | TuBieWuJiXian.tar.gz | Objective Caml |
140 | 206 | finnish power | robowars | C |
141 | 285 | datathief | moth | Ruby |
142 | 270 | Born Losers | Amherst | Scheme |
143 | 66 | ILM | BEOS | C++ |
144 | 293 | Alex & Nick | logger | C++ |
145 | 12 | NetDragons.com | FaladosQuickSilver | Delphi (Object Pascal) |
146 | 180 | Team Blur | DUIBot v1.0 | Perl |
147 | 10 | Ocaml's Razor | Nono | Ocaml (3.04) |
148 | 153 | Montraces | robot | java |
149 | 160 | Contest Crackers | The Great Indian Bull Dog | C |
150 | 178 | MLNewbie | divide'n'conquer (try at least) | OCaml 3 |
151 | 189 | Travis' All night code binge with little to show for it team | Mr. Congenitally Imbecilic | Java |
152 | 204 | Point No Point | Spazbot | perl |
153 | 217 | Dave Brondsema | Dave's Bot! | C++ |
154 | 250 | Radar Zombies of the Stratosphere | Pythonic Robot Adventure | Python 2.2 |
155 | 254 | Dogs | dogs | |
156 | 265 | Magic Peace Farm Laboratories | Snark-5 | Python |
157 | 271 | Flying Circus | Client.py | Python |
158 | 288 | DHARMATECHS | LAMBDA-THE-ULTIMATE-ROBOT | Scheme (MzScheme 202) |
159 | 292 | UsedJava?-ShameOnUs! | HRobot | Java |
Here's the Lua script used to generate this table. I originally wrote this in Perl, but Perl's reference syntax gives me fits and I was getting annoyed, so I redid it in Lua. I haven't done much Perl-like reports coding in Lua, so this is probably not idiomatic.
#!/usr/bin/lua40 function split(pattern, str) local results = {} local start_pos = 1 local next_tab = 0 while 1 do next_tab = strfind(str, pattern, start_pos) if next_tab == nil then break end tinsert(results, strsub(str, start_pos, next_tab - 1)) start_pos = next_tab + 1 end return results end local entries = {} local in = openfile("icfp-entries.txt", "r") if in == nil then ABORT("couldn't open entries") end while 1 do local line = read(in, "*l") if line == nil then break end local fields = split("\t", line) if getn(fields) >= 4 then -- insert the info into the entries table. entries[tonumber(fields[1])] = { entry_number = tonumber(fields[1]), team_name = fields[2], program_name = fields[3], language = fields[4] } end end closefile(in) -- Pull in results (they're in order of finish, first column is the entry number). local results = {} in = openfile("icfp-results.txt", "r") if in == nil then ABORT("couldn't open results") end while 1 do local line = read(in, "*l") if line == nil then break end local fields = split(" ", line) if getn(fields) >= 1 then tinsert(results, tonumber(fields[1])) end end closefile(in) -- generate the list page sorted by finish write([[<html><head><title>ICFP 2002 sorted results</title></head> <body> <p>ICFP 2002 sorted results. See <a href="http://icfpcontest.cse.ogi.edu/">this page</a> for all the details about the contest.</p> <p>They don't seem to provide a sorted list of entries, so I cross-referenced the info and made this table. I took the rankings from the results of round 4 combined. See the end of the page for the Lua script I used to generate the table. Hopefully it's correct; let me know if not.</p> <p>DISCLAIMER: On the scoring page the organizers explicitly say they didn't try to generate a correct ordering for the whole field of entries, just the top couple. Which is probably why they don't provide this table. So take this with a huge grain of salt! Entertainment value only, etc.</p> ]]) write("<table><tr><th>rank</th><th>entry #</th><th>team name</th><th>program name</th><th>language</th></tr>\n") for i = 1, getn(results) do local info = entries[results[i]] if info == nil then write(format("<tr><td><b>%d</b></td><td>%d</td><td>*no info*</td></tr>\n", i, results[i])) else write(format("<tr><td><b>%d</b></td><td>%d</td><td>%s</td><td>%s</td><td>%s</td></tr>\n", i, results[i], info.team_name, info.program_name, info.language)) end end write("</table>\n") write([[<p>Here's the Lua script used to generate this table. I originally wrote this in Perl, but Perl's reference syntax gives me fits and I was getting annoyed, so I redid it in Lua. I haven't done much Perl-like reports coding in Lua, so this is probably not idiomatic.</p> ]]) -- show the script write("<pre>\n") in = openfile("make-icfp-table.lua", "r") if in == nil then ABORT("couldn't open script source") end while 1 do local line = read(in, "*l") if line == nil then break end line = gsub(line, "&", "&"); line = gsub(line, "<", "<"); line = gsub(line, ">", ">"); write(line) write("\n") end closefile(in) write("</pre>\n") -- show my name & email write("<p>Thatcher Ulrich | <a href=\"mailto:tu@tulrich.com\">tu@tulrich.com</a></p>\n") write("</table>") write("</body></html>\n")
Thatcher Ulrich | tu@tulrich.com