Подтвердить что ты не робот

Повторное использование стандартных классов

Как показывает Typeclassopedia, текущий стек классов, импортированных из теории категорий, представляет собой немного запутанную случайность истории, а не красивое целочисленное целое.

В частности, это затрудняет отслеживание того, что происходит.

Каким должен быть этот материал, если мелкие проблемы, такие как обратная совместимость, дублирование кода или труднодоступные подписи, не являются проблемой?

4b9b3361

Ответ 1

Для некоторых подмножеств стандартных классов были попытки дать пересмотренные иерархии.

Числовые спецификации

В частности, он обеспечивает гораздо более богатый набор математических абстракций.

Кроме того, существует много других альтернативных конструкций:

enter image description here

  • prelude-extras - функции прелюдии более высокого порядка
  • classy-prelude - прелюдия с большим количеством классов

Категориальные шрифты

Было меньше работы над категориями, вдохновленными классами, такими как Functor, Monad, Monoid, Applicative и, конечно же, Category.

Самая важная работа -

  • category-extras пакет, который предоставляет очень богатую библиотеку, в том числе знаменитый zygohistoprepromorphism.

enter image description here

Ответ 2

Что касается "категориальных" классов, есть также Другая прелюдия. Описанная там иерархия классов была реализована в Frege.