榆木行动方法中的管道符号

3 haskell elm

update action model =
    case action of
      Delete id ->
          { model | tasks <- List.filter (\t -> t.id /= id) model.tasks }
Run Code Online (Sandbox Code Playgroud)

我不懂这个语法,

  { model | .......... }
Run Code Online (Sandbox Code Playgroud)

管道符号|在这里做什么?

花括号{}是什么意思?行动是否会带来Delete任何价值?

此代码取自elm的Todo 教程.

max*_*kin 6

这是记录更新语法:http://elm-lang.org/docs/records#updating-records

{ model | tasks <- value }返回model记录,tasks字段设置为新值.