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

Ebe*_*ley 4 haskell functional-programming elm

按照这个Elm教程,我假设了这个功能

update : Msg -> Model -> Model
Run Code Online (Sandbox Code Playgroud)

在教程中定义为

update msg model = 
    case msg of
        Increment  -> model + 1
        Deccrement -> model - 1
        Reset      -> 0
Run Code Online (Sandbox Code Playgroud)

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

update Increment model = model + 1
update Decrement model = model - 1
update Reset model     = 0
Run Code Online (Sandbox Code Playgroud)

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

Jan*_*nar 12

榆树的目标之一是使用一致的风格 ; 删除冗余语法就是结论.因此,您不会发现任何具有多个变体的where子句函数定义.