Size: a a a

Elm Lang сообщество разработчиков

2018 March 16

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Вот полугруппой может быть пустое множество :) Операция есть, а операндов нет :)
источник

g

gsomix in Elm Lang сообщество разработчиков
Да, верно.
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
т.е. множество, где только нейтральный элемент и есть?
нейтральный элемент это единица, а я про ноль
источник

к

кана in Elm Lang сообщество разработчиков
ноль - тоже нейтральный элемент для суммы
источник

к

кана in Elm Lang сообщество разработчиков
как единица - нейтральный элемент для произведения
источник

к

кана in Elm Lang сообщество разработчиков
то есть единица моноида по сумме = 0)
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Хотя для пустого списка [] считается единичным элементом, и тогда вопрос, [] это единица как элемент или ноль, потому что список нулевой длины?
источник

к

кана in Elm Lang сообщество разработчиков
не нужно приводить все к числам
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
ну это же абстракция которая в том числе и числа описывает
источник

к

кана in Elm Lang сообщество разработчиков
Намного лучше обозначать нейтральный элемент за e
Для суммы чисел e = 0
Для произведения e = 1
Для конктенации массива e = []

Это намного лучше и проще чем приводить к числам, не возникнет странных вопросов типа "является ли пустой список нулем или единицей"
источник

AC

Alister Crawley in Elm Lang сообщество разработчиков
у нас есть абстракция нейтрального элемента и группы на которой он таки является
источник

AC

Alister Crawley in Elm Lang сообщество разработчиков
а выражать одну имплентацию через другую над тем же полем не комильфо
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
кана
Намного лучше обозначать нейтральный элемент за e
Для суммы чисел e = 0
Для произведения e = 1
Для конктенации массива e = []

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

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Нейтральынй элемент нейтрален относительно конкретной операции. А не просто сам по себе. Более того, сам по себе он может быть вполне значим в конкретном множестве, представляющем моноид.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
К числам и правда лучше не приводить - плохая аналогия получается
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Нейтральынй элемент нейтрален относительно конкретной операции. А не просто сам по себе. Более того, сам по себе он может быть вполне значим в конкретном множестве, представляющем моноид.
Но тайпкласс моноида получается тогда определяет `mempty` и `mappend` для инстанса операции, а не класса? Странно звучит, но надеюсь понятно в чём вопрос
источник

к

кана in Elm Lang сообщество разработчиков
это все бы решалось если бы чекались законы
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Класс обещает, что все типы-представители этого класса имеют реализации для mempty и mappend
источник

к

кана in Elm Lang сообщество разработчиков
наверное моноид можно определить не как тройку, а как шестерку
источник

к

кана in Elm Lang сообщество разработчиков
+ три пруфа то есть
источник