Haskell 控件。应用程序优先级

Haskell 控件。应用程序优先级,haskell,operator-precedence,applicative,Haskell,Operator Precedence,Applicative,关于Control.Applicative,如果我有以下表达式: f = (expr1 <|> expr2) <* expr3 f=(expr1 expr2)您可以向ghci询问优先级信息: Prelude Control.Applicative> :i <|> class Applicative f => Alternative f where ... (<|>) :: f a -> f a -> f a ...

关于Control.Applicative,如果我有以下表达式:

f = (expr1 <|> expr2) <* expr3

f=(expr1 expr2)您可以向ghci询问优先级信息:

Prelude Control.Applicative> :i <|>
class Applicative f => Alternative f where
  ...
  (<|>) :: f a -> f a -> f a
  ...
    -- Defined in `Control.Applicative'
infixl 3 <|>
Prelude Control.Applicative> :i <*
class Functor f => Applicative f where
  ...
  (<*) :: f a -> f b -> f a
    -- Defined in `Control.Applicative'
infixl 4 <*
Prelude Control.Applicative>:i
类应用程序f=>备选方案f,其中
...
()::fa->fa->fa
...
--在“Control.Applicative”中定义
中缀3
前奏曲控件.Applicative>:i Applicative f where
...
(f b->f a
--在“Control.Applicative”中定义

infixl 4您可以向ghci询问优先级信息:

Prelude Control.Applicative> :i <|>
class Applicative f => Alternative f where
  ...
  (<|>) :: f a -> f a -> f a
  ...
    -- Defined in `Control.Applicative'
infixl 3 <|>
Prelude Control.Applicative> :i <*
class Functor f => Applicative f where
  ...
  (<*) :: f a -> f b -> f a
    -- Defined in `Control.Applicative'
infixl 4 <*
Prelude Control.Applicative>:i
类应用程序f=>备选方案f,其中
...
()::fa->fa->fa
...
--在“Control.Applicative”中定义
中缀3
前奏曲控件.Applicative>:i Applicative f where
...
(f b->f a
--在“Control.Applicative”中定义
infixl 4的优先级为3;
备选方案f,其中
...
()::fa->fa->fa
...
--在“Control.Applicative”中定义
中缀3
λ:信息应用f,其中
...
(f b->f a
--在“Control.Applicative”中定义
infixl 4的优先级为3;
备选方案f,其中
...
()::fa->fa->fa
...
--在“Control.Applicative”中定义
中缀3
λ:信息应用f,其中
...
(f b->f a
--在“Control.Applicative”中定义

谢谢。那是我的本能,但我不确定。谢谢。那是我的本能,但我不确定。
$ ghci
λ import Control.Applicative
λ :info <|>
class Applicative f => Alternative f where
  ...
  (<|>) :: f a -> f a -> f a
  ...
    -- Defined in `Control.Applicative'
infixl 3 <|>
λ :info <*
class Functor f => Applicative f where
  ...
  (<*) :: f a -> f b -> f a
    -- Defined in `Control.Applicative'
infixl 4 <*