Haskell 再び

しばらく前にちょっといじっただけだったけど、再びいじってみよう。SoftwareDesign の今号を見ながら。

Haskell はアイディアは素晴らしいと思うのだけど、文法が異常に頭に入らない。

len [] = 0
len (x:xs) = 1 + len xs

なんで上の例で、[] と () を使い分けているのか未だに分からない。同じ() じゃ駄目なんだろうか?そのうち自然に使えるようになるのだろうか?それとも単にHaskellの文法が分かり難いものなんだろうか。

タプルとリスト。