Contest Report Video
The video recording of the ICFP Contest Report is now available on YouTube.
Final Results
The winners of the 2019 ICFP Programming Contest have been announced on Tuesday, August 20 (slides available) and are as follows:
Lightning Round
The winner of the Lightning Round is team All your lambda are belong to us.
We officially declare that C++ and Haskell are very suitable for rapid prototyping.
Judges’ Prize
The winners of the Judges’ Prize, for the most elegant use of the entire set of boosters, are team Sound! Type System.
We officially declare that Sound! Type System (using Rust, C++, Python, JavaScript, and Go) is an extremely cool bunch of hackers.
Full Contest
The prize for second place goes to team CowDay.
We officially declare that C++ is a fine tool for many applications.
The prize for first place goes to team Unagi.
We officially declare that Rust is the programming language of choice for discriminating hackers.
Final Top 15
name | score | score + unspent LAM | |
---|---|---|---|
1 | Unagi | 3878674 | 3880465 |
2 | CowDay | 3377492 | 3383347 |
3 | Pigimarl | 3144576 | 3144849 |
4 | Sound! TypeSystem | 3024005 | 3024715 |
5 | Frictionless Bananas | 2994524 | 2994666 |
6 | All your lambda are belong to us | 2970136 | 2971468 |
7 | 1kg cheese | 2942490 | 2943578 |
8 | 花脊山の家 | 2764962 | 2765413 |
9 | Lambding Snakes vs. Coding Monkeys | 2690443 | 2690584 |
10 | Gon the Fox | 2605416 | 2605535 |
11 | Piggybank Software | 2573260 | 2574414 |
12 | Better than nothing | 2469946 | 2470996 |
13 | 2 Ivans | 2459365 | 2462039 |
14 | tech.kontur.ru | 1915342 | 2422887 |
15 | negainoido | 2357002 | 2360402 |
The complete ranking tables for the Lightning Round and Full Contest are also available.
Contest Winners Notified
The winners of the contest prizes have now been notified. The awards, as well as the top 15 places for the lightning and the main rounds, will be publicly announced at the Programming Contest Report of ICFP 2019, taking place in Berlin, on Tuesday, August 20, at 17:45.
Partial Rankings
The final standings for the lightning and the main rounds are now available. Teams with 0 points are not shown, and the top 15 teams in both rounds remain secret to keep some intrigue. We will get in touch with the winners soon.
Update (July 8th) – Due to an error, submissions received shortly before the end of the contest, but graded after the submission deadline had passed, were scored 0 points. Two teams were affected. The full contest rankings have been updated to reflect their score accurately. This did not affect other teams’ scores in any way. The ranking of the top 50 teams remains unchanged. The changes for the other teams can be seen in this diff.
Wrapping Up
It is time to wrap up our adventure: the ICFP Programming Contest 2019 is now officially over!
We thank all teams for their hard work and for staying with us till the end: the last 72 hours were extremely exciting (and mostly sleepless) for us! We hope you enjoyed your experience of operating worker-wrappers, as well as minting lambda-coins and spending them wisely. Rest assured, the bit rotten code is now safely stored in perfectly insulated mines, all thanks to your heroic efforts.
Immediate Action Items
If you wish your team to be considered for a prize, make sure to update your profile with complete information and submit a single .zip-archive with your source code, a README file (brief directions for us to build/run the solution; description of the solution approach; feedback about the contest; self-nomination for Judges’ Prize; etc), and any other supporting materials. This should be done via this page no later than two hours after the end of the contest, by June 24 2019, 12:00 UTC.
The private submission histories of individual teams will be kept on our server for 24 hours after the end of the contest, and will be wiped out on June 25 2019, 10:00 UTC. If you wish to download your team’s history, you can do it by executing
wget -mkEpnp -e robots=off https://monadic-lab.org/grades/<private_id>/
Final Results
We will post further information regarding the final rankings in the coming weeks. Stay tuned!
Combining Multiple Fast Wheels and Drills
As pointed out by Nikolay Amiantov, the initial task specification contained a mistake when describing the effect of combining multiple wheels/drills with regard to their duration. In short: it should have been a sum, not a maximum of active times. Please, refer to the corresponding Section 2.2.2 of the updated specification. Also check out the example below illustrating this effect. To see the difference between non-active/active wheels, remove the last Z
in the series of moves in the solution file.
Hard Fork in Lambda-chain
Due to the slower than we expected adoption of Lambda-chain for the worker-wrapper challenge, we have taken a decision to make a “hard fork” and delay the official launch of the main-net until June 23 2019, 00:00 UTC. At that moment, the lambda-coin mining will continue in the main-net mode starting from Block 3, following the rules of the specification.
Unfortunately, the already mined lambda-coins will not be interchangeable with those minted on the new main-net. We apologise to the brave early adopters, and list their team names here as a token of our appreciation:
- Unagi
- All your lambda are belong to us
- Sound! TypeSystem
- 1kg cheese
Cloning Specification Updated
We have received several questions about synchronous collection and use of boosters by parallel worker-wrapper replicas. An updated specification specification is now uploaded. Please, check the new Appendix A for clarifications.
Lambda-coin and Lambda-chain
Wouldn’t it be nice to get some additional boosters and make your worker-wrappers even more efficient? Now you can do it! The instructions are here.
Solution checker and visualiser have been updated to take additional boosters.
Cloning and Parallel Wrapping
The sizes of the maps need wrapping grow larger, and our worker-wrapper could use some help. This is made possible in a new pack of maps featuring a new kind of booster and revealing the purpose of the mysterious points from the previous tasks. The additional specification is here.
Taking Control with Teleports
We’ve got a new pack of problems for your worker-wrappers! These new maps feature a new kind of booster — teleports. The teleport specification is available here.
The Contest Begins
The task description is now available here. Quick links:
Good luck!
Contest Announcement
The ICFP Programming Contest 2019 is the 22nd instance of the annual programming contest series sponsored by the ACM SIGPLAN International Conference on Functional Programming.
The contest will start at Friday 21 June 2019 10:00am UTC. The 24hr lightning division will end at Saturday 22 June 2019 10:00am UTC and the 72hr full contest will end at Monday 24 June 2019 10:00am UTC.
The task description will be published on this website when the contest starts. Details of the submission procedure will be announced along with the contest task.
This is an open contest. Anyone may participate except for the contest organisers and members of their research groups. No advance registration or entry fee is required. Contestants are free to organise themselves into teams of any size.
Any programming language(s) on any platform(s) may be used.
There will be cash prizes for the first and second place teams, the team winning the lightning division, and a discretionary judges’ prize. The winners will be announced during ICFP 2019, which will take place in Berlin, Germany; Sunday 18 - Friday 23 August 2019).
In addition, the organisers will declare during the conference that:
- the first place team’s language is “the programming language of choice for discriminating hackers”,
- the second place team’s language is “a fine tool for many applications”,
- the winning lightning division team’s language is “very suitable for rapid prototyping”, and
- the team winning the judges’ prize is “an extremely cool bunch of hackers”.
Organisers
ICFP Programming Contest 2019 is brought to you by Yale-NUS College and National University of Singapore. It is organised by Ilya Sergey and George Pîrlea.
The worker-wrapper art is by Lilia Anisimova.