{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} module Yore.Repl (connect, exec) where import qualified Database.PostgreSQL.Opium as Opium connect :: IO Opium.Connection connect = Opium.connect "host=localhost" >>= \case Left e -> error $ show e Right c -> pure c exec :: (Opium.Connection -> IO a) -> IO a exec f = f =<< connect