Size: a a a

2021 March 22

JS

Jerzy Syrowiecki in Haskell Start
поэтому я не обижаюсь, а несу свет ученья
источник

к

кана in Haskell Start
Jerzy Syrowiecki
а, окей, для новичков надо пояснить.

Maybe всегда является монадой, даже если инстанс не написан, в теории это монада, это уже доказано.

просто не стоит говорить "монадамэйби" в тех случаях, когда монадность этого типа не нужна.

равно как "человек Юра", "рыба селёдка" или "орех пекан"
если подозрения, что все что угодно может быть монадой, если выбрать правильную категорию и правильно описать в этой категории это "что угодно"

maybe является Monad только потому что есть класс monad и инстанс monad maybe, все остальное это лишь использование известных объектов как канон. hask - не единственная категория, в которой можно рассуждать о maybe

это как говорить что числа это поле. Нет, существует поле для множества чисел (и не одно). Выбор конкретных операций над множеством тоже образует поле. Выбор конкретной семантики определеяет конкретные операции, и таким образом определяет поле
источник

AL

Alexander Luzgarev in Haskell Start
Ну да, студент говорит «рассмотрим сумму этих двух вещественных чисел», а ты такой «ага! А в каком поле сумму?»
источник

AL

Alexander Luzgarev in Haskell Start
Ну типа 2+2=7, никто же не сказал что вещественные числа это то самое поле про которое вы подумали
источник

к

кана in Haskell Start
ну, для студентов таки есть контекст, у них можно сказать один язык в обсуждении, можно выбрать канон

а тут не один язык, а куча языков, а за канон "монада мейби" почему-то берут инстанс тайпкласса конкретно языка, в то время как в другом языке даже понятия тайпкласса нет
источник

AK

Aleksey Kislitsa in Haskell Start
Alexander Luzgarev
Ну типа 2+2=7, никто же не сказал что вещественные числа это то самое поле про которое вы подумали
может быть 2+2=10 вполне
источник

AL

Alexander Luzgarev in Haskell Start
Сколько существует способов определить монаду на Maybe?
источник

AL

Alexander Luzgarev in Haskell Start
Aleksey Kislitsa
может быть 2+2=10 вполне
Ясно
источник

к

кана in Haskell Start
Alexander Luzgarev
Сколько существует способов определить монаду на Maybe?
я знаю два, если речь про hask приближение
источник

AL

Alexander Luzgarev in Haskell Start
В хаскеле вроде ни одного
источник

DG

Denis Gabidullin in Haskell Start
источник

YK

Yuri Kostin in Haskell Start
Подписан на такую пургу, так что даже не заметил, что она появилась в чате про Haskell🙈
источник

JS

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

maybe является Monad только потому что есть класс monad и инстанс monad maybe, все остальное это лишь использование известных объектов как канон. hask - не единственная категория, в которой можно рассуждать о maybe

это как говорить что числа это поле. Нет, существует поле для множества чисел (и не одно). Выбор конкретных операций над множеством тоже образует поле. Выбор конкретной семантики определеяет конкретные операции, и таким образом определяет поле
как это связано с фразами типа "давайте вместо null возвращать монаду мэйби"?
источник

к

кана in Haskell Start
связано тем, что никакого понятия "монады" в этом языке нет. Понятие "монада Maybe" в хаскеле ссылается на конкретное понятие "монада" в хаскеле, а не на категорное понятие "монады", потому что это "монада" это конкретный тайпкласс, или в лучшем случае монада в Hask

поэтому термин "монада мейби" в котлине не имеет смысла, если в котлине нет тайпкласса монады, или какой-то каноничной категории, в которой тип Maybe в котлине будет монадой
источник

MZ

Mikhail Zhuravlev in Haskell Start
кана
связано тем, что никакого понятия "монады" в этом языке нет. Понятие "монада Maybe" в хаскеле ссылается на конкретное понятие "монада" в хаскеле, а не на категорное понятие "монады", потому что это "монада" это конкретный тайпкласс, или в лучшем случае монада в Hask

поэтому термин "монада мейби" в котлине не имеет смысла, если в котлине нет тайпкласса монады, или какой-то каноничной категории, в которой тип Maybe в котлине будет монадой
В жс нет тайпклассов, а монады есть. В сишарпе нет даже first class functions, а монады есть. Как дальше жыт.
источник

MZ

Mikhail Zhuravlev in Haskell Start
Хотя я могу и ошибаться, у кого есть return и bind для меня вполне монада.
источник

к

кана in Haskell Start
да где в жс монады? Там есть типы, для которых потенциально можно было бы написать инстанс монады, если бы была возможность, и тогда были бы монады

монада это не свойство общего определения, общее определение это просто тип
источник

IK

Ilya Kos in Haskell Start
источник

MZ

Mikhail Zhuravlev in Haskell Start
На уровне языка, синтаксиса, да, поддержки нет. Но язык позволяет сделать свою реализацию.
источник

к

кана in Haskell Start
так а смысл от своей реализации

абстракция "монада" полезна тем, что можно написать общемонадический код, в этом смысл абстракции как таковой
источник