Slide 7
Slide 7 text
manhattanDistance :: Num a => (a, a) -> (a, a) -> a
manhattanDistance (x1, y1) (x2, y2) = abs (x1 - x2) + abs (y1 - y2)
manhattanDistance (1, 2) (3, 4) -- 4
manhattanDistance (1.0, 2.0) (3.0, 4.0) -- 4.0
2つの点のマンハッタン距離を求める関数 manhattanDistance です。
Num型で抽象化して実装しているので、Int型でもFloat型でも使えます。
このように、型を抽象的に扱い、実装を簡単にするのが型クラスの魅力です。
7