* プログラミング言語 Essen -(by [[K]], 2016.10.24) ** これはなに? -インタプリタ型で対話式のプログラミング言語です。高速ではありません。インストールサイズは結構小さいです。 -変数の仕組み(構造体の仕組み)がファイルパスに似ているというところに目を付けて、入れ子になった構造体変数がファイルシステムの代わりになることを目指しています。変数は永続化され、PCの電源をOFFにしても消えません。 -また同時に複数のプログラムを動かすことができ、その際にはプログラムの優先度を設定できたりするなど、タスクスケジューラのような機能も持たせる予定です。 -つまりOS側に多階層のファイルシステムがなかったり、マルチタスクのサポートがなくても、それらについてはEssenが面倒を見ますので、シェルとしてEssenを移植したら、「簡素な自作OSが急に立派になった」みたいなことを目指しています。 -しかし当面はWindows向けに開発します。 -現状は開発初期で、上記はすべて「目標」です。 ** 特徴 -C言語は関数を自由に作れた。C++は型を自由に作れた。 -Essenは、それらに加えて、演算子と構文を自由に作れる。 -変数はファイルの代わりなので、名前を変更することができる。移動もできる。 ** プログラム例 -1~9の数字が書かれたカードが、それぞれ1枚ずつある。 -ここから3枚を選ぶ。 -3枚の数字の合計が10になるのは何パターンあるか? c = 0 combiFor(f 9 3) { if (sum(i 9) { f[i] * (i + 1) } == 10) { c++ } } print(c) -ポイント: --セミコロンは省略できる。引数区切りのカンマも省略できる。 --文が1文しかなくても、中カッコは省略できない。 --型宣言は不要。 --combiFor(f 9 3)は9個の中から3つを選ぶ組わせをすべて列挙するforループ。変数fに(1 1 1 0 0 0 0 0 0)などが格納される。 --sum(i 9) { ... } は、i=0~9に対して、{ } の中を計算してその和を取る。 --Essenは構文を自由に作れるので、combiForやsumのような構文も思いつきですぐに作れる。 ** よきライバル -プログラミング言語 nv (hikaliumさん作) → https://github.com/hikalium/nv/wiki -プログラミング言語 rhino-c (yasuo-ozuさん作) → https://github.com/yasuo-ozu/rhino-c2/wiki