{-# LANGUAGE OverloadedStrings #-} import Data.Maybe import Data.Monoid ((<>)) import Data.Text.Lazy (Text) import Data.Text.Lazy import System.Environment (lookupEnv) import Web.Scotty (ActionM, ScottyM, scotty) import Web.Scotty.Trans main :: IO () main = do t <- fromMaybe "World" <$> lookupEnv "TARGET" pStr <- fromMaybe "8080" <$> lookupEnv "PORT" let p = read pStr :: Int scotty p (route t) route :: String -> ScottyM() route t = get "/" $ hello t hello :: String -> ActionM() hello t = text $ pack ("Hello " ++ t)