nagate は Num 型の引数をひとつとり符号を反転させて返す関数。
> :t negate negate :: (Num a) => a -> a > :i negate class (Eq a, Show a) => Num a where ... negate :: a -> a ... -- Defined in GHC.Num > negate 1 --=> -1 > negate $ negate 1 --=> 1 > negate $ negate $ negate 1 --=> -1
(-) は最初の引数から二番目の引数を引いた値を返す関数
> :t (-) (-) :: (Num a) => a -> a -> a > :i - class (Eq a, Show a) => Num a where ... (-) :: a -> a -> a ... -- Defined in GHC.Num infixl 6 - > (-) 10 5 --=> 5 > (-) 10 20 --=> -10 > 10 - 20 --=> -10
- は符号反転に使えないかというと・・・使える。
> -1 --=> -1 > -(1) --=> -1 > -(-(1)) --=> 1 > -(-(-(1))) --=> -1 - を二つ以上連続させると・・・コメントだから何も出力されないですよw > --1 > ---1 > ----1