讓我們假設這2和類型有沒有辦法限制可能的產品類型的實例?
data Currency =
| GBP
| EUR
| DKK
data Country =
| DE
| AT
| DK
| UK
及以下產品類型
type CC = (Country, Currency)
現在即使所有這些國家都是歐盟的一部分(是的,從3000年親愛的軟件考古學家 - 英國曾經是歐盟的一部分;-))他們有不同的貨幣(或不同)。所以我想限制的CC
的可能值
(DE, EUR)
(AT, EUR)
(UK, GBP)
(DK, DKK)
,並盡一切其他組合不可表達。
是否有可能在類型級別上表達這樣的東西?
如果不是,那麼精通Haskeller的方法會如何呢?
什麼會使用這種類型級映射?正如英國所表明的那樣,它反映的並不是靜態的真實世界的數據。 – chepner
我認爲幾乎沒有數據是靜態的。如果我們在不太遙遠的將來解決火星問題,我們的日期系統和時間系統將不再適用。目前我有信心實施24/365。所以我使用上面的靜態表。如果想要實現一個可配置的模塊,那麼最後總會有一個判斷調用,不是嗎? – robkuz