16 lines
359 B
Haskell
16 lines
359 B
Haskell
{-# 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
|