我在程序中使用了很多不同的記錄,其中一些使用了相同的字段名稱,例如,避免Haskell命名空間污染
data Customer = Customer { ..., foo :: Int, ... }
data Product = Product { ..., foo :: Int, ... }
現在的訪問「foo」函數被定義了兩次,我得到了「多次聲明」的錯誤。避免這種情況的一種方法是使用導入完全限定的不同模塊,或者只是重命名字段(我不想這麼做)。
在Haskell中正式提出處理這個問題的方法是什麼?
我分擔你的痛苦。我來自OO世界。 – gawi 2010-11-24 01:47:35
所以它看起來像我會去與合格的進口 - 至少對於這個項目。謝謝大家的答案!這是那些當我使用類型類時錯過方案宏擺脫幹違規的時刻之一...... – lbruder 2010-11-24 08:51:45
我發現[此項目頁](https://ghc.haskell.org/trac/ghc/wiki/ Records/OverloadedRecordFields)關於GHC的OverloadedRecordFields擴展,以允許多個記錄數據類型共享相同的字段名稱。 – Alexey 2014-04-16 15:53:33