Erlang

なんか、とてもあちこちでErlangが話題になってるんですね。

Xtal関数型言語というかErlangのようなモノを目指していた時期がありました。
変数は再代入できなかったり*1、配列などもimmutableで*2、副作用も文も無く全て式だったり*3していました。


しかし、これまで流行った言語を見る限りは、そんな言語をまず誰も使ってくれないだろうなと思い、迎合したのですが、本当に流行るなら本格的に取り入れていかないといけないと考えてます。

ゲームでも複数のCPUの時代ですからね。*4

*1:なごりで、class変数は再代入できない仕様です。

*2:文字列はこのときのままimmutableにしました。

*3:現在の仕様で「全て式」をやめて文を導入したのは意味解析が面倒だからでした。全てが式ってことはreturnも式になってしまい、あらゆるところにreturnを書けます。配列リテラルを作ってる最中にreturnされたりしたら、スタックにゴミが残ったままになったりと不都合が起きます。文を導入するとそこらへんが自動的に解消されるので。将来はできればまた全部式に戻す予定でいます。

*4:でも、PS3でも7個だか6個しかCPU無いので、フルに活用しても最大でやはり6倍から7倍にしかなりません。としたら、やっぱり普通にC++で書くほうが速いんですけどね。