werehuman 26.07.2011 10:18 Psi+

(lambda f: f(f))(lambda func: lambda x: 1 if x < 2 else x * func(func)(x — 1))

Recommended by:

@ulidtko: посмотрите на это Ω

1. arts 26.07.2011 10:39

Тебе б на перле пейсать.

2. kb 26.07.2011 10:55 Gajim

мне ентерпрайс-программирование больше по душе

3. Rondoarts /1 26.07.2011 10:57 mcabber

пойчему парсер минус превратил в тире?

4. werehumanRondo /3 26.07.2011 10:58 Psi+

потому что пстач как бы для мыслей, а не для кода

5. Rondowerehuman /4 26.07.2011 11:01 mcabber

в мыслях не может быть минусов? или использовать &ndash;?

6. kbRondo /5 26.07.2011 11:02 Gajim

ага, в мыслях код может быть, а в коде мысли. Но вообще да, в мыслях минус — слово "минус".

7. 238328 26.07.2011 15:01

говно, даже читается нормально

8. ulidtko 28.07.2011 09:57 lunatic asylum

кстати, в хаскеле точно такое же сделать нельзя, из-за ограничений системы типов. Только с помощью fix:
ghci> let g = \f → \x → if x < 2 then 1 else x * f(x-1)
ghci> let fact = fix g
ghci> fact 1
1
ghci> fact 5
120

Алсо, further reading для заинтересовавшихся: http://en.wikipedia.org/wiki/Fixed-point...

9. werehumanulidtko /8 28.07.2011 09:59 Psi+

лошара.
Prelude Control.Monad.Fix> (fix $ (\s → \x → if x < 2 then 1 else x * s (x — 1))) 5
120

10. ulidtkowerehuman /9 28.07.2011 11:05 lunatic asylum

> (fix $
> fix
> Только с помощью fix

11. ulidtkowerehuman /9 28.07.2011 11:14 lunatic asylum

алсо, тебе следует вести себя поучтивее, поуважительнее и повежливее. А то хамишь, как самый настоящий хуй.

12. werehumanulidtko /11 28.07.2011 11:14 Psi+

добавь меня в блеклист

13. ulidtkowerehuman /12 28.07.2011 11:15 lunatic asylum

нет, ты интересные вещи пишешь и постишь. Вот только хамишь в ответ почему-то.

Do you really want to delete ?