パスカルの三角形

SICPの問題1.12は、パスカルの三角形。
パスカルの三角形は、三角形の辺上の数は全て1。三角形の内部の数はその上の2つ上の数の和という三角形。
こんなかんじ

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
............

rubycoさんtakatohさんがやられていたやつ。
SICPでは、三角形を描くのではなく、要素を求めるだけでいい。
というわけで、定義に忠実に実装。

pascal x y
        | x == y = 1
        | y == 1 = 1
        |otherwise = (pascal ( x - 1 ) (y-1)) + ( pascal ( x- 1) y)

*Main> pascal 4 3
3
*Main> pascal 5 3
6
*Main> pascal 1 1
1

簡単な定義のため、気づかないうちにid:takatohさんの実装とほぼいっしょになっちゃいました。

追記:id:takatohさんのコメントより。
こちらも、御参考に。http://hpcgi2.nifty.com/1to100pen/wiki/wiki.cgi?p=%CB%E8%C6%FCHaskell2006-05-12
http://d.hatena.ne.jp/takatoh/20060514