on master help sign in
Add (:++:)
commit5b4fad4d22e507b1192bbea333727eda1b0560b0 authorAleksey Uimanov <s9gf4ult@gmail.com> dateTue 27 Oct 2015, 14:05 (11 years ago) parent4819b04
1 file changed+5
src/TypeFun/Data/List.hs+5
src/TypeFun/Data/List.hs+5
@@ -9,6 +9,7 @@ module TypeFun.Data.List
99 , Drop
1010 , Take
1111 , Delete
12+ , (:++:)
1213 -- * Elements lookup
1314 , IndexOf
1415 , IndexOfMay
@@ -91,6 +92,10 @@ type family Delete (a :: k) (s :: [k]) :: [k] where
9192 Delete a (a ': as) = Delete a as
9293 Delete a (b ': as) = b ': (Delete a as)
9394
95+type family (:++:) (a :: [k]) (b :: [k]) :: [k] where
96+ '[] :++: b = b
97+ (a ': as) :++: b = a ': (as :++: b)
98+
9499type IndexOf a s = FromJust (IndexOfMay a s)
95100
96101type IndexOfMay a s = IndexOfMay' Z a s