今更ながらHaskellのレイアウトについて
HaskellにはPythonと同じような「レイアウト」というモノがサポートされている。これは好き嫌いがあるが、括弧を量産しないという点でいいと思う。
しかし、コーディングスタイルによってはエラーを生み出してしまう諸刃の剣になってしまう。以下がその例。
strs = [ "first", "second", "third" ]
C++やJAVAの様な自由書式の言語なら何の問題もないのだが、レイアウトがあるおかげで上記はエラーになる。しかし、下記の様にすればエラーにならない。
strs = [ "first", "second", "third" ]
違いが分かりづらいかもしれないが、決定的に違う。最後の「]」をインデントしている。このインデントが無いとエラーになる。んー、何だかなぁ。
コーディングスタイルをHaskellに合わしていかないといけないのかねぇ。