我有一個代數數據類型,所有這些都在我的程序中使用。我意識到有一點我需要用一個簡單的字符串來註釋所有這種類型的結構。如何在Haskell中模擬ADT中的可選字段?
我不想通過大量的代碼來解釋爲我的常用類型添加一個字段。特別是因爲在我的程序中,在這個註釋中沒有任何有意義的價值,所以重構一千行代碼以進行微小的改變似乎過分了。
此外,由於類型非常複雜,只是複製類型並製作稍微不同的版本似乎很愚蠢。
這只是Haskell的一個弱點,還是我錯過了正確的處理方式?我認爲它是後者,但我找不到任何類似於可選參數的類型構造函數。
我通常避免這種方式是不使用實際構造函數構造類型,而是通過函數構造類型。然後,我可以簡單地添加一個函數'createStructureAnnotated',它接受額外的參數並修改我的'createStructure'函數,使得未註釋的版本可以放入一個空字符串或其他類型。它不會破壞我已有的數千行代碼,並且我可以根據自己的需要或多或少地更改數據結構。 – bheklilr