~/talk

Competitive Programming in Haskell

Talkat ZuriHac 2025 · 2025-06-07..06-09· [haskell]
github:byorgey
slides:none on file

Shows Haskell solving contest problems live: a working pipeline from input string to output using interact and lazy IO to treat the whole run as a pure function, a simple exponent-and-sum solution that passes samples, a shopping‑list intersection sped from TLE to accepted by switching to ByteString and Set optimisations, and a lazy recursive graph DP that leverages memoisation to count good endings. A 30‑minute contest runs with multiple accepted solutions and one team solves all problems.

AI-written summary · about

  1. 0:00Introduction by the host and talk overview
  2. 0:46What is competitive programming – core structure and constraints
  3. 1:47Strange incentives – correctness over maintainability
  4. 2:51Popular sites and Haskell resources
  5. 3:22Contest announcement and setup
  6. 4:30Problem 1 – Exponent parsing and summing
  7. 5:52Using interact and Haskell’s functional approach
  8. 6:52Writing a minimal solution for problem 1
  9. 9:13Testing and submitting the first solution
  10. 10:30Problem 2 – Common items in shopping lists
  11. 12:08Using Set and Haskell containers
  12. 14:16Performance tuning with ByteString
  13. 17:14Re-submitting after optimisation
  14. 18:06Problem 3 – Graph traversal and lazy evaluation
  15. 21:52Contest rules explained
  16. 22:50Contest starts
  17. 54:48Contest winners and wrap-up
  18. 55:17Q&A – Can Haskell win CFP contests
  19. 57:12Useful parsing libraries and code snippets
  20. 1:03:01Where Haskell struggles in contests
  21. 1:05:03Educational use of competitive programming
  22. 1:07:20Why not Parsec – tooling decisions
  23. 1:07:53Recreational problem-solving without pressure
  24. 1:08:29Final thanks and speaker applause
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.