抽象によるソフトウェア設計 第2章 ざっと一巡り その2

次は「操作」のモデル化です。ちょっと難しくなってきました。

  • pred add でアドレスの追加を定義
    • 追加前の Book と追加後の Book という表現のしかた
    • 本書の図と実行結果が違う。Book0 でも関連(矢印)がないだけで Addr と Name が表示されている
  • 制約を追加するために新しい述語を定義してその中から別の述語を呼び出せる
  • fun で「関数」を定義。「制約」を記述するのではなくて「式」。関数の参照はその本体の式におきかえたものになる。ベータ変換みたいな感じだと思われる

ちょっとずつ進みます。