gpt4 book ai didi

function - Haskell 中缀函数应用优先级

转载 作者:行者123 更新时间:2023-12-03 10:57:54 26 4
gpt4 key购买 nike

f x y = x * y .我们可以通过两种方式应用这个函数:f 5 6 ,或者,使用中缀表示法,5 `f` 6 .运算符规则是否适用于最后一个表达式?这个申请有什么优先权?它只是另一种形式的函数应用,所以它也会有最高优先级吗?

我想编译器看到这种特殊形式(由于 `` 和/或以字母(?)开头的名称),实际上将其视为普通函数应用程序,而不是将其视为运算符。

最佳答案

Haskell 98 Report有一个关于 Operator Applications 的部分清除它:

An operator is either an operator symbol, such as + or $$, or is an ordinary identifier enclosed in grave accents (backquotes), such as `op`. For example, instead of writing the prefix application op x y, one can write the infix application x `op` y. If no fixity declaration is given for `op` then it defaults to highest precedence and left associativity (see Section 4.4.2).



如其他答案所示,报告中还有一个关于 Fixity Declarations 的部分。这允许您定义自己的固定性,例如:
infixl 7 `op`

关于function - Haskell 中缀函数应用优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139066/

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