[mercury-users] ICFP'00 Contest Results

Ralph Becket rbeck at microsoft.com
Tue Oct 3 21:45:14 AEDT 2000

Details of the judging etc. have been posted; you can find them at

A quick summary:

39 entries submitted (I think 800 teams were registered(!) - can someone
verify this?)

21 were in functional languages (giving Scheme the benefit of the doubt)
18 were in imperative languages

Initial correctness tests eliminated all but the following:
2 x C++
1 x Java
2 x OCaml
1 x Mercury
1 x Eiffel
3 x Haskell
i.e. 6 functional (29% survival) and 4 imperative (22% survival)

Non-tier 3 entries (1 x C++ and 1 x Haskell) were eliminated since they 
weren't any faster.  The remaining eight entries were given harder test
images to generate (snowgoon, dice and golf) and the slowest (another
Haskell entry) eliminated.

The remaining 7 entries went through to the final round to be tested
against cone-fractal, large, pipe, chess and fractal .gml files.  Three
were eliminated for failing to produce reasonable output on large and/or
chess (1 x Eiffel, 1 x C++, 1 x Java).

The survivors were
2 x OCaml
1 x Mercury
1 x Haskell

a 20% survival rate for the declarative camp and a total rout for the
imperative folk (a bit of language jingoism never hurt anybody).

Looking at the timings, I think we suffered badly for two reasons:
1. Mercury's floating point performance sucks (both the OCaml and
Haskell compilers support unboxed floats); and
2. not having the bounding spheres optimization really shafted us
(at least, it looks like the judges were using the non-BS version).


Ralph Becket      |      MSR Cambridge      |      rbeck at microsoft.com 
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe

More information about the users mailing list