greeting('Woah'); # Waits
...
greeting('Nelly'); # prints now that it has both arguments
####
greeting verb object = putStrLn (verb ++ ", " ++ object)
##
##
greeting :: String -> String -> IO ()
##
##
greeting :: String -> ( String -> IO () )
##
##
greeting "Hello" "World"
(greeting "Hello") "World"
((greeting) "Hello") "World"
##
##
greeting "Hello" "World" :: IO ()
greeting "Hello" :: String -> IO ()
greeting :: String -> String -> IO ()
##
##
sub foo { print "@_" }
##
##
(-) 2 1 ==> 1
flip (-) 2 1 ==> -1
dec1 = flip (-) 1
dec1 2 ==> 1