Существует ли класс типов Purescript, обобщающий целые числа?

Haskell имеет Integral класс типов, который включает Integer, Int, Int32, Int64, Natural, так далее.

Есть ли подобный класс типов в Purescript?

1 ответ

Решение

У нас нет целочисленных классов в PureScript, но существует иерархия числовых классов:

Числовая иерархия

Каждый класс добавляет законы, поэтому, хотя CommutativeRing а также Field у классов нет операций, они не являются избыточными.

Любой тип, который является EuclideanRing также удовлетворяет законам для целочисленных областей, которые обобщают целые числа, поэтому я думаю, что это должно соответствовать вашим потребностям.

Fields иметь ненулевые мультипликативные инверсии: mod a b = 0 для всех a а также bТаким образом, использование этого ограничения исключит возможность целочисленного деления и т. д., если это то, что вы ищете, так что вы определенно не хотите заходить так далеко вниз по иерархии.

Другие вопросы по тегам