4 ms·
If this is meant to be under main, you need a "let": main = do let greet name = putStrLn ("Hello, " ++ name) getLine >>= greet For whatever re
by millstone 12y ago
If this is meant to be under main, you need a "let":
main = do
let greet name = putStrLn ("Hello, " ++ name)
getLine >>= greet
For whatever reason, I didn't learn about the magic let syntax in do-notation until relatively late. Anyways this is very elegant, but not something I could have generated early on, especially because it mixes two different sequencing syntaxes (do-notation and >>=).
- wz1000 12y agoThe 'do' is superfluous. It would be much better as main = let greet name = putStrLn ("Hello, " ++ name) in getLine >>= greet