Как обычно, по чётным месяцам 2013 года проводятся конкурсы по функциональному программированию. Октябрь не стал исключением, и непосредственно на первой неделе был объявлен октябрьский конкурс, который на этот раз был подготовлен великолепным Дмитрием Поповым. Конкурс касался космонавтики — для интересной игры Kerbal Space Program надо было подготовить программное средство для расчёта космических аппаратов. Так что на этот раз конкурс являл собой не только интересное, но и крайне полезное как для ума, так и для прикладного космического искусства дело.
Автор конкурса добавил несколько ограничений — разработанная программа должна находить решение по введённым исходным данным не более, чем за две минуты. Победитель выявлялся на этот раз не просто по скорости публикации решения, но по сумме результатов, которые выдавала программа. Минимальная сумма выявила победителя. И он, кстати, получил, как обычно, памятный приз.
В конкурсе приняли участие четыре конкурсанта, которые успешно написали свои «специализированные калькуляторы». В качестве языков программирования использовались — Clojure, Java, Haskell и Python (перечислены в порядке расположения по занятым местам). В общем, с итогами конкурса всякий может ознакомиться здесь. А мы, пожалуй, перейдём к описанию авторского решения, которое, как обычно, выполнено на языке программирования Haskell.
Читать полностью »