2

私はこれに似たタイプのものを探しています:

runQExpDynamically :: (GhcMonad m) => Q Exp -> m Dynamic

ドキュメント: GhcMonadQ ExpDynamic

2 つのコード例を組み合わせる方法を探しています。1 つはhaskell コードを動的に評価するためのもので、もう 1 つはテンプレート haskell を使用して動的に haskell を作成するためのものです。つまり、GhcMonad で Q Exp:resions を実行します。

私はこの問題に取り組み、ここに文書化する必要があります。

いくつかのアイデア

私が現在実行可能なアプローチは、式をシリアル化し、動的評価にフィードすることです。シリアライゼーションは Q モナド内で何らかの方法で行う必要があります。Exp がPpr prettyprinterクラスを実装していることを利用できるかもしれません。ただし、この方法で型の安全性を失う可能性がありますか? よりクリーンな (より衛生的な"?) 方法があるかもしれません。動的な値がどのように機能するかを理解するには、 Data.Dynamicをもう少し詳しく調べる必要があります。

編集:動的は値のみを表すことに気付きましたが、Q Exp の「宣言」を実行したいのです。動的コンテキストにデータ型を追加したいと考えています。

4

0 に答える 0