MFGドキュメント
Home
Getting Started
Reference
  • ja-JP
  • en-US
Home
Getting Started
Reference
  • ja-JP
  • en-US
  • MEP 23: result_u8などをresultに

MEP 23: result_u8などをresultに

  • Created: 2025-06-19 12:17:00
  • Status: Proposed

モチベーション

現状は result_u8、result_u16などのように、BPPに合わせたsuffixをつけることになっている。 だがresultは必ず最後のexpressionの型でどの型なのかがわかるので、これは不要なのでは無いか。

inputは原理的に必須なのでsuffixで指定するのは正しいように思うが、resultは無しで良いかもしれない。

これは8bitレイヤーなどを新たにサポートする時に、パーサーのコードの変更が少なくて済む。 また、おそらく8bitレイヤーは result_u8v1 などのような長い名前になってしまっていまいちなので、出来たら記述無しにしてしまいたい気もする。

提案

result_u8 と result_u16 を result に変更したい。

メリット

不要な記述がなくなるので簡潔になる。

また、パーサーの場合分けが減るのでコードもシンプルになる。

新しい種類を追加する時にもパーサーに与える影響が少ないので拡張性に富む。

しかし、例えば8bitレイヤーの記述方法を考えなくて済むという事は無い。inputの方でどちらにせよ必要になるので。

デメリット

inputとの対称性が無くなる。input_u8 なのに result_u8 では無いのか?など。

現在どの型がサポートされているかが調べにくくなるかもしれない。

result_u8 と result_u16 に相当する概念があるけれどコード上にあらわに出てこなくなるので、 学習時に分かりにくい可能性がある。

互換性への影響

当面は result_u8 と result_u16 はdeprecatedとしつつサポートを続ける必要はある。

最終更新: 2025/11/20 15:14
Contributors: Kazuma Arino