Create Utils module for (|>) operator

For the past 3-4 Haskell projects on which I've worked, I've tried to habituate
the usage of the (&) operator, but I find that -- as petty as it may sound -- I
don't like the way that it looks, and I end up avoiding using it as a result.

This time around, I'm aliasing it to (|>) (i.e. Elixir style), and I'm hoping to
use it more.
This commit is contained in:
William Carroll 2020-07-28 18:46:05 +01:00
parent 191205acac
commit 90a521c78f
6 changed files with 16 additions and 10 deletions

View file

@ -2,8 +2,8 @@
--------------------------------------------------------------------------------
module Trips where
--------------------------------------------------------------------------------
import Data.Function ((&))
import Database.SQLite.Simple
import Utils
import qualified Types as T
--------------------------------------------------------------------------------
@ -12,14 +12,14 @@ import qualified Types as T
create :: FilePath -> T.Trip -> IO ()
create dbFile trip = withConnection dbFile $ \conn ->
execute conn "INSERT INTO Trips (username,destination,startDate,endDate,comment) VALUES (?,?,?,?,?)"
(trip & T.tripFields)
(trip |> T.tripFields)
-- | Delete a trip from `dbFile` using its `tripPK` Primary Key.
delete :: FilePath -> T.TripPK -> IO ()
delete dbFile tripPK =
withConnection dbFile $ \conn -> do
execute conn "DELETE FROM Trips WHERE username = ? AND destination = ? and startDate = ?"
(tripPK & T.tripPKFields)
(tripPK |> T.tripPKFields)
-- | Return a list of all of the trips in `dbFile`.
list :: FilePath -> IO [T.Trip]