自作言語の妄想
日経ソフトウェア8月号を購入出来た。もうじき届くはず。これでMILを勉強できる。とりあえず自作言語は、Pythonでリファレンス実装して、後でCにポーティングするつもり。とりあえず自作言語の機能を妄想してみる。
- 基本はPython3の文法をまねる。文字列フォーマットはRubyのものも考慮に入れる。
- パラダイムは手続き型と関数型とオブジェクト指向型のハイブリッドとする。
- 無限の扱いを簡易化する。
- カリー化を簡単な構文でできるようにする。
- パターンマッチの機能を入れる。
- 末尾再帰の最適化とcall by nameは実装が難しそうなので機能として入れない。可能であれば入れたいが。
- クラスの機能は複雑なので何とかする。もっと単純化するかクラスという概念を止めるか。
- 関数とメソッドの区別をなくす。要はselfというキーワードを関数でも使用できるようにすれば良い?
- mixin相当の機能を簡単に実現できるようにする。Pythonではexecかimportで疑似的に実現できるが良い方法ではない。
- コードブロックをファーストクラスとする。Pythonのlambdaは式1つしか取れずダサい。
- 型を指定できるようにする。指定しなくても良い。
- インタラクティブシェルの機能を入れる。
- メタの扱いを簡易化する。
途中で挫折するだろうから、出来ることから実装するつもり。