Odpowiedz

4

Teoretycznie tak. W praktyce nie.

Dowiedzieć się rzeczy o istniejących nazw odbywa się za pomocą reify :: Name -> Q Info i definicję takiego, co można uzyskać z powrotem wartość VarI, który zawiera pole Maybe Dec. Wydaje się to sugerować, że w niektórych przypadkach możesz uzyskać drzewo składniowe dla deklaracji zmiennej, co pozwoliłoby ci wyodrębnić literał, jednak current versions of GHC always returns Nothing in this field, więc nie masz szczęścia dla czystego rozwiązania TH.

Jednak TH umożliwia uruchamianie dowolnych działań IO, więc można obejść to zadanie, ładując i parsując sam moduł przy użyciu czegoś takiego jak haskell-src-exts, jednak podejrzewam, że byłby to większy problem niż jest wart.

Powiązane problemy