@@ -1,7 +1,7 @@
1{-# LANGUAGE GADTs, DataKinds, KindSignatures, TypeOperators, TypeFamilies,
1{-# LANGUAGE GADTs, DataKinds, KindSignatures, TypeOperators, TypeFamilies,
2 MultiParamTypeClasses, FlexibleInstances, PolyKinds,
2 MultiParamTypeClasses, FlexibleInstances, PolyKinds,
3 FlexibleContexts, UndecidableInstances, ConstraintKinds,
3 FlexibleContexts, UndecidableInstances, ConstraintKinds,
4− ScopedTypeVariables #-}
4+ ScopedTypeVariables, TypeInType #-}
6module Data.Type.Set (Set(..), Union, Unionable, union, quicksort, append,
6module Data.Type.Set (Set(..), Union, Unionable, union, quicksort, append,
7 Sort, Sortable, (:++), Split(..), Cmp, Filter, Flag(..),
7 Sort, Sortable, (:++), Split(..), Cmp, Filter, Flag(..),
@@ -16,7 +16,7 @@ import Data.Type.Equality
16data Proxy (p :: k) = Proxy
16data Proxy (p :: k) = Proxy
18-- Value-level 'Set' representation, essentially a list
18-- Value-level 'Set' representation, essentially a list
19−data Set (n :: [k]) :: * where
19+data Set (n :: [k]) where
20 {--| Construct an empty set -}
20 {--| Construct an empty set -}
21 Empty :: Set '[]
21 Empty :: Set '[]
22 {--| Extend a set with an element -}
22 {--| Extend a set with an element -}
@@ -233,4 +233,4 @@ type family MemberP a s :: Bool where
233 MemberP a (a ': s) = True
233 MemberP a (a ': s) = True
234 MemberP a (b ': s) = MemberP a s
234 MemberP a (b ': s) = MemberP a s
236−type NonMember a s = MemberP a s ~ False
236+type NonMember a s = MemberP a s ~ False