Я использую cmdargs
, чтобы получить некоторые аргументы из командной строки. Я использую некоторый специальный тип в моей программеHaskell Типовой экземпляр
data Function = Max
| Min
| Moy
| Med
deriving (Eq,Data,Typeable)
я могу передать эти типы непосредственно в спорах с "Max" "Min" "Moy" "Med"
путем получения Function
типа данных в классах Data
и Typeable
. Моя проблема в том, что моя программа становится все сложнее, и мне нужно переименовать мой конструктор, чтобы избежать конфликтов имен.
data Function = funMax
| funMin
| funMoy
| funMed
deriving (Eq,Data,Typeable)
Однако, я хотел бы сохранить доступ к этим конструктору с "Max" "Min" "Moy" "Med"
. Для этого, я полагаю, мне нужно создать свои собственные Data
и Typeable
экземпляры Function
, это правильно?
Моя проблема: мне не удалось создать этот экземпляр даже после прочтения документации Hackage.
Вы успешно создали Data
и Typeable
экземпляров ваших собственных данных?
Я запутался. Вы используете 'DataKinds' и продвигаете эти конструкторы или что-то еще? – dfeuer
Я не могу понять этот вопрос. Вы хотите дать им разные имена, чтобы избежать конфликтов имен, но вы хотите получить к ним доступ со старыми именами. Это выглядит противоречиво мне. Как вы ожидаете, что это сработает? – chi