練習問題 2.1.4
analyseの定義を書き換えて,場合分けがその順序に依存しないようにせよ.
data Triangle = Failure | Isosceles | Equilateral | Scalene
analyse :: (Int,Int,Int) -> Triangle
analyse (x,y,z)
| x == z = Equilateral
| x /= z && y == z = Isosceles
| x + y > z && x /= z && x == y = Isosceles
| x + y > z && x /= z && y /= z && x /= y = Scalene
| x + y <= z = Failure