1{-# language DataKinds #-}
3{-# language LambdaCase #-}
4{-# language StandaloneKindSignatures #-}
6module Rel8.Kind.Context
7 ( Reifiable( contextSing )
15import Data.Kind ( Constraint, Type )
19import Rel8.Aggregate ( Aggregate )
20import Rel8.Expr ( Expr )
21import Rel8.Schema.Dict ( Dict( Dict ) )
22import Rel8.Schema.Context ( Interpretation )
23import Rel8.Schema.Context.Label ( Labelable )
24import Rel8.Schema.Insert ( Insert )
25import Rel8.Schema.Kind ( Context )
26import Rel8.Schema.Name ( Name )
27import Rel8.Schema.Reify ( Reify )
28import Rel8.Schema.Result ( Result )
31type SContext :: Context -> Type
32data SContext context where
33 SAggregate :: SContext Aggregate
34 SExpr :: SContext Expr
35 SInsert :: SContext Insert
36 SName :: SContext Name
37 SResult :: SContext Result
38 SReify :: SContext context -> SContext (Reify context)
41type Reifiable :: Context -> Constraint
42class Interpretation context => Reifiable context where
43 contextSing :: SContext context
46instance Reifiable Aggregate where
47 contextSing = SAggregate
50instance Reifiable Expr where
54instance Reifiable Result where
58instance Reifiable Insert where
62instance Reifiable Name where
66instance Reifiable context => Reifiable (Reify context) where
67 contextSing = SReify contextSing
70sReifiable :: SContext context -> Dict Reifiable context
77 SReify context -> case sReifiable context of
81sLabelable :: SContext context -> Dict Labelable context
88 SReify context -> case sLabelable context of
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