aboutsummaryrefslogtreecommitdiff
path: root/server/src/Model/Query.hs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/Model/Query.hs')
-rw-r--r--server/src/Model/Query.hs32
1 files changed, 0 insertions, 32 deletions
diff --git a/server/src/Model/Query.hs b/server/src/Model/Query.hs
deleted file mode 100644
index 22ae95b..0000000
--- a/server/src/Model/Query.hs
+++ /dev/null
@@ -1,32 +0,0 @@
-module Model.Query
- ( Query(..)
- , run
- ) where
-
-import Data.Functor (Functor)
-import Database.SQLite.Simple (Connection)
-import qualified Database.SQLite.Simple as SQLite
-
-data Query a = Query (Connection -> IO a)
-
-instance Functor Query where
- fmap f (Query call) = Query (fmap f . call)
-
-instance Applicative Query where
- pure x = Query (const $ return x)
- (Query callF) <*> (Query callX) = Query (\conn -> do
- x <- callX conn
- f <- callF conn
- return (f x))
-
-instance Monad Query where
- (Query callX) >>= f = Query (\conn -> do
- x <- callX conn
- case f x of Query callY -> callY conn)
-
-run :: Query a -> IO a
-run (Query call) = do
- conn <- SQLite.open "database"
- result <- call conn
- _ <- SQLite.close conn
- return result