0 | module Data.Container.Base.Concrete.Definition
2 | import Data.Container.Base.Object.Definition
3 | import Data.Container.Base.Extension.Definition
10 | interface FromConcrete (cont : Cont) where
11 | constructor MkConcrete
12 | concreteType : Type -> Type
13 | concreteFunctor : Functor concreteType
14 | fromConcreteTy : concreteType a -> Ext cont a
15 | toConcreteTy : Ext cont a -> concreteType a
19 | data AllConcrete : List Cont -> Type where
20 | Nil : AllConcrete []
21 | Cons : (firstConcrete : FromConcrete c) =>
22 | (restConcrete : AllConcrete cs) =>
23 | AllConcrete (c :: cs)