もうひとつ疑問があります。

次のコードが、hugsでは受け付けられるのに、ghci・ghcでは、
hoge.hs:3:10: parse error (possibly incorrect indentation)
などと、エラーになります。
haskellの言語仕様上、下記の記述は許されないということでしょうか?

main = do if True then putStrLn "t"
**********else putStrLn "f"

但し、半角スペースを記号"*"で置き換えています。