Haskell案例错误

时间:2018-01-16 19:38:02

标签: haskell functional-programming

如果我尝试运行此功能:

function :: Int -> Int -> Int
function = 
\case 5 -> 1

我收到此错误消息:

parse error (possibly incorrect indentation or mismatched brackets)
Failed, modules loaded: none.

或者如果我实现这样的功能:

function :: Int -> Int -> Int
    function = \case 5 -> 1
parse error on input ‘case’
Failed, modules loaded: none.

有人能告诉我为什么会收到此错误消息吗?

1 个答案:

答案 0 :(得分:4)

\case (...) -> (...)语法需要语言扩展名LambdaCase

要在您的文件中设置此项,请使用标记-XLambdaCase进行编译,或将其写在文件顶部:

{-# LANGUAGE LambdaCase #-}

请注意,非GHC编译器可能不支持此扩展。