使用逻辑编程优化的语言

时间:2012-12-28 11:29:34

标签: compiler-construction language-agnostic programming-languages logic-programming

是否有任何语言使用任意逻辑编程执行编译时优化?

我正在寻找一种语言示例,使您可以执行以下操作:

  • 定义一个任意谓词,例如is-idempotent?
  • 如果f(f(x))的{​​{1}}函数为真,则告诉编译器f(x)等于is-idempotent?
  • 为各种功能指定f(可能间接指定,例如由其他逻辑声明暗示)
  • 让编译器根据它所知道的谓词/优化来执行优化

1 个答案:

答案 0 :(得分:2)

我认为你想要的是program transformation system

这些可以让您定义应用于源代码的规则,例如,优化代码的算法。

你会发现有各种各样的问题。第一个是处理语言中的范围规则和副作用。第二个是变换的顺序;它们的应用顺序通常会产生截然不同的结果。