Friday 5 December 2014

Haskell compiler 読み会

参加する人は、10:00-18:00 (お昼休みあり) 琉球大学工学部1号館611または321まで、どうぞ。

読み会は土日ですが、今日は準備してました。どうも、

* Haskellプログラマは、debuggerを使わない

らしいんですが、GHC 読むなら trace したい。でも、どうも、そういう風にできてないみたい。

まぁ、ソースコードから追っていくぐらいでもいいんですが...

いろいろ悪戦苦闘中
http://www.cr.ie.u-ryukyu.ac.jp/~game/pukiwiki/index.php?ghc

DriverPipeline.compileFile を ghci から呼び出すことは可能なようだというところまでは行き着きました。
ですが、それがコンパイラ読みに役に立つかどうかもわからない。実装のスライドとかは充実しているんだけど。

A Haskell Compiler David Terei
http://www.scs.stanford.edu/11au-cs240h/notes/ghc-slides.html

そもそも、Haskell って、

* deriving (Show) を付けないと、データの中身が見れない

さらに、

* 遅延実行があるので、ghci の step が支離滅裂

ということなので、やはり、

* Haskellプログラマは、debuggerを使わない

なんじゃないかなぁ。print debug で良いということなんですかね。そもそも、デバッグとかしないのかも。

本来、入力が決まれば出力が決まるので、一つ一つの関数を独立にテストできるってのが良いところなんですが、

* 巨大な入力データ(コンパイラのオプション全体とか)

を用意しないと動かない。それを用意する関数を探すのが...

まぁ、明日、明後日、どうなるかは面白そうです。

No comments: