1{-# language DataKinds #-}
2{-# language DeriveAnyClass #-}
3{-# language DeriveGeneric #-}
4{-# language DerivingStrategies #-}
5{-# language FlexibleInstances #-}
6{-# language StandaloneKindSignatures #-}
7{-# language UndecidableInstances #-}
8{-# language UndecidableSuperClasses #-}
10module Rel8.Schema.HTable.Either
17import Data.Kind ( Constraint )
18import GHC.Generics ( Generic )
22import Rel8.Kind.Necessity ( Necessity( Required ) )
23import Rel8.Schema.Context.Nullify ( HNullifiable, HConstrainTag )
24import Rel8.Schema.HTable ( HTable )
25import Rel8.Schema.HTable.Identity ( HIdentity(..) )
26import Rel8.Schema.HTable.Nullify ( HNullify )
27import qualified Rel8.Schema.Kind as K
28import Rel8.Schema.Spec ( Spec( Spec ) )
29import Rel8.Type.Tag ( EitherTag )
32type HEitherTable :: K.HTable -> K.HTable -> K.HTable
33data HEitherTable left right context = HEitherTable
34 { htag :: HIdentity ('Spec '["isRight"] 'Required EitherTag) context
35 , hleft :: HNullify left context
36 , hright :: HNullify right context
38 deriving stock Generic
39 deriving anyclass HTable
42type HEitherNullifiable :: K.HContext -> Constraint
43class (HNullifiable context, HConstrainTag context EitherTag) => HEitherNullifiable context
44instance (HNullifiable context, HConstrainTag context EitherTag) => HEitherNullifiable context
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list