SML# - Language/PolymorphicRecordUpdate Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

多相型レコードupdateのための以下の構文が用意されている.
  <expr>  ::= <expr> # { <labeledFields> }
  <labeledFields> ::= <label> = <expr> | <label> = <expr>, <labeledFields>
<expr> # { <labeledFields> }は,<expr>が表すレコード
の中で<labeledFields>に示された値を変更して得られる新しい
レコードを生成する.
ただしこの構文でレコードのフィールドを追加することはできない.
<labeledFields>で変更される各フィールドはすべて<expr>に存在している必要がある.