< Y Combinator portfolio | 求職中マーク >
2007/07/29
どう書く.org, Haskell
どう書く.orgは、問題の大きさが ちょろっと書いてみるのにちょうどいいくらい (SchemeやHaskellで 「エディタ1画面に収まるくらい」の長さ) なこともあって、ついつい考えてしまう。 締切前なのに。
せっかくなのでHaskellの練習をしてみてるんだけど、このくらいの小さな 問題だと確かに型って全然考えないなあ。全部型推論任せ。便利だわ。 Schemeにも型推論欲しい。
遅延評価については、まだ頭の中で動作を展開している感じだなあ。 Haskellの関数やオペレータを「遅延評価つき高レベルライブラリ」みたいに 認識している感じで、組み合わせた時の動作は操作的に理解している。 ただ、それだとモナドを組み合わせてくようなところで途中でわからなくなるんで、 宣言的頭をもすこし強化せねば。
そんで、Haskellをぽちぽち書いてみての印象:
- 優先順位覚えるのが面倒。型エラーのほとんどは今のところ優先順位を 間違えてて思ってたのと違う結合になっちゃってるせいだ。慣れればいいんだろうけど 慣れちゃうのも癪なんだよなあ。
- ごちゃごちゃいじってる最中に、ソースが型的にinconsistentになるってことが 良くある。例えば下請け関数x,y,zを書いてghciで動作を確かめて、それを組み合わせた wを書いている途中でふと気づいてxの定義を直した、みたいな場合。 またさくっとソースをロードしてxの動作をインタラクティブに確かめたいんだけど、 xの型が変わってるのでwのコンパイル時にエラーになる。 Lisp/Schemeだとそこは全く気にしないでいいわけだが、Haskellerはどうするんだろう。 いまのところこういうケースではwの定義をいちいちコメントアウトして ロードしてる。
Tags: Programming, Haskell
nobsun :
nobsun :
cut-sea (2007/07/30 09:36:47):
cut-sea (2007/07/30 09:54:36):
nobsun :
cut-sea (2007/07/30 23:38:36):
Shiro (2007/07/30 12:02:59):
nobsun :
cut-sea (2007/07/30 23:02:51):
nobsun :
cut-sea :
nobsun :
nobsun :
jmuk :
nobsun :
shiro (2007/07/30 22:53:29):
shiro :
nobsun :
shiro (2007/07/31 01:22:24):