3 ms·
> You need to use the IO monad to write "hello world". This isn't actually true. You need to use a value of the `IO ()` type. Your program would still work i
by dllthomas 7y ago
> You need to use the IO monad to write "hello world".
This isn't actually true. You need to use a value of the `IO ()` type. Your program would still work if `IO` was not an instance of `Monad`. In a similar way, you also need to use a value of type `String` but you don't care that it implements `Read` or `Ord` or `Semigroup`.
This doesn't entirely invalidate the rest of what you've written - you do need some basic understanding of how to combine IO actions to do any more interesting IO.
But I feel like your presentation is still misleading. "Learn You A Haskell" starts with the REPL, and has you running code in the first tutorial.