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.Maybe
17import Data.Kind ( Constraint )
18import GHC.Generics ( Generic )
22import Rel8.Kind.Necessity ( Necessity( Required ) )
23import Rel8.Schema.Context.Nullify ( HConstrainTag, HNullifiable )
24import Rel8.Schema.HTable ( HTable )
25import Rel8.Schema.HTable.Identity ( HIdentity(..) )
26import qualified Rel8.Schema.Kind as K
27import Rel8.Schema.Spec ( Spec( Spec ) )
28import Rel8.Type.Tag ( MaybeTag )
29import Rel8.Schema.HTable.Nullify ( HNullify )
32type HMaybeTable :: K.HTable -> K.HTable
33data HMaybeTable table context = HMaybeTable
34 { htag :: HIdentity ('Spec '["isJust"] 'Required (Maybe MaybeTag)) context
35 , hjust :: HNullify table context
37 deriving stock Generic
38 deriving anyclass HTable
41type HMaybeNullifiable :: K.HContext -> Constraint
42class (HNullifiable context, HConstrainTag context MaybeTag) => HMaybeNullifiable context
43instance (HNullifiable context, HConstrainTag context MaybeTag) => HMaybeNullifiable 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