私はHaskellを新しくしましたが、実際に新しいタイプを定義する必要はなく、すでに存在するタイプのサブセットでしか定義されていない関数を定義できるかどうかを知りたいと思います。既存の型のサブセットに関数を定義することは可能ですか?
例:整数(偶数など)だけを受け入れ、返す関数を作成したいとします。その数字は次のようになります。
squared :: 2*Integer -> Integer
squared n = n*n
上記の2行はうまくいきません。
私はこのようにそれを書くことができます知っている:
squared' :: Integer -> Integer
squared' n
| (even n) = n*n
| otherwise = error "n is not even!"
または類似した何かが、私は非稼働の例のようなものが同様に可能であるかどうかを知りたいです。 ...
私はこの質問は完全に愚かではないことを願う(または既に回答された)が、私は本当に(その種類の困難にも返事をして検索)まだハスケルの多くを知らない
それが依存型のためにHaskellの – viorior