> はじめまして
> 紫藤と申します。

いらっしゃいまし.
 
> Haskell を勉強しようと思いますので参加させてください。
> よろしくお願いします。

お気軽にどうぞ.よろしくです.

> 普段は Python, Lisp を使っています。

おっ.どんなプログラムを書いていらっしゃいますか.興味があります.
 
> ところで、Haskell では末尾再帰にすると効率が良くなるということは
> 無いのでしょうか?
> Lisp 系では顕著に違いますが、Haskell ではコンパイラーが面倒を見てく
> れるのでしょうか?

Haskell では評価がlazyですので,Scheme の時のような末尾再帰最適化
効果は一般には期待できません.ただし,末尾再帰にしようとすることで
アルゴリズムそのものが改良され劇的に速くなる場合があります.
この場合はコンパイラではなく,プログラマの努力により速くなった
ということですね (^o^)

以下はその例

\begin{code}
fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n-2)

fib' n = iter 0 1 n
         where iter a b 0 = a
               iter a b 1 = b
               iter a b c = iter b (a+b) (c-1)
\end{code}

--nobsun

--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/