on 3c5f54c help sign in
rel8/src/Rel8/Type/Num.hs
44 lines 918 B history raw
1{-# language DataKinds #-}
2{-# language StandaloneKindSignatures #-}
3{-# language TypeFamilies #-}
5module Rel8.Type.Num
6 ( DBNum, DBIntegral, DBFractional
7 )
8where
10-- base
11import Data.Int ( Int16, Int32, Int64 )
12import Data.Kind ( Constraint, Type )
13import Prelude
15-- rel8
16import Rel8.Kind.Bool ( IsList )
17import Rel8.Type ( DBType )
19-- scientific
20import Data.Scientific ( Scientific )
23type DBNum :: Type -> Constraint
24class (DBType a, IsList a ~ 'False) => DBNum a
25instance DBNum Int16
26instance DBNum Int32
27instance DBNum Int64
28instance DBNum Float
29instance DBNum Double
30instance DBNum Scientific
33type DBIntegral :: Type -> Constraint
34class DBNum a => DBIntegral a
35instance DBIntegral Int16
36instance DBIntegral Int32
37instance DBIntegral Int64
40type DBFractional :: Type -> Constraint
41class DBNum a => DBFractional a
42instance DBFractional Float
43instance DBFractional Double
44instance DBFractional Scientific