抽象によるソフトウェア設計 第4章 言語 その6
今日は第4章の 4.7 モジュールと多相性からです。
- 各ファイルの先頭でモジュール宣言(module)
- モジュール名とファイルパスは一致していないといけない(1モジュール=1ファイル)
- 他のモジュールのインポートは open で指定
- open <モジュール名(パス)>
- 参照する時に <モジュール名(basename)>/<述語等> のように / の前に修飾名をつけて参照して名前の衝突を回避することができる
- open <モジュール名> as <別名> のように別名を指定してインポートもできる
- open <モジュール名> [シグネチャ] のように呼ぶパラメータ付きモジュール
- open <モジュール名(パス)>
- 別のモジュールで宣言したシグネチャにフィールドを追加するなどの拡張はできる。シグネチャの定義が特定のモジュールに閉じ込められるわけではないんですね。便利だけど影響範囲が読めないのでカプセル化のような意味はモジュールにはないと
- 4.8 整数と算術演算
多相的モジュールのインポートで別名が自動的に生成されないのはイマイチ。
これでえ第4章を終了しました。