我正在使用cmdargs
從命令行程序中獲取一些參數。我使用了一些特殊類型的在我的計劃Haskell可鍵入的實例
data Function = Max
| Min
| Moy
| Med
deriving (Eq,Data,Typeable)
我可以直接在議論同"Max" "Min" "Moy" "Med"
由類Data
和Typeable
推導Function
數據類型傳遞這些類型。我的問題是我的程序變得越來越複雜,我需要重命名我的構造函數以避免名稱衝突。
data Function = funMax
| funMin
| funMoy
| funMed
deriving (Eq,Data,Typeable)
但是,我想繼續訪問這些構造函數與"Max" "Min" "Moy" "Med"
。要做到這一點,我想我需要創建自己的Data
和Typeable
實例Function
,是嗎?
我的問題是我沒有設法創建這些實例,即使在閱讀Hackage文檔之後。
你有沒有成功創建過Data
和Typeable
你自己的數據類型的實例?
我很困惑。你是否在使用'DataKinds'並推廣這些構造函數? – dfeuer
我無法理解這個問題。你想給他們不同的名字,以避免名稱衝突,但你想用舊名稱訪問它們。這看起來與我矛盾。你如何期待這將起作用? – chi