Ну, вот в чем проблема.
"String" -> String
В Хаскел-ланде это бред, потому что "String"
- это значение, а String
- это тип. Так что вы можете попробовать это:
String -> a
Это не делает то, что вы хотите. Вы должны научиться читать сигнатуры типов, потому что, если вы не можете читать сигнатуры типов, вы будете серьезно повреждены в Haskell. Указанный выше тип означает: «Дайте мне строку, и я могу дать вам значение любого типа, который вы запрашиваете». В прелюдии есть функция с этой подписью, она называется error
, а это не то, что вам нужно.
Звучит так: Вы хотите что-то вроде этого:
String -> TypeRep
Извините, такой функции нет. TypeRep
не создает экземпляр класса Read
.
Что вы на самом деле пытаетесь сделать здесь? Если вы сообщите нам, что вы на самом деле пытаетесь сделать, мы можем помочь вам с этой проблемой, а не пытаться помочь с этим проблема.