23得票1回答
如何检查Haskell中缀运算符的优先级?

我可以通过在GHCi中使用:t来查看中缀运算符的类型,如下所示: >:t (.) (.) :: (b -> c) -> (a -> b) -> a -> c 我该如何在GHCi中查看运算符的优先级?这是否可行? 此外,额外的问题是,是否有一种方法可以...

17得票1回答
使用`assign()`给列表项赋值

首先提供一些背景信息... 我写了一个中缀函数,本质上取代了以下习惯用语: x[[length(x) + 1]] `%+=%` <- function(x, y) { xcall <- substitute(x) xobjname <- setdiff(all.n...

13得票1回答
我能否在派生的 Show 中将 Haskell GADT 数据构造函数设置为中缀形式?

考虑两个 data 声明:{-# LANGUAGE GADTs #-} data X = Int `Y` Int deriving Show data Z where W :: Int -> Int -> Z deriving Show main = do ...

12得票1回答
为什么 f<$>g<$>x 和 (f.g)<$>x 相等,尽管<$>不是右结合的?

为什么 f &lt;$&gt; g &lt;$&gt; x 等价于 (f . g) &lt;$&gt; x,尽管 &lt;$&gt; 不是右结合的? (这种等价性在 一种常用的习惯语境 中使用普通的 $ 是有效的,但当前的 $ 是右结合的!) &lt;*&gt; 与 &lt;$&gt; 具...

12得票2回答
如何使用@infix func **()进行指数运算?

我想使用**来重载指数函数。如果我使用类似于“^”这样的东西,它是有效的,但是Python的做法是**,我想在Swift中使用它。有什么办法吗? 错误:操作符实现没有匹配的操作符声明 @infix func ** (num: Double, power: Double) -&gt; D...

12得票1回答
在公式中定义一个中缀运算符

我试图创建一个更简洁的版本这个解决方案,其中涉及指定公式的右侧,形式为d1 + d1:d2。 鉴于在公式上下文中*是完整交互的简洁代替(即d1 * d2给出d1 + d2 + d1:d2),我的方法是尝试定义另一种运算符,例如使用中缀方法,如我在其他应用程序中所习惯的那样,a la: %+:...

11得票1回答
如何在lambda中为运算符赋予优先级?

例如,这个无法通过类型检查。\cons nil -&gt; 5 `cons` 3 `cons` nil 也不会这样\(#) -&gt; 5 # 3 # nil 虽然这两个都会\cons nil -&gt; 5 `cons` nil \(#) nil -&gt; 5 # nil 有没有一种方法可...

11得票6回答
定义一个中缀函数是否可行?

在 CoffeeScript(或纯 JavaScript)中是否有可能定义我自己的中缀函数/运算符?例如,我想调用:a foo b 或者a `foo` b 而不是a.foo b 或者,当foo是全局函数时,foo a, b 有没有办法做到这一点?

11得票2回答
Haskell:为什么不允许中缀类型构造函数?

在Haskell 98报告书中,我发现了以下内容: 上方给出了Haskell类型表达式的语法。就像数据值是使用数据构造器构建一样,类型值是从类型构造器构建的。与数据构造器不同的是,类型构造器的名称以大写字母开头。除了(->)之外,不允许使用中缀类型构造器。 并没有提供为什么不允许使...

10得票3回答
Scala中缀运算符的匹配分解

我正在尝试理解 Scala 中 List 的实现。特别是,我正在努力理解如何使用中缀运算符编写匹配表达式,例如:a match { case Nil =&gt; "An empty list" case x :: Nil =&gt; "A list without a tail" ...