4
は、以下のテンプレートHaskellの機能を考えてみましょう:ポイントフリースタイル
composeQ :: ExpQ -> ExpQ -> ExpQ
composeQ = \x y -> [| $(x) . $(y) |]
は、それは式の右側からラムダ式を排除し、ポイントフリースタイルを使用してcomposeQ
を書くことは可能ですか?
は、以下のテンプレートHaskellの機能を考えてみましょう:ポイントフリースタイル
composeQ :: ExpQ -> ExpQ -> ExpQ
composeQ = \x y -> [| $(x) . $(y) |]
は、それは式の右側からラムダ式を排除し、ポイントフリースタイルを使用してcomposeQ
を書くことは可能ですか?
ありポイントフリースタイルで任意の引用に式をスプライスする一般的な方法はませんが、この特定の場合には、このように実装することができます
composeQ :: ExpQ -> ExpQ -> ExpQ
composeQ = flip infixApp [|(.)|]
ここ
フリップた普通に順left op right
にパラメータを取りinfixApp
op left right
を入力し、合成演算子を入力します。ここでは、元のcomposeQ
と同等の無点関数があります。