- 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() )
Хаскелл и ООП.
> my_array
Добрался я таки до операторов, следующие в очереди - data, type, newtype.
RWH - сразу как закончу.
Он ещё спит. Всю ночь учил Хаскел. По себе знаю.
Почему-то показалось, что это слишком просто.
Единственное, хочу узнать, написан ли оператор do на самом хаскелле или он встроен, как например оператор "=".
do это вообще сахарок для монадических операторов. Так что синтаксис встроен, а его алгоритм можешь написать ты сам, запилив свою монаду.
P.S. Вроде бы все возможности do удалось показать в этом примере.
А почему я не могу написать как-то так?
или
Ошибка
http://ideone.com/V3Q9UJ
Других способов пока не вижу. Метод должен быть описан именно в инстансе.
Да.
Как оказалось вшит.
А разве они вшиты? Разве if нельзя реализовать средствами хаскела? Он вроде достаточно для этого ленивый.
newIf True true_value _ = true_value
newIf False _ false_value = false_value
А вот именно в виде if ... then ... else ... - нельзя
Я всегда буду обновлять страницу перед отправкой.
Я всегда буду обновлять страницу перед отправкой.
Я всегда буду обновлять страницу перед отправкой.
и делать return 0;
\me поборол стыд и для начала навыложил свой перл