在Elm中不允许Haskell模式匹配?

时间:2017-06-21 04:44:52

标签: haskell functional-programming elm

关注this Elm tutorial并假设函数

update : Msg -> Model -> Model

在教程中定义为

update msg model = 
    case msg of
        Increment  -> model + 1
        Deccrement -> model - 1
        Reset      -> 0

我以为我会以同样的方式定义它,但我更喜欢使用语法:

update Increment model = model + 1
update Decrement model = model - 1
update Reset model     = 0

但是这不能编译,Elm不支持这种语法还是我犯了错误?

1 个答案:

答案 0 :(得分:12)

榆树的目标之一是使用consistent style;删除冗余语法就是结论。因此,您不会发现任何where clausefunction definitions with multiple variants也不允许。