{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE KindSignatures #-} {-| Module : Servant.API.DB.Argument Description : Argument for DB stored functions Portability : Portable -} module Servant.API.DB.Argument( ArgPos , ArgNamed ) where import Data.Typeable import GHC.Generics import GHC.TypeLits -- | Positional argument of DB stored function with attached type info. -- -- >>> type SquareProcedure = ArgPos Int :> Procedure "square" Int data ArgPos a deriving (Generic, Typeable) -- | Named argument of DB stored function with attached name and type info. -- -- >>> type SquareProcedure = ArgNamed "a" Int :> Procedure "square" Int data ArgNamed (name :: Symbol) a deriving (Generic, Typeable)