Как получить `BoundedEnum (может быть, a)` из `BoundedEnum a`? - PullRequest
0 голосов
/ 10 июля 2019

Я получаю сообщение об ошибке "экземпляр класса типов не найден для Data.Enum.BoundedEnum (Maybe InstitutionContactType)", но из-за существования instance enumMaybe :: BoundedEnum a => Enum (Maybe a), instance boundedMaybe :: Bounded a => Bounded (Maybe a) и instance boundedEnumInstitutionContactType :: BoundedEnum InstitutionContactType, я думаю, это должно работать, хотя, возможно,это потому, что направление неправильное для того, что мне нужно в enumMaybe?

boundedMaybe дает нам Bounded (Maybe a), enumMaybe дает нам Enum (Maybe a), а class (Bounded a, Enum a) <= BoundedEnum a следует, учитывая Bounded (Maybe a)и Enum (Maybe a) также дают нам BoundedEnum (Maybe a), и я думаю, что у меня правильная направленность, которая перевернута для экземпляров и классов с точки зрения того, что необходимо предоставить, если я правильно понимаю.

1 Ответ

0 голосов
/ 10 июля 2019

Конечно, я наконец понимаю, что теперь это не работает, так как BoundedEnum имеет три дополнительных члена, которые должны быть реализованы поверх того, что уже доступно в Bounded и Enum.

...