Забавный Хаскелл-тюториал

Sep 06, 2011 18:00

Изрядно закопавшись в последовательное изложение хаскелла в учебнике, очень было приятно зайти немного с другой стороны, -- со стороны "что-нибудь уже сделать компилирующееся и работающее".

Haskell Quest Tutorial, как раз то, что надо, когда что-то уже в голове сложилось.

И основные конструкции понятны, и краем головы известно, что IO() -- это монада, в общем красиво, просто и занимательно. Прочел на одном дыхании.

Еще один изящный пример работы с ленивыми списками оттуда:

Числа Фибоначчи:
fibs = 0 : 1 : zipWith (+) fibs (tail fibs)

take 10 fibs

фибс, -- это список, начальные елементы которого 0 и 1, а дальше получаем суммированием со сдвинутым самим собой, т.е.
[0,1,1,2,3]
и
[1,1,2,3]

И берем 10 первых чисел, так, что бесконечность списка совершенно не мешает:
take 10 fibs

И ведь, зараза, оптимизирует рекурсию, чтобы никаких лишних вычислений. А вы говорите, динамическое программирование!

tech, haskell

Previous post Next post
Up