
Alexander
01.09.2017
20:38:37
мне лень продолжать спор и объяснять что я все правильно сказал

Евгений
01.09.2017
20:38:38
Хотя физика это круто

Sleeping
01.09.2017
20:38:49

Arseniy
01.09.2017
20:39:14

Google

Sleeping
01.09.2017
20:39:36
ааааа :D

Валерий
01.09.2017
20:39:38
Я знаю)
Я на нём подовину матлога сдал

Мерлин
01.09.2017
20:40:57
У меня есть знакомый, который на хускеле ММФ сдавал
С визуализациями по ГОСТу
Так що оно по разному бывает

Валерий
01.09.2017
20:41:46
Тут люди с ВМ хотят слушать хаскель с КТ

Мишаня
01.09.2017
20:41:55
а волльные слушатели в понедельник не запрещены?
йеп, те люди на связи

Arseniy
01.09.2017
20:42:18
Нет конечно
Обычно только вольные слушатели долго не ходят, забивают

Pavel
01.09.2017
20:42:31
спасибо

Мишаня
01.09.2017
20:42:48
ноис

Евгений
01.09.2017
20:43:51

Google

Alexander
01.09.2017
20:44:32
до завтра 15 минут, можно и сегодня написать

Евгений
01.09.2017
20:44:51

Sleeping
01.09.2017
20:45:36
id id id id id id id id id id id id id id id id id id id id id id id id id id id id 42

kana
01.09.2017
20:46:07
арность не совпадает

Alexander
01.09.2017
20:46:12
ну вроде в случае жадных это должно быть аккуратно записанное \a b -> b ?
@elemir90 ^

kana
01.09.2017
20:46:29
или не, таки совпадает, хм. Интересный пример

Валерий
01.09.2017
20:47:28

Alexander
01.09.2017
20:47:34

Sleeping
01.09.2017
20:47:35
ты шустрый
долго считал?

Валерий
01.09.2017
20:47:49
(я случайно ужратый, простите)

Sleeping
01.09.2017
20:49:13
прикол в том, что ghci и hugs посчитают эту штуку по-разному

Евгений
01.09.2017
20:51:13

Alexander
01.09.2017
20:56:29
ладно я согласен, что моё определение страдает

Denis
01.09.2017
20:59:48

Yuriy
01.09.2017
21:33:39
(лень двести сообщений читать, но я уверен, что не было)
замыкания — объекты для бедных
объекты — замыкания для бедных
это к вопросу о противопоставлении ФП и ООП

Sleeping
01.09.2017
21:38:20
"An object is data with functions. A closure is a function with data" — John D. Cook

Google

Alexander
01.09.2017
22:42:39
кто умеет хорошо читать stg?
http://juick.com/qnikst/2882116 <- вот тет есть непонятная штука, может у кого есть идеи?
всем спасибо, ответ нашёл

Denis
01.09.2017
23:26:05
какой профит от комоноида?

Alexander
01.09.2017
23:29:25
такой же как от комонады7
если не считать линейных типов

Denis
01.09.2017
23:32:12
Monoid -> List -> Free Monad
Comonoid -> Stream -> Cofree Comonad
такой путь (спискок - свободный моноид, стрим - свободный комоноид)?

Евгений
02.09.2017
08:15:38
Объекты - это замыкания для бедных. Поэтому ООП есть и в Схеме и даже у меня в языке.

Ilya
02.09.2017
08:40:38
а правда, что в реальном мире "есть объекты, и у них есть состояния, а ваш ФП - это абстрактная чушь"?

Misha
02.09.2017
08:41:36
Правда, только это не всегда удобная для работы модель

Igor
02.09.2017
08:48:20

Alexander
02.09.2017
08:48:43
ООП не кеевсеое оно об иерархиях
и вот то что в реальном мире существуют однозначные иерархии объектов выглядит сомнительным
а объекты как что-то инкаплусирующее состояние моделируются легко

Ilya
02.09.2017
08:49:49

Alexander
02.09.2017
08:49:53
и все стейт машины и т.п. прекрасно выглядят

Ilya
02.09.2017
08:49:58
об однозначных никто не говорит, есть множественное наследование

Alexander
02.09.2017
08:50:20
где?
из ФЯ есть в плюсах

Google

Alexander
02.09.2017
08:51:03
где они настолько криво, насколько это возможно
во всех более современных и адекватных языках движутся к интерфейсам и отсутствию иерархий
ну примерно то, что тут было в 80х годах
:)

Ilya
02.09.2017
08:53:22
а в чём такой профит от интерфейсов?
каждый раз же нужно заново реализовывать функции?
даже те, которыми могут быть одинаковыми для разных типов

Alexander
02.09.2017
08:54:54
Есть языки с поддержкой дефолтной имплементации методов в интерфейсах

Ilya
02.09.2017
08:55:13

Yuriy
02.09.2017
08:55:18
в ФП тоже есть интерфейсы, и помощнее ООПшных

Ilya
02.09.2017
08:55:55

Anton
02.09.2017
08:56:12
Там это отдельно от наследования

Ilya
02.09.2017
08:57:03
как реализовано, не очень важно
что такого дают экстеншены, что нельзя сделать наследованием

Anton
02.09.2017
08:57:46
Там статический диспэтч
Короче они не виртуальные
По сути просто функция, которая принимает интерфейс как аргумент
Наследование как раз про пробрасывание функций от дочерних объектов к базовым с возможностью переопределения

Google

Alexander
02.09.2017
09:04:20
наследованием нельзя отобразить реальный мир
только если это правильно реализованное множественное наследование
а его к сожалению делать не научились
интерфейсы это близкий аналог
что ООП решает, это уменьшение количества кода (иногда)
опыт накопленный Java подсказывает что это тоже не верное утверждение
т.к. сразу идут паттерн на паррерне с кучей бойлерплейта
а если не следовать заветам, то все разваливается

Abbath
02.09.2017
09:06:59
В Common Lisp еще множественное наследование есть

Мерлин
02.09.2017
09:06:59

Anton
02.09.2017
09:07:18
Вообще наследование две разные вещи подразумевает под собой: во-первых, аггрегацию данных, то есть, базовая структура вкладывается в дочернюю; во-вторых, проброс вызовов функций

Alexander
02.09.2017
09:08:10
наследование подразумевает под собой subtyping

Anton
02.09.2017
09:08:43
А если этот subtyping разобрать на составляющие?
Мне кажется, его не любят как раз из-за того, что слишком много всего сразу там происходит
А бывает subtyping без виртуальных методов?

Alexander
02.09.2017
09:14:28
не должно быть, в той или иной имплементации они будут
и.к. нужно вызывать метод работающий с объектом тип которого не известен