From 242dc7999691e4c8b6715b3cad1bf32a778e58c8 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Fri, 16 Apr 2021 13:25:52 +0100 Subject: [PATCH] Add and export KRel8able --- src/Rel8.hs | 2 +- src/Rel8/Schema/Generic.hs | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Rel8.hs b/src/Rel8.hs index c3dc2f7..378682c 100644 --- a/src/Rel8.hs +++ b/src/Rel8.hs @@ -26,7 +26,7 @@ module Rel8 , DBFractional -- * Tables and higher-kinded tables - , Rel8able + , Rel8able, KRel8able , Column, Field, Necessity( Required, Optional ) , Default , HMaybe diff --git a/src/Rel8/Schema/Generic.hs b/src/Rel8/Schema/Generic.hs index 2f8df32..0c7ad03 100644 --- a/src/Rel8/Schema/Generic.hs +++ b/src/Rel8/Schema/Generic.hs @@ -18,6 +18,7 @@ module Rel8.Schema.Generic ( Rel8able + , KRel8able ) where @@ -61,6 +62,10 @@ instance toColumns = hunreify . gtoColumns . reify +type KRel8able :: Type +type KRel8able = K.Table + + -- | This type class allows you to define custom 'Table's using higher-kinded -- data types. Higher-kinded data types are data types of the pattern: -- @@ -103,7 +108,7 @@ instance -- data MyType f = MyType { fieldA :: Column f T } -- deriving ( GHC.Generics.Generic, Rel8able ) -- @ -type Rel8able :: K.Table -> Constraint +type Rel8able :: KRel8able -> Constraint class HTable (GRep t) => Rel8able t where gfromColumns :: (Labelable context, Reifiable context) => GRep t (Col (Reify context)) -> t (Reify context)