by shigemk2

当面は技術的なことしか書かない

Haskellの再帰マージソートをdebugしてみる

再帰を利用したマージソートをHaskellで実装するというドリルをやっていたのだけれど、

【解答例】Haskell 超入門 - Qiita

途中までしか出来なかった…そもそもdropとtakeしただけで再帰のさの字も出てこない自分のクソ実装力に涙した。

my-merge.2014102602.hs

というわけで、しょうがないからせめて解答にデバッグ関数を突っ込んで何をしているのかだけでも把握しておきたかったのであった。

my-merge.2014110109.hs

f:id:shigemk2:20141101180721p:plain

処理の流れをprintデバッグしてみると、再帰の往路で分割、復路でソート、という流れが分かると思う。というか、分かるようにならなければ困る。

というわけで、電車に乗りながらすごいh本の第4章を読んでいたのであった。