on 4cb7797 help sign in
rel8/src/Rel8/Type/Sum.hs
38 lines 841 B history raw
1{-# language DataKinds #-}
2{-# language FlexibleContexts #-}
3{-# language FlexibleInstances #-}
4{-# language MultiParamTypeClasses #-}
5{-# language TypeFamilies #-}
6{-# language StandaloneKindSignatures #-}
7{-# language UndecidableInstances #-}
9module Rel8.Type.Sum
10 ( DBSum
11 )
12where
14-- base
15import Data.Int ( Int16, Int32, Int64 )
16import Data.Kind ( Constraint, Type )
17import Prelude
19-- rel8
20import Rel8.Type ( DBType )
22-- scientific
23import Data.Scientific ( Scientific )
25-- time
26import Data.Time.LocalTime ( CalendarDiffTime )
29-- | The class of database types that support the @sum()@ aggregation function.
30type DBSum :: Type -> Constraint
31class DBType a => DBSum a
32instance DBSum Int16
33instance DBSum Int32
34instance DBSum Int64
35instance DBSum Float
36instance DBSum Double
37instance DBSum Scientific
38instance DBSum CalendarDiffTime