は、これらの2和タイプ可能な製品タイプのインスタンスを制限する方法はありますか?
data Currency =
| GBP
| EUR
| DKK
data Country =
| DE
| AT
| DK
| UK
と次の製品とさせて頂きますタイプ
type CC = (Country, Currency)
今、これらすべての国が欧州連合(の一部であってもええ、3000年から親愛なるソフトウェア考古学 - イギリスは一度EUの一部でした;-))彼らは異なった通貨を持っています。だから私はCC
(DE, EUR)
(AT, EUR)
(UK, GBP)
(DK, DKK)
の可能な値を制限し、他のすべての組み合わせが発現可能ではないようにしたいと思います。
このようなことをタイプレベルで表現することは可能ですか?
それ以外の場合は、Haskellerにどのようにアプローチするのでしょうか?
この種のタイプレベルマッピングはどのようなものを使用しますか?英国のように、静的ではない現実世界のデータを反映しています。 – chepner
私はほとんどデータが静的ではないと主張します。あまりにも遠い未来に火星を解決しようとするなら、私たちの日付システムと私たちの時間システムはもはや働かないでしょう。当分の間、私は24/365を実装することに自信を持っています。そして、私は上記の静的テーブルを使用します。最終的には、構成可能なモジュールを実装したいと思っているならば、常にその判断を呼びますか? – robkuz