OCaml 3.12 〜
| expr | ||
| let open module-path in expr | ||
| module-path .( expr ) |
式 let open module-path in expr と module-path.( expr ) はまったく等価です。これらは、 module-path で参照されるモジュールを式 expr のスコープ内で局所的に open します。
open のスコープを struct 全体から単一の式に制限することで、大域的なスコープを汚染せずに、 open したモジュールの構成要素を短かい名前で参照できるようになります。それだけでなく、これによりコードはより読みやすく(open が識別子使用箇所に近く)リファクタリングしやすく(コード断片がより自己完結的に)なります。