1 {-# LANGUAGE FlexibleContexts #-}
2 {-# LANGUAGE FlexibleInstances #-}
3 {-# LANGUAGE TypeFamilies #-}
4 {-# OPTIONS_GHC -fno-warn-orphans #-}
5 module Language.Symantic.Type.List where
9 import Language.Symantic.Type.Common
13 type Type_List = Type_Type1 []
14 instance -- String_from_Type
15 String_from_Type root =>
16 String_from_Type (Type_List root) where
17 string_from_type (Type_Type1 _f a) =
18 "[" ++ string_from_type a ++ "]"
20 -- | Inject a 'Type_List' within a root type.
22 :: Type_Root_Lift Type_List root
25 type_list = type_root_lift . Type_Type1 (Proxy::Proxy [])