@@ -40,9 +40,6 @@ module TypeFun.Data.List
40 , ElementIsUniq
40 , ElementIsUniq
41 , UniqElements
41 , UniqElements
42 , UniqElements'
42 , UniqElements'
48import Data.Type.Bool
45import Data.Type.Bool
@@ -51,7 +48,6 @@ import GHC.TypeLits
51import TypeFun.Data.Eq
48import TypeFun.Data.Eq
52import TypeFun.Data.Maybe
49import TypeFun.Data.Maybe
53import TypeFun.Data.Peano
50import TypeFun.Data.Peano
56------------------------------------------------------------------------
52------------------------------------------------------------------------
57-- NOTE: Errors type classes. These type classes are not in separate --
53-- NOTE: Errors type classes. These type classes are not in separate --
@@ -108,13 +104,6 @@ type family (:++:) (a :: [k]) (b :: [k]) :: [k] where
108 '[] :++: b = b
104 '[] :++: b = b
109 (a ': as) :++: b = a ': (as :++: b)
105 (a ': as) :++: b = a ': (as :++: b)
114− -> (l ~ (l :++: '[]) => r)
116−appendId = unsafeCoerce id
118type IndexOf a s = FromJust (IndexOfMay a s)
107type IndexOf a s = FromJust (IndexOfMay a s)
120type IndexOfMay a s = IndexOfMay' Z a s
109type IndexOfMay a s = IndexOfMay' Z a s
@@ -168,12 +157,6 @@ type family SubList (a :: [k]) (b :: [k]) :: Constraint where
168 SubList '[] bs = ()
157 SubList '[] bs = ()
169 SubList (a ': as) bs = (Elem a bs, SubList as bs)
158 SubList (a ': as) bs = (Elem a bs, SubList as bs)
174− -> (SubList l l => r) -> r
175−subListId _ = unsafeCoerce id
177type family NotSubList (a :: [k]) (b :: [k]) :: Constraint where
160type family NotSubList (a :: [k]) (b :: [k]) :: Constraint where
178 NotSubList '[] bs = ()
161 NotSubList '[] bs = ()
179 NotSubList (a ': as) bs = (NotElem a bs, NotSubList as bs)
162 NotSubList (a ': as) bs = (NotElem a bs, NotSubList as bs)