Haskell'de, bir veri tipini bileşenlerinin değeriyle sınırlamanın bir yolu var mı? Bir örnek hazırladım. Dama oyununun olduğunu söyle. Bir denetleyici, Siyah veya Beyaz türündendir.Can Haskell Veri Beyannameleri Tip Değerlere Göre Sınırlandırılıyor
data CheckerType = BlackChecker | WhiteChecker deriving (Eq)
data Checker = Checker CheckerType Int
Bir dama oyunu için oyun tahtası Siyah dama ve Beyaz dama bir dizi içerir.
Önceki açıklamadadata GameBoard = GameBoard ([Checker]) ([Checker])
, CheckerType olması kriteri: [Denetleyicisi] içinde dama uygulamak için herhangi bir yolu, rakip tipte siyah ve ikinci var mı? Bunlardan hiçbiri herhangi bir değer olduğunu
data Black
data White
Not:
olası yinelenen [pozitif tamsayı türü] (http://stackoverflow.com/questions/11910143/positive-integer-type) – dave4420