Cheese
под это подпадает арифметическое выражение в ПОЛИЗ
потому что каждый член меняет состояние стэка
Евгений
Как не приду в чат, тут постоянно баззворды обсуждают. "Декларативный" и "императивный" это слова, потерявшие сейчас всякий смысл. Пытаться натянуть слово, придуманное для пролога, на хаскель это такое. Аналогично тщетно натягивать понятия из раннего фортрана, который даже функции и процедуры не умел, на руби
Cheese
а мне субъективно ПОЛИЗ не кажется императивщиной
Cheese
я согласен, что совсем строгих определений не дать. всегда найдётся человек с контрпримером
Евгений
ИМПЕРАТИВНОСТЬ
Dmitry
А
A64m
да с этим-то просто все, есть "голая" мутабельность - императивный, нет - декларативный. (Пролог - императивный)
Aleksei (astynax)
"с элементами", как нынче модно
Aleksei (astynax)
"Декларативный язык с идеологией ООП и элементами процедурщины"
Aleksei (astynax)
Нужны бейджики для гитхаба
Dmitry
По числу элементов?
Dmitry
Присваивать
Andrew
Поэтому я совершенно не понимаю, как можно сказать сначала "IO - не монада", а потом дополнить это "IO - экземпляр Monad"
я не говорил что IO не монада, точнее не я это говорил. IO - монада, иначе курс я зря проходил и читал книжки?)
Aleksei (astynax)
[Динамически типизированный][ООП][ФП][Со сборкой мусора][Энергичный]
Aleksei (astynax)
я не говорил что IO не монада, точнее не я это говорил. IO - монада, иначе курс я зря проходил и читал книжки?)
IO реализует Monad. Но не обязан. Т.е. инстанс Monad не необходим для использования IO
A64m
и некоторые избыточные
Denis
[MODERN][BLAZING-FAST][DYNAMICALLY-TYPED][FOR HUMANS]
Andrew
Хорошо, тогда монада это что? Я для себя думаю, что монада - это некое обобщение над вычислением. То есть я считаю что IO - монада, и да, IO является инстансом Monad.
Denis
если представить что монада это прилагательное, то все внезапно становится на свои места
Denis
> Я для себя думаю, что монада - это некое обобщение над вычислением. Что значит обобщение?
Denis
Из такого определения неясно вообще ничего
A64m
(да и то в хаскельном смысле, только)
Denis
Масло - оно не масляное, а вот если помазать его маслом - тогда да, оно будет масляное
Denis
😂
Denis
IO не монада, а вот IO и еще две (минимум) операции с кое-какими свойствами - да, монада
+, монадой IO делает именно инстанс Monad, который определяет нужные операции. Ну и операции должны удовлетворять законам.
Andrew
Я пойду лучше еще поучусь) А то действительно каша в голове пока что)
Denis
конечно каша! Особенно прочтя последние 150 сообщений здесь.
Denis
у меня бы тоже каша была
Андрей
👍
Andrew
😂 я просто запутался от тех людей (новички?)
Denis
головой надо мотать до превращения каши в густой гуляш
Андрей
😂 я просто запутался от тех людей (новички?)
они хотят себя показать, а не тебя чему-то научить)
Aleksei (astynax)
Можно подождать просто - само "схватится" :)
Denis
"IO - это как бы монада, но вообще-то она не монада, а экземпляр Monad, хотя, строго говоря, она вообще не обязана быть монадой" - вот представьте, что новичок такое прочтёт... 😂
Andrey
если у новичков получилось запутать "не новичка" в таком тривиальном вопросе - то они опредделенно себя показали имхо )
Andrew
я новичок тоже
Denis
Все новички, кроме SPJ
Andrew
только только заканчиваю курс на степике
Андрей
если у новичков получилось запутать "не новичка" в таком тривиальном вопросе - то они опредделенно себя показали имхо )
не согласен, просто кто-то честно говорит, что что-то не понял, а кто-то просто попиздеть зашёл)
Leonid 🦇
пишу инстансы к серванту, и у меня получаются оверлапящиеся ассоциированные тайп фэмели. На инстансах висит {-# OVERLAPPABLE #-}/ {-# OVERLAPPING #-}, но GHC всё равно ругается. ЧЯДНТ?
Denis
> а кто-то просто попиздеть зашёл) В этом чате 741 участник. Большинство из которых зашли сделать именно то, что ты сказал. 😂
Андрей
зная базворды и фразы типа "если мы в списке, значит мы в монаде" можно выглядеть для кого-то хаскелистом
Anatolii
помогите выйти из монады
Anatolii
застрял в бесконечном списке
Andrey
помню, тоже в одном чате удивил присутсвующих заявлением, что ИО - не монада. потребовали объяснений )))
Andrey
выйти из монады - невозможно (С) же ))
Aleksei (astynax)
Ио - спутник
Dmitry
Для взлома матрицы
Denis
из vim-монады?
из Emacs, из Vim любой выйти может! 😂
Anatolii
из vim-монады?
о, вим - монада, вот и заголовок для нового туториала
Denis
Emacs-монада
Denis
EmacsMonad
Andrey
картинки не приветствуются - http://ratbag.vkomi.ru/files/2015/01/help-me-get-out-from-dog.jpg
Aleksei (astynax)
"ViM - Vim is (a) Monad"
Anatolii
товарищи, а помошите картинку найти там где велосипедист и String -> String -> String -> String
Leonid 🦇
@catamorphism калька кода для Verb из Servant instance {-# OVERLAPPABLE #-} (ToJSON (ErrUnion e), ToJSON r) => HasServer (RPC e r) ctx where type ServerT (RPC e r) m = m (Either (OpenUnion e) r) hoistServerWithContext _ _ nt = nt route Proxy _ = methodRouter' $ \x -> (getHeaders x, getResponse x) instance {-# OVERLAPPING #-} (ToJSON (ErrUnion e), ToJSON r, GetHeaders (Headers h r)) => HasServer (RPC e (Headers h r)) ctx where type ServerT (RPC e (Headers h r)) m = m (Headers h (Either (OpenUnion e) r)) hoistServerWithContext _ _ nt = nt route Proxy _ = methodRouter' ([],)
Anatolii
вот кстати у Yi проблем нет - там вроде 3 монады целых
Anatolii
и есть YiM
Anatolii
не дурят людей хотя бы
Anatolii
Anatolii
мне она была нужна когда я увидел как флаги парсят ребята
Anatolii
тут конечно другой случай
Anatolii
interface{} -> interface{} -> interface{}
Leonid 🦇
@catamorphism тут красивее https://gist.github.com/sopvop/1b6bdbf35dc1d5105a061ef295836e15
Denis
но я не уверен
Aleksei (astynax)