またMinCaml

いきなりマヌーなバグが。報告サンクス。

そういえばStandard MLの例外処理はhandleだったので、withは「Caml Lightの頃から」というべきだったかも。やっぱり慌てて書くと良くないですね、とか人ごとのように言う。いずれにせよMLの例外処理がJavaC++の例外処理より古いのは確かかと。

スタックトレースが変というのはよくわかりませんが、デバッグemacsでcamldebugを使うのが吉では。(abstractでなければ)データの中も見られるし、後戻りできるので楽ですよ。2バイト文字でちょっとソース位置がずれることもあるけど。

あと、オプションの-gはmake debug-codeすればOCamlMakefileが自動で追加してくれるはず。MinCamlで単に「make」すればデフォルトですが。

それから、OCamlの例外処理の実装は、例外表じゃないです。もし例外表で、それがずれてたら、例外処理がちゃんとできないのでは…(^^;

ところで、物理工学科の人もコンパイラ演習を取れるんでしょうか。