- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
infixr 6 `then'`
then' True = fst
then' False = snd
if' = id
else' suc fail = (suc, fail)
main = do
print $ if' (1<5) `then'` "true" `else'` "false"
print $ if' False `then'` "true" `else'` "false"
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+126
infixr 6 `then'`
then' True = fst
then' False = snd
if' = id
else' suc fail = (suc, fail)
main = do
print $ if' (1<5) `then'` "true" `else'` "false"
print $ if' False `then'` "true" `else'` "false"
bormand
У ифа особый синтаксис. Как ты его реализуешь?
Challenge accepted:
Сначала был тред
http://govnokod.ru/12068#comment159236
а потом родилось говно:
http://ideone.com/rOKDPP
Реализовал if. За правильными приоритетами операций и ассоциативностью не следил.
кстати, вам можно преподавателем даже идти. То как вы рассказали про сахар do в соседней теме - это нечто. Я ещё не разбирался с монадами, но сразу все понял. ^_^
Сейчас читаю вот это :-[
Но там как то с реальным применением Хаскела - не очень. Я может ещё не дочитал, но помоему там даже массивов не будет за всю книгу. Не говоря уж о изучении стандартной библиотеки кроме некоторых алгоритмов над списками. Имхо не удачный выбор для серьёзного программирования. Как оказалось это обычный руссифицированный http://learnyouahaskell.com/
но файл битый.
Можно писать так:
http://ideone.com/c0Rpqd
Хаскелловский же if отловит все неправльные синтаксически записи.