Комментарии {-hi-}
и {-/hi-}
приводят к "отступу" automically
, поэтому в результате вы написали hPutStr stdout "Withdrawing..." atomically (withdraw acc 10)
.Например, если вы напишите:
good :: Account -> IO ()
good acc = do
hPutStr stdout "Withdrawing..."
{-hi-} atomically (withdraw acc 10)
, он работает нормально, поскольку «шум» (комментарий {-hi-}
) не приводит к встраиванию функции atomically
.
Комментарийна самом деле семантически не действует, но вы можете считать его замененным пробелом.