嫌なデバッグ

  • vector 関連(make-vector, vector-length, vector-set!, vector-ref) をライブラリとして定義しようとしている。今までは常にインライン化しているようなものだった。
  • make-vector, vector-length は動いているっぽいが、vector-set! を実行すると異常終了。つまり何かを間違えている。
  • こいつらはセットで全部が一度に正しく動作するようにしないといけない。
  • テストしようにも、let を使って束縛しようとするだけでプログラム変換によってサイズ1の vector が導入されるのだった。これではデバッグもできない、、

追記。昨晩中には解決できず test が通らないまま寝てしまった。朝になって見てみれば、ほとんど自分で答えを書いているのだった。文字通り「朝飯前に」解決。

  • ライブラリ手続き vector を後回しにしていたのが敗因。冷静に考えれば失敗するのは当たり前だ。
  • vector 関連は (make-vector, vector-length, vector-set!, vector-ref, vector)のセット、忘れないこと。
  • R5RS としてはさらに vector->list, list->vector, vector-fill! がある。