Haskell の構文は、私がこれまでに見た他のどのプログラミング言語とも異なるため、まだ習得に苦労しています。ほとんどの命令型プログラミング言語では、次のようにネストされた条件ステートメントを作成できます。
function thing1(x){
if(x > 2){
if(x < 5){
return 3;
}
else if(x < 10){
return 10;
}
else if(x >= 10){
return 6;
}
}
else{
return 4;
}
}
しかし、Haskell で同等の構文を何度か試みた後も、まだ理解できていません。Haskell で同等の関数を作成しようとしたところ、構文エラーが発生しました: prog.hs:10:1: parse error on input main'
:
thing1 x =
if x > 2 then
if x < 5 then
3
else if x < 10 then
10
else if(x >= 10)
6
else
4
main = do
putStr(show(thing1 6))
ここでの構文の何が問題なのかわかりません。他の言語のように、Haskell でネストされた条件ステートメントを作成することさえ可能ですか?