5

任意の論理プログラミングを使用してコンパイル時最適化を実行する言語はありますか?論理プログラミングを使用して最適化する言語

私がような何かすることができるようになります言語の例を探しています

  • 例えば、任意の述語を定義しますis-idempotent?
  • はコンパイラをお持ちのis-idempotent?機能は、様々な機能のためにis-idempotent?を指定f
  • ための真である場合(おそらく間接的に例えば、他の論理文によって暗黙の)f(f(x))f(x)に等しいコンパイラに知らせる最適化に基づいて、実行しますそれが認識している述語/最適化
+0

私はMaxima(とMathematica)がこの能力を持っていると思っていますが、それは技術的にはコンパイルされた言語ではありません –

+0

'MBase'フレームワークはいくつかの解析と最適化のためにPrologを使用しています。 –

答えて

2

あなたが望むものはprogram transformation systemだと思います。

これらを使用すると、コードを最適化する手法など、ソースコードに適用するルールを定義できます。

さまざまな問題があることがわかります。 1つ目は、ランゲージのスコープ規則と副作用を処理することです。 2つめは変換の順序付けです。それらが適用される順序は、根本的に異なる結果を生じることが多い。

関連する問題