本編の https://m-hiyama.hatenablog.com/entry/20100416/1271386224 で、reference<WebSite>型とかを出したけど、第二型引数を認める
- reference<T, A> : 参照先の型はT、トリガーオブジェクト〈アンカー〉の型はAである参照型
すると:
- reference<integer, address> はメモリーオブジェクトを指すアドレスポインター型
- reference<File, string(format="filePath")> はディスク内のファイルブジェクトを指す名前参照。
reference<T, A> は:
- 参照を解決する前は A 型である。
- 参照を解決した後は T 型である。
- A型のデータの出現位置が、T型のデータで置き換わる。
- A型のデータが持っていた情報は、関係プロパティとして使われるかもしれない。
- T型のデータは、A型のトリガーの範囲に“出現する”と考えられる。
オブジェクトも、
- メモリーオブジェクト
- ストレージオブジェクト(ローカル)
- リモートオブジェクト
に分けることができる。
メソッドとデータオブジェクトは離れていてもよい。離れているときは、データの転送またはメソッドの転送が必要になる。RPCは、データを転送してリモートメソッドを起動する。リモートデータをフェッチしてローカルメソッドで処理して返すときもあるだろう。