計算機科学のブログ

Haskell - 型によるプログラミング - 合成によるデザイン:SemigroupとMonoid - 似ている型を組み合わせる、結合律

入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)の UNIT3(型によるプログラミング)、LESSON 17(合成によるデザイン:SemigroupとMonoid)、17.2(Semigroup:似ている型を組み合わせる)、クイクックチェック 17-3の解答を求めてみる。

コード

sample3.hs

main :: IO ()
main = do
  print $ (2 <> 3) <> 4 == 2 <> (3 <> 4) 

instance Semigroup Integer where
    (<>) :: Integer -> Integer -> Integer
    (<>) = (+)

入出力結果(Terminal, Zsh)

% runghc sample3.hs 
True
%