matarillo.com

The best days are ahead of us.

9.10 F# 1.0 -- 機能コアの改善:字下げを認識する構文

2021-09-25 00:00:21

F# 1.0期間中のもう1つの機能追加は、2006年9月23日にリリースされた、字下げを認識する構文の追加[Syme 2006h]です。

F# の字下げを認識する構文オプションは、明示的な言語構文の保守的な拡張です。 どういう意味かと言うと、パーサーにインデントを考慮させることによって in;; などの特定のトークンを省略できるだけだからです。 これはコードの可読性に驚くべき違いを生む可能性があります。

注:この機能は、PythonおよびHaskellによるインデントの使用と考え方は似ています。 なお、この機能の設計および実装手法のスケッチを手伝ってくれた、(Haskellで高名な)Simon Marlowに感謝します。 MSR CambridgeのF# ユーザー全員にも、この機能の詳細を固める手助けをしてくれたことに感謝します。

この機能の起源の一つは、1999頃にDarren Plattが私にPythonコードのサンプルを見せてくれた時(それがPythonを見た最初でした)の私の経験です。 もう一つは、非関数型プログラミングのオーディエンスから「なぜF# は let x = ... inin トークンが必要なのですか」とよく聞かれることです。 私は、これらの余分なトークンの存在がF# の採用可能性を制限する要因であると個人的に判断しました。 この機能はその後のイテレーションによって改良され、2010年のF# 2.0でF# コードのデフォルトになりました。


インデックスへ戻る