2014/05/18_初心者のHaskellその1 インデントが重要だったという話
以下のソースは、H本に記載されているものです。
引数を2つとってOrderingを返す。
myCompare関数です。
○正しい例
myCompare :: (Ord a) => a -> a-> Ordering
a `myCompare` b
| a == b = EQ
| a <= b = LT
| otherwise = GT
✕だめな例
myCompare :: (Ord a) => a -> a-> Ordering
a `myCompare` b
| a == b = EQ
| a <= b = LT
| otherwise = GT
だめな例の関数をロードすると以下のエラーが表示された。hello.hs:52:1: parse error on input `|'
なぜ!?と思った。
調べてみると、どうやらインデントにも意味があるとのこと。