on 00a36f5 help sign in
rel8/src/Rel8/Type/Sum.hs
35 lines 723 B history raw
1{-# language DataKinds #-}
2{-# language TypeFamilies #-}
3{-# language StandaloneKindSignatures #-}
5module Rel8.Type.Sum
6 ( DBSum
7 )
8where
10-- base
11import Data.Int ( Int16, Int32, Int64 )
12import Data.Kind ( Constraint, Type )
13import Prelude
15-- rel8
16import Rel8.Type ( DBType )
18-- scientific
19import Data.Scientific ( Scientific )
21-- time
22import Data.Time.Clock ( DiffTime, NominalDiffTime )
25-- | The class of database types that support the @sum()@ aggregation function.
26type DBSum :: Type -> Constraint
27class DBType a => DBSum a
28instance DBSum Int16
29instance DBSum Int32
30instance DBSum Int64
31instance DBSum Float
32instance DBSum Double
33instance DBSum Scientific
34instance DBSum DiffTime
35instance DBSum NominalDiffTime