Voglio scrivere una funzione con questa firma tipo:Haskell - ricevo TypeRep da esempio tipo concreto
getTypeRep :: Typeable a => t a -> TypeRep
dove il TypeRep sarà la rappresentazione tipo per un, non per t un. In altre parole, il compilatore dovrebbe restituire automaticamente la corretta rappresentazione del tipo in qualsiasi sito di chiamata [su ], con tipi di calcestruzzo per a.
Per aggiungere un contesto, voglio creare un tipo di dati "Tipo dinamico", con la torsione che ricorderà il tipo di primo livello, ma non il suo parametro. Per esempio, io voglio girare MyClass un in dinamica MyClass, e la funzione di cui sopra sarà utilizzato per creare istanze di dinamica MyClass che memorizzano una rappresentazione del parametro type un.