範囲制限付きの数値型を作成するにはどうすればどうすればいいですか?
Haskellにて範囲を制限してくれるようなIntのような型を作ってみたいのですが、
以下のようにBounded型クラスのインスタンスにしても制限されません。
どうすれば範囲制限付きのIntのような型を作成できますか?
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
newtype Century = Century Int
deriving (Num,Eq,Ord,Show)
instance Bounded Century where
minBound = 0
maxBound = 100