是否有任何语言可以使用任意逻辑编程执行编译时优化?
我正在寻找一种语言示例,它可以让您执行以下操作:
- 定义任意谓词,例如
is-idempotent?
- 告诉编译器该函数是否为
f(f(x))
真f(x)
is-idempotent?
f
- 指定
is-idempotent?
各种功能(可能是间接的,例如由其他逻辑语句暗示) - 让编译器根据它知道的谓词/优化执行优化
是否有任何语言可以使用任意逻辑编程执行编译时优化?
我正在寻找一种语言示例,它可以让您执行以下操作:
is-idempotent?
f(f(x))
真f(x)
is-idempotent?
f
is-idempotent?
各种功能(可能是间接的,例如由其他逻辑语句暗示)我想你想要的是一个程序转换系统。
这些可以让您定义适用于源代码的规则,例如优化代码的代数定律。
你会发现有各种各样的问题。首先是在语言中处理范围规则和副作用。第二个是转换的顺序;它们的应用顺序通常会产生截然不同的结果。