free-monad-example/app/Main.hs
Sanchayan Maity 08d89b1663 app: Main: Add a running example of the DSL
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-07-28 11:59:00 +05:30

21 lines
468 B
Haskell

{-# LANGUAGE OverloadedStrings #-}
module Main where
import Database.PostgreSQL.Simple
import Data.Text (pack)
import Lib
dslOperations :: Connection -> DSL ()
dslOperations conn = do
logMsg "Logging from inside the DSL"
xs <- runQuery conn "select 2 + 2"
logMsg $ pack $ show (xs :: [Only Int])
main :: IO ()
main = do
putStrLn "Free monad example"
conn <- connect defaultConnectInfo {
connectDatabase = "postgres"
}
runDSL $ dslOperations conn