Я хочу написать цитату на Haskell. Аргумент имени должен быть передан в функцию gen для создания объявления.
quote :: String -> QuasiQuoter
quote name = QuasiQuoter {
quoteExp = undefined,
quotePat = undefined,
quoteType = undefined,
quoteDec = \jsonStr -> gen name (getValue str)
}
Однако, похоже, я не могу использовать такую цитату
[quote "Hello"| from x to y |]
Поскольку Haskell не позволяет объявлениям кавычек и цитатам находиться в одном и том же файле, что раздражает, что я могу сделать, чтобы передать аргумент извне в цитату?