海野秀之(うんのひでゆき)の外部記憶
Twitter (twilog) / RSS / アンテナ / ぶくま
7章は読み終わり。プログラムを書き足していく前に、そろそろ単体テスト書きながらやりたい件に対処。hspec でテストを書いていくことにした。
https://github.com/unnohideyuki/Tiger-in-Haskell/tree/master/chap7
テストを書こうとして、Translete.Level の Eq 定義の不備に気づいたりしたので、テストはやはり重要だな。
simpleVar を書いたときに、そろそろテスト書きたいと思ったわけですが、これ、テストしにくい。モジュールのインタフェースには、Translate.Exp のコンストラクタは公開するなとあるのだけど、これが非公開のままだと、simpleVar の戻り値の中身を検査できなくて、テストが書けない。
そういうわけで、コーディングはあまり進められなかったんだけど、テストを書きながらコーディングできるようにはなったので、一応よしとしよう。