So, I'd like to have a function / value like this :
converter :: Converter a
where Converter
would be some type family that always results in String
and is used just so that we can apply the type that we want to convert to String
by using type application e.g.
converter @Int => "Int"
I was thinking of using Typeable
class which has typeOf
function. Unfortunately that requires an actual value for it to work.
I could use Proxy
to supply "actual" value, but than I'd have to remove Proxy
from the resulting String
and that feels a bit dirty and error prone.
Thoughts?