- 1
- 2
- 3
yoba = (flip (>>=) .) . ((filter .) . (flip . (((==) .) . flip mod)))
main = print $ yoba 3 0 [КО КО КО]
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+118
yoba = (flip (>>=) .) . ((filter .) . (flip . (((==) .) . flip mod)))
main = print $ yoba 3 0 [КО КО КО]
http://ideone.com/UGoYJ
result: Internal error time: 0s memory: 0 kB signal: 0
LispGovno 09.09.2012 21:58 # +1
http://ideone.com/zNEPH
Но говно внезапно всплыло...
bormand 09.09.2012 22:00 # +5
P.S. В примере с KO KO KO ghc 7.4.1 выдает корректную ошибку: Not in scope: data constructor `KO'. Видимо в 6.8.2 баг, приводящий к краху компилера.
HaskellGovno 10.09.2012 11:06 # −1
bormand 10.09.2012 11:20 # +1
На самом деле любой язык позволяет писать нечитабельную ерунду. Если эту возможность убрать, язык получится неудобным и невыразительным (привет бейсику и фортрану). Все сводится к тому, стоит ли абузить возможности языка, или же пользоваться ими в меру...
P.S. Хоть хаскель мне очень нравится, он все-таки вынуждает абузить многие возможности языка, зачастую приводя к ужасному коду ;)
TarasB 10.09.2012 11:28 # +1
defecate-plusplus 10.09.2012 11:33 # 0
Значительно переработан стандарт языка.
1. Введён свободный формат написания кода.
до этого 20+ лет стиль был не очень свободным
TarasB 10.09.2012 12:08 # +5
Впрочем, автор изначальнього тезиса отчасти прав - этот сверхплотный ФП-код - это неподдерживаемая заумь, одиночкам наверное зашибись, в промышленности неприемлемо. Впрочем, если одиночка за счёт мощи ФП сможет быть эффективнее, чем сто крестоблядей (как когда-то грозился клоун всл), то я поверю в ФП.
koodeer 10.09.2012 19:51 # +1
ФП давным-давно эффективнее в некоторых областях. Естественно, в других может быть эффективнее императивное или логическое программирование.
Например, сборщик мусора дотнета изначально был написан на Лиспе. Потом, после отладки и вылизывания, переписан на C++ для увеличения производительности.
В общем, будущее за мультипарадигменностью: для каждого случая применяем свой подход. Хай живе Немерле!
bormand 10.09.2012 20:47 # +2
Киньте, пожалуйста, пруфлинк.
3.14159265 10.09.2012 20:56 # 0
http://channel9.msdn.com/Shows/Going+Deep/Patrick-Dussud-Garbage-Collection-Past-Present-and-Future
bormand 10.09.2012 20:59 # 0
bormand 10.09.2012 12:22 # +7
Проприетарный стиль?
defecate-plusplus 10.09.2012 12:46 # +6
столмен негодуэ
roman-kashitsyn 12.09.2012 14:31 # +1
Разбирался на досуге с некоторыми функциональными структурами данных, в связи с этим, собственно, и возник вопрос: к примеру, я объявляю typeclass Heap (как интерфейс, хочется ведь иметь несколько реализаций хипа), поддерживающий несколько методов, среди которых есть empty и merge.
Хотелось бы, к примеру, сказать, что любой Heap является Monoid, причём mempty = empty и mappend = merge, и этим избавиться от необходимости объявлять экземпляр Monoid для каждой реализации Heap.
Может, я что-то упустил...
Тогда бы и все монады можно было бы сделать аппликативными функторами в пару строчек кода, а не писать каждый раз реализации.
AliceGoth 09.09.2012 23:32 # −3
scriptin 10.09.2012 00:06 # +10
Fai 10.09.2012 00:09 # +12
UPD: чуть не забыл про новый распиздатый .PONT Framework, для того чтобы таскать 500 мб библиотек к программам на yoba#
inkanus-gray 10.09.2012 00:12 # +6
А ещё слухи ходят об Objective-yoba.
Fai 10.09.2012 00:20 # +6
хуита 10.09.2012 08:18 # 0
3.14159265 10.09.2012 14:16 # +2
Вот они прожженные /prофи, которые с презрением смотрят на убогих крестовиков, обезьянок пхпшников, LINQ-шарперов, жабистов-фабрикантов и прочую нечисть.
Но ничего более полезного на чудо-хацкиле они почему-то написать не способны. Парадокс?!
Lure Of Chaos 10.09.2012 14:38 # +2
танунах.
на самом деле, даже на пхп можно (конечно, в жутких болях, но можно) родить качественный софт
vistefan 10.09.2012 15:53 # +4
Нет, это не те слова, которые способны передать муки рождения софта на пыхе.
3.14159265 10.09.2012 14:52 # +5
Еще и акк не тот.
LispGovno 10.09.2012 15:10 # +1
HaskellGovno 11.09.2012 22:36 # +3