Emacs の Haskell-mode でロード失敗時でもimportした関数や値の型を調べる方法は?

投稿者: Anonymous

EmacsでHaskellのコードを書いている際にhaskell-modeを使いC-cC-l(inferior-haskell-load-file)を利用して開発しています。

コードに間違いがある状態でロードするとモジュールのロードに失敗しまい、裏側でインタープリターに問合せして情報を返す機能が使えなくなります。

例えば、C-cC-t(inferior-haskell-type)のような型を調べたりするような機能が利用できなくなります。
コンパイルエラーを修正するために型が確認したいが、気軽にできずにコードを修正するのが難しくなります。
importしているものの型は気軽に調べたいです。

undefinedなどを利用して一時的にコンパイルを通ように修正すれば利用可能になりますが、このような場合に型を調べる良い方法はないでしょうか?

解決

具体的な状況が良く分からないのでお答えしづらいのですけれども、ロードが失敗したのであれば、おそらくコンパイルが失敗しているので、型を調べることはできないと思います。

emacsでhaskell-modeを使っているのであれば、おそらくrun-haskellしており、replが起動し、haskellバッファが開いている状態だと思います。ロードが失敗しているのであれば、そのエラーメッセージが画面に出ると思いますので、それを読んで、コードを直した方が良いと思います。

「キーバインドが効かなくなった」みたいなのであれば、とりあえず、M-x inferior-haskell-typeするとか、キーバインドなどのemacs設定を見直すべきですが。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *