Цитата TemplateHaskell документирует две кавычки ( ''
) как способ получить имя типа:
> ''String
GHC.Base.String
Это работает штраф для этого типа (имя). Однако я не могу найти способ заставить его работать, например, Может быть String
:
> ''Maybe String -- interprets String as a data constructor
> ''Maybe ''String -- wants to apply ''String to the Name type
Я знаю, что могу решить эту проблему, используя [t | Может быть, String |]
, но тогда он находится в монаде Q и требует изменения типа, и я думаю, что тип не проверяется в соответствующий момент, только при вставке.
Я также могу сначала обойти определение псевдонима типа type MaybeString = Maybe String
, а затем использование '' MaybeString
, но это также громоздко.
Любой способ напрямую получить то, что я хочу, просто с помощью цитаты ''
?