隙間使って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が関数名。アリティ(引数の数)を/の隣に記述する。
パターンマッチングで気をつけなくてはいけないのは、
節の最後は「.」、それ以外の節は「;」で記述しなくてはいけない。
つーか末尾再帰版が全く思いつかない。
これは要練習ですか?