- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
-- Подготовка
(.-) :: ot -> (ot -> rt) -> rt
object .- method = method object
to_string () self = show self
my_array = [1..]
-- ООП в действии
main = putStrLn( my_array.-take(10).-drop(5).-to_string() )
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+129
-- Подготовка
(.-) :: ot -> (ot -> rt) -> rt
object .- method = method object
to_string () self = show self
my_array = [1..]
-- ООП в действии
main = putStrLn( my_array.-take(10).-drop(5).-to_string() )
Хаскелл и ООП.
LispGovno 07.11.2012 00:42 # +1
> my_array
Fai 07.11.2012 00:45 # +2
Добрался я таки до операторов, следующие в очереди - data, type, newtype.
LispGovno 07.11.2012 01:09 # 0
Fai 07.11.2012 01:20 # +2
RWH - сразу как закончу.
bormand 07.11.2012 06:33 # +3
LispGovno 07.11.2012 07:50 # 0
Он ещё спит. Всю ночь учил Хаскел. По себе знаю.
LispGovno 07.11.2012 11:06 # 0
LispGovno 07.11.2012 11:21 # 0
bormand 07.11.2012 12:57 # +3
Steve_Brown 07.11.2012 12:59 # 0
Fai 07.11.2012 18:14 # +2
Почему-то показалось, что это слишком просто.
Единственное, хочу узнать, написан ли оператор do на самом хаскелле или он встроен, как например оператор "=".
bormand 07.11.2012 18:24 # +2
do это вообще сахарок для монадических операторов. Так что синтаксис встроен, а его алгоритм можешь написать ты сам, запилив свою монаду.
bormand 07.11.2012 19:03 # +1
P.S. Вроде бы все возможности do удалось показать в этом примере.
LispGovno 07.11.2012 19:14 # 0
А почему я не могу написать как-то так?
или
Ошибка
bormand 07.11.2012 20:02 # +1
http://ideone.com/V3Q9UJ
Других способов пока не вижу. Метод должен быть описан именно в инстансе.
LispGovno 07.11.2012 20:17 # +1
bormand 07.11.2012 20:41 # +1
Да.
Fai 07.11.2012 19:45 # 0
Как оказалось вшит.
LispGovno 07.11.2012 20:20 # 0
А разве они вшиты? Разве if нельзя реализовать средствами хаскела? Он вроде достаточно для этого ленивый.
Fai 07.11.2012 20:39 # +1
newIf True true_value _ = true_value
newIf False _ false_value = false_value
А вот именно в виде if ... then ... else ... - нельзя
bormand 07.11.2012 20:40 # 0
Я всегда буду обновлять страницу перед отправкой.
Я всегда буду обновлять страницу перед отправкой.
Я всегда буду обновлять страницу перед отправкой.
Yuuri 09.11.2012 13:08 # +3
roman-kashitsyn 09.11.2012 13:26 # 0
defecate-plusplus 09.11.2012 15:23 # 0
Yuuri 09.11.2012 17:56 # 0
roman-kashitsyn 09.11.2012 17:57 # 0
bormand 09.11.2012 18:20 # 0
Yuuri 25.01.2013 14:17 # +1
и делать return 0;
LispGovno 25.01.2013 14:42 # 0
Yuuri 25.01.2013 14:50 # +2
\me поборол стыд и для начала навыложил свой перл
Novi4oK 24.08.2021 02:32 # 0