@@ -5,7 +5,8 @@
6module Data.Type.Set (Set(..), Union, Unionable, union, quicksort, append,
6module Data.Type.Set (Set(..), Union, Unionable, union, quicksort, append,
7 Sort, Sortable, Append(..), Split(..), Cmp,
7 Sort, Sortable, Append(..), Split(..), Cmp,
8− Nub, Nubable(..), AsSet, asSet, IsSet, Subset(..)) where
8+ Nub, Nubable(..), AsSet, asSet, IsSet, Subset(..),
9+ (:->)(..), Var(..)) where
10import GHC.TypeLits
11import GHC.TypeLits
11import Data.Type.Bool
12import Data.Type.Bool
@@ -196,11 +197,16 @@ data Var (k :: Symbol) where Var :: Var k
196instance (Show (Var k), Show v) => Show (k :-> v) where
197instance (Show (Var k), Show v) => Show (k :-> v) where
197 show (k :-> v) = "(" ++ show k ++ " :-> " ++ show v ++ ")"
198 show (k :-> v) = "(" ++ show k ++ " :-> " ++ show v ++ ")"
198instance Show (Var "x") where
199instance Show (Var "x") where
199− show _ = "x"
200+ show X = "x"
200instance Show (Var "y") where
202instance Show (Var "y") where
201− show _ = "y"
203+ show Y = "y"
202instance Show (Var "z") where
205instance Show (Var "z") where
203− show _ = "z"
206+ show Z = "z"
208+instance Show (Var v) where
205{-| Symbol comparison -}
211{-| Symbol comparison -}
206type instance Cmp (v :-> a) (u :-> b) = CmpSymbol v u
212type instance Cmp (v :-> a) (u :-> b) = CmpSymbol v u