请解释Haskell如何确定优先级的部分,带有多个参数的函数和多个部分应用的函数.有时我发现很难弄清楚当整个表达式采用多个参数时,哪个部分函数会应用哪个参数.
以下是一些示例函数,但我确定不同的示例可能更具说明性.第一部分来自"有效的应用程序设计"一文.
sequence :: [IO a] ? IO [a]
sequence [] = return []
sequence (c : cs) = return (:) `ap` c `ap` sequence cs
(.) (.)
(.) (.) (.)
Run Code Online (Sandbox Code Playgroud)
有没有工具将这些表达式转换为lambda表达式?
haskell ×1