Flat

Flat
シンボルの属性で,このシンボル f がネストしている場合に自動的にフラットにする(ネストをほどく)ことを指定する.この属性はパターンマッチの際に考慮される.

詳細詳細

  • Flatは数学的な特性である結合律に対応する.
  • 属性Flatを与えられているシンボル f では,が自動的に へと還元される.
  • PlusTimesそしてDotのような関数はFlatである.
  • Flatである関数 f では,パターン における変数 xy は,引数の任意の列に対応することができる.
  • 属性Flatは,Flat関数に値を割り当てる前に,設定されなければならない.
  • Flatな関数がパターンマッチングに用いられる場合は,属性OneIdentityも必要であることが多い.
1988年に導入
(1.0)