1{-# language DataKinds #-}
2{-# language StandaloneKindSignatures #-}
3{-# language PolyKinds #-}
4{-# language TypeFamilies #-}
6module Rel8.Schema.Structure
8 , Shape( Column, Either, List, Maybe, NonEmpty, These )
16import Data.Kind ( Type )
20import qualified Rel8.Schema.Kind as K
21import Rel8.Schema.Spec ( Spec )
24type Structure :: K.Context
38type Shape1 :: (a -> Shape) -> a -> Type
42type Shape2 :: (a -> b -> Shape) -> a -> b -> Type
46type IsStructure :: Type -> Bool
47type family IsStructure a where
48 IsStructure (Shape1 _ _) = 'True
49 IsStructure (Shape2 _ _ _) = 'True
50 IsStructure (_, _) = 'True
51 IsStructure (_, _, _) = 'True
52 IsStructure (_, _, _, _) = 'True
53 IsStructure (_, _, _, _, _) = 'True
54 IsStructure _ = 'False
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