gpt4 book ai didi

lambda - 什么是 Prolog 运算符 `^` ("caret")?

转载 作者:行者123 更新时间:2023-12-04 05:39:07 25 4
gpt4 key购买 nike

什么是 Prolog 运算符 ^ ?

看着 The Prolog Built-in Directive op给出了内置运算符的列表。

我明白了

  • **是取幂
  • /\是或

  • 但什么是 ^ ?

    当前三个答案中的每一个都很有值(value),我学到了一些东西:
  • 罗伊为书
  • 示例为 false
  • 我接受了 CapelliC 的回答,因为它明确表示 ^/2 有多重含义
    取决于上下文,这立即消除了我的困惑。
  • 最佳答案

    在 Prolog 中,大多数符号可以在句法级别“未解释”使用,特别是在 op/3 之后声明,任何原子都可以用作操作符。然后你可以使用,例如,^/2作为域特定语言(DSL)的函数构造函数,具有从您的规则中指定的语义。

    是 SWI-Prolog(或更普遍的 ISO Prolog),current_op/3为您提供有关声明运算符的信息:

    ?- current_op(X,Y,^).
    X = 200,
    Y = xfy.

    也就是说,任何实现 setof/3 的 Prolog预计解读 ^/2作为量化说明符,当用来装饰第二个参数时。同样,任何实现 is/2 的 Prolog预计解读 ^/2作为幂运算,当出现在 is/2 的右侧时表达。

    关于lambda - 什么是 Prolog 运算符 `^` ("caret")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19931801/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com