Haskell “哈斯克尔”;(|)";语法

Haskell “哈斯克尔”;(|)";语法,haskell,Haskell,这个语法是什么意思?(在模块声明的上下文中) 例如: module XMonad ( module XMonad.Main, module XMonad.Core, module XMonad.Config, module XMonad.Layout, module XMonad.ManageHook, module XMonad.Operations, module Graphics.X11, module Graphics.X1

这个语法是什么意思?(在模块声明的上下文中)

例如:

module XMonad (
    module XMonad.Main,
    module XMonad.Core,
    module XMonad.Config,
    module XMonad.Layout,
    module XMonad.ManageHook,
    module XMonad.Operations,
    module Graphics.X11,
    module Graphics.X11.Xlib.Extras,
    (.|.),
    MonadState(..), gets, modify,
    MonadReader(..), asks,
    MonadIO(..)
) where
使用搜索引擎找不到任何内容。

它的意思是“按位或”。它是XMonad包重新导出的操作符。它最初是在中定义的

在Haskell中,在
之间定义的任何内容都是一个运算符,这是一个默认情况下作为中缀符号工作的函数

它的意思是“按位或”。它是XMonad包重新导出的操作符。它最初是在中定义的


在Haskell中,在
之间定义的任何内容都是一个运算符,这是一个默认情况下作为中缀符号工作的函数

(.|.
是您正在查看的模块中定义的运算符的名称。是搜索这类答案的绝佳资源。@davidyong稍加更正:
(.|)。
是您正在查看的模块范围内的运算符的名称。可能在其他地方有定义——Haskell允许您重新导出东西(我很确定这就是一个例子)。@DanielWagner这是一个很好的观点。我只是假设情况并非如此,因为之前的模块导出,但这肯定会发生(对于更“细粒度”的导出)。
(.|)。
是您正在查看的模块中定义的运算符的名称。是搜索这类答案的绝佳资源。@davidyong稍加更正:
(.|)。
是您正在查看的模块范围内的运算符的名称。可能在其他地方有定义——Haskell允许您重新导出东西(我很确定这就是一个例子)。@DanielWagner这是一个很好的观点。我只是假设情况并非如此,因为之前的模块导出,但这肯定会发生(对于更“细粒度”的导出)。哦,我明白了,谢谢!我认为这是一些语法上的甜点。@Siegmeyer Haskell中几乎所有的“语法”实际上只是一个中缀形式的库函数。你可以去搜索它们。当然,还有一个Hayoo替代品。哦,我明白了,谢谢!我认为这是一些语法上的甜点。@Siegmeyer Haskell中几乎所有的“语法”实际上只是一个中缀形式的库函数。你可以去搜索它们。当然,也有一个Hayoo替代品。
(.|.) :: Bits a => a -> a -> a #

    Bitwise "or"