隙間使ってErlangやります

とりあえず飽きるまで。
使えそうだったら研究室の実験プログラムをこれで作りたい。
kaiとか実用的っぽそうなのもあるしね。
かなりシンプルな言語なのでは。LLってやつですか?
何にも考えずにガリガリ組めそうな気がする。
そして速度で死ぬと。(ぉぃ


Haskellはキツキツだけど、こっちは比較的緩め。
副作用とか普通にある感じ。
おかげさまですぐに馴染めそう。な気がする。
マイナーですが、Haskellよりもとっつきやすいのではないのでしょうか。
モナドとか躓きやすい要素が無いし。
というのが調べてみての第一印象。


試しにフィボナッチ数列
末尾再帰とか何も考えてない。
スタックの自動伸長があるらしいので、
スタックオーバーフローなんかはなかなかならないんだろうけれども。
末尾再帰最適化がある限り、やっぱり末尾再帰を考えるべきだわよねぇ?

-module( test ).
-export([fibonacci/1]).

fibonacci( 0 )->
        0;
fibonacci( 1 )->
        1;
fibonacci( N )->
        fibonacci( N-2 ) + fibonacci( N-1 ).


Erlangなにそれ?な読者に一応説明。


上のmoduleがモジュールの名前。
ファイル名がtest.erlならモジュール名もtest。
ファイル名とモジュール名は一緒でなくちゃいけない。
ファイル名は小文字でよろしく。


exportは外部に公開する関数を宣言する。
fibonacciが関数名。アリティ(引数の数)を/の隣に記述する。


パターンマッチングで気をつけなくてはいけないのは、
節の最後は「.」、それ以外の節は「;」で記述しなくてはいけない。


つーか末尾再帰版が全く思いつかない。
これは要練習ですか?