1{-# language DataKinds #-}
2{-# language FlexibleContexts #-}
4{-# language StandaloneKindSignatures #-}
5{-# language UndecidableInstances #-}
9 , SSpec( SSpec, labels, necessity, info, nullity )
10 , KnownSpec( specSing )
15import Data.Kind ( Constraint, Type )
19import Rel8.Kind.Labels ( Labels, SLabels, KnownLabels, labelsSing )
20import Rel8.Kind.Necessity
23 , KnownNecessity, necessitySing
25import Rel8.Schema.Null ( Nullity, Sql, Unnullify, nullable )
26import Rel8.Type ( DBType, typeInformation )
27import Rel8.Type.Information ( TypeInformation )
31data Spec = Spec Labels Necessity Type
34type SSpec :: Spec -> Type
37 { labels :: SLabels labels
38 , necessity :: SNecessity necessity
39 , info :: TypeInformation (Unnullify a)
40 , nullity :: Nullity a
42 -> SSpec ('Spec labels necessity a)
45type KnownSpec :: Spec -> Constraint
46class KnownSpec spec where
47 specSing :: SSpec spec
52 , KnownNecessity necessity
55 => KnownSpec ('Spec labels necessity a)
59 , necessity = necessitySing
60 , info = typeInformation
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