Size: a a a

2020 May 18

к

кана in Haskell
монада это инстанс Monad Maybe, функция бинда и инстанс аппликатива
источник

YS

Yan Shkurinskiy in Haskell
Ну да, монада - инстанс типа, а не тип, у которон инстанс
источник

YS

Yan Shkurinskiy in Haskell
Тут верно
источник

KZ

Kirill Zaborsky in Haskell
а что такое "инстанс типа"? инстансы тайп класса знаю, а что за инстансы у типа?
источник

AT

Alexander T in Haskell
то есть мейби это просто тип, а если есть instance maybe int blabla с байндом и аппликативом, то maybe int - монада?
источник

YS

Yan Shkurinskiy in Haskell
Kirill Zaborsky
а что такое "инстанс типа"? инстансы тайп класса знаю, а что за инстансы у типа?
Хорошо, инстанс тайпкласса для однопараметрического конструктора типов)
источник

KZ

Kirill Zaborsky in Haskell
что есть instance maybe int?
источник

JS

Jerzy Syrowiecki in Haskell
Alexander T
Можно тогда максимально тупой вопрос?
Про аппликативы, функторы, монады.
Я правильно понимаю, что “монада” это всего лишь тип, у которого есть инстанс тайпкласса monad, определяющий байнд/ретурн/юнит/…, и в целом все эти магические слова означают просто присутствие у типа определенных методов работы с ним (в основном по распаковке/запакове значений из/в конструкторы этого типа)?
методы не только определены, но и удовлетворяют некоторым обязательным свойствам. то есть эти методы "определены правильно"
источник

JS

Jerzy Syrowiecki in Haskell
Yan Shkurinskiy
>> "монада" это всего лишь тип

Конструктор типа)
морфизм, но не обязательно конструктор. например, (Either l) не конструктор
источник

YS

Yan Shkurinskiy in Haskell
Jerzy Syrowiecki
морфизм, но не обязательно конструктор. например, (Either l) не конструктор
Точно, тут обсуждали)
источник

AT

Alexander T in Haskell
Jerzy Syrowiecki
методы не только определены, но и удовлетворяют некоторым обязательным свойствам. то есть эти методы "определены правильно"
ну да, я понимаю про законы, пытаюсь просто совместить в голове структуру в целом.
источник

YS

Yan Shkurinskiy in Haskell
Давно правда
источник

YS

Yan Shkurinskiy in Haskell
Но это уже тонкие тонкости
источник

JS

Jerzy Syrowiecki in Haskell
Alexander T
Maybe = N | J x
монада мейби, конструкторы N и J
некорректное определение, у вас x не определён
источник

AT

Alexander T in Haskell
Jerzy Syrowiecki
некорректное определение, у вас x не определён
да, ниже поправили уже, х забыл
источник

D

Dreamerinnoise in Haskell
Alexander T
то есть мейби это просто тип, а если есть instance maybe int blabla с байндом и аппликативом, то maybe int - монада?
если тебе надо узнать является ли монадой что-то там, то смотри в доке на инстансы
источник

AT

Alexander T in Haskell
Dreamerinnoise
если тебе надо узнать является ли монадой что-то там, то смотри в доке на инстансы
нет, мне надо было понять)
всем спасибо.
источник

YS

Yan Shkurinskiy in Haskell
Тогда говорить "является монадой" нельзя, вроде как
источник

YS

Yan Shkurinskiy in Haskell
"Есть ли инстанс монады для..."
источник

JS

Jerzy Syrowiecki in Haskell
Yan Shkurinskiy
Тогда говорить "является монадой" нельзя, вроде как
говорить о морфизмах типов "является монадой" можно, "является Monad" нельзя
источник