
30 Jul
2001
30 Jul
'01
10:08 p.m.
Consider: -- data T a = T -- Is there anything in the Prelude or a standard library that looks like this? Should there be? What should it be called? 'Singleton'? 'Reified'? 'T'? I looked but couldn't find anything. Such a simple type constructor is in fact very useful when you need to pass types around to disambiguate class instances. For instance: -- class HasTypeName t where getTypeName :: T t -> String instance HasTypeName Int where getTypeName T = "Int" instance HasTypeName () where getTypeName T = "()" intName = getTypeName (T :: T Int) -- -- Ashley Yakeley, Seattle WA