compiler-construction - 使用逻辑编程进行优化的语言

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

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

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

  • 定义任意谓词,例如is-idempotent?
  • 告诉编译器 f(f(x))等于 f(x)如果is-idempotent?函数适用于 f
  • 指定 is-idempotent?用于各种功能(可能是间接的,例如由其他逻辑语句暗示)
  • 让编译器根据它知道的谓词/优化来执行优化
  • 最佳答案

    我想你想要的是一个 program transformation system .

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

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

    关于compiler-construction - 使用逻辑编程进行优化的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14068829/

    相关文章:

    language-agnostic - 与 Perl 和 Ruby 比较的相似语言特性 __END__

    language-agnostic - 有向无环图的人类可读文本表示

    C编程: Drag&Drop a file over a program's icon

    c++ - 用于将 void 指针转换为指向类型的指针的操作的术语是什么?

    清理阶段后的 Scala 编译器输出

    compiler-construction - 用于优化目的的简单编译器

    optimization - 编译器可以用分支信息做什么?

    javascript - 在JS中引用时如何让Form元素正确工作?

    data-structures - 链表的应用

    c# - C++ 和 C# 规范?