哈斯克尔的严肃口音

时间:2014-03-09 15:42:38

标签: haskell syntax semantics

我是Haskell编程的新手。我试图理解这种语言的语法和语义。我对严重口音的语义有点好奇。 当我们使用严重重音时,为什么这段代码会起作用?

elem' :: (Eq a) => a -> [a] -> Bool  
elem' a [] = False  
elem' a (x:xs)  
    | a == x    = True  
    | otherwise = a `elem'` xs {-grave accent used in this line -}

1 个答案:

答案 0 :(得分:12)

反引号用于将任何二元函数视为中缀运算符。

a `elem'` xs

相同
elem' a xs

使用(+)作为函数使用二元运算符是补充:

(+) 3 5

相同
3 + 5