Skip to content

Instantly share code, notes, and snippets.

@weavenet
Last active August 29, 2015 14:00
Show Gist options
  • Save weavenet/11350427 to your computer and use it in GitHub Desktop.
Save weavenet/11350427 to your computer and use it in GitHub Desktop.
Mixing pure and in-pure functions in Haskell
import Data.Char
data Request = Request { message :: String }
main = getIt
getIt :: IO()
getIt = do
msg <- getLine
let r = Request { message = msg }
let z = transformIt(r)
putStrLn z
return ()
transformIt :: Request -> String
transformIt x = map toUpper $ message x
import Data.Char
data Request = Request { message :: String }
main = getIt >>= putStrLn
getIt :: IO String
getIt = do
msg <- getLine
let r = Request { message = msg }
let z = transformIt(r)
return z
transformIt :: Request -> String
transformIt x = map toUpper $ message x
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment