構造体の実装について迷う - Mosh 開発
構造体の主な機能は
- 構造体を定義
- 変更子
- アクセサ
- 諸々のフィールド属性
- 述語手続き
- 構造体オブジェクトを生成
- 継承可能
- 単一継承
など。
構造体の用途は
- エラーコンディションの定義、使用
- ユーザーが利用する
さて構造体をどうするか?に関してはいくつか方針の候補がある。
- R6RS の Reference Implementations を利用する
- Scheme で書かれている
- 一部の primitive 手続きを用意すれば動くらしい
- でも syntax-case とか let-values がない処理系では結局いろいろ自前でやる羽目になりそう
- すべて自分で Scheme で書く
- すべて自分で C++ で書く
- 速度は一番出るだろう。
- VM 内部からも自然に使えて良いかも
- 実装は大変
- 最初は Scheme で書く。あとで速度や何かが問題になったら C++ で書く。
- 後回しにする
- Record を実装しなければいけない一番の理由は、各標準ライブラリが送出するエラー定義に必要だから。
- そんなに重要?
- きちんとしたエラー処理をしたい人にとっては問題か?
- 仮に後回しにしたとして、次に実装するのは何だろう?
- RoadmapAndDirections - mosh-scheme - Google Code によれば List utilities とか?
うーんうーん。迷うなあ。
要はちょっと面倒だから後回しにしたいんだけど、結局やる必要があるってことだよね。