on fadfc3e help sign in
34 lines 1.0 kB history raw
1{-# language DataKinds #-}
2{-# language DeriveAnyClass #-}
3{-# language DeriveGeneric #-}
4{-# language DerivingStrategies #-}
5{-# language StandaloneKindSignatures #-}
7module Rel8.Schema.HTable.These
8 ( HTheseTable(..)
9 )
10where
12-- base
13import GHC.Generics ( Generic )
14import Prelude
16-- rel8
17import Rel8.Kind.Necessity ( Necessity( Required ) )
18import Rel8.Schema.HTable ( HTable )
19import Rel8.Schema.HTable.Context ( HKTable )
20import Rel8.Schema.HTable.Identity ( HIdentity )
21import Rel8.Schema.HTable.Nullify ( HNullify )
22import Rel8.Schema.Spec ( Spec( Spec ) )
23import Rel8.Type.Tag ( MaybeTag )
26type HTheseTable :: HKTable -> HKTable -> HKTable
27data HTheseTable here there context = HTheseTable
28 { hhereTag :: HIdentity ('Spec '["hasHere"] 'Required MaybeTag (Maybe MaybeTag)) context
29 , hhere :: HNullify here context
30 , hthereTag :: HIdentity ('Spec '["hasThere"] 'Required MaybeTag (Maybe MaybeTag)) context
31 , hthere :: HNullify there context
32 }
33 deriving stock Generic
34 deriving anyclass HTable