AP
Size: a a a
AP
D
D
D
D
[
K
main = do
putStrLn "hello"
name <- getLine
putStrLn ("hi " ++ name)
return name
main =
putStrLn "hello` >>= \_ ->
getLine >>= \name ->
putStrLn ("hi " ++ name) >>= \_ ->
return name
let main =
putStrLn("hello").then(_ => {
getLine().then(name => {
putStrLn("Hi " + name).then(_ => {
return Promise.resolve(name)
})
})
})
[
[
VL
[
class Applicative m => Monad m where
(>>=) :: m a -> (a -> m b) -> m b
[