Скажем, у меня есть следующее:
data Rec = Rec {
alpha :: Int,
beta :: Double,
phi :: Float
}
sample = Rec 1 2.3 4.5
Я понимаю, что Template Haskell и функция reify
могут получить мне имена полей записи. То есть:
print $(f sample) --> ["alpha", "beta", "phi"]
Существует также утверждение, что это можно сделать без Template Haskell. Может ли кто-нибудь предоставить пример реализации для этого может быть достигнуто?