- 1
- 2
- 3
- 4
- 5
- 6
- 7
s f g x = f x (g x)
k x y = x
b f g x = f (g x)
c f g x = f x g
y f = f (y f)
cond p f g x = if p x then f x else g x
fac = y (b (cond ((==) 0) (k 1)) (b (s (*)) (c b pred)))
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+119
s f g x = f x (g x)
k x y = x
b f g x = f (g x)
c f g x = f x g
y f = f (y f)
cond p f g x = if p x then f x else g x
fac = y (b (cond ((==) 0) (k 1)) (b (s (*)) (c b pred)))
HaskellGovno 20.05.2012 22:39 # 0
3.14159265 21.05.2012 14:31 # 0
Когда-то на С видел такое. ЧСХ кода было меньше.
unu-foja 21.05.2012 17:16 # +4
Сударь, позвольте: тут хаскель-то использется как псевдо-язык для определения комбинаторов, более идиоматчино было бы, например:
3.14159265 21.05.2012 15:25 # 0
http://ideone.com/TsUN5
bormand 21.05.2012 15:37 # +1
3.14159265 21.05.2012 15:42 # 0
bormand 21.05.2012 15:57 # +2
Вердикт - не труъ.
3.14159265 21.05.2012 16:24 # 0
>Вердикт - не труъ.
Кто бы спорил. Сначала же сказал, что "видел" - следовательно сей говнохак не мой.
Я кстати нашел тот тред:
http://govnokod.ru/5561
Vindicar 21.05.2012 00:21 # 0
HaskellGovno 21.05.2012 01:25 # +3
guest 21.05.2012 23:03 # +3
на что посимвольное совпадение с http://www.willamette.edu/~fruehr/haskell/evolution.html уж никак не намекает.
Этот боян чуть ли не 3 раза на том же лоре появлялся, и в контексте всей заметки смотрится как (само)ирония. А здесь - как вброс.
HaskellGovno 21.05.2012 23:39 # −1
guest 21.05.2012 23:57 # +2
bormand 21.05.2012 05:45 # +1
TarasB 21.05.2012 11:43 # 0
bormand 21.05.2012 12:23 # +3
HaskellGovno 21.05.2012 22:33 # −1
bormand 22.05.2012 05:22 # +1
А настоящий индус никогда не будет читать код предшественника, он просто будет прикручивать к нему свои велосипеды и костыли.
Steve_Brown 22.05.2012 10:16 # +1
HaskellGovno 22.05.2012 10:36 # +2
bormand 22.05.2012 13:33 # +1
roman-kashitsyn 22.05.2012 14:01 # 0
guest 22.05.2012 15:06 # +1
[0..9]>>[1] или 1<$[0..9]
roman-kashitsyn 22.05.2012 15:13 # 0
> 1<$[0..9]
Это только если не считать Если бы мне такая хрень понадобилась, я бы написал Но тут 15 символов
guest 22.05.2012 15:21 # +3
А если для людей - лучше сразу replicate 10 1.
guest 22.05.2012 16:56 # 0
http://vimgolf.com/challenges/4d6f45b938c0aa691b000003
Правда vim обогнать не получилось.
HaskellGovno 22.05.2012 16:02 # 0
guest 22.05.2012 16:37 # 0
roman-kashitsyn 22.05.2012 16:52 # +3
TarasB 22.05.2012 16:51 # +3
roman-kashitsyn 22.05.2012 16:58 # +1
В нашем случае получается тоже самое, что только <$ работает с любыми функторами: деревьями, Maybe и т.п.
rat4 22.05.2012 15:19 # +1
http://stackoverflow.com/questions/9515327/default-constructors-initialization-of-pod-and-implicit-type-conversions-in-c