on 28aaa76 help sign in
rel8/src/Rel8/Schema/Context.hs
28 lines 640 B history raw
1{-# language DataKinds #-}
2{-# language GADTs #-}
3{-# language StandaloneKindSignatures #-}
4{-# language TypeFamilies #-}
6module Rel8.Schema.Context
7 ( Interpretation(..), Col( Result )
8 )
9where
11-- base
12import Data.Functor.Identity ( Identity )
13import Data.Kind ( Constraint )
14import Prelude ()
16-- rel8
17import Rel8.Schema.Kind ( Context, HContext )
18import Rel8.Schema.Spec ( Spec( Spec ) )
21type Interpretation :: Context -> Constraint
22class Interpretation context where
23 data Col context :: HContext
26instance Interpretation Identity where
27 data Col Identity _spec where
28 Result :: a -> Col Identity ('Spec labels necessity a)