5

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

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

  • 定义任意谓词,例如is-idempotent?
  • 告诉编译器该函数是否为f(f(x))f(x)is-idempotent?f
  • 指定is-idempotent?各种功能(可能是间接的,例如由其他逻辑语句暗示)
  • 让编译器根据它知道的谓词/优化执行优化
4

1 回答 1

2

我想你想要的是一个程序转换系统

这些可以让您定义适用于源代码的规则,例如优化代码的代数定律。

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

于 2012-12-28T17:28:27.613 回答