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

Минимальная спецификация классов классов библиотеки Haskell?

Презентация Haskell и стандартная библиотека определяют ряд полезных классов типов.

Есть ли страница где-то, в которой указано минимальное полное определение для всех этих классов?

4b9b3361

Ответ 1

Эта информация может быть найдена разбросанной по языку Haskell, а также документации по GHC, но в интересах получения обзора я начинаю ответ CW для этого.

Сравнение

Числа

  • Num: Все, кроме - или negate.
  • Реальный: toRational.
  • Интеграл: quotRem и toInteger.
  • Биты: .&., .|., xor, complement, либо shift, либо оба shiftL и shiftR, либо rotate, либо оба rotateL и rotateR, bitSize и isSigned > .
  • Дробный: fromRational и либо /, либо recip.
  • Плавающий: pi, exp, log, sin, cos, sinh, cosh, asin, acos, atan, asinh, acosh и atanh.
  • RealFrac: properFraction.
  • RealFloat: Все, кроме exponent, significand, scaleFloat и atan2.

функторы

Стрелки

Сериализация

Разное

Ответ 2

Раздел в отчете Haskell о стандартных классах описывает, что вам нужно реализовать для каждого класса типов.