好き勝手に・げーあにん?

ファミコンと同い年の社会人ヌルオタの日記

2種類の再帰を意識したことが無かった

買っただけで放置していたGauche本を読み始めた。何気ない一行も実際に実行しながら読んでるので、まだまだ序盤。

『2種類の再帰』って項目があるんだけど、今まで他の言語でプログラム組んでて、そんな基本的っぽいことをまったく意識しないで組んでたんだなーとちょっと情けなくなった。

ちょうどこの項目の前に出てくる練習問題は、二問とも特に意識せずに末尾再帰で解いてた。つか、C/C++に馴染んでると自然に末尾再帰になる‥‥気がする。で、私には“非”末尾再帰の方の発想がなかったので、関数型言語やるんなら、非末尾再帰の方が、コードきれいだし、そっちの方がいいのかな?と思った矢先に、「末尾再帰で書けるなら、なるべくそうするべき」と書かれてて、あれー?となった。

末尾再帰の方がいい理由は理解してるんだけど、それってちょっと関数型言語否定してないか?とか思ったり思わなかったり。

とりあえず、『プログラミングGauche』の練習問題と、その後の構成が巧妙すぎるのには感心したのであった。