私が次を持っているとしましょう:
data Rec = Rec {
alpha :: Int,
beta :: Double,
phi :: Float
}
sample = Rec 1 2.3 4.5
テンプレートHaskellを理解しており、reify
関数でレコードのフィールド名を取得できます。あれは:
print $(f sample) --> ["alpha", "beta", "phi"]
テンプレートHaskellなしでこれを行うことができるという主張もあります。誰かがこれを達成できるための実装例を提供できますか?