intime o'

彼は農場なるものを定義し、描写し、説明し、陳述し、叙述しようと弁舌をふるった (「O・ヘンリー短編集(三)」より)
近況 2012/07/13(Fri.)
F# → OCaml → Haskell → F#・再
Haskellは良い言語だったなー

let mult x y = x * y;;
この型が
int → int → int
になるのはまあ、いいとして.Haskellならコメントがわりに
型を明記するのが私は好きで、

mult :: int → int → int
mult x y = x * y

とでも書くけどF#ではどうするかと言えば

let mult (x:int) (y:int) :int = x * y;;

こんなん?一々カッコつけないといけないのかしら.
面倒だな.

ちゃんと学校で関数型言語の勉強をする前はこんなこと
まるで気にしなかったけれど、動く原理を知るごとに
例えば型推論の怖さとか、もしかしてF#ってダメダメなんじゃ
ないかって気がしてきた.というかHaskellがとてもきっちり
していて気持ちいい.数学的なのだなあ.

Pythonと同じようにインデントに意味を持たせているというのは
難しい.手続き型言語でインデントはインデントを間違えるのは
ただのバカだが関数型でインデントは何度見なおしてもどこが
インデント間違いなのか今でも分からずコンパイルが出来なかった
コードがいくらでもある.Ocamlみたいに match-with の入れ子の
為に begin-end 或いはカッコで括ったりするのは、それはそれで
バカみたいだ.その為にインデントに意味をもたせるのは有難いの
だけれど.

コメ(0) | トラ(0)