
14 Dec
2007
14 Dec
'07
9:11 a.m.
dataTypeOf ""
I've been learning/playing with Data.Generics a bit, and have a how-to question... If I say then I get
DataType {tycon = "Prelude.[]", datarep = AlgRep [[],(:)]}
No surprises there. But I'd really like to know that I have a String, or [Char]. How do I get the name of the concrete type that the list contains? Is that a reasonable thing to ask for? I can say:
gmapQ dataTypeOf "a" to get: [ DataType {tycon = "Prelude.Char", datarep = StringRep} , DataType {tycon = "Prelude.[]", datarep = AlgRep [[],(:)]} ]
But if I say:
gmapQ dataTypeOf "" I get: []
which makes sense when you consider the stucture of the List ADT, but doesn't help me determine the type of the value. Alistair