0xd34df00d 01.07.2012 22:37 Azoth_primary

Почему в хачкель не запилили мемоизацию? Я негодую! Вместо няшного

f 1 = 1
f 2 = 2
f n = f (n — 1) + f (n — 2)

приходится писать

f' 1 = [1]
f' 2 = [2, 1]
f' n = (head xs + (head $ tail xs)) : xs
where xs = f' (n — 1)
f'' = head . f'

Recommended by:

@pooq: моча съела говно

and @octocat
1. lukish 01.07.2012 23:34

Противоречивые чувства.

С одной стороны, f' читаемо примерно как моча неандертальца.
С другой стороны, мемоизированная говнохуйня на аррее получилась на порядок медленнее :[

2. 0xd34df00dlukish /1 01.07.2012 23:38 Azoth_primary

Покажи говнохуйню на аррее.

3. ulidtko 02.07.2012 04:24

f n = memoized ! n
where memoized = [1, 1] ++ zipWith (+) memoized (tail memoized)

Succinctness!

Do you really want to delete ?