5

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

次のようなことができる言語の例を探しています。

  • 任意の述語を定義します。is-idempotent?
  • 関数が true の場合にf(f(x))等しいことをコンパイラに伝えますf(x)is-idempotent?f
  • さまざまな機能を指定するis-idempotent?(おそらく間接的に。たとえば、他の論理ステートメントによって暗示される)
  • 認識している述語/最適化に基づいてコンパイラーに最適化を実行させる
4

1 に答える 1

2

あなたが望むのはプログラム変換システムだと思います。

これらを使用すると、ソース コードに適用するルールを定義できます。たとえば、コードを最適化するための代数法則などです。

さまざまな問題があることを発見します。1 つ目は、言語でのスコープ規則と副作用の処理です。2 つ目は、変換の順序付けです。それらを適用する順序によって、根本的に異なる結果が生じることがよくあります。

于 2012-12-28T17:28:27.613 に答える